<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: TechLatest</title>
    <description>The latest articles on DEV Community by TechLatest (@techlatestnet).</description>
    <link>https://dev.to/techlatestnet</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3766280%2Fd16e1ef1-ba16-4bdb-8487-7be6141334ea.jpg</url>
      <title>DEV Community: TechLatest</title>
      <link>https://dev.to/techlatestnet</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/techlatestnet"/>
    <language>en</language>
    <item>
      <title>Hermes Agent Masterclass — Full Tutorial</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Fri, 12 Jun 2026 10:02:37 +0000</pubDate>
      <link>https://dev.to/techlatestnet/hermes-agent-masterclass-full-tutorial-1h11</link>
      <guid>https://dev.to/techlatestnet/hermes-agent-masterclass-full-tutorial-1h11</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzcjmiriz2w12n51dyp5t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzcjmiriz2w12n51dyp5t.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything you need to &lt;strong&gt;install, understand, and customize&lt;/strong&gt; &lt;a href="https://github.com/NousResearch/hermes-agent" rel="noopener noreferrer"&gt;Hermes Agent&lt;/a&gt;: the learning loop, memory, self-evolving skills, the Curator, GEPA, &lt;strong&gt;Profile Builder&lt;/strong&gt; , and three isolated agents on one machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official:&lt;/strong&gt; &lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;hermes-agent.nousresearch.com/docs&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What you’ll have at the end
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hermes installed with provider, model, and optional &lt;strong&gt;Telegram gateway&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile Builder&lt;/strong&gt; dashboard at &lt;a href="http://127.0.0.1:9119" rel="noopener noreferrer"&gt;http://127.0.0.1:9119&lt;/a&gt; with the [web] extra&lt;/li&gt;
&lt;li&gt;Three &lt;strong&gt;profiles&lt;/strong&gt; : designer, programmer, researcher — each isolated&lt;/li&gt;
&lt;li&gt;Distinct &lt;strong&gt;SOUL.md&lt;/strong&gt; per profile, &lt;strong&gt;MCP servers&lt;/strong&gt; , and Skills Hub installs&lt;/li&gt;
&lt;li&gt;Programmer delegating to &lt;strong&gt;Claude Code&lt;/strong&gt; ; researcher on &lt;strong&gt;weekday cron&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Want an Alternative to Hermes?
&lt;/h3&gt;

&lt;p&gt;Check out OpenClaw VM deployments from TechLatest.net.&lt;/p&gt;

&lt;p&gt;We provide pre-configured OpenClaw VM images on &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-y7ck4mk5qmrdk?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page%5C" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://marketplace.microsoft.com/en-us/product/techlatest.openclaw-vm?tab=Overview%3Futm_campaign%3Dopenclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;Azure&lt;/a&gt;, and &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/openclaw-vm?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;Google Cloud Platform (GCP)&lt;/a&gt;. Each deployment comes with OpenClaw, Ollama, and all required dependencies pre-installed, allowing you to launch a production-ready AI agent environment in minutes.&lt;/p&gt;

&lt;p&gt;Available with both CPU and GPU configurations for development, testing, and production workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Introduction — an agent that gets better over time
&lt;/h3&gt;

&lt;p&gt;Hermes ships a &lt;strong&gt;learning loop&lt;/strong&gt; most assistants lack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-tier memory&lt;/strong&gt; across sessions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-authored skills&lt;/strong&gt; via skill_manage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Curator&lt;/strong&gt; background pruning of agent-created skills&lt;/li&gt;
&lt;li&gt;Optional &lt;strong&gt;GEPA&lt;/strong&gt; offline validation from execution traces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the end, you run &lt;strong&gt;three specialized agents&lt;/strong&gt; on one machine — designer, programmer, researcher — each with its own personality, memory, skills, and Telegram bot.&lt;/p&gt;

&lt;p&gt;Three isolated agents — designer, programmer, researcher&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqibnzewi4pahusktn46.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnqibnzewi4pahusktn46.gif" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 1 — How Hermes is structured
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;One-line pitch:&lt;/strong&gt; an agent that improves the longer you use it.&lt;/p&gt;

&lt;p&gt;Hermes combines runtime skill learning, persistent memory, and an optional weight-training pipeline in one framework. Everything flows through a single &lt;strong&gt;AIAgent&lt;/strong&gt; run_agent.py. CLI, gateway, batch runner, and IDE hooks are entry points into the &lt;strong&gt;same core&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;ReAct core loop — prompt → LLM → tools&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvesmyx4171uzsqfho3h1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvesmyx4171uzsqfho3h1.gif" width="798" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The loop is &lt;strong&gt;ReAct-style and synchronous&lt;/strong&gt; :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build system prompt (SOUL → memory snapshot → skills catalog)&lt;/li&gt;
&lt;li&gt;Compress context if needed&lt;/li&gt;
&lt;li&gt;Interruptible LLM call&lt;/li&gt;
&lt;li&gt;Execute tool calls&lt;/li&gt;
&lt;li&gt;Repeat until done or &lt;strong&gt;90-turn cap&lt;/strong&gt; (subagents share the budget)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Execution backends include local shell, Docker, SSH, Modal, Daytona, and Singularity — switch via config only. A translation layer routes Anthropic, OpenAI, Gemini, Ollama-compatible, and other providers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9x9py9y2r43dt17arb3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl9x9py9y2r43dt17arb3.gif" width="798" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2 — Prerequisites
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;macOS, Linux, WSL2, or Windows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python 3.11+&lt;/strong&gt; (Hermes installer bundles uv and deps)&lt;/li&gt;
&lt;li&gt;API key or local model endpoint&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8GB RAM&lt;/strong&gt; minimum for API-based usage&lt;/li&gt;
&lt;li&gt;Browser on the same machine for &lt;strong&gt;Profile Builder&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes &lt;span class="nt"&gt;--version&lt;/span&gt; &lt;span class="c"&gt;# after install&lt;/span&gt;
python3 &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 3 — Install Hermes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://hermes-agent.nousresearch.com/install.sh | bash
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.zshrc &lt;span class="c"&gt;# or ~/.bashrc&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonrd5x8o8x3vz1glrlxx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonrd5x8o8x3vz1glrlxx.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Headless VPS (skip browser deps):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://hermes-agent.nousresearch.com/install.sh | bash &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--skip-browser&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install and set up — animated&lt;/p&gt;

&lt;p&gt;Windows: &lt;a href="https://hermes-agent.nousresearch.com/desktop" rel="noopener noreferrer"&gt;Hermes Desktop installer&lt;/a&gt; or install docs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 4 — Setup, chat, and gateway
&lt;/h3&gt;

&lt;p&gt;Run the wizard:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes setup
hermes &lt;span class="c"&gt;# CLI session&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Connect &lt;strong&gt;Telegram&lt;/strong&gt; (fastest phone test):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://t.me/BotFather" rel="noopener noreferrer"&gt;@BotFather&lt;/a&gt; → /newbot&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://t.me/userinfobot" rel="noopener noreferrer"&gt;@userinfobot&lt;/a&gt; for your user ID&lt;/li&gt;
&lt;li&gt;hermes gateway setup&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9zwnwbl4hwh1dpoz3rk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9zwnwbl4hwh1dpoz3rk.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 5 — Identity: SOUL.md
&lt;/h3&gt;

&lt;p&gt;Memory = what the agent &lt;strong&gt;knows&lt;/strong&gt;. Skills = how it &lt;strong&gt;acts&lt;/strong&gt;. &lt;strong&gt;SOUL.md&lt;/strong&gt; = who it &lt;strong&gt;is&lt;/strong&gt;  — slot &lt;strong&gt;#1&lt;/strong&gt; in the system prompt, before memory and skills.&lt;/p&gt;

&lt;p&gt;Default path: ~/.hermes/SOUL.md. Per profile: ~/.hermes/profiles//SOUL.md.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# SOUL.md&lt;/span&gt;

You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness
over politeness theater.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hand-authored and mostly static. All learning — memory writes, skill creation, consolidation — happens through this identity lens.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 6 — Memory (three tiers)
&lt;/h3&gt;

&lt;p&gt;Hermes uses &lt;strong&gt;three layers&lt;/strong&gt; , not one blob:&lt;/p&gt;

&lt;p&gt;Memory tiers — MEMORY.md, SQLite, plugins&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 1 — tiny Markdown files&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MEMORY.md (~2,200 chars) — environment, conventions, tool quirks&lt;/li&gt;
&lt;li&gt;USER.md (~1,375 chars) — your preferences and avoid-list&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Injected as a &lt;strong&gt;frozen snapshot&lt;/strong&gt; at session start. Mid-session writes persist to disk but appear in the prompt &lt;strong&gt;next session&lt;/strong&gt;. At ~ &lt;strong&gt;80% capacity&lt;/strong&gt; , the agent &lt;strong&gt;consolidates&lt;/strong&gt; entries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 2 — session search&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All conversations live in &lt;strong&gt;state.db&lt;/strong&gt; (SQLite + FTS5). Search weeks of history on demand. Unlimited capacity, but requires search + summarization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tier 3 — external plugins&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Eight pluggable memory providers run &lt;strong&gt;alongside&lt;/strong&gt; built-in memory (never replace it). Only one active at a time. When enabled: prefetch before each turn, sync after each response, extract on session end.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5h2o8068nv7yukr3t8xd.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5h2o8068nv7yukr3t8xd.gif" width="800" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 7 — Self-evolving skills and the Curator
&lt;/h3&gt;

&lt;p&gt;Skills are SKILL.md + YAML frontmatter — procedural memory. Sample anatomy: examples/skill-k8s-pod-debug.md.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;k8s-pod-debug&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="s"&gt;Activate for crashing pods, CrashLoopBackOff,&lt;/span&gt;
  &lt;span class="s"&gt;"why is my pod restarting", container failures.&lt;/span&gt;
&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;1.2.0&lt;/span&gt;
&lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;agent&lt;/span&gt;
&lt;span class="na"&gt;platforms&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;linux&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;macos&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="c1"&gt;## Procedure&lt;/span&gt;
&lt;span class="s"&gt;1. Get pod status → check events → pull logs&lt;/span&gt;
&lt;span class="s"&gt;2. Look for OOMKilled, ImagePullBackOff, config errors&lt;/span&gt;

&lt;span class="c1"&gt;## Pitfalls&lt;/span&gt;
&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Forgetting --previous flag on restarted containers&lt;/span&gt;

&lt;span class="c1"&gt;## Verification&lt;/span&gt;
&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;Pod stays Running with 0 restarts for 5+ minutes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75lj2z7y9x6ihbqeivc9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75lj2z7y9x6ihbqeivc9.gif" width="798" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Progressive disclosure — L0, L1, L2&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Progressive disclosure:&lt;/strong&gt; catalog descriptions only (~3k tokens) → full skill when matched → optional references/ drill-down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Self-improvement loop:&lt;/strong&gt; the agent uses &lt;strong&gt;skill_manage&lt;/strong&gt; after complex tasks, error recovery, user corrections, or new workflows. Actions: create, patch (preferred), edit, delete, write_file, remove_file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Curator&lt;/strong&gt; prunes agent-authored skills (never bundled/Hub skills):&lt;/p&gt;

&lt;p&gt;Curator phases — auto stale/archive + LLM review&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc670bj35gj077r16z6tm.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc670bj35gj077r16z6tm.gif" width="800" height="256"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Runs after &lt;strong&gt;7 days&lt;/strong&gt; since last pass and &lt;strong&gt;2+ hours idle&lt;/strong&gt;  — background fork, separate prompt cache. Automatic: 30 days unused → stale; 90 days → archived. LLM review: up to 8 iterations per skill. Snapshot before each pass; hermes curator pin  protects favorites.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 8 — GEPA (offline skill evolution)
&lt;/h3&gt;

&lt;p&gt;In-agent learning can self-congratulate or overwrite good manual edits. &lt;strong&gt;GEPA&lt;/strong&gt; (Genetic-Pareto Prompt Evolution) in &lt;a href="https://github.com/NousResearch/hermes-agent-self-evolution" rel="noopener noreferrer"&gt;hermes-agent-self-evolution&lt;/a&gt; validates skills &lt;strong&gt;offline&lt;/strong&gt; from execution traces.&lt;/p&gt;

&lt;p&gt;GEPA pipeline — traces to PR&lt;/p&gt;

&lt;p&gt;Read skill → build eval set → trace analysis → candidate variants → LLM-as-judge rubrics → gates (100% tests, &amp;lt;15KB, no drift) → &lt;strong&gt;PR only&lt;/strong&gt; , never direct commit. Roughly &lt;strong&gt;$2–10/run&lt;/strong&gt; , no GPU. Skip until you hit a wall before full finetuning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chain:&lt;/strong&gt; SOUL.md → runtime loop → Curator → GEPA validates.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frge6a3w1oq1ln9nw7pai.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frge6a3w1oq1ln9nw7pai.gif" width="798" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 9 — What’s inside ~/.hermes/
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/.hermes/
├── config.yaml
├── .env
├── SOUL.md
├── memories/ # MEMORY.md, USER.md
├── skills/
├── profiles/ # isolated agents (see Part 11)
├── sessions/
├── state.db
├── cron/
└── logs/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Edit config.yaml with hermes config edit or hermes config set. Secrets go to .env. Skills land under skills/ or per-profile profiles//skills/.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3n3kf1kjx9xh4ad6u7yo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3n3kf1kjx9xh4ad6u7yo.gif" width="797" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 10 — Skills Hub
&lt;/h3&gt;

&lt;p&gt;Official &lt;strong&gt;Skills Hub&lt;/strong&gt; : hundreds of skills across built-in, optional, Anthropic, and LobeHub catalogs (counts change upstream).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes skills tap add yourname/your-skills-repo
hermes skills &lt;span class="nb"&gt;install &lt;/span&gt;yourname/your-skills-repo/&amp;lt;skill-name&amp;gt;
hermes skills &lt;span class="nb"&gt;install &lt;/span&gt;openai/skills/k8s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 11 — Profile Builder (web dashboard)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Profiles&lt;/strong&gt; are isolated Hermes homes under ~/.hermes/profiles// — separate config.yaml, .env, SOUL.md, memory, sessions, skills, cron, and state. A coding agent and a research agent never share state.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Profile Builder&lt;/strong&gt; is a guided browser flow. It requires the web extra (base install has no HTTP stack):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="s1"&gt;'hermes-agent[web]'&lt;/span&gt;
hermes dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Opens &lt;a href="http://127.0.0.1:9119" rel="noopener noreferrer"&gt;&lt;strong&gt;http://127.0.0.1:9119&lt;/strong&gt;&lt;/a&gt; (loopback by default). Non-loopback bind needs an auth provider, or Hermes fails closed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlykw2uqn7xlpps5o9kp.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlykw2uqn7xlpps5o9kp.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2x76jw9ukokxmbcxt3z.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2x76jw9ukokxmbcxt3z.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Five configuration groups (GUI = CLI)
&lt;/h4&gt;

&lt;p&gt;The builder collects the same inputs as terminal commands:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identity&lt;/strong&gt;  — name (becomes shell alias: coder → coder chat), description, SOUL.md&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model and provider&lt;/strong&gt;  — Nous Portal, OpenRouter, NVIDIA, OpenAI, custom OpenAI-compatible URL&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in skills&lt;/strong&gt;  — toggles per profile&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills Hub&lt;/strong&gt;  — install by catalog slug&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP servers&lt;/strong&gt;  — stdio (command + args) or HTTP (url + headers)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fww0ck42se4bpngxsrvrv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fww0ck42se4bpngxsrvrv.gif" width="798" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F735fnzcnnei4o4jzy0h3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F735fnzcnnei4o4jzy0h3.gif" width="797" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GUI ↔ CLI parity (prose):&lt;/strong&gt; Name field = hermes profile create coder. Description = --description or profile describe. Model picker = coder config set model . Skill toggles = coder skills list. Hub install = coder skills install . MCP = edit mcp_servers in config.yaml or coder mcp install.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://hermes-agent.nousresearch.com/docs/web-dashboard" rel="noopener noreferrer"&gt;Web Dashboard&lt;/a&gt; · &lt;a href="https://hermes-agent.nousresearch.com/docs/profiles" rel="noopener noreferrer"&gt;Profiles&lt;/a&gt; · &lt;a href="https://hermes-agent.nousresearch.com/docs/mcp" rel="noopener noreferrer"&gt;MCP&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 12 — Build a researcher profile (CLI walkthrough)
&lt;/h3&gt;

&lt;p&gt;Equivalent to completing Profile Builder for a &lt;strong&gt;researcher&lt;/strong&gt; agent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes profile create researcher &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--description&lt;/span&gt; &lt;span class="s2"&gt;"Reads source code and external docs, writes findings."&lt;/span&gt;
researcher setup
researcher config &lt;span class="nb"&gt;set &lt;/span&gt;model anthropic/claude-sonnet-4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6uyf9pb9k2xynz6ru889.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6uyf9pb9k2xynz6ru889.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;researcher skills &lt;span class="nb"&gt;install &lt;/span&gt;openai/skills/k8s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;MCP — filesystem (stdio)&lt;/strong&gt; in config.yaml&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;mcp_servers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;filesystem&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npx&lt;/span&gt;
    &lt;span class="na"&gt;args&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-y"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;@modelcontextprotocol/server-filesystem"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/home/user/projects"&lt;/span&gt;

&lt;span class="c1"&gt;# ~/.hermes/profiles/researcher/config.yaml&lt;/span&gt;

&lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;anthropic/claude-sonnet-4&lt;/span&gt;
  &lt;span class="na"&gt;provider&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;openrouter&lt;/span&gt;

&lt;span class="na"&gt;agent&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;disabled_toolsets&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;browser"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

&lt;span class="na"&gt;mcp_servers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;filesystem&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npx&lt;/span&gt;
    &lt;span class="na"&gt;args&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;-y"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;@modelcontextprotocol/server-filesystem"&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/home/user/projects"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;HTTP MCP&lt;/strong&gt; (fragment):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;mcp_servers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;docs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://mcp.example.com/mcp"&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;Authorization&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Bearer&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;${DOCS_API_KEY}"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;mcp_servers is a&lt;/em&gt; &lt;strong&gt;&lt;em&gt;map keyed by server name&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;, not a YAML list.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxhozno7uljg056wb7a4.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxhozno7uljg056wb7a4.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;researcher chat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F74olw50qmq8sljy1ld5e.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F74olw50qmq8sljy1ld5e.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Skill/MCP changes apply on the &lt;strong&gt;next session&lt;/strong&gt; or &lt;strong&gt;gateway restart&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 13 — Three agents: designer, programmer, researcher
&lt;/h3&gt;

&lt;p&gt;Create three isolated profiles (CLI or Profile Builder):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes profile create designer &lt;span class="nt"&gt;--clone&lt;/span&gt;
hermes profile create programmer &lt;span class="nt"&gt;--clone&lt;/span&gt;
hermes profile create researcher &lt;span class="nt"&gt;--clone&lt;/span&gt;
hermes profile list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;--clone copies default config.yaml and .env.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk684jwvwcvimxjy2hfj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk684jwvwcvimxjy2hfj.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One Telegram bot per profile&lt;/strong&gt;  — Telegram allows one connection per token:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes &lt;span class="nt"&gt;-p&lt;/span&gt; designer gateway setup
hermes &lt;span class="nt"&gt;-p&lt;/span&gt; programmer gateway setup
hermes &lt;span class="nt"&gt;-p&lt;/span&gt; researcher gateway setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Use-case sketches (prose):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coder&lt;/strong&gt;  — code-strong model, filesystem MCP scoped to one repo, git/test Hub skills&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Researcher&lt;/strong&gt;  — reasoning model, doc/web skills, optional HTTP MCP; clone with hermes profile clone to fork&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ops&lt;/strong&gt;  — gateway + cron reports; &lt;strong&gt;one bot token per profile&lt;/strong&gt; (token locks prevent accidental sharing)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 14 — SOUL.md for each agent
&lt;/h3&gt;

&lt;p&gt;Copy from examples/:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp &lt;/span&gt;examples/SOUL-designer.md ~/.hermes/profiles/designer/SOUL.md
&lt;span class="nb"&gt;cp &lt;/span&gt;examples/SOUL-programmer.md ~/.hermes/profiles/programmer/SOUL.md
&lt;span class="nb"&gt;cp &lt;/span&gt;examples/SOUL-researcher.md ~/.hermes/profiles/researcher/SOUL.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvf0ekn46ittggow1ij1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvf0ekn46ittggow1ij1.gif" width="800" height="169"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 15 — Programmer → Claude Code
&lt;/h3&gt;

&lt;p&gt;Hermes &lt;strong&gt;orchestrates&lt;/strong&gt; ; &lt;a href="//../claude-code-dot-claude/TUTORIAL.md"&gt;Claude Code&lt;/a&gt; &lt;strong&gt;executes&lt;/strong&gt; edits, shell, and git. Works with &lt;strong&gt;Claude Max&lt;/strong&gt; if claude is on PATH.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;which claude
programmer chat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;We already have a Claude Max subscription. You are my staff engineer who
helps me with my day-to-day coding tasks, and under the hood you use
Claude Code for all the executions. Set yourself up accordingly.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpfitp4vr5ms77tb06xj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpfitp4vr5ms77tb06xj.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 16 — Designer: visual style as a skill
&lt;/h3&gt;

&lt;p&gt;Feed reference illustrations (CLI or Telegram), then ask the agent to create &lt;strong&gt;my-design-style&lt;/strong&gt; via skill_manage — style fingerprint + optional OpenRouter image script (google/gemini-2.5-flash-image). Output: ~/.hermes/profiles/designer/skills/my-design-style/.&lt;/p&gt;

&lt;p&gt;Same pattern works for newsletters, threads, or any repeatable tone.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 17 — Researcher cron digest
&lt;/h3&gt;

&lt;p&gt;Gateway ticks every &lt;strong&gt;60s&lt;/strong&gt; , runs due jobs in isolated sessions, delivers to the configured channel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fijcx0ui8wy0x6w8yhv9s.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fijcx0ui8wy0x6w8yhv9s.gif" width="798" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paste into researcher chat:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Every weekday at 8am India &lt;span class="nb"&gt;time&lt;/span&gt;, prepare a deep digest of what&lt;span class="s1"&gt;'s new
in the AI and machine learning space over the last 24 hours. Cover
four streams: GitHub trends, lab announcements, papers, social pulse.
Cite every claim with a URL. Keep under 800 words. Deliver to Telegram.
Set this up as a recurring cron job.

hermes -p researcher cron list
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fua8d9is2t23fqmu1otiy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fua8d9is2t23fqmu1otiy.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cron variants: one-shot /cron add 30m "...", interval "every 2h", expression "0 9 * * 1-5", attach --skill blogwatcher, chain with context_from.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 18 — Hermes vs OpenClaw
&lt;/h3&gt;

&lt;p&gt;Both are self-hosted and messaging-friendly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hermes&lt;/strong&gt; leads with the &lt;strong&gt;learning agent&lt;/strong&gt;  — skill authoring, Curator, GEPA, MCP-heavy profiles, research tooling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt; leads with the &lt;strong&gt;gateway and channels&lt;/strong&gt;  — polished Control UI, ClawHub, proactive heartbeats.&lt;/p&gt;

&lt;p&gt;Migration: hermes claw migrate. Many operators pick one primary runtime and borrow skills from the other.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 19 — Troubleshooting
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;hermes dashboard missing&lt;/strong&gt;  — pip install 'hermes-agent[web]'&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Port 9119 in use&lt;/strong&gt;  — stop other dashboard instance&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP tools not showing&lt;/strong&gt;  — restart session; check mcp_servers YAML map syntax&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two profiles, one token error&lt;/strong&gt;  — expected; use separate gateway tokens per profile&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;hermes: command not found&lt;/strong&gt;  — source ~/.zshrc or re-run installer&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;Troubleshooting&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 20 — Verify
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x guides/hermes-agent-masterclass/scripts/verify-masterclass.sh
./guides/hermes-agent-masterclass/scripts/verify-masterclass.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Official links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/NousResearch/hermes-agent" rel="noopener noreferrer"&gt;Hermes Agent&lt;/a&gt; · &lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;Docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hermes-agent.nousresearch.com/docs/web-dashboard" rel="noopener noreferrer"&gt;Profile Builder / Web Dashboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NousResearch/hermes-agent-self-evolution" rel="noopener noreferrer"&gt;hermes-agent-self-evolution (GEPA)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;Hermes is a &lt;strong&gt;learning-first agent&lt;/strong&gt; : SOUL.md frames identity; three memory tiers hold facts and history; skills evolve through skill_manage and the Curator; GEPA validates offline. &lt;strong&gt;Profiles&lt;/strong&gt; isolate agents on one machine — via &lt;strong&gt;Profile Builder&lt;/strong&gt; at :9119 or CLI. You now have theory plus a reproducible &lt;strong&gt;designer/programmer/researcher&lt;/strong&gt; setup with gateway, MCP, and cron.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;




</description>
      <category>hermes</category>
      <category>hermesagent</category>
      <category>aiagentsinaction</category>
      <category>agents</category>
    </item>
    <item>
      <title>OpenClaw Agent Masterclass — Full Tutorial</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Fri, 12 Jun 2026 09:13:45 +0000</pubDate>
      <link>https://dev.to/techlatestnet/openclaw-agent-masterclass-full-tutorial-160p</link>
      <guid>https://dev.to/techlatestnet/openclaw-agent-masterclass-full-tutorial-160p</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6uom3dfu0pdpso6t0y8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6uom3dfu0pdpso6t0y8.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything you need to &lt;strong&gt;install, configure, and extend&lt;/strong&gt; &lt;a href="https://openclaw.ai/" rel="noopener noreferrer"&gt;OpenClaw&lt;/a&gt; — the open-source personal AI assistant that runs on your machine and talks to you on the chat apps you already use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Official home:&lt;/strong&gt; &lt;a href="https://openclaw.ai/" rel="noopener noreferrer"&gt;openclaw.ai&lt;/a&gt; · &lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://docs.openclaw.ai/" rel="noopener noreferrer"&gt;docs.openclaw.ai&lt;/a&gt; · &lt;strong&gt;Source:&lt;/strong&gt; &lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;github.com/openclaw/openclaw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This guide follows the product story on the homepage (install → gateway → memory → tools → skills → channels → automation), uses &lt;strong&gt;prose and lists only&lt;/strong&gt; (no comparison tables), and ships &lt;strong&gt;terminal + diagram GIFs&lt;/strong&gt; like our Hermes masterclass.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you’ll have at the end
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OpenClaw installed with the &lt;strong&gt;Gateway daemon&lt;/strong&gt;  running&lt;/li&gt;
&lt;li&gt;Browser &lt;strong&gt;Control UI&lt;/strong&gt; at &lt;a href="http://127.0.0.1:18789/" rel="noopener noreferrer"&gt;http://127.0.0.1:18789/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;At least one &lt;strong&gt;messaging channel&lt;/strong&gt; (Telegram recommended for first test)&lt;/li&gt;
&lt;li&gt;A configured &lt;strong&gt;workspace&lt;/strong&gt; with SOUL.md and optional &lt;strong&gt;ClawHub skill&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Understanding of &lt;strong&gt;cron&lt;/strong&gt; , &lt;strong&gt;heartbeats&lt;/strong&gt; , and &lt;strong&gt;multi-agent routing&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Deploy on OpenClaw VM
&lt;/h3&gt;

&lt;p&gt;Want to skip infrastructure setup?&lt;/p&gt;

&lt;p&gt;We provide pre-configured OpenClaw VM images on &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-y7ck4mk5qmrdk?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page%5C" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://marketplace.microsoft.com/en-us/product/techlatest.openclaw-vm?tab=Overview%3Futm_campaign%3Dopenclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;Azure&lt;/a&gt;, and &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/openclaw-vm?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;Google Cloud Platform (GCP)&lt;/a&gt;. Each deployment comes with OpenClaw, Ollama, and all required dependencies pre-installed, allowing you to launch a production-ready AI agent environment in minutes.&lt;/p&gt;

&lt;p&gt;Available with both CPU and GPU configurations for development, testing, and production workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Introduction — the AI that actually does things
&lt;/h3&gt;

&lt;p&gt;OpenClaw is built for a simple promise: message an assistant from your phone, and it &lt;strong&gt;does real work&lt;/strong&gt; on your computer — email triage, calendar checks, shell commands, browser tasks, file edits, and custom workflows via skills.&lt;/p&gt;

&lt;p&gt;Unlike a chat-only bot, OpenClaw is &lt;strong&gt;self-hosted&lt;/strong&gt;. Your context, skills, and session history live on &lt;strong&gt;your&lt;/strong&gt; hardware. You pick the model (Anthropic, OpenAI, Google, local Ollama, and more). You control which channels can reach the agent and who is on the allowlist.&lt;/p&gt;

&lt;p&gt;Community feedback on &lt;a href="https://openclaw.ai/" rel="noopener noreferrer"&gt;openclaw.ai&lt;/a&gt; consistently highlights the same strengths: persistent memory, persona onboarding, proactive cron/heartbeats, and the ability to &lt;strong&gt;extend the system by chatting&lt;/strong&gt; (skills, plugins, even prompt hot-reload).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Firwbcsib8csnyrv9c20a.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Firwbcsib8csnyrv9c20a.gif" width="798" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 1 — How OpenClaw is structured
&lt;/h3&gt;

&lt;p&gt;OpenClaw centers on one long-running process: the &lt;strong&gt;Gateway&lt;/strong&gt;. It is the control plane for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chat channels&lt;/strong&gt;  — WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Matrix, Teams, WebChat, and plugin channels&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent runtime&lt;/strong&gt;  — tool use, sessions, memory, skills&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control UI&lt;/strong&gt;  — browser dashboard for chat, config, and diagnostics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Companion apps&lt;/strong&gt;  — macOS menu bar, Windows tray, iOS/Android &lt;strong&gt;nodes&lt;/strong&gt; (camera, voice, Canvas)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe386i8hcpnuparc3a77w.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe386i8hcpnuparc3a77w.gif" width="798" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://docs.openclaw.ai/concepts/architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt; · &lt;a href="https://docs.openclaw.ai/gateway" rel="noopener noreferrer"&gt;Gateway&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Gateway is the &lt;strong&gt;single source of truth&lt;/strong&gt; for sessions and routing. CLI commands (openclaw agent, openclaw onboard) and the dashboard all talk to the same core.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2 — Prerequisites
&lt;/h3&gt;

&lt;p&gt;You need &lt;strong&gt;Node.js 24&lt;/strong&gt; (recommended) or &lt;strong&gt;Node 22.19+&lt;/strong&gt; for compatibility. OpenClaw fails on older Node versions — if you are stuck on Node 20, use the Node 22 helper from our &lt;a href="//../openclaw-gemma-rag/use-node22.sh"&gt;OpenClaw + Gemma guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You also need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;macOS, Linux, Windows 10+, or WSL2&lt;/li&gt;
&lt;li&gt;An API key from your chosen provider &lt;strong&gt;or&lt;/strong&gt; a local Ollama install&lt;/li&gt;
&lt;li&gt;~5 minutes for onboarding; more if you add WhatsApp or iMessage pairing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="c"&gt;# v22.19+ or v24&lt;/span&gt;
which npm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 3 — Install
&lt;/h3&gt;

&lt;p&gt;Three paths match &lt;a href="https://openclaw.ai/#quick-start" rel="noopener noreferrer"&gt;openclaw.ai&lt;/a&gt;:&lt;/p&gt;

&lt;h4&gt;
  
  
  One-liner (macOS, Linux, WSL)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://openclaw.ai/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The installer can pull Node and dependencies. On macOS, first run may prompt for Administrator access (Homebrew).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1wij1ymk2twvc9i6yse.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft1wij1ymk2twvc9i6yse.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  npm global
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; openclaw@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Hackable / from source
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://openclaw.ai/install.sh | bash &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--install-method&lt;/span&gt; git
git clone https://github.com/openclaw/openclaw.git
&lt;span class="nb"&gt;cd &lt;/span&gt;openclaw &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; corepack &lt;span class="nb"&gt;enable&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; pnpm &lt;span class="nb"&gt;install
&lt;/span&gt;pnpm openclaw onboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch release channels later:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw update &lt;span class="nt"&gt;--channel&lt;/span&gt; stable &lt;span class="c"&gt;# or dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Companion apps (beta):&lt;/strong&gt; native macOS (15+) and Windows tray apps from &lt;a href="https://openclaw.ai/" rel="noopener noreferrer"&gt;openclaw.ai&lt;/a&gt; — gateway control, chat, and node features without living in the terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 4 — Onboard the Gateway
&lt;/h3&gt;

&lt;p&gt;Run the guided wizard:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw onboard &lt;span class="nt"&gt;--install-daemon&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filcvxix7rhfw7fk81ilb.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filcvxix7rhfw7fk81ilb.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The wizard walks through:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Gateway bind&lt;/strong&gt; and authentication&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM provider&lt;/strong&gt; and model (API key or Ollama)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace&lt;/strong&gt; path (default under ~/.openclaw/)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Channel&lt;/strong&gt; setup (Telegram is the fastest smoke test)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daemon&lt;/strong&gt; install (launchd on macOS, systemd on Linux) so the Gateway survives reboots&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Onboard wizard — animated&lt;/p&gt;

&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw doctor
openclaw gateway status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 5 — Open the Control UI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpc7tuj0sdi0o7xxgl50j.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpc7tuj0sdi0o7xxgl50j.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Default URL: &lt;a href="http://127.0.0.1:18789/" rel="noopener noreferrer"&gt;&lt;strong&gt;http://127.0.0.1:18789/&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the dashboard you can chat, inspect sessions, edit config, and diagnose channel connections. Remote access patterns (Tailscale, SSH tunnel) are documented under &lt;a href="https://docs.openclaw.ai/remote" rel="noopener noreferrer"&gt;Remote access&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Dashboard — animated&lt;/p&gt;

&lt;p&gt;CLI chat without the browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw agent &lt;span class="nt"&gt;--message&lt;/span&gt; &lt;span class="s2"&gt;"What can you do on this machine?"&lt;/span&gt; &lt;span class="nt"&gt;--thinking&lt;/span&gt; low
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agent CLI message — animated&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 6 — What lives on disk
&lt;/h3&gt;

&lt;p&gt;After onboarding, OpenClaw owns a home directory. Knowing the layout makes debugging easier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/.openclaw/
├── openclaw.json # Main config (channels, models, security)
├── workspace/ # Agent workspace
│ ├── AGENTS.md
│ ├── SOUL.md # Persona / identity
│ ├── TOOLS.md
│ └── skills/ # Installed + custom skills
│ └── &amp;lt;name&amp;gt;/
│ └── SKILL.md
├── credentials/ # Channel tokens (permissions-sensitive)
├── sessions/ # Session metadata
└── … # Logs, cron output, plugin state
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6anfsw2os86jepz9iwq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6anfsw2os86jepz9iwq.gif" width="800" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;openclaw.json&lt;/strong&gt; is the source of truth for non-secret settings. Secrets and tokens route to appropriate credential stores.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SOUL.md&lt;/strong&gt; defines who the agent is — tone, boundaries, and behavior. It is the identity layer (similar in spirit to HermesSOUL.md, but living in the workspace).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;skills/&lt;/strong&gt; is where procedural knowledge lives — bundled skills, ClawHub installs, and agent-authored skills.&lt;/p&gt;

&lt;p&gt;Workspace layout — animated&lt;/p&gt;

&lt;p&gt;Copy a starter soul from this guide:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp &lt;/span&gt;guides/openclaw/examples/SOUL.md ~/.openclaw/workspace/SOUL.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 7 — Capabilities (from the homepage)
&lt;/h3&gt;

&lt;p&gt;OpenClaw advertises six pillars on &lt;a href="https://openclaw.ai/#what-it-does" rel="noopener noreferrer"&gt;openclaw.ai&lt;/a&gt;. Here is what each means in practice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runs on your machine.&lt;/strong&gt; macOS, Windows, or Linux. Connect Anthropic, OpenAI, Google, or local models. Data stays on your infrastructure unless a tool explicitly calls an external API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Any chat app.&lt;/strong&gt; One Gateway serves many channels. DMs and group chats are supported; group behavior often uses mention rules so the bot does not reply to every message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Persistent memory.&lt;/strong&gt; The agent remembers preferences and context across sessions — your assistant becomes specific to you, not a generic chatbot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser control.&lt;/strong&gt; Navigate pages, fill forms, extract data. Useful for research, booking flows, and admin panels that have no API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full system access (configurable).&lt;/strong&gt; Read/write files, run shell commands, execute scripts. You choose sandbox vs full access based on trust and host environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skills and plugins.&lt;/strong&gt; Install community skills from ClawHub, add channel plugins, or describe a new workflow in chat and let the agent draft a skill.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkva24qn6d5bnlav4wzd5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkva24qn6d5bnlav4wzd5.gif" width="799" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 8 — Connect messaging channels
&lt;/h3&gt;

&lt;p&gt;Telegram is the quickest first channel: create a bot with &lt;a href="https://t.me/BotFather" rel="noopener noreferrer"&gt;@BotFather&lt;/a&gt;, paste the token during onboarding or in config.&lt;/p&gt;

&lt;p&gt;WhatsApp and iMessage require additional pairing steps documented in the &lt;a href="https://docs.openclaw.ai/channels" rel="noopener noreferrer"&gt;Channels hub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Minimal allowlist snippet — merge into ~/.openclaw/openclaw.json (full example in &lt;a href="//./examples/openclaw-channels.snippet.json"&gt;examples/openclaw-channels.snippet.json&lt;/a&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;channels:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;whatsapp:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="err"&gt;allowFrom:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"+15555550123"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="err"&gt;groups:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"*"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;requireMention:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;messages:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;groupChat:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;mentionPatterns:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"@openclaw"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart after config changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw gateway restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu3z94t3q4ayzxp8w3el8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu3z94t3q4ayzxp8w3el8.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt; start restrictive — allowlist phone numbers and require mentions in groups. See &lt;a href="https://docs.openclaw.ai/security" rel="noopener noreferrer"&gt;Security&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Supported surfaces include WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Google Chat, Matrix, Microsoft Teams, Zalo, WebChat, and plugin channels — &lt;a href="https://openclaw.ai/integrations" rel="noopener noreferrer"&gt;50+ integrations&lt;/a&gt; on the marketing site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsrnptafq6u68sl9m4a83.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsrnptafq6u68sl9m4a83.gif" width="800" height="124"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 9 — Skills and ClawHub
&lt;/h3&gt;

&lt;p&gt;Skills are Markdown with YAML frontmatter — the agent loads descriptions cheaply and pulls full instructions when a task matches.&lt;/p&gt;

&lt;p&gt;Install from ClawHub:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw skills search calendar
openclaw skills &lt;span class="nb"&gt;install&lt;/span&gt; &amp;lt;skill-slug&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56q3h9htjq2gq19en6to.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56q3h9htjq2gq19en6to.gif" width="799" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Browse &lt;a href="https://clawhub.ai" rel="noopener noreferrer"&gt;clawhub.ai&lt;/a&gt;. Recent OpenClaw releases emphasize &lt;strong&gt;Skill Cards&lt;/strong&gt; and security scanning (SkillSpector) for hub skills — see the &lt;a href="https://openclaw.ai/blog" rel="noopener noreferrer"&gt;Skill Workshop blog post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The agent can also &lt;strong&gt;author skills&lt;/strong&gt; from conversation — e.g. “build a skill that checks my WHOOP metrics” — matching patterns described in community shoutouts on the homepage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skill Workshop (2026):&lt;/strong&gt; review and approve proposed skills before they change agent behavior — product direction toward safer self-modification.&lt;/p&gt;

&lt;p&gt;Progressive loading keeps token use sane:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Catalog view&lt;/strong&gt;  — names and descriptions only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full skill&lt;/strong&gt;  — load SKILL.md when triggered&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;References&lt;/strong&gt;  — optional deep files inside the skill folder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Team-private skills: host a Git repo and install via a slug, using the same pattern as Hermes Skills Hub taps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefy9zv3jo3atptll7hd8.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fefy9zv3jo3atptll7hd8.gif" width="798" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 10 — Models and local inference
&lt;/h3&gt;

&lt;p&gt;Set or switch models:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw models list
openclaw models &lt;span class="nb"&gt;set &lt;/span&gt;anthropic/claude-sonnet-4
&lt;span class="c"&gt;# or local:&lt;/span&gt;
openclaw models &lt;span class="nb"&gt;set &lt;/span&gt;ollama/gemma4:e2b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For a full &lt;strong&gt;local stack&lt;/strong&gt; (Ollama + RAG skill), follow &lt;a href="https://medium.com/@techlatest.net/your-ai-on-whatsapp-fully-local-powered-by-gemma-dc3aaf4f7097" rel="noopener noreferrer"&gt;OpenClaw + Gemma + RAG.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Providers are swappable without rebuilding the Gateway — the agent runtime handles translation to supported API formats.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 11 — Proactive automation: cron and heartbeats
&lt;/h3&gt;

&lt;p&gt;OpenClaw is designed to be &lt;strong&gt;proactive&lt;/strong&gt; , not only reactive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cron jobs&lt;/strong&gt; schedule isolated agent runs — daily briefings, inbox sweeps, reminders. Describe schedules in natural language or use cron syntax. Jobs persist in config and survive Gateway restarts.&lt;/p&gt;

&lt;p&gt;Example prompt inside a chat session:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Every weekday at 8am, summarize my calendar and unread priority emails.
Deliver the summary here. Set this up as a recurring cron job.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;List jobs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw cron list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Heartbeats&lt;/strong&gt; are periodic check-ins — the agent may reach out when something needs attention (community reports surprise check-ins during heartbeats). Configure through workspace and gateway settings per docs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp64lpisn7m4adfjane2r.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp64lpisn7m4adfjane2r.gif" width="798" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Useful variants:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One-shot delay: /cron add 30m "Remind me to check the build"&lt;/li&gt;
&lt;li&gt;Interval: /cron add "every 2h" "Check server status"&lt;/li&gt;
&lt;li&gt;Attach a skill: run a job with --skill  so the agent loads a playbook first&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 12 — Multi-agent routing
&lt;/h3&gt;

&lt;p&gt;One Gateway can route &lt;strong&gt;multiple isolated agents&lt;/strong&gt;  — different workspaces, sessions, or senders. Useful for “work agent” vs “personal agent”, or separate Telegram bots.&lt;/p&gt;

&lt;p&gt;Concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session isolation&lt;/strong&gt;  — conversations do not leak context across routes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace per agent&lt;/strong&gt;  — distinct SOUL.mdSkills and tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sender-based routing&lt;/strong&gt;  — map channels or users to different agents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Docs: &lt;a href="https://docs.openclaw.ai/multi-agent" rel="noopener noreferrer"&gt;Multi-agent routing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fql8o0x9hdchhvs8s94io.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fql8o0x9hdchhvs8s94io.gif" width="798" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 13 — Nodes, voice, and Canvas
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Mobile nodes&lt;/strong&gt; pair iOS/Android apps with the Gateway for camera capture, voice workflows, and Canvas (visual workspace). The macOS/Windows companion apps expose tray controls and local node mode.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://docs.openclaw.ai/nodes" rel="noopener noreferrer"&gt;Nodes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how users run “fix production from a dog walk” workflows — phone chat triggers agent execution on a home server or Mac mini.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 14 — OpenClaw vs Hermes (prose only)
&lt;/h3&gt;

&lt;p&gt;Both are self-hosted, messaging-friendly agent runtimes. Neither is a hosted SaaS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt; leads with the &lt;strong&gt;Gateway and channels&lt;/strong&gt;  — the product feels like “message your computer from WhatsApp.” Skills extend behavior; the community hub (ClawHub) is large; onboarding and Control UI are polished for personal assistants.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hermes&lt;/strong&gt; leads with the &lt;strong&gt;learning agent&lt;/strong&gt;  — runtime skill authoring, Curator maintenance, optional GEPA offline validation, and research-oriented tooling (MCP, profiles, training pipeline). See Hermes Agent Masterclass.&lt;/p&gt;

&lt;p&gt;You can migrate between them: hermes claw migrate Import OpenClaw-style config into Hermes. Full side-by-side: &lt;a href="https://dev.to/techlatestnet/openclaw-or-hermes-choosing-the-right-ai-agent-stack-in-2026-557"&gt;Hermes vs OpenClaw&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Pick OpenClaw when channel UX, ClawHub, and dashboard-first setup matter most. Pick Hermes when the self-improving skill library and experiment loop matter most. Many operators run one primary runtime and borrow skills from the other ecosystem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 15 — Troubleshooting
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;openclaw: command not found&lt;/strong&gt;  — reinstall globally or ensure npm global bin is on PATH.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gateway will not start&lt;/strong&gt;  — runopenclaw doctor; check port 18789 conflicts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Node version errors&lt;/strong&gt;  — upgrade to Node 22.19+ or 24.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Channel connected but no replies&lt;/strong&gt;  — verify allowlists, mention rules in groups, and bot token.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model errors&lt;/strong&gt;  — confirm API key in config; test with openclaw agent --message hi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docs entry:&lt;/strong&gt; &lt;a href="https://docs.openclaw.ai/help/troubleshooting" rel="noopener noreferrer"&gt;Troubleshooting&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 16 — Verify this guide
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x guides/openclaw/scripts/verify-openclaw.sh
./guides/openclaw/scripts/verify-openclaw.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Official links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://openclaw.ai/" rel="noopener noreferrer"&gt;openclaw.ai&lt;/a&gt; — product home&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.openclaw.ai/" rel="noopener noreferrer"&gt;docs.openclaw.ai&lt;/a&gt; — documentation&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;github.com/openclaw/openclaw&lt;/a&gt; — source&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://clawhub.ai" rel="noopener noreferrer"&gt;clawhub.ai&lt;/a&gt; — skill registry&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/openclaw" rel="noopener noreferrer"&gt;Discord community&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;OpenClaw is a &lt;strong&gt;Gateway-first personal agent&lt;/strong&gt; : install withopenclaw onboard, chat from the dashboard or your favorite messaging app, extend with &lt;strong&gt;skills&lt;/strong&gt; and &lt;strong&gt;cron&lt;/strong&gt; , and keep data on your machine. Start with Telegram and the Control UI, tighten security with allowlists, then add ClawHub skills and automation once the loop feels natural.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;




</description>
      <category>opensource</category>
      <category>agents</category>
      <category>clawdbot</category>
      <category>openclaw</category>
    </item>
    <item>
      <title>Anthropic Cybersecurity Skills — Full Tutorial</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Thu, 11 Jun 2026 09:51:34 +0000</pubDate>
      <link>https://dev.to/techlatestnet/anthropic-cybersecurity-skills-full-tutorial-5a9l</link>
      <guid>https://dev.to/techlatestnet/anthropic-cybersecurity-skills-full-tutorial-5a9l</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F78dfhmjmyesa4ndco3xp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F78dfhmjmyesa4ndco3xp.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Give any AI agent the structured decision-making of a &lt;strong&gt;senior security analyst&lt;/strong&gt;  — not generic web search, but step-by-step playbooks mapped to MITRE ATT&amp;amp;CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, and NIST AI RMF.&lt;/p&gt;

&lt;p&gt;Based on &lt;a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills" rel="noopener noreferrer"&gt;mukul975/Anthropic-Cybersecurity-Skills&lt;/a&gt; (754 skills · 26 domains · Apache 2.0).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Community project — not affiliated with Anthropic PBC.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What you’ll learn
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;What the library is and why it exists&lt;/li&gt;
&lt;li&gt;How the &lt;a href="https://agentskills.io" rel="noopener noreferrer"&gt;agentskills.io&lt;/a&gt; standard enables progressive disclosure&lt;/li&gt;
&lt;li&gt;All &lt;strong&gt;five framework mappings&lt;/strong&gt; and how to use them in compliance workflows&lt;/li&gt;
&lt;li&gt;Install on &lt;strong&gt;Claude Code, Cursor, Copilot, Codex CLI, Gemini CLI, Hermes&lt;/strong&gt; , and MCP agents&lt;/li&gt;
&lt;li&gt;Skill anatomy — frontmatter, Workflow, Verification, references, scripts&lt;/li&gt;
&lt;li&gt;End-to-end examples: memory forensics, threat hunting, cloud IR&lt;/li&gt;
&lt;li&gt;All &lt;strong&gt;26 security domains&lt;/strong&gt; and when to activate each&lt;/li&gt;
&lt;li&gt;Contributing, responsible use, citation, and troubleshooting&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Table of contents
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Part 1 — The problem this solves&lt;/li&gt;
&lt;li&gt;Part 2 — Library at a glance&lt;/li&gt;
&lt;li&gt;Part 3 — Architecture and progressive disclosure&lt;/li&gt;
&lt;li&gt;Part 4 — Five frameworks, one skill library&lt;/li&gt;
&lt;li&gt;Part 5 — Quick start installation&lt;/li&gt;
&lt;li&gt;Part 6 — Claude Code setup&lt;/li&gt;
&lt;li&gt;Part 7 — Cursor setup&lt;/li&gt;
&lt;li&gt;Part 8 — GitHub Copilot and Codex CLI&lt;/li&gt;
&lt;li&gt;Part 9 — Gemini CLI and other platforms&lt;/li&gt;
&lt;li&gt;Part 10 — Hermes Agent integration&lt;/li&gt;
&lt;li&gt;Part 11 — Skill anatomy deep dive&lt;/li&gt;
&lt;li&gt;Part 12 — How agents discover and execute skills&lt;/li&gt;
&lt;li&gt;Part 13 — Walkthrough: credential theft in a memory dump&lt;/li&gt;
&lt;li&gt;Part 14 — Walkthrough: hypothesis-driven threat hunting&lt;/li&gt;
&lt;li&gt;Part 15 — Walkthrough: multi-cloud breach scoping&lt;/li&gt;
&lt;li&gt;Part 16 — All 26 security domains&lt;/li&gt;
&lt;li&gt;Part 17 — MITRE ATT&amp;amp;CK v19.1 coverage&lt;/li&gt;
&lt;li&gt;Part 18 — Compliance and risk frameworks in practice&lt;/li&gt;
&lt;li&gt;Part 19 — Casky Playground and GARS-2026&lt;/li&gt;
&lt;li&gt;Part 20 — Contributing your own skill&lt;/li&gt;
&lt;li&gt;Part 21 — Security, ethics, and authorized use&lt;/li&gt;
&lt;li&gt;Part 22 — Troubleshooting&lt;/li&gt;
&lt;li&gt;Part 23 — Citation and license&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;754 production-grade cybersecurity skills for AI agents — structured playbooks, not random scripts or payload dumps&lt;/li&gt;
&lt;li&gt;Community project (&lt;a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills" rel="noopener noreferrer"&gt;mukul975/Anthropic-Cybersecurity-Skills&lt;/a&gt;) — not affiliated with Anthropic PBC · Apache 2.0&lt;/li&gt;
&lt;li&gt;26 security domains — cloud, DFIR, threat hunting, web app, OT/ICS, red team, and more&lt;/li&gt;
&lt;li&gt;5 framework mappings per skill — MITRE ATT&amp;amp;CK v19.1 · NIST CSF 2.0 · MITRE ATLAS · D3FEND · NIST AI RMF&lt;/li&gt;
&lt;li&gt;Built on &lt;a href="https://agentskills.io/" rel="noopener noreferrer"&gt;agentskills.io&lt;/a&gt; — YAML frontmatter for discovery + Markdown workflows for execution&lt;/li&gt;
&lt;li&gt;Progressive disclosure — scan all 754 skills at ~30 tokens each, load only matching playbooks at ~500–2K tokens&lt;/li&gt;
&lt;li&gt;One-line install: npx skills add mukul975/Anthropic-Cybersecurity-Skills&lt;/li&gt;
&lt;li&gt;Works with Cursor, Claude Code, Copilot, Codex CLI, Gemini CLI, Hermes, and MCP agents&lt;/li&gt;
&lt;li&gt;Tutorial includes animated GIFs — install steps, architecture, skill anatomy, DFIR walkthrough, domain + ATT&amp;amp;CK tables&lt;/li&gt;
&lt;li&gt;Runnable scripts — inspect real SKILL.md files and walk through a credential-dump IR scenario&lt;/li&gt;
&lt;li&gt;Closes the gap between “LLM that searches the web” and “agent that follows a senior analyst playbook.”&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Note
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;BlackArch Linux&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We also provide a ready-to-deploy BlackArch Linux VM that can be launched instantly on &lt;a href="http://aws.amazon.com/marketplace/pp/B09YJ3S7L9?utm_campaign=blackarch-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;,&lt;/strong&gt; &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/blackarch-linux?utm_campaign=blackarch-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;GCP&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;, or&lt;/strong&gt; &lt;a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/techlatest.blackarch-linux?utm_campaign=blackarch-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;.&lt;/strong&gt; No installation, setup, or dependency management required — just spin it up and start using a full arsenal of penetration testing and security auditing tools in minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kali GUI Linux&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Our Kali GUI Linux VM comes fully pre-configured with a graphical interface, making it easy for both beginners and professionals to get started. Deploy directly on &lt;a href="https://aws.amazon.com/marketplace/pp/B08XT9FPHP?utm_campaign=desktop-linux-kali&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;,&lt;/strong&gt; &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/desktop-linux-kali?utm_campaign=kali-gui-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;GCP&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;, or&lt;/strong&gt; &lt;a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/techlatest.desktop-linux-kali?utm_campaign=kali-gui-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/a&gt; with zero setup — no installation hassles, just immediate access to a complete offensive security toolkit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browser-Based Kali Linux&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We offer a browser-based Kali Linux environment that runs entirely in the cloud. Simply deploy and access it from your browser — no downloads, no local setup, no compatibility issues. Deploy directly on &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-skwmcgpakshpo?utm_campaign=kali-linux-browser&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;,&lt;/strong&gt; &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/kali-linux-browser?utm_campaign=kali-linux-browser&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;GCP&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;, or&lt;/strong&gt; &lt;a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/techlatest.kali-linux-browser?utm_campaign=kali-linux-browser&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/a&gt; with zero setup — no installation hassles, just immediate access to a complete offensive security toolkit. Perfect for quick testing, learning, and remote security operations from anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ParrotOS Linux&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Our ParrotOS Linux VM is optimized for security, privacy, and development workflows. Available for instant deployment on &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-zcer2c52ucaoy?utm_campaign=parrotos-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;,&lt;/strong&gt; &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/parrotos-linux?utm_campaign=parrotos-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;GCP&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;, and&lt;/strong&gt; &lt;a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/techlatest.parrotos-linux?utm_campaign=parrotos-linux&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;,&lt;/strong&gt; it eliminates the need for manual installation — giving you a secure, ready-to-use environment in just a few clicks.&lt;/p&gt;
&lt;h3&gt;
  
  
  Part 1 — The problem this solves
&lt;/h3&gt;

&lt;p&gt;The cybersecurity workforce gap hit &lt;strong&gt;4.8 million unfilled roles&lt;/strong&gt; globally in 2024 (ISC2). AI agents can help close that gap — but only if they have &lt;strong&gt;structured domain knowledge&lt;/strong&gt; to work from.&lt;/p&gt;

&lt;p&gt;Today’s agents can write code and search the web. They typically &lt;strong&gt;cannot&lt;/strong&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pick the right Volatility3 plugin for a suspicious memory dump&lt;/li&gt;
&lt;li&gt;Know which Sigma rules catch Kerberoasting&lt;/li&gt;
&lt;li&gt;Scope a cloud breach across AWS, Azure, and GCP with consistent playbooks&lt;/li&gt;
&lt;li&gt;Map findings to ATT&amp;amp;CK techniques without hallucinating IDs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Existing security repos give you &lt;strong&gt;wordlists, payloads, or exploit code&lt;/strong&gt;. None give an AI agent the &lt;strong&gt;decision workflow&lt;/strong&gt; a senior analyst follows: prerequisites, step order, verification, and framework mapping.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anthropic Cybersecurity Skills&lt;/strong&gt; fills that gap: 754 skills, each a practitioner playbook in agentskills.io format — YAML frontmatter for discovery, Markdown body for execution, optional references/scripts/assets for depth.&lt;/p&gt;
&lt;h3&gt;
  
  
  Part 2 — Library at a glance
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjaf02w7kj04cfzkjivq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjaf02w7kj04cfzkjivq.png" width="800" height="273"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  What it is not
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Not an Anthropic official product&lt;/li&gt;
&lt;li&gt;Not a script dump or payload collection&lt;/li&gt;
&lt;li&gt;Not a replacement for authorization, legal scope, or human judgment&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  What it is
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;strong&gt;AI-native knowledge base&lt;/strong&gt; built for agent toolchains&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validated ATT&amp;amp;CK v19.1&lt;/strong&gt; mappings via mitreattack-python — zero revoked IDs&lt;/li&gt;
&lt;li&gt;The only open-source skills library with &lt;strong&gt;unified five-framework&lt;/strong&gt; coverage per skill&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Part 3 — Architecture and progressive disclosure
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F415msczz7i6ssv80cj7w.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F415msczz7i6ssv80cj7w.gif" width="799" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hklz1l6l2crfjpbv7xm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hklz1l6l2crfjpbv7xm.png" width="798" height="222"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Part 4 — Five frameworks, one skill library
&lt;/h3&gt;

&lt;p&gt;No other open-source skills library maps every skill to all five frameworks. One skill, five compliance checkboxes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fub8h9luspatu84rty890.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fub8h9luspatu84rty890.png" width="799" height="311"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Example — one skill, five mappings
&lt;/h4&gt;

&lt;p&gt;Skill: analyzing-network-traffic-of-malware&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6hys3gpge61hwl6ef11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh6hys3gpge61hwl6ef11.png" width="800" height="234"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Part 5 — Quick start installation
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Option A — npx (recommended)
&lt;/h4&gt;

&lt;p&gt;Works with any agentskills.io-compatible platform:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add mukul975/Anthropic-Cybersecurity-Skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The installer registers skills in your agent’s configured skills directory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksjxbda5xhb9f4rdnp6y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fksjxbda5xhb9f4rdnp6y.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Option B — Git clone
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
&lt;span class="nb"&gt;cd &lt;/span&gt;Anthropic-Cybersecurity-Skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inspect skills/ — each subdirectory is one skill with SKILL.md at the root.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbem9czrc86t9vrl3jvaw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbem9czrc86t9vrl3jvaw.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Option C — This guide’s helper script
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;guides/anthropic-cybersecurity-skills
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x install-skills.sh verify-install.sh
./install-skills.sh
./verify-install.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Default clone path: ~/.cybersec-skills/Anthropic-Cybersecurity-Skills. Override:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;CYBERSEC_SKILLS_DIR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/security-skills/Anthropic-Cybersecurity-Skills
./install-skills.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkig8cjv3oovqu88h5x1k.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkig8cjv3oovqu88h5x1k.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 6 — Claude Code setup
&lt;/h3&gt;

&lt;p&gt;Claude Code — symlink skills to ~/.claude/skills/&lt;/p&gt;

&lt;p&gt;Claude Code loads skills from .claude/skills/ (project) or ~/.claude/skills/ (global).&lt;/p&gt;

&lt;h4&gt;
  
  
  Global install (all projects)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;SKILLS_SRC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;~/.cybersec-skills/Anthropic-Cybersecurity-Skills/skills
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.claude/skills

&lt;span class="c"&gt;# Symlink entire library (754 skills — high discovery surface)&lt;/span&gt;
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-sf&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SKILLS_SRC&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;/&lt;span class="k"&gt;*&lt;/span&gt; ~/.claude/skills/

&lt;span class="c"&gt;# Or copy a subset — e.g. DFIR only&lt;/span&gt;
&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SKILLS_SRC&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;/performing-memory-forensics-with-volatility3 ~/.claude/skills/
&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SKILLS_SRC&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;/hunting-for-credential-dumping-lsass ~/.claude/skills/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Project-scoped (one engagement)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; .claude/skills
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-sf&lt;/span&gt; ~/.cybersec-skills/Anthropic-Cybersecurity-Skills/skills/&lt;span class="k"&gt;*&lt;/span&gt; .claude/skills/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Verify in Claude Code
&lt;/h4&gt;

&lt;p&gt;Start a session and ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Use the performing-memory-forensics-with-volatility3 skill. List prerequisites and the first three Workflow steps only.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude should read SKILL.md and cite structured sections — not invent generic Volatility commands.&lt;/p&gt;

&lt;p&gt;See also: &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/claude-code-dot-claude/tutorial/" rel="noopener noreferrer"&gt;Claude Code &lt;/a&gt;&lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/claude-code-dot-claude/tutorial/" rel="noopener noreferrer"&gt;.claude/ tutorial&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4ugdtalzmxo7fb97dh2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp4ugdtalzmxo7fb97dh2.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 7 — Cursor setup
&lt;/h3&gt;

&lt;p&gt;Cursor — npx or manual symlink to ~/.cursor/skills/&lt;/p&gt;

&lt;p&gt;Cursor discovers skills listed in agent configuration and from ~/.cursor/skills/ (user skills).&lt;/p&gt;

&lt;h4&gt;
  
  
  Install via npx
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add mukul975/Anthropic-Cybersecurity-Skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follow Cursor-specific prompts if the installer detects your environment.&lt;/p&gt;

&lt;h4&gt;
  
  
  Manual symlink
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.cursor/skills
&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-sf&lt;/span&gt; ~/.cybersec-skills/Anthropic-Cybersecurity-Skills/skills/&lt;span class="k"&gt;*&lt;/span&gt; ~/.cursor/skills/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Project rules (optional)
&lt;/h4&gt;

&lt;p&gt;Add to .cursor/rules/ or project instructions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;For security investigations, prefer skills from Anthropic Cybersecurity Skills.
Scan skill frontmatter by tags (dfir, threat-hunting, cloud-security) before loading full SKILL.md.
Always complete the Verification section before closing an investigation step.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Verify in Cursor
&lt;/h4&gt;

&lt;p&gt;Open Agent mode and prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I have a Windows memory dump. Which cybersecurity skills apply? Load the best match and show Prerequisites.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyiw8vtyu0by2b2ksiubn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyiw8vtyu0by2b2ksiubn.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 8 — GitHub Copilot and Codex CLI
&lt;/h3&gt;

&lt;p&gt;Copilot + Codex CLI — install skills and invoke by name&lt;/p&gt;

&lt;p&gt;Both support agentskills.io when configured with a skills path.&lt;/p&gt;

&lt;h4&gt;
  
  
  Copilot (VS Code / JetBrains)
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Clone or npx skills add the repo&lt;/li&gt;
&lt;li&gt;Point Copilot’s agent skills setting at skills/&lt;/li&gt;
&lt;li&gt;In agent chat: reference skill &lt;strong&gt;name&lt;/strong&gt; in kebab-case (e.g. hunting-for-lateral-movement-with-sysmon)&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  OpenAI Codex CLI
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add mukul975/Anthropic-Cybersecurity-Skills
codex &lt;span class="c"&gt;# or your configured entrypoint&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Codex reads frontmatter for routing; load full skills for multi-step IR workflows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnh5zpnscqjiphnpvn9o.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnh5zpnscqjiphnpvn9o.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 9 — Gemini CLI and other platforms
&lt;/h3&gt;

&lt;p&gt;Gemini CLI — npx install and skill invocation&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compatible without custom forks:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fmp1p2pvr5o0yfolpe0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fmp1p2pvr5o0yfolpe0.png" width="800" height="234"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini CLI:&lt;/strong&gt; install skills via npx skills add, then invoke by skill name in prompts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LangChain / CrewAI:&lt;/strong&gt; mount skills//SKILL.md as tool description or system prompt segment; use frontmatter tags for retrieval routing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP agents:&lt;/strong&gt; expose skill search as an MCP resource listing frontmatter; fetch full SKILL.md on match.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwkk2gmhuvmsu0zvfdll.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcwkk2gmhuvmsu0zvfdll.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 10 — Hermes Agent integration
&lt;/h3&gt;

&lt;p&gt;Hermes — copy skills into ~/.hermes/skills/&lt;/p&gt;

&lt;p&gt;Hermes uses ~/.hermes/skills/ (same agentskills.io layout).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git /tmp/cybersec-skills
&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; /tmp/cybersec-skills/skills/&lt;span class="k"&gt;*&lt;/span&gt; ~/.hermes/skills/
hermes skills list | &lt;span class="nb"&gt;head&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For SOC automation, combine with Hermes cron/Curator so frequently used skills stay prioritized. See &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/awesome-hermes-agent/tutorial/" rel="noopener noreferrer"&gt;Awesome Hermes Agent tutorial&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Example Hermes prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Run a hypothesis-driven hunt for Kerberoasting using the threat hunting skills. Map hits to ATT&amp;amp;CK T1558.003.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq76y468djeogmjesr49l.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq76y468djeogmjesr49l.gif" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 11 — Skill anatomy deep dive
&lt;/h3&gt;

&lt;p&gt;Every skill follows a consistent directory structure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;skills/performing-memory-forensics-with-volatility3/
├── SKILL.md ← Definition (YAML + Markdown)
├── references/
│ ├── standards.md ← Framework mappings
│ └── workflows.md ← Deep technical reference
├── scripts/
│ └── process.py ← Helper scripts
└── assets/
    └── template.md ← Report templates
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  YAML frontmatter (real example)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;performing-memory-forensics-with-volatility3&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;&amp;gt;-&lt;/span&gt;
  &lt;span class="s"&gt;Analyze memory dumps to extract running processes, network connections,&lt;/span&gt;
  &lt;span class="s"&gt;injected code, and malware artifacts using the Volatility3 framework.&lt;/span&gt;
&lt;span class="na"&gt;domain&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;cybersecurity&lt;/span&gt;
&lt;span class="na"&gt;subdomain&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;digital-forensics&lt;/span&gt;
&lt;span class="na"&gt;tags&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;forensics&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;memory-analysis&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;volatility3&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;incident-response&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;dfir&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;atlas_techniques&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;AML.T0047&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;d3fend_techniques&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;D3-MA&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;D3-PSMD&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;nist_ai_rmf&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;MEASURE-2.6&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;nist_csf&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;DE.CM-01&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;RS.AN-03&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1.2"&lt;/span&gt;
&lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;mukul975&lt;/span&gt;
&lt;span class="na"&gt;license&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Apache-2.0&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbszbrxg8orunx86azep7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbszbrxg8orunx86azep7.png" width="800" height="543"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4rgnpwvr4vxdp65yznr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4rgnpwvr4vxdp65yznr8.png" width="800" height="655"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 12 — How agents discover and execute skills
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;User prompt:&lt;/strong&gt; “Analyze this memory dump for signs of credential theft.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent internal process:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Scan&lt;/strong&gt; 754 frontmatter (~30 tokens each)&lt;/li&gt;
&lt;li&gt;→ Match tags: forensics, credential-access, memory-analysis
→ &lt;strong&gt;12 candidate skills&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Load top 3:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;performing-memory-forensics-with-volatility3&lt;/li&gt;
&lt;li&gt;hunting-for-credential-dumping-lsass&lt;/li&gt;
&lt;li&gt;analyzing-windows-event-logs-for-credential-access&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Execute Workflow&lt;/strong&gt;  — Volatility3 plugins, LSASS access patterns, event log correlation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verification&lt;/strong&gt;  — confirm IOCs, map to &lt;strong&gt;ATT&amp;amp;CK T1003&lt;/strong&gt; (Credential Dumping)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Without skills, the agent guesses commands and skips steps. With skills, it follows the same playbook a senior DFIR analyst would use.&lt;/p&gt;

&lt;h4&gt;
  
  
  Tips for better agent behavior
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ask the agent to &lt;strong&gt;name the skill&lt;/strong&gt; before executing&lt;/li&gt;
&lt;li&gt;Require &lt;strong&gt;Verification&lt;/strong&gt; section output in every response&lt;/li&gt;
&lt;li&gt;For red team skills, state &lt;strong&gt;authorized scope&lt;/strong&gt; in the prompt&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;subset installs&lt;/strong&gt; (10–20 skills) if the agent overloads context&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 13 — Walkthrough: credential theft in a memory dump
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; IR ticket — suspected Mimikatz on a Windows server. You have a .raw memory image.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1 — Activate the right skills
&lt;/h4&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Authorized DFIR on image&lt;/em&gt; &lt;em&gt;server01.raw. Find skills for memory forensics and credential dumping. List prerequisites.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Expected skills: memory forensics + LSASS hunting + Windows event logs.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2 — Prerequisites check
&lt;/h4&gt;

&lt;p&gt;Agent should verify from SKILL.md:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Volatility3 installed (vol -h)&lt;/li&gt;
&lt;li&gt;Symbol tables / Windows profile for OS build&lt;/li&gt;
&lt;li&gt;Sufficient disk space for plugin output&lt;/li&gt;
&lt;li&gt;Chain of custody documented&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 3 — Workflow execution
&lt;/h4&gt;

&lt;p&gt;Typical workflow order (from skills):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;windows.info / windows.pslist — baseline processes&lt;/li&gt;
&lt;li&gt;windows.malfind / windows.vadwalk — injection indicators&lt;/li&gt;
&lt;li&gt;LSASS-focused plugins and handle analysis&lt;/li&gt;
&lt;li&gt;Correlate with Security Event ID 4656/4663 if disk logs are available&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 4 — Verification
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Named process accessing lsass.exe with suspicious privileges&lt;/li&gt;
&lt;li&gt;In-memory strings or injection matching known dump tools&lt;/li&gt;
&lt;li&gt;Timeline aligns with alert timestamp&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ATT&amp;amp;CK:&lt;/strong&gt; T1003.001 OS Credential Dumping: LSASS Memory&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 5 — Report
&lt;/h4&gt;

&lt;p&gt;Use skill assets/template.md if present; include framework mappings from references/standards.md.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy57gsdjhf5j2jmn11ehc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy57gsdjhf5j2jmn11ehc.png" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 14 — Walkthrough: hypothesis-driven threat hunting
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; Hunt for Kerberoasting in Enterprise SIEM.&lt;/p&gt;

&lt;h4&gt;
  
  
  Hypothesis
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Service accounts may be targeted via Kerberoasting (T1558.003) in the last 30 days.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Skill selection
&lt;/h4&gt;

&lt;p&gt;Tags: threat-hunting, kerberos, sigma, splunk or sentinel.&lt;/p&gt;

&lt;p&gt;Agent loads hunting skill → Workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deploy/validate Sigma rule for Kerberoasting&lt;/li&gt;
&lt;li&gt;Query rare RC4/HMAC service ticket requests&lt;/li&gt;
&lt;li&gt;Enrich service accounts — SPN exposure, password age&lt;/li&gt;
&lt;li&gt;Escalate confirmed anomalies to IR queue&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Verification
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Non-noise hits with service account + weak crypto ticket&lt;/li&gt;
&lt;li&gt;ATT&amp;amp;CK technique documented&lt;/li&gt;
&lt;li&gt;Hunt notebook updated for repeatability&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 15 — Walkthrough: multi-cloud breach scoping
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; Credentials leaked; unknown activity in AWS, Azure, and GCP.&lt;/p&gt;

&lt;h4&gt;
  
  
  Skills to combine
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g7l7djjj3r4x489vlt8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8g7l7djjj3r4x489vlt8.png" width="800" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agent workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Contain&lt;/strong&gt;  — disable keys, force password reset (Incident Response skills)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discover&lt;/strong&gt;  — each provider’s log skill in parallel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collect&lt;/strong&gt;  — unified timeline (Digital Forensics)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Map&lt;/strong&gt;  — ATT&amp;amp;CK cloud techniques (T1078, T1530, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Report&lt;/strong&gt;  — NIST CSF RS.AN / RS.MI categories&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Part 16 — All 26 security domains
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favik9eesgc7cqzhbre4p.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favik9eesgc7cqzhbre4p.gif" width="800" height="648"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 17 — MITRE ATT&amp;amp;CK v19.1 coverage
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;754/754 skills&lt;/strong&gt; mapped. Validated with official mitreattack-python — no revoked or deprecated IDs.&lt;/p&gt;

&lt;p&gt;v19.1 change: &lt;strong&gt;Defense Evasion&lt;/strong&gt; split into &lt;strong&gt;Stealth&lt;/strong&gt; (TA0005) and &lt;strong&gt;Defense Impairment&lt;/strong&gt; (TA0112).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdcipqch5zbvzkmuxw2b7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdcipqch5zbvzkmuxw2b7.gif" width="800" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 18 — Compliance and risk frameworks in practice
&lt;/h3&gt;

&lt;h4&gt;
  
  
  NIST CSF 2.0
&lt;/h4&gt;

&lt;p&gt;Map skill outputs to &lt;strong&gt;Govern, Identify, Protect, Detect, Respond, Recover&lt;/strong&gt; for audit trails. Example: memory forensics → &lt;strong&gt;Detect (DE.CM)&lt;/strong&gt;, &lt;strong&gt;Respond (RS.AN)&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  MITRE ATLAS
&lt;/h4&gt;

&lt;p&gt;Use when the incident involves &lt;strong&gt;ML models&lt;/strong&gt;  — poisoning, evasion, model theft. Frontmatter field: atlas_techniques.&lt;/p&gt;

&lt;h4&gt;
  
  
  MITRE D3FEND
&lt;/h4&gt;

&lt;p&gt;Pair offensive findings with &lt;strong&gt;defensive countermeasures&lt;/strong&gt;  — e.g. D3-NTA for network traffic analysis skills.&lt;/p&gt;

&lt;h4&gt;
  
  
  NIST AI RMF
&lt;/h4&gt;

&lt;p&gt;For &lt;strong&gt;AI governance&lt;/strong&gt;  — document which agent skills were used, human-in-the-loop checkpoints, and measurement (MEASURE-* subcategories).&lt;/p&gt;

&lt;p&gt;See &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/anthropic-cybersecurity-skills/frameworks/" rel="noopener noreferrer"&gt;Framework mappings&lt;/a&gt; for crosswalk tables and reporting templates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 19 — Casky Playground and GARS-2026
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Casky.ai Playground
&lt;/h4&gt;

&lt;p&gt;Hands-on exercises without local install:&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://casky.ai" rel="noopener noreferrer"&gt;Launch Playground on Casky.ai&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live cybersecurity skill exercises&lt;/li&gt;
&lt;li&gt;Real-time agent execution&lt;/li&gt;
&lt;li&gt;Interactive ATT&amp;amp;CK-mapped workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  GARS-2026 Survey
&lt;/h4&gt;

&lt;p&gt;Global Agentic AI Readiness Survey (SRH Berlin) — measures readiness for MCP, tool calling, and governance.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;~10 minutes, anonymous&lt;/li&gt;
&lt;li&gt;Results published open access (CC-BY 4.0)&lt;/li&gt;
&lt;li&gt;Link in &lt;a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills#-gars-2026--global-agentic-ai-readiness-survey" rel="noopener noreferrer"&gt;upstream README&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Part 20 — Contributing your own skill
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Fork &lt;a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills" rel="noopener noreferrer"&gt;Anthropic-Cybersecurity-Skills&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Copy the skill template from CONTRIBUTING.md&lt;/li&gt;
&lt;li&gt;Add skills/your-skill-name/SKILL.md with full frontmatter + four body sections&lt;/li&gt;
&lt;li&gt;Add references/standards.md with ATT&amp;amp;CK + framework IDs&lt;/li&gt;
&lt;li&gt;PR title: Add skill: your-skill-name&lt;/li&gt;
&lt;li&gt;Review within ~48 hours for technical accuracy and agentskills.io compliance&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Improve existing skills:&lt;/strong&gt; framework mappings, fixed commands, new scripts/templates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Report issues:&lt;/strong&gt; inaccurate procedures or broken scripts → GitHub Issues.&lt;/p&gt;

&lt;p&gt;Project follows &lt;strong&gt;Contributor Covenant&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 21 — Security, ethics, and authorized use
&lt;/h3&gt;

&lt;p&gt;These skills describe ** offensive and defensive techniques**. Use only:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On systems you own or have &lt;strong&gt;written authorization&lt;/strong&gt; to test&lt;/li&gt;
&lt;li&gt;Within bug bounty/pentest/red team  &lt;strong&gt;scope&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;With &lt;strong&gt;human oversight&lt;/strong&gt; for destructive or exfiltration steps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI agents can execute commands quickly — mis-scoped prompts cause real damage. Always:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;State authorization in the prompt&lt;/li&gt;
&lt;li&gt;Use read-only modes where available&lt;/li&gt;
&lt;li&gt;Keep humans in the loop for containment and legal notification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Upstream &lt;a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills/security/policy" rel="noopener noreferrer"&gt;Security Policy&lt;/a&gt;: responsible disclosure, 48-hour acknowledgment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 22 — Troubleshooting
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frb558wf12r8rhpipm8a5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frb558wf12r8rhpipm8a5.png" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run ./verify-install.sh after every pull.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 23 — Citation and license
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight bibtex"&gt;&lt;code&gt;&lt;span class="nc"&gt;@software&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;anthropic_cybersecurity_skills&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Jangra, Mahipal}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Anthropic Cybersecurity Skills}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;year&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{2026}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;url&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{https://github.com/mukul975/Anthropic-Cybersecurity-Skills}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;license&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Apache-2.0}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;note&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{754 structured cybersecurity skills for AI agents,
                  mapped to MITRE ATT\&amp;amp;CK, NIST CSF 2.0, MITRE ATLAS,
                  MITRE D3FEND, and NIST AI RMF}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  License
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Apache License 2.0&lt;/strong&gt;  — use, modify, and distribute in personal and commercial projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;The cybersecurity skills gap is not going to close with generic chatbots alone. Analysts do not win investigations because an LLM can search the web — they win because they know which playbook to run, in what order, and how to verify the result before closing the ticket.&lt;/p&gt;

&lt;p&gt;Anthropic Cybersecurity Skills (community-built, Apache 2.0) gives AI agents that same structure: 754 skills across 26 domains, each mapped to MITRE ATT&amp;amp;CK, NIST CSF, ATLAS, D3FEND, and NIST AI RMF. The &lt;a href="https://agentskills.io/" rel="noopener noreferrer"&gt;agentskills.io&lt;/a&gt; format makes it practical — scan lightweight frontmatter first, load full workflows only when the incident demands it.&lt;/p&gt;

&lt;p&gt;You do not need a custom fork or a new agent runtime. One install command works across Cursor, Claude Code, Copilot, Codex CLI, Gemini CLI, and Hermes. Point your agent at the library, name the skill in your prompt, and require the Verification step before it reports done.&lt;/p&gt;

&lt;p&gt;Start here:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add mukul975/Anthropic-Cybersecurity-Skills
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then walk through the tutorial: inspect a real SKILL.md, run the credential-dump walkthrough, and pick skills by domain or ATT&amp;amp;CK tactic. Use them only on authorized systems — these are practitioner playbooks, not toys.&lt;/p&gt;

&lt;p&gt;If this helps your SOC or red-team workflow, star the &lt;a href="https://github.com/mukul975/Anthropic-Cybersecurity-Skills" rel="noopener noreferrer"&gt;upstream repo&lt;/a&gt; and consider contributing a skill in an underrepresented domain like Deception Technology or Compliance &amp;amp; Governance. The library grows on community PRs — and the agents using it get sharper with every one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reddit Community: &lt;a href="https://www.reddit.com/user/techlatest_net/" rel="noopener noreferrer"&gt;https://www.reddit.com/user/techlatest_net/&lt;/a&gt;&lt;/p&gt;




</description>
      <category>githubcopilot</category>
      <category>cursor</category>
      <category>cybersecurity</category>
      <category>aisecurity</category>
    </item>
    <item>
      <title>Build an ML Model That Actually Ships: A 6-Step Visual Walkthrough</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Wed, 10 Jun 2026 08:14:49 +0000</pubDate>
      <link>https://dev.to/techlatestnet/build-an-ml-model-that-actually-ships-a-6-step-visual-walkthrough-4k4f</link>
      <guid>https://dev.to/techlatestnet/build-an-ml-model-that-actually-ships-a-6-step-visual-walkthrough-4k4f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvhjckv9l53bphnf872y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvhjckv9l53bphnf872y.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most people picture machine learning like this: pick an algorithm, call .fit(), done.&lt;/p&gt;

&lt;p&gt;That’s not how it works in real teams.&lt;/p&gt;

&lt;p&gt;Training is one stage in a longer pipeline. Skip the early steps, and you build the wrong thing. Skip the late steps and nothing ever reaches users — or it breaks quietly in production.&lt;/p&gt;

&lt;p&gt;Here are the six stages every serious ML project goes through, what happens in each, and what to watch out for.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw76kwkcuhstrijqdom3c.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw76kwkcuhstrijqdom3c.gif" width="720" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&gt;

&lt;p&gt;Build an ML Model That Actually Ships: A 6-Step Visual Walkthrough&lt;/p&gt;

&lt;p&gt;Building a model that reaches production is six stages, not one notebook cell:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define the problem — KPIs and a baseline before any code&lt;/li&gt;
&lt;li&gt;Prepare data — clean, feature, split; reject leakage&lt;/li&gt;
&lt;li&gt;Choose a model — start simple; match data size and interpretability&lt;/li&gt;
&lt;li&gt;Train &amp;amp; tune — loop until validation metrics plateau&lt;/li&gt;
&lt;li&gt;Evaluate &amp;amp; test — held-out test set + slice by segment&lt;/li&gt;
&lt;li&gt;Deploy &amp;amp; monitor — API in prod, then watch for drift and retrain&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The algorithm is roughly 15–25% of the work. Most calendar time sits in data, evaluation, and keeping the model alive after launch.&lt;/p&gt;

&lt;p&gt;Each step in the full article has a GIF so you can see the flow — not just read a checklist.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Define the problem before you touch data
&lt;/h3&gt;

&lt;p&gt;Start with questions, not notebooks.&lt;/p&gt;

&lt;p&gt;What you’re really doing: turning a business or product problem into a measurable ML task.&lt;/p&gt;

&lt;p&gt;Ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What decision should the model help with? (approve a loan, flag spam, recommend a product)&lt;/li&gt;
&lt;li&gt;Is ML the right tool, or would rules or a lookup table work?&lt;/li&gt;
&lt;li&gt;What does “good enough” mean — accuracy, speed, cost, fairness?&lt;/li&gt;
&lt;li&gt;Who uses the output, and what happens when the model is wrong?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Write down success metrics now. If you can’t define them, you’re not ready to collect data.&lt;/p&gt;

&lt;p&gt;Common mistakes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solving a problem nobody has&lt;/li&gt;
&lt;li&gt;Choosing metrics that look good on paper but don’t match the product (e.g., 99% accuracy when the class is 98% one label)&lt;/li&gt;
&lt;li&gt;No baseline — even “always predict the majority class” should be beaten&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deliverable: one-page problem brief — use case, constraints, KPIs, and a simple baseline plan.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hsc7bfe2sh71f0sx5b6.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hsc7bfe2sh71f0sx5b6.gif" width="760" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Prepare data (where most of the calendar time goes)
&lt;/h3&gt;

&lt;p&gt;Models learn from examples. Garbage in, garbage out — that phrase exists for a reason.&lt;/p&gt;

&lt;p&gt;What you’re really doing: building a dataset that matches the problem you defined in Step 1.&lt;/p&gt;

&lt;p&gt;Typical work:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Collect — databases, APIs, logs, labels from humans, public datasets&lt;/li&gt;
&lt;li&gt;Clean — missing values, duplicates, typos, timezone bugs, unit mismatches&lt;/li&gt;
&lt;li&gt;Explore — distributions, correlations, label balance, leakage (future info sneaking into features)&lt;/li&gt;
&lt;li&gt;Engineer features — ratios, aggregates, encodings, text tokens, image resize/normalize&lt;/li&gt;
&lt;li&gt;Split — train/validation/test (and time-based splits for forecasting)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Rule of thumb: if Step 1 took a day and Step 2 takes three weeks, you’re probably on track.&lt;/p&gt;

&lt;p&gt;Common mistakes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Leakage (e.g. using “total spend after signup” to predict signup completion)&lt;/li&gt;
&lt;li&gt;Random split on time-series data&lt;/li&gt;
&lt;li&gt;Test set touched during experimentation (it should stay locked until the end)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg9p72z070y5cdym0zlo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg9p72z070y5cdym0zlo.gif" width="760" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Pick a modeling approach (smaller than people think)
&lt;/h3&gt;

&lt;p&gt;This is the step that gets all the Twitter threads. In a full project, it’s often 10–20% of the effort — not because it’s easy, but because Steps 1–2 and 5–6 eat the rest.&lt;/p&gt;

&lt;p&gt;What you’re really doing: choosing a method that fits data size, latency, interpretability, and maintenance.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;**Tabular, medium data, need explanations**  
→ Linear models, tree ensembles (Random Forest, gradient boosting)

**Images, audio, text at scale**  
→ Neural networks (PyTorch, TensorFlow, JAX)

**Small data, strict latency**  
→ Simpler models, or pre-trained + fine-tune

**Need a fast baseline**  
→ Logistic regression, or one strong GBM
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also pick framework and environment early: scikit-learn for classical tabular, PyTorch/TF for deep learning, plus version control and experiment logging from day one.&lt;/p&gt;

&lt;p&gt;Don’t marathon-tune a complex model until a simple one fails on your validation set.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc5igqcvfjqecotm59h5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc5igqcvfjqecotm59h5.gif" width="760" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Train and iterate
&lt;/h3&gt;

&lt;p&gt;Training means showing the model your prepared data, so it learns patterns.&lt;/p&gt;

&lt;p&gt;What you’re really doing: running experiments until validation performance stops improving meaningfully.&lt;/p&gt;

&lt;p&gt;Loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Train on the training set&lt;/li&gt;
&lt;li&gt;Tune on the validation set (hyperparameters, architecture tweaks)&lt;/li&gt;
&lt;li&gt;Log everything — config, data version, metrics, runtime&lt;/li&gt;
&lt;li&gt;Repeat until gains flatten or you hit product targets from Step 1&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hyperparameters (learning rate, tree depth, batch size, regularization) matter, but data and features usually matter more.&lt;/p&gt;

&lt;p&gt;Common mistakes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tuning on the test set (that’s cheating — you’ll overfit to one snapshot)&lt;/li&gt;
&lt;li&gt;No reproducibility (can’t rerun the same experiment six months later)&lt;/li&gt;
&lt;li&gt;Chasing leaderboard metrics while latency or cost makes deployment impossible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvatqrom6b07t64aibic.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftvatqrom6b07t64aibic.gif" width="760" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Evaluate honestly (including fairness)
&lt;/h3&gt;

&lt;p&gt;A model that looks great in a notebook can still fail in the real world.&lt;/p&gt;

&lt;p&gt;What you’re really doing: measuring generalization and risk before users see it.&lt;/p&gt;

&lt;p&gt;On the held-out test set (touched once, at the end):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classification: precision, recall, F1, ROC-AUC — pick what matches the cost of false positives vs false negatives&lt;/li&gt;
&lt;li&gt;Regression: MAE, RMSE, MAPE&lt;/li&gt;
&lt;li&gt;Ranking: NDCG, MAP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then go deeper:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slice analysis — performance by region, device, age band, language&lt;/li&gt;
&lt;li&gt;Bias/fairness checks — does error concentrate on one group?&lt;/li&gt;
&lt;li&gt;Error analysis — open the worst predictions; patterns often point back to Step 2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If test results don’t meet Step 1 KPIs, go back to data or modeling — don’t ship and hope.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzphq0meowpm4kuv0o9xg.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzphq0meowpm4kuv0o9xg.gif" width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Deploy, monitor, and maintain
&lt;/h3&gt;

&lt;p&gt;Training is a milestone. Production is the job.&lt;/p&gt;

&lt;p&gt;What you’re really doing: packaging the model so other systems can call it, then watching it degrade.&lt;/p&gt;

&lt;p&gt;Typical path:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Serialize the model (pickle, ONNX, SavedModel, etc.)&lt;/li&gt;
&lt;li&gt;Containerize (Docker) for consistent runtime&lt;/li&gt;
&lt;li&gt;Deploy — API on cloud (AWS/GCP/Azure), edge device, or batch pipeline&lt;/li&gt;
&lt;li&gt;Monitor — latency, error rate, input drift, output drift, business KPIs&lt;/li&gt;
&lt;li&gt;Retrain on a schedule or when alerts fire&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Models rot. User behavior shifts. New products launch. Upstream data schemas change. Monitoring catches that before revenue or trust does.&lt;/p&gt;

&lt;p&gt;Common mistakes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No rollback plan&lt;/li&gt;
&lt;li&gt;Monitoring only infrastructure (CPU/RAM) but not prediction quality&lt;/li&gt;
&lt;li&gt;Retraining on production traffic without governance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5g33x379kfs25hi4moi.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5g33x379kfs25hi4moi.gif" width="760" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thought
&lt;/h3&gt;

&lt;p&gt;Most ML content stops at training. That’s why so many “finished” models never leave a laptop.&lt;/p&gt;

&lt;p&gt;Shipping means accepting that data prep, leakage checks, slice analysis, and monitoring are part of the product — not optional cleanup. The teams that win aren’t the ones with the fanciest architecture on day one. They’re the ones that pick a clear metric, beat a dumb baseline, and keep the model honest after it goes live.&lt;/p&gt;

&lt;p&gt;If you’re early in the journey, don’t optimize for the perfect algorithm. Optimize for clarity at step one and honesty at step five. Everything else gets easier from there.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reddit Community: &lt;a href="https://www.reddit.com/user/techlatest_net/" rel="noopener noreferrer"&gt;https://www.reddit.com/user/techlatest_net/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mlmodel</category>
      <category>machinelearning</category>
      <category>mlalgorithm</category>
      <category>machinelearningai</category>
    </item>
    <item>
      <title>OpenClaw or Hermes? Choosing the Right AI Agent Stack in 2026</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Tue, 09 Jun 2026 10:25:37 +0000</pubDate>
      <link>https://dev.to/techlatestnet/openclaw-or-hermes-choosing-the-right-ai-agent-stack-in-2026-557</link>
      <guid>https://dev.to/techlatestnet/openclaw-or-hermes-choosing-the-right-ai-agent-stack-in-2026-557</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmxmwdb2a7rn9f8z9r2s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmxmwdb2a7rn9f8z9r2s.png" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The AI model race is slowing down. The agent runtime race is just getting started.&lt;/p&gt;

&lt;p&gt;In 2025, everyone compared Claude, GPT, Gemini, and Qwen. In 2026, the conversation has shifted. The real question is no longer which model you use, but which system orchestrates that model.&lt;/p&gt;

&lt;p&gt;For self-hosted agents, two projects stand out: OpenClaw and Hermes Agent.&lt;/p&gt;

&lt;p&gt;Both can connect to Telegram, Discord, Slack, WhatsApp, local tools, and cloud models. Both support skills. Both can automate tasks and execute workflows.&lt;/p&gt;

&lt;p&gt;Yet after spending time with both systems, I came away with a simple conclusion:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenClaw is a better control plane. Hermes is a better self-improving runtime.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The choice depends entirely on what you expect your agent to become.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repos:&lt;/strong&gt; &lt;a href="https://github.com/NousResearch/hermes-agent" rel="noopener noreferrer"&gt;NousResearch/hermes-agent&lt;/a&gt; · &lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;openclaw/openclaw&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 1 — What problem do they solve?
&lt;/h3&gt;

&lt;p&gt;At first glance, OpenClaw and Hermes look similar.&lt;/p&gt;

&lt;p&gt;You connect a model.&lt;br&gt;&lt;br&gt;
You give it tools.&lt;br&gt;&lt;br&gt;
You chat with it through Telegram, Discord, WhatsApp, or the terminal.&lt;/p&gt;

&lt;p&gt;But their philosophies diverge quickly.&lt;/p&gt;

&lt;p&gt;OpenClaw treats agents as members of a larger system.&lt;/p&gt;

&lt;p&gt;Hermes treats agents as individuals that learn and improve over time.&lt;/p&gt;

&lt;p&gt;That difference influences everything else.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Category | OpenClaw | Hermes |
| ------------------ | ------------------------------------------------------- | ---------------------------------------------------- |
| &lt;span class="gs"&gt;**Core Idea**&lt;/span&gt; | Agent control plane | Self-improving runtime |
| &lt;span class="gs"&gt;**Primary Focus**&lt;/span&gt; | Channels, routing, and orchestration | Learning, memory, and automation |
| &lt;span class="gs"&gt;**Ideal User**&lt;/span&gt; | Operators, builders, and teams managing multiple agents | Researchers, automation enthusiasts, and power users |
| &lt;span class="gs"&gt;**Long-Term Goal**&lt;/span&gt; | Manage and coordinate many agents | Continuously improve a single agent over time |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both projects answer: &lt;em&gt;“How do I talk to an AI agent from Telegram/WhatsApp/Discord and have it use tools on my machine?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;They diverge on &lt;strong&gt;what happens after the first week&lt;/strong&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| | OpenClaw | Hermes |
|---|----------|--------|
| &lt;span class="gs"&gt;**Product feel**&lt;/span&gt; | Polished personal assistant — gateway, channels, dashboard | Research-grade agent platform — tools, memory, evolution |
| &lt;span class="gs"&gt;**Skills**&lt;/span&gt; | You install or write &lt;span class="sb"&gt;`SKILL.md`&lt;/span&gt;; ClawHub registry | Agent can &lt;span class="gs"&gt;**author**&lt;/span&gt; skills; Curator maintains quality |
| &lt;span class="gs"&gt;**Stack**&lt;/span&gt; | Node.js, TypeScript, npm global | Python CLI, bash installer |
| &lt;span class="gs"&gt;**Sweet spot**&lt;/span&gt; | "Message my assistant anywhere" | "My assistant gets better at my workflows over time" |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neither is a hosted SaaS. You run the gateway on your laptop, homelab, or VPS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2 — Architecture side by side
&lt;/h3&gt;

&lt;h4&gt;
  
  
  OpenClaw
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuavvk4kno5d7ewwwldkw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuavvk4kno5d7ewwwldkw.png" width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gateway&lt;/strong&gt; = single control plane (default &lt;a href="http://127.0.0.1:18789/" rel="noopener noreferrer"&gt;http://127.0.0.1:18789/)&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspace&lt;/strong&gt; = ~/.openclaw/workspace with AGENTS.md, SOUL.md, TOOLS.md&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills&lt;/strong&gt; = ~/.openclaw/workspace/skills//SKILL.md&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daemon&lt;/strong&gt; = launchd/systemd user service after openclaw onboard --install-daemon&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Docs: &lt;a href="https://docs.openclaw.ai/concepts/architecture" rel="noopener noreferrer"&gt;Architecture&lt;/a&gt; · &lt;a href="https://docs.openclaw.ai/gateway" rel="noopener noreferrer"&gt;Gateway&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Hermes
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flo0mw1mlo2rgsx7i9ek9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flo0mw1mlo2rgsx7i9ek9.png" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CLI + TUI&lt;/strong&gt; = hermes, hermes --tui&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gateway&lt;/strong&gt; = hermes gateway for messaging platforms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills&lt;/strong&gt; = procedural memory in ~/.hermes/skills/&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Curator&lt;/strong&gt; (v0.12+) = periodic grading/pruning of learned skills&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Docs: &lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;Hermes user guide&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Shared pattern
&lt;/h4&gt;

&lt;p&gt;Both normalize inbound chat JSON → agent message → tool/skill execution → outbound reply. Both use &lt;strong&gt;Markdown skills&lt;/strong&gt; as the extension point for custom workflows.&lt;/p&gt;

&lt;h4&gt;
  
  
  Architecture Verdict
&lt;/h4&gt;

&lt;p&gt;Choose OpenClaw when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need multiple agents&lt;/li&gt;
&lt;li&gt;You need channel separation&lt;/li&gt;
&lt;li&gt;You need orchestration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Choose Hermes when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want a single powerful assistant&lt;/li&gt;
&lt;li&gt;You care about automation&lt;/li&gt;
&lt;li&gt;You value simplicity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Winner: &lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Deploy on OpenClaw VM
&lt;/h3&gt;

&lt;p&gt;Want to skip infrastructure setup?&lt;/p&gt;

&lt;p&gt;We provide pre-configured OpenClaw VM images on [AWS](&lt;a href="https://aws.amazon.com/marketplace/pp/prodview-y7ck4mk5qmrdk?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page%5C" rel="noopener noreferrer"&gt;https://aws.amazon.com/marketplace/pp/prodview-y7ck4mk5qmrdk?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page\&lt;/a&gt;), &lt;a href="https://marketplace.microsoft.com/en-us/product/techlatest.openclaw-vm?tab=Overview?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;Azure&lt;/a&gt;, and &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/openclaw-vm?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;Google Cloud Platform (GCP)&lt;/a&gt;. Each deployment comes with OpenClaw, Ollama, and all required dependencies pre-installed, allowing you to launch a production-ready AI agent environment in minutes.&lt;/p&gt;

&lt;p&gt;Available with both CPU and GPU configurations for development, testing, and production workloads.&lt;/p&gt;

&lt;h3&gt;
  
  
  Skills: Static Catalog vs Living Knowledge
&lt;/h3&gt;

&lt;p&gt;This is where Hermes becomes interesting.&lt;/p&gt;

&lt;p&gt;OpenClaw uses a traditional skill ecosystem.&lt;/p&gt;

&lt;p&gt;You install skills.&lt;br&gt;&lt;br&gt;
You update skills.&lt;br&gt;&lt;br&gt;
You manage skills.&lt;/p&gt;

&lt;p&gt;The model stays mostly separate from the skill lifecycle.&lt;/p&gt;

&lt;p&gt;Hermes takes a different approach.&lt;/p&gt;

&lt;p&gt;Repeated workflows can become reusable skills.&lt;/p&gt;

&lt;p&gt;Instead of treating skills as software packages, Hermes treats them as procedural memory.&lt;/p&gt;

&lt;p&gt;Over time, the agent begins to recognize recurring patterns and formalize them.&lt;/p&gt;

&lt;p&gt;This fundamentally changes the relationship between user and system.&lt;/p&gt;

&lt;p&gt;With OpenClaw, you manage skills.&lt;/p&gt;

&lt;p&gt;With Hermes, you train skills.&lt;/p&gt;
&lt;h4&gt;
  
  
  Skills Verdict
&lt;/h4&gt;

&lt;p&gt;If you want predictability:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want adaptation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Winner: &lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Memory: Rich Context vs Focused Context
&lt;/h3&gt;

&lt;p&gt;Memory is often marketed as a feature.&lt;/p&gt;

&lt;p&gt;In reality, memory is usually a tradeoff.&lt;/p&gt;

&lt;p&gt;OpenClaw maintains richer context across workflows and channels.&lt;/p&gt;

&lt;p&gt;That can be incredibly useful.&lt;/p&gt;

&lt;p&gt;It can also create noise.&lt;/p&gt;

&lt;p&gt;As systems grow, context retrieval becomes harder to manage.&lt;/p&gt;

&lt;p&gt;Hermes intentionally keeps memory lean.&lt;/p&gt;

&lt;p&gt;Instead of aggressively pulling context into every task, it retrieves information progressively.&lt;/p&gt;

&lt;p&gt;The result is a system that often feels more focused.&lt;/p&gt;

&lt;p&gt;OpenClaw remembers more.&lt;/p&gt;

&lt;p&gt;Hermes remembers more selectively.&lt;/p&gt;
&lt;h4&gt;
  
  
  Memory Verdict
&lt;/h4&gt;

&lt;p&gt;For long-running agent ecosystems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For daily workflows and repeated tasks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Winner: &lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  User Experience and Control
&lt;/h3&gt;

&lt;p&gt;This was one of the most surprising differences.&lt;/p&gt;

&lt;p&gt;OpenClaw generally feels mature and stable.&lt;/p&gt;

&lt;p&gt;Once configured, it stays out of the way.&lt;/p&gt;

&lt;p&gt;Hermes feels more transparent.&lt;/p&gt;

&lt;p&gt;Tool execution is easier to inspect.&lt;br&gt;&lt;br&gt;
Context usage is easier to understand.&lt;br&gt;&lt;br&gt;
Interrupting workflows feels more natural.&lt;/p&gt;

&lt;p&gt;If you enjoy seeing what your agent is doing, Hermes provides a clearer window into the system.&lt;/p&gt;

&lt;p&gt;If you simply want the system to work, OpenClaw’s maturity is reassuring.&lt;/p&gt;
&lt;h4&gt;
  
  
  UX Verdict
&lt;/h4&gt;

&lt;p&gt;Transparency: &lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Stability: &lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Overall Winner:  &lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Part 3 — Prerequisites
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Requirement | OpenClaw | Hermes |
|-------------|----------|--------|
| OS | macOS, Linux, Windows (WSL2) | macOS, Linux, WSL |
| Runtime | Node &lt;span class="gs"&gt;**22.19+**&lt;/span&gt; or &lt;span class="gs"&gt;**24**&lt;/span&gt; | Python (installer handles deps) |
| API key or local model | Yes | Yes |
| Disk | ~500MB+ for Node + workspace | ~1GB+ depending on browser tools |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Check versions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="c"&gt;# v22.19+ or v24 for OpenClaw&lt;/span&gt;
which hermes &lt;span class="c"&gt;# after Hermes install&lt;/span&gt;
which openclaw &lt;span class="c"&gt;# after OpenClaw install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 4 — Install OpenClaw
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; openclaw@latest
openclaw onboard &lt;span class="nt"&gt;--install-daemon&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The onboarding wizard configures:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Gateway bind address and auth&lt;/li&gt;
&lt;li&gt;LLM provider (or Ollama for local models)&lt;/li&gt;
&lt;li&gt;At least one channel (Telegram is the fastest smoke test)&lt;/li&gt;
&lt;li&gt;Workspace path and bundled skills&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw doctor
openclaw status
&lt;span class="c"&gt;# Dashboard (if gateway running):&lt;/span&gt;
&lt;span class="c"&gt;# http://127.0.0.1:18789/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Local model (optional):&lt;/strong&gt; follow the &lt;a href="https://medium.com/@techlatest.net/your-ai-on-whatsapp-fully-local-powered-by-gemma-dc3aaf4f7097" rel="noopener noreferrer"&gt;OpenClaw + Gemma&lt;/a&gt; + &lt;a href="https://medium.com/faun/deploy-a-qwen-3-6-agentic-rag-step-by-step-walkthrough-11d2993ff057" rel="noopener noreferrer"&gt;RAG tutorial&lt;/a&gt; to point OpenClaw at gemma4:e2b via Ollama.&lt;/p&gt;

&lt;h4&gt;
  
  
  OpenClaw skills smoke test
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw skills list
openclaw skills &lt;span class="nb"&gt;install&lt;/span&gt; &amp;lt;skill-from-clawhub&amp;gt; &lt;span class="c"&gt;# example — see clawhub.ai&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Skills load from (highest priority first):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;/skills/&lt;/li&gt;
&lt;li&gt;Project /.agents/skills&lt;/li&gt;
&lt;li&gt;~/.agents/skills&lt;/li&gt;
&lt;li&gt;~/.openclaw/skills&lt;/li&gt;
&lt;li&gt;Bundled skills&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;See &lt;a href="https://docs.openclaw.ai/tools/skills" rel="noopener noreferrer"&gt;Skills docs&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 5 — Install Hermes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://hermes-agent.nousresearch.com/install.sh | bash
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.zshrc &lt;span class="c"&gt;# or ~/.bashrc&lt;/span&gt;
hermes setup &lt;span class="nt"&gt;--portal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;hermes setup --portal is the fastest path to a working cloud model + tool gateway. For local-only, use hermes model and configure Ollama per Hermes docs.&lt;/p&gt;

&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes doctor
hermes &lt;span class="nt"&gt;--tui&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First TUI prompts to try:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;“List tools you have access to”&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“List skills in ~/.hermes/skills”&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“What is the Curator and when does it run?”&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full Hermes depth: &lt;a href="https://dev.to/techlatestnet/git-for-agent-memory-why-you-should-treat-hermes-skills-like-code-4ki3"&gt;Awesome Hermes Agent tutorial.&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Hermes gateway smoke test
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes gateway
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure channel tokens via hermes setup or config files. Run hermes doctor after any gateway change. Keep &lt;strong&gt;DM pairing/allowlists&lt;/strong&gt; enabled until you trust exposure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 6 — Feature comparison (hands-on)
&lt;/h3&gt;

&lt;p&gt;Use the same three prompts on both systems and compare behavior.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Test prompt | What to observe |
|-------------|-----------------|
| &lt;span class="ge"&gt;*"What skills do you have?"*&lt;/span&gt; | OpenClaw lists workspace/ClawHub skills; Hermes lists &lt;span class="sb"&gt;`~/.hermes/skills`&lt;/span&gt; + may mention learned skills |
| &lt;span class="ge"&gt;*"Run a shell command: uname -a"*&lt;/span&gt; | Tool permission / sandbox behavior |
| &lt;span class="ge"&gt;*"Remember that my project codename is NEPTUNE"*&lt;/span&gt; | Memory persistence on next session |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Record results in a simple table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Test | OpenClaw | Hermes |
|------|----------|--------|
| Skill list | | |
| Shell tool | | |
| Memory | | |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full static matrix: &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/hermes-vs-openclaw/comparison/" rel="noopener noreferrer"&gt;feature matrix&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 7 — Skills: same format, different lifecycle
&lt;/h3&gt;

&lt;h4&gt;
  
  
  OpenClaw skill anatomy
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;~/.openclaw/workspace/skills/my-skill/
├── SKILL.md # YAML frontmatter + instructions
└── scripts/ # optional Python/shell helpers
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install from ClawHub:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw skills &lt;span class="nb"&gt;install&lt;/span&gt; &amp;lt;skill-id&amp;gt;
openclaw skills verify &amp;lt;skill-id&amp;gt; &lt;span class="c"&gt;# trust envelope when available&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Operator maintains skills — update via openclaw skills update or ClawHub sync.&lt;/p&gt;

&lt;h4&gt;
  
  
  Hermes skill anatomy
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;~/.hermes/skills/my-skill/
└── SKILL.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Invoke explicitly: /skill my-skill or let the agent auto-select.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning loop:&lt;/strong&gt; after repeated workflows, Hermes can draft new SKILL.md files from session traces. &lt;strong&gt;Curator&lt;/strong&gt; (v0.12+) reviews and prunes them on a ~7-day cycle so quality does not drift.&lt;/p&gt;

&lt;h4&gt;
  
  
  Porting a skill between stacks
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Copy the skill directory to the other runtime’s skills path.&lt;/li&gt;
&lt;li&gt;Adjust tool names in SKILL.md (OpenClaw vs Hermes tool schemas differ).&lt;/li&gt;
&lt;li&gt;Update any script paths (~/.openclaw ↔ ~/.hermes).&lt;/li&gt;
&lt;li&gt;Restart gateway / start a new session.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example: our &lt;a href="https://github.com/Ayush7614/agentic-ai-ecosystem/blob/main/guides/openclaw-gemma-rag/skills/agentic-rag/SKILL.md" rel="noopener noreferrer"&gt;agentic-rag skill&lt;/a&gt; targets OpenClaw — a Hermes port would call the same LitServe RAG API with Hermes shell tool syntax.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 8 — Channels &amp;amp; gateway
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Concern | OpenClaw | Hermes |
|---------|----------|--------|
| Start daemon | Installed by onboard | &lt;span class="sb"&gt;`hermes gateway`&lt;/span&gt; (or systemd per your setup) |
| Multi-channel | One gateway, many channels | One gateway, 18+ platforms |
| Config | &lt;span class="sb"&gt;`openclaw.json`&lt;/span&gt; + wizard | Hermes config under &lt;span class="sb"&gt;`~/.hermes/`&lt;/span&gt; |
| Chat commands | &lt;span class="sb"&gt;`/status`&lt;/span&gt;, &lt;span class="sb"&gt;`/new`&lt;/span&gt;, &lt;span class="sb"&gt;`/restart`&lt;/span&gt;, … | Hermes TUI + channel-specific |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Recommendation:&lt;/strong&gt; enable &lt;strong&gt;one channel&lt;/strong&gt; (Telegram) on both for comparison, then expand. Running both gateways on the same bot token will conflict — use separate bots or run one at a time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 9 — Models: cloud vs local
&lt;/h3&gt;

&lt;h4&gt;
  
  
  OpenClaw + Ollama (this repo’s pattern)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull gemma4:e2b
&lt;span class="c"&gt;# Configure in openclaw.json — see openclaw-gemma-rag/config/&lt;/span&gt;
openclaw gateway restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Hermes + local model
&lt;/h4&gt;

&lt;p&gt;Configure via hermes model or provider section in Hermes docs. Cloud APIs remain the path of least resistance for tool-heavy tasks on modest hardware.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Workload | Suggestion |
|----------|------------|
| Phone assistant, mostly chat | Cloud model on either stack |
| Private docs, RAG, homelab | OpenClaw + &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Gemma RAG guide&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ayush7614.github.io/agentic-ai-ecosystem/guides/openclaw-gemma-rag/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; |
| Heavy browser automation | Hermes with sandbox backend (Modal/Daytona) or skip browser on small VPS |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 10 — Memory &amp;amp; self-improvement
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| | OpenClaw | Hermes |
|---|----------|--------|
| &lt;span class="gs"&gt;**Session history**&lt;/span&gt; | Session tools (&lt;span class="sb"&gt;`sessions_history`&lt;/span&gt;, etc.) | Built-in session + TUI history |
| &lt;span class="gs"&gt;**Long-term memory**&lt;/span&gt; | Workspace files + operator-managed | Memory layer + ecosystem plugins (honcho, hindsight, plur) |
| &lt;span class="gs"&gt;**Automatic skill growth**&lt;/span&gt; | No | &lt;span class="gs"&gt;**Yes**&lt;/span&gt; — core differentiator |
| &lt;span class="gs"&gt;**Quality control**&lt;/span&gt; | Manual review, &lt;span class="sb"&gt;`openclaw skills verify`&lt;/span&gt; | &lt;span class="gs"&gt;**Curator**&lt;/span&gt; automated 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Choose &lt;strong&gt;Hermes&lt;/strong&gt; when you want the agent to accumulate procedural memory. Choose &lt;strong&gt;OpenClaw&lt;/strong&gt; when you want predictable, curator-controlled skill sets from ClawHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 11 — Migrate OpenClaw → Hermes
&lt;/h3&gt;

&lt;p&gt;Hermes ships a native migration path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes claw migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This imports OpenClaw workspace layout, channel configuration, and compatible skills where possible.&lt;/p&gt;

&lt;p&gt;After migration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes doctor
hermes claw migrate &lt;span class="nt"&gt;--help&lt;/span&gt; &lt;span class="c"&gt;# inspect flags&lt;/span&gt;
&lt;span class="c"&gt;# Compare cron + channel config manually&lt;/span&gt;
hermes gateway
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Community fallback for older Hermes versions: &lt;a href="https://github.com/0xNyk/openclaw-to-hermes" rel="noopener noreferrer"&gt;openclaw-to-hermes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Side-by-side cutover&lt;/strong&gt; (recommended for production personal assistants):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Migrate with hermes claw migrate&lt;/li&gt;
&lt;li&gt;Run Hermes gateway on a &lt;strong&gt;new&lt;/strong&gt; Telegram bot&lt;/li&gt;
&lt;li&gt;Keep OpenClaw on the old bot until Hermes passes your test checklist&lt;/li&gt;
&lt;li&gt;Switch DNS/webhooks if applicable&lt;/li&gt;
&lt;li&gt;Decommission OpenClaw daemon when satisfied&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Part 12 — Security comparison
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Risk | OpenClaw mitigation | Hermes mitigation |
|------|---------------------|-------------------|
| Malicious skill | &lt;span class="sb"&gt;`openclaw skills verify`&lt;/span&gt;, review scripts | Review &lt;span class="sb"&gt;`SKILL.md`&lt;/span&gt; + scripts before enabling |
| Shell/RCE | Docker sandbox (docs strongly recommend) | Remote sandboxes, minimal VPS install (&lt;span class="sb"&gt;`--skip-browser`&lt;/span&gt;) |
| Open gateway | Local bind, auth tokens | &lt;span class="sb"&gt;`hermes doctor`&lt;/span&gt;, pairing/allowlists |
| Prompt injection via chat | Model choice, tool allowlists | Same — use strongest model available |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rule for both:&lt;/strong&gt; skills are code. Treat ClawHub and awesome-hermes-agent entries as untrusted until reviewed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 13 — Run both side by side (this repo)
&lt;/h3&gt;

&lt;p&gt;From the repo root:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;guides/hermes-vs-openclaw
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x verify-comparison.sh
./verify-comparison.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Optional full stack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Terminal | Command |
|----------|---------|
| A | Start RAG API per &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;qwen-agentic-rag&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ayush7614.github.io/agentic-ai-ecosystem/guides/qwen-agentic-rag/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; |
| B | &lt;span class="sb"&gt;`openclaw gateway`&lt;/span&gt; (messaging assistant) |
| C | &lt;span class="sb"&gt;`hermes --tui`&lt;/span&gt; (compare tool/skill behavior) |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;OpenClaw consumes RAG via the &lt;a href="https://github.com/Ayush7614/agentic-ai-ecosystem/blob/main/guides/openclaw-gemma-rag/skills/agentic-rag/SKILL.md" rel="noopener noreferrer"&gt;agentic-rag skill&lt;/a&gt;. Hermes can call the same HTTP API via a custom skill or MCP wrapper.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 14 — Decision guide
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdix7ecqyvzuj2j6a1uow.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdix7ecqyvzuj2j6a1uow.jpeg" width="800" height="852"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Profile | Pick |
|---------|------|
| Indie hacker, Telegram/WhatsApp only, loves npm | &lt;span class="gs"&gt;**OpenClaw**&lt;/span&gt; |
| ML researcher, multi-agent, Nous ecosystem | &lt;span class="gs"&gt;**Hermes**&lt;/span&gt; |
| Existing OpenClaw user, curious about learning loop | &lt;span class="gs"&gt;**Hermes**&lt;/span&gt; via &lt;span class="sb"&gt;`hermes claw migrate`&lt;/span&gt; |
| Need reproducible skill catalog, not auto-writes | &lt;span class="gs"&gt;**OpenClaw**&lt;/span&gt; + ClawHub |
| Building on this repo's RAG guides | &lt;span class="gs"&gt;**OpenClaw**&lt;/span&gt; primary; Hermes optional second runtime |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also run &lt;strong&gt;OpenClaw for channels&lt;/strong&gt; and &lt;strong&gt;Hermes for batch/cron evolution&lt;/strong&gt; against the same RAG API — they are not mutually exclusive at the API layer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 15 — Troubleshooting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Symptom | OpenClaw fix | Hermes fix |
|---------|--------------|------------|
| CLI not found | &lt;span class="sb"&gt;`npm i -g openclaw@latest`&lt;/span&gt;; check &lt;span class="sb"&gt;`node -v`&lt;/span&gt; | &lt;span class="sb"&gt;`source ~/.zshrc`&lt;/span&gt;; re-run installer |
| Doctor fails | Re-run &lt;span class="sb"&gt;`openclaw onboard`&lt;/span&gt; | &lt;span class="sb"&gt;`hermes setup --portal`&lt;/span&gt; |
| Gateway won't start | &lt;span class="sb"&gt;`openclaw gateway restart`&lt;/span&gt;; check port 18789 | &lt;span class="sb"&gt;`hermes doctor`&lt;/span&gt;; check channel tokens |
| Skills missing | &lt;span class="sb"&gt;`openclaw skills list`&lt;/span&gt;; workspace path | &lt;span class="sb"&gt;`ls ~/.hermes/skills`&lt;/span&gt;; new session |
| Node too old | nvm install 22; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;`use-node22.sh`&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Ayush7614/agentic-ai-ecosystem/blob/main/guides/openclaw-gemma-rag/use-node22.sh&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | N/A |
| Migration incomplete | — | &lt;span class="sb"&gt;`hermes claw migrate`&lt;/span&gt;; compare cron/channels; try &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;openclaw-to-hermes&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/0xNyk/openclaw-to-hermes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; |
| Both fight for Telegram | Use two bot tokens | Use two bot tokens |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Dimension | Winner (typical) |
|-----------|------------------|
| Channel polish + dashboard | OpenClaw |
| Self-improving skills | Hermes |
| npm / TypeScript ecosystem | OpenClaw |
| Multi-agent + research tooling | Hermes |
| Local Gemma + RAG (this repo) | OpenClaw |
| OpenClaw → Hermes migration | Hermes (&lt;span class="sb"&gt;`hermes claw migrate`&lt;/span&gt;) |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Next steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deep dive OpenClaw: &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/openclaw-gemma-rag/tutorial/" rel="noopener noreferrer"&gt;openclaw-gemma-rag tutorial&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Deep dive Hermes: &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/awesome-hermes-agent/tutorial/" rel="noopener noreferrer"&gt;awesome-hermes-agent tutorial&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Feature reference: &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/hermes-vs-openclaw/comparison/" rel="noopener noreferrer"&gt;feature matrix&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Real-World Recommendations
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Choose OpenClaw if you need:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Telegram and WhatsApp assistants&lt;/li&gt;
&lt;li&gt;Multi-agent orchestration&lt;/li&gt;
&lt;li&gt;Team-based agent systems&lt;/li&gt;
&lt;li&gt;Mature skill marketplaces&lt;/li&gt;
&lt;li&gt;Channel-centric workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Choose Hermes if you need:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Research automation&lt;/li&gt;
&lt;li&gt;Self-improving workflows&lt;/li&gt;
&lt;li&gt;Personal knowledge systems&lt;/li&gt;
&lt;li&gt;Daily reports and recurring tasks&lt;/li&gt;
&lt;li&gt;VPS-friendly automation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Ecosystem and Community
&lt;/h3&gt;

&lt;p&gt;OpenClaw currently has the stronger ecosystem.&lt;/p&gt;

&lt;p&gt;ClawHub gives users access to a growing catalog of reusable skills.&lt;/p&gt;

&lt;p&gt;Documentation is mature.&lt;/p&gt;

&lt;p&gt;Community content is abundant.&lt;/p&gt;

&lt;p&gt;Hermes is newer and more experimental.&lt;/p&gt;

&lt;p&gt;The ecosystem is smaller, but the pace of innovation is significantly faster.&lt;/p&gt;

&lt;p&gt;OpenClaw wins on maturity.&lt;/p&gt;

&lt;p&gt;Hermes wins on direction.&lt;/p&gt;

&lt;h4&gt;
  
  
  Ecosystem Verdict
&lt;/h4&gt;

&lt;p&gt;Winner Today:  &lt;strong&gt;OpenClaw&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most Interesting Future:  &lt;strong&gt;Hermes&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Verdict
&lt;/h3&gt;

&lt;p&gt;The most common mistake is treating OpenClaw and Hermes as direct competitors.&lt;/p&gt;

&lt;p&gt;They solve adjacent problems.&lt;/p&gt;

&lt;p&gt;OpenClaw is an operating system for agents.&lt;/p&gt;

&lt;p&gt;Hermes is an operating system for learning.&lt;/p&gt;

&lt;p&gt;If your challenge is coordinating agents across channels, OpenClaw remains the strongest choice.&lt;/p&gt;

&lt;p&gt;If your challenge is building an assistant that improves through repetition, Hermes is the more compelling platform.&lt;/p&gt;

&lt;p&gt;For most developers building chat-based assistants today, I would recommend OpenClaw.&lt;/p&gt;

&lt;p&gt;For researchers, automation enthusiasts, and anyone interested in procedural memory, I would recommend Hermes.&lt;/p&gt;

&lt;p&gt;Both are excellent.&lt;/p&gt;

&lt;p&gt;The better question is not which one is best.&lt;/p&gt;

&lt;p&gt;The better question is what kind of agent you want to build.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>hermes</category>
      <category>openclawaiagent</category>
      <category>hermesagent</category>
    </item>
    <item>
      <title>Git for Agent Memory: Why You Should Treat Hermes Skills Like Code</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Mon, 08 Jun 2026 14:29:53 +0000</pubDate>
      <link>https://dev.to/techlatestnet/git-for-agent-memory-why-you-should-treat-hermes-skills-like-code-4ki3</link>
      <guid>https://dev.to/techlatestnet/git-for-agent-memory-why-you-should-treat-hermes-skills-like-code-4ki3</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg4fb7mpu6hx4ykp33mx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxg4fb7mpu6hx4ykp33mx.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go from &lt;strong&gt;zero&lt;/strong&gt; to a productive &lt;strong&gt;Hermes Agent&lt;/strong&gt; setup with community skills, optional GUI, messaging gateway, and a map of the full ecosystem.&lt;/p&gt;

&lt;p&gt;Based on &lt;a href="https://github.com/0xNyk/awesome-hermes-agent" rel="noopener noreferrer"&gt;awesome-hermes-agent&lt;/a&gt; (last reviewed 2026–05–06, Hermes v0.12.0 “The Curator release”).&lt;/p&gt;

&lt;h3&gt;
  
  
  What you’ll build
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hermes Agent&lt;/strong&gt; CLI on your machine&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM provider&lt;/strong&gt; + Tool Gateway configured&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Starter skills&lt;/strong&gt; from the ecosystem&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verification scripts&lt;/strong&gt; for your team&lt;/li&gt;
&lt;li&gt;Full coverage of &lt;strong&gt;Skills &amp;amp; Plugins&lt;/strong&gt; , &lt;strong&gt;Tools &amp;amp; Utilities&lt;/strong&gt; , &lt;strong&gt;Integrations &amp;amp; Bridges&lt;/strong&gt; , and &lt;strong&gt;Multi-Agent &amp;amp; Swarms&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  OpenClaw: AI Agent Automation Stack
&lt;/h3&gt;

&lt;p&gt;OpenClaw is a pre-configured cloud VM that enables developers to deploy autonomous AI agents in minutes. It comes with OpenClaw, Ollama, and all required dependencies pre-installed, eliminating complex setup and configuration. Available on AWS, Azure, and Google Cloud, the solution supports both CPU and GPU deployments based on workload requirements. Teams can securely run system-level AI automation in an isolated cloud environment without exposing local machines. Whether you’re building AI workflows, testing agentic applications, or running local LLMs, OpenClaw provides a scalable and production-ready foundation. Launch, build, and automate faster with a fully optimized AI agent stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22gi1awdhj86t37l4foa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22gi1awdhj86t37l4foa.png" width="799" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 1 — Install Hermes Agent
&lt;/h3&gt;

&lt;h4&gt;
  
  
  macOS / Linux / WSL2 / Termux
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://hermes-agent.nousresearch.com/install.sh | bash
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.zshrc &lt;span class="c"&gt;# or source ~/.bashrc&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Headless VPS (skip browser deps):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://hermes-agent.nousresearch.com/install.sh | bash &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--skip-browser&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Windows (PowerShell)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://hermes-agent.nousresearch.com/install.ps1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or use the &lt;a href="https://hermes-agent.nousresearch.com/desktop" rel="noopener noreferrer"&gt;Hermes Desktop installer&lt;/a&gt; on macOS/Windows.&lt;/p&gt;

&lt;h4&gt;
  
  
  Verify from this guide
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;guides/awesome-hermes-agent
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x verify-install.sh
./verify-install.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected: hermes on PATH, hermes doctor clean or with fixable warnings.&lt;/p&gt;

&lt;p&gt;Config lives under ~/.hermes/ (Windows: %LOCALAPPDATA%\hermes).&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2 — Choose a provider
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Easiest: Nous Portal (recommended for first run)
&lt;/h4&gt;

&lt;p&gt;One OAuth flow — models + Tool Gateway (search, images, TTS, browser):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes setup &lt;span class="nt"&gt;--portal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Interactive picker
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Bring your own keys
&lt;/h4&gt;

&lt;p&gt;Copy reference keys:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
&lt;span class="c"&gt;# Edit .env — then configure via:&lt;/span&gt;
hermes config &lt;span class="nb"&gt;set&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Ollama (local)&lt;/strong&gt; — set OpenAI-compatible base URL in hermes model or config docs.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://hermes-agent.nousresearch.com/docs/user-guide/configuration" rel="noopener noreferrer"&gt;Configuration&lt;/a&gt; · &lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;Nous Portal&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 3 — First conversation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes &lt;span class="nt"&gt;--tui&lt;/span&gt; &lt;span class="c"&gt;# modern TUI (recommended)&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
hermes &lt;span class="c"&gt;# classic CLI&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Try:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;“What tools do you have enabled?”&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;“Create a skill for how I like commit messages formatted.”&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;hermes --continue — resume last session&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quick reference:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Command | Purpose |
|---------|---------|
| &lt;span class="sb"&gt;`hermes`&lt;/span&gt; | Chat |
| &lt;span class="sb"&gt;`hermes doctor`&lt;/span&gt; | Diagnose |
| &lt;span class="sb"&gt;`hermes update`&lt;/span&gt; | Upgrade |
| &lt;span class="sb"&gt;`hermes tools`&lt;/span&gt; | Enable/disable tools per platform |
| &lt;span class="sb"&gt;`hermes gateway`&lt;/span&gt; | Start messaging bridge |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 4 — Skills &amp;amp; Plugins
&lt;/h3&gt;

&lt;p&gt;Hermes &lt;strong&gt;creates skills from experience&lt;/strong&gt; and maintains them via the &lt;strong&gt;Curator&lt;/strong&gt; (v0.12+). &lt;strong&gt;Plugins&lt;/strong&gt; extend core tools (search, memory, shell compression). Together they are procedural + operational memory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lww4fuhk9y1nr4tj06f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lww4fuhk9y1nr4tj06f.png" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4.1 — Install skills layer
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x install-ecosystem.sh install-starter-pack.sh
./install-ecosystem.sh skills
&lt;span class="c"&gt;# or lightweight starter only:&lt;/span&gt;
./install-starter-pack.sh

| Skill | Tag | Install path | Why |
|-------|-----|--------------|-----|
| &lt;span class="o"&gt;[&lt;/span&gt;wondelai/skills]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/wondelai/skills&lt;span class="o"&gt;)&lt;/span&gt; | production | &lt;span class="sb"&gt;`&lt;/span&gt;~/.hermes/skills/wondelai-skills&lt;span class="sb"&gt;`&lt;/span&gt; | 380+ cross-platform skills |
| &lt;span class="o"&gt;[&lt;/span&gt;litprog-skill]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/tlehman/litprog-skill&lt;span class="o"&gt;)&lt;/span&gt; | beta | &lt;span class="sb"&gt;`&lt;/span&gt;~/.hermes/skills/litprog-skill&lt;span class="sb"&gt;`&lt;/span&gt; | Literate programming |
| &lt;span class="o"&gt;[&lt;/span&gt;youtube-skills]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/therohitdas/youtube-skills&lt;span class="o"&gt;)&lt;/span&gt; | production | &lt;span class="sb"&gt;`&lt;/span&gt;~/.hermes/skills/youtube-skills&lt;span class="sb"&gt;`&lt;/span&gt; | VPS-safe YouTube transcripts |
| &lt;span class="o"&gt;[&lt;/span&gt;drawio-skill]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/Agents365-ai/drawio-skill&lt;span class="o"&gt;)&lt;/span&gt; | production | &lt;span class="sb"&gt;`&lt;/span&gt;~/.hermes/skills/drawio-skill&lt;span class="sb"&gt;`&lt;/span&gt; | NL → architecture diagrams |
| &lt;span class="o"&gt;[&lt;/span&gt;Anthropic-Cybersecurity-Skills]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/mukul975/Anthropic-Cybersecurity-Skills&lt;span class="o"&gt;)&lt;/span&gt; | production | optional clone | 753+ MITRE security skills &lt;span class="o"&gt;(&lt;/span&gt;large&lt;span class="o"&gt;)&lt;/span&gt; |
| &lt;span class="o"&gt;[&lt;/span&gt;open-design]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/nexu-io/open-design&lt;span class="o"&gt;)&lt;/span&gt; | production | per repo README | 31 design skills, 129 design systems |
| &lt;span class="o"&gt;[&lt;/span&gt;hermes-skill-factory]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/Romanescu11/hermes-skill-factory&lt;span class="o"&gt;)&lt;/span&gt; | beta | skill folder | Auto-generate skills from workflows |
| &lt;span class="o"&gt;[&lt;/span&gt;hermes-incident-commander]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/Lethe044/hermes-incident-commander&lt;span class="o"&gt;)&lt;/span&gt; | beta | skill folder | Autonomous SRE / self-healing |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  4.2 — Install plugins layer
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./install-ecosystem.sh plugins
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Plugins clone to ~/.hermes/plugins/. Enable in Hermes config (see &lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;Plugins docs&lt;/a&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Plugin | Tag | What it does |
|--------|-----|--------------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-web-search-plus&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/robbyczgw-cla/hermes-web-search-plus&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Route search across Serper, Tavily, Exa |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;rtk-hermes&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/ogallotti/rtk-hermes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Compress shell output 60–90% before LLM |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;mnemo-hermes&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/hernanqwz/mnemo-hermes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | pgvector semantic memory on Ollama |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Mnemosyne&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/AxDSan/Mnemosyne&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Local hybrid search + knowledge graph |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-curator-evolver&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/pingchesu/hermes-curator-evolver&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Evidence-driven Curator companion |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;plur&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/plur-ai/plur&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Portable shared memory (YAML engrams) |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-payguard&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/nativ3ai/hermes-payguard&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | USDC / x402 payments with limits |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;agent-analytics-hermes-plugin&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Agent-Analytics/agent-analytics-hermes-plugin&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Signals analytics dashboard tab |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  4.3 — Curator + skill evolution
&lt;/h4&gt;

&lt;p&gt;Built-in &lt;strong&gt;Curator&lt;/strong&gt; (v0.12+) grades, consolidates, and prunes skills every 7 days. Pair with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Tag | Role |
|------|-----|------|
| Built-in Curator | production | Automatic skill library maintenance |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;SkillClaw&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/AMAP-ML/SkillClaw&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Evolve/dedupe skills from session data |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-dojo&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Yonkoo11/hermes-dojo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Find weak skills, auto-iterate |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-agent-self-evolution&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/NousResearch/hermes-agent-self-evolution&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | official | DSPy/GEPA prompt evolution |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify skills load:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; ~/.hermes/skills/
hermes &lt;span class="nt"&gt;--tui&lt;/span&gt;
&lt;span class="c"&gt;# Ask: "What skills are available? Try /skill-name if configured."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 5 — Tools &amp;amp; Utilities
&lt;/h3&gt;

&lt;p&gt;GUIs, linters, browsers, and operator utilities that sit &lt;strong&gt;beside&lt;/strong&gt; the CLI — not replacements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./install-ecosystem.sh tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clones to ~/.hermes/ecosystem-tools/. Follow each repo's README for npm install, pip install, or Docker.&lt;/p&gt;

&lt;h4&gt;
  
  
  5.1 — GUI dashboards
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Tag | Best for | Install notes |
|------|-----|----------|---------------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-workspace&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/outsourc-e/hermes-workspace&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Chat + terminal + skills manager | Nous Hackathon winner; Hermes-native |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;mission-control&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/builderz-labs/mission-control&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Fleet, tasks, cost tracking | SQLite self-hosted dashboard |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-web-ui&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/EKKOLearnAI/hermes-web-ui&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Token/cost analytics, cron, 8 channels | Vue 3 + BFF |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-ui&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/pyrate-llama/hermes-ui&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Single-file glassmorphic UI | Python proxy on :3333 |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-desktop&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/dodo-reach/hermes-desktop&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Native macOS workspace | Direct SSH to host |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example — hermes-workspace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/.hermes/ecosystem-tools/hermes-workspace
&lt;span class="c"&gt;# Follow README: typically pnpm install &amp;amp;&amp;amp; pnpm dev&lt;/span&gt;
&lt;span class="c"&gt;# Point at your local Hermes gateway / CLI socket&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  5.2 — Operator &amp;amp; quality utilities
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Tag | Role |
|------|-----|------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;SkillClaw&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/AMAP-ML/SkillClaw&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | &lt;span class="sb"&gt;`skillclaw doctor hermes`&lt;/span&gt; — skill health |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;lintlang&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/roli-lpci/lintlang&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Lint prompts/configs (HERM v1.1 score) |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;agenttrace&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/luoyuctl/agenttrace&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Post-run session audit TUI |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Clarvia&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/clarvia-project/clarvia&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Score MCP servers for agent-readiness |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;flowstate-qmd&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/amanning3390/flowstate-qmd&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Anticipatory memory / pre-fetch RAG |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  5.3 — Browser &amp;amp; headless tooling
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Tag | When to use |
|------|-----|-------------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;camofox-browser&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/jo-inc/camofox-browser&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | VPS blocked by Cloudflare — stealth headless API |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;vessel-browser&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/unmodeled-tyler/vessel-browser&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | Full AI-native Linux browser |
| Built-in Playwright | production | Default; skip with &lt;span class="sb"&gt;`--skip-browser`&lt;/span&gt; on install |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  5.4 — Deployment utilities
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Tag | Notes |
|------|-----|-------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-agent-docker&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/xmbshwll/hermes-agent-docker&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Minimal sandbox image |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;nix-hermes-agent&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/0xrsydn/nix-hermes-agent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Reproducible NixOS module |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;evey-setup&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/42-evey/evey-setup&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | One-command stack + 29 plugins |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;openclaw-to-hermes&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/0xNyk/openclaw-to-hermes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Migration helper |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 6 — Integrations &amp;amp; Bridges
&lt;/h3&gt;

&lt;p&gt;Connect Hermes to &lt;strong&gt;memory backends&lt;/strong&gt; , &lt;strong&gt;MCP servers&lt;/strong&gt; , &lt;strong&gt;productivity suites&lt;/strong&gt; , and &lt;strong&gt;other agents&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./install-ecosystem.sh integrations
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  6.1 — MCP integration pattern
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Add server block to Hermes MCP config (see &lt;a href="https://hermes-agent.nousresearch.com/docs/user-guide/mcp" rel="noopener noreferrer"&gt;MCP docs&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Restart session; verify with hermes tools or ask Hermes to list MCP tools&lt;/li&gt;
&lt;li&gt;Score servers with &lt;a href="https://clarvia-project" rel="noopener noreferrer"&gt;Clarvia&lt;/a&gt; before trusting production workflows
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| MCP / integration | Tag | Surface |
|-------------------|-----|---------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;MeiGen-AI-Design-MCP&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/jau123/MeiGen-AI-Design-MCP&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Image/video gen (9 models) |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;mistral-mcp&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Swih/mistral-mcp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | OCR, audio, Codestral FIM, agents |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Not Human Search&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/unitedideas/not-human-search&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Discover 8,600+ MCP servers |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Global Chat&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/pumanitro/Global-Chat&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | Cross-protocol agent discovery |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-blockchain-oracle&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/gizdusum/hermes-blockchain-oracle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | Solana on-chain data |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-council&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Ridwannurudeen/hermes-council&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | Adversarial multi-perspective debate |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example MCP config snippet (adjust paths after clone):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Reference only — merge into your Hermes MCP settings&lt;/span&gt;
&lt;span class="na"&gt;mcp_servers&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;meigen-design&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;node&lt;/span&gt;
    &lt;span class="na"&gt;args&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;~/.hermes/ecosystem-tools/MeiGen-AI-Design-MCP/dist/index.js"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  6.2 — Memory bridges
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Integration | Tag | Pattern |
|-------------|-----|---------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hindsight&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/vectorize-io/hindsight&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | production | retain / recall / reflect over long history |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;honcho-self-hosted&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/elkimek/honcho-self-hosted&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Self-hosted Honcho user modeling |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;yantrikdb-hermes-plugin&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/yantrikos/yantrikdb-hermes-plugin&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Rust backend with explainable recall |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;plur&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/plur-ai/plur&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Portable YAML engram memory |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Memory hygiene:&lt;/strong&gt; keep USER.md / MEMORY.md concise; let Curator prune stale skills.&lt;/p&gt;

&lt;h4&gt;
  
  
  6.3 — Productivity &amp;amp; device bridges
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Integration | Tag | Connects |
|-------------|-----|----------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;microsoft-workspace-skill&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Andrew-Girgis/microsoft-workspace-skill&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Outlook / M365 via Graph API |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-nextcloud&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/adnw-vinc/hermes-nextcloud&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | WebDAV, Notes, CalDAV, CardDAV |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-android&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/raulvidis/hermes-android&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Android device control |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;agent-android&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/AIVaneLabs/agent-android&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | LAN Android over WiFi |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-spotify-skill&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Alexeyisme/hermes-spotify-skill&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Headless Linux / Raspberry Pi Spotify |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;clawsocial-hermes-plugin&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/mrpeter2025/clawsocial-hermes-plugin&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Social discovery network |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  6.4 — Cross-agent bridges
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Bridge | Tag | Handoff |
|--------|-----|---------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;evey-bridge-plugin&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/42-evey/evey-bridge-plugin&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Claude Code ↔ Hermes context share |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-agent-acp-skill&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Rainhoole/hermes-agent-acp-skill&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Route subtasks to Codex / Claude Code |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;zouroboros-swarm-executors&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/marlandoj/zouroboros-swarm-executors&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | Local executor bridge for Claude + Hermes |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 7 — Multi-Agent &amp;amp; Swarms
&lt;/h3&gt;

&lt;p&gt;When one Hermes session is not enough —  &lt;strong&gt;orchestration&lt;/strong&gt; , &lt;strong&gt;delegation&lt;/strong&gt; , and &lt;strong&gt;fleet visibility&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./install-ecosystem.sh multiagent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw653sigyuktuharax2dy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw653sigyuktuharax2dy.png" width="799" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  7.1 — oh-my-hermes (orchestration skills)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Skill | Purpose |
|-------|---------|
| &lt;span class="sb"&gt;`deep-research`&lt;/span&gt; | Multi-step research pipeline |
| &lt;span class="sb"&gt;`deep-interview`&lt;/span&gt; | Structured requirements gathering |
| &lt;span class="sb"&gt;`ralplan`&lt;/span&gt; | Planner → Architect → Critic consensus |
| &lt;span class="sb"&gt;`ralph`&lt;/span&gt; | Verified execute → verify → iterate |
| &lt;span class="sb"&gt;`triage`&lt;/span&gt; | Prioritize incoming work |
| &lt;span class="sb"&gt;`autopilot`&lt;/span&gt; | End-to-end dispatcher playbook |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install: included in ./install-ecosystem.sh multiagent → ~/.hermes/skills/oh-my-hermes/&lt;/p&gt;

&lt;h4&gt;
  
  
  7.2 — Specialized agent packs
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Project | Tag | Agents |
|---------|-----|--------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;opencode-hermes-multiagent&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/1ilkhamov/opencode-hermes-multiagent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | 17 role-specialized OpenCode agents |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;bigiron&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/supermodeltools/bigiron&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | SDLC crew + Supermodel code graph |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;hermes-plugins&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/42-evey/hermes-plugins&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | beta | Inter-agent bridge between Hermes instances |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  7.3 — Fleet dashboards
&lt;/h4&gt;

&lt;p&gt;Pair multi-agent skills with &lt;strong&gt;mission-control&lt;/strong&gt; (Part 5) for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Task dispatch across agents&lt;/li&gt;
&lt;li&gt;Cost tracking per session&lt;/li&gt;
&lt;li&gt;SQLite-backed job history
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/.hermes/ecosystem-tools/mission-control
&lt;span class="c"&gt;# Follow upstream README for self-hosted deploy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  7.4 — Experimental swarms
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Project | Tag | Idea |
|---------|-----|------|
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Ankh.md&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Abruptive/Ankh.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | TAW Agent × Hermes swarm framework |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;gladiator&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/runtimenoteslabs/gladiator&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | Competing autonomous agent companies |
| &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;NemoHermes&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/Hmbown/NemoHermes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; | experimental | NVIDIA Spark GPU routing |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  7.5 — When to use multi-agent
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Scenario | Use |
|----------|-----|
| Single repo, one developer | Hermes CLI + skills |
| Research → plan → execute chain | oh-my-hermes &lt;span class="sb"&gt;`ralplan`&lt;/span&gt; + &lt;span class="sb"&gt;`ralph`&lt;/span&gt; |
| Best tool per subtask | &lt;span class="sb"&gt;`hermes-agent-acp-skill`&lt;/span&gt; |
| Many agents, cost visibility | mission-control + cron |
| Claude Code already in workflow | evey-bridge + ACP skill |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 8 — Messaging gateway (optional)
&lt;/h3&gt;

&lt;p&gt;Hermes ships &lt;strong&gt;18 built-in platforms&lt;/strong&gt; : Telegram, Discord, Slack, WhatsApp, Signal, Feishu/Lark, WeCom, QQBot, Yuanbao, and more. Microsoft Teams via plugin.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes gateway
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure tokens via hermes setup or config — see &lt;a href="https://hermes-agent.nousresearch.com/docs/user-guide/messaging-gateway" rel="noopener noreferrer"&gt;Messaging Gateway docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt; keep DM pairing/allowlists on until you trust exposure. Run hermes doctor after gateway changes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Migrating from OpenClaw
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes claw migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Community fallback: &lt;a href="https://github.com/0xNyk/openclaw-to-hermes" rel="noopener noreferrer"&gt;openclaw-to-hermes&lt;/a&gt; (older Hermes versions).&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 9 — Deployment &amp;amp; cron
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Method | Tag | Notes |
|--------|-----|-------|
| Local / &lt;span class="sb"&gt;`$5 VPS`&lt;/span&gt; | — | Default; use &lt;span class="sb"&gt;`--skip-browser`&lt;/span&gt; on headless |
| &lt;span class="sb"&gt;`hermes-agent-docker`&lt;/span&gt; | beta | Minimal sandbox image |
| &lt;span class="sb"&gt;`nix-hermes-agent`&lt;/span&gt; | beta | Reproducible NixOS |
| Modal / Daytona / Vercel Sandbox | — | Serverless terminal backends (built into Hermes) |
| &lt;span class="sb"&gt;`evey-setup`&lt;/span&gt; | beta | Opinionated stack + 29 plugins |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cron jobs for autonomous loops:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes cron &lt;span class="c"&gt;# see docs for scheduling nightly evolution, monitoring, etc.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 10 — Level-up blueprints
&lt;/h3&gt;

&lt;p&gt;Opinionated bundles from &lt;a href="https://github.com/0xNyk/awesome-hermes-agent#level-up-blueprints" rel="noopener noreferrer"&gt;awesome-hermes-agent&lt;/a&gt;:&lt;/p&gt;

&lt;h4&gt;
  
  
  Memory that compounds
&lt;/h4&gt;

&lt;p&gt;Built-in memory → &lt;strong&gt;honcho-self-hosted&lt;/strong&gt; → &lt;strong&gt;hindsight&lt;/strong&gt; → &lt;strong&gt;plur&lt;/strong&gt; (portable engrams) → &lt;strong&gt;flowstate-qmd&lt;/strong&gt; (anticipatory RAG).&lt;/p&gt;

&lt;h4&gt;
  
  
  Self-improvement without drift
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;hermes-agent-self-evolution&lt;/strong&gt; + scheduled regression + &lt;strong&gt;lintlang&lt;/strong&gt; + second evaluation pass.&lt;/p&gt;

&lt;h4&gt;
  
  
  Operator cockpit
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;hermes-workspace&lt;/strong&gt; daily UI + &lt;strong&gt;mission-control&lt;/strong&gt; for fleet/costs.&lt;/p&gt;

&lt;h4&gt;
  
  
  Multi-agent execution
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;hermes-agent-acp-skill&lt;/strong&gt; (route to Codex/Claude Code) + &lt;strong&gt;oh-my-hermes&lt;/strong&gt; + &lt;strong&gt;opencode-hermes-multiagent&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Paperclip-managed ops
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;hermes-paperclip-adapter&lt;/strong&gt; + cron + dashboard for governed autonomous work.&lt;/p&gt;

&lt;p&gt;Full resource list: &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/awesome-hermes-agent/ecosystem/" rel="noopener noreferrer"&gt;ecosystem catalog&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 11 — End-to-end test
&lt;/h3&gt;

&lt;p&gt;Run the full ecosystem stack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./verify-install.sh
./install-ecosystem.sh all &lt;span class="c"&gt;# or layer by layer: skills, plugins, tools, integrations, multiagent&lt;/span&gt;
hermes doctor
hermes &lt;span class="nt"&gt;--tui&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In TUI, verify each layer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Skills&lt;/strong&gt;  — &lt;em&gt;“List skills in ~/.hermes/skills.”&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plugins&lt;/strong&gt;  — &lt;em&gt;“Which plugins are enabled?”&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tools&lt;/strong&gt;  — open hermes-workspace or mission-control if installed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations&lt;/strong&gt;  — &lt;em&gt;“List MCP tools available.”&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-agent&lt;/strong&gt;  — &lt;em&gt;“Use oh-my-hermes triage on this task.”&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Optional: hermes gateway + Telegram message test.&lt;/p&gt;

&lt;h3&gt;
  
  
  Troubleshooting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Symptom | Fix |
|---------|-----|
| &lt;span class="sb"&gt;`hermes: command not found`&lt;/span&gt; | &lt;span class="sb"&gt;`source ~/.zshrc`&lt;/span&gt; or re-run installer |
| Doctor fails on provider | &lt;span class="sb"&gt;`hermes setup --portal`&lt;/span&gt; or &lt;span class="sb"&gt;`hermes model`&lt;/span&gt; |
| YouTube transcripts fail on VPS | Install &lt;span class="sb"&gt;`youtube-skills`&lt;/span&gt; (cloud IP blocked by default) |
| Browser tools OOM on small VPS | Install with &lt;span class="sb"&gt;`--skip-browser`&lt;/span&gt;; use &lt;span class="sb"&gt;`camofox-browser`&lt;/span&gt; plugin |
| Skills not visible | Confirm &lt;span class="sb"&gt;`SKILL.md`&lt;/span&gt; in &lt;span class="sb"&gt;`~/.hermes/skills/&amp;lt;name&amp;gt;/`&lt;/span&gt;; restart session |
| Plugins not loading | &lt;span class="sb"&gt;`./install-ecosystem.sh plugins`&lt;/span&gt;; enable in Hermes config |
| Ecosystem clone failed | Check &lt;span class="sb"&gt;`git`&lt;/span&gt;; retry one layer: &lt;span class="sb"&gt;`./install-ecosystem.sh skills`&lt;/span&gt; |
| MCP tools missing | Add server to Hermes MCP config; restart session |
| Multi-agent handoff fails | Install &lt;span class="sb"&gt;`hermes-agent-acp-skill`&lt;/span&gt;; verify delegate agent installed |
| GUI tool won't start | &lt;span class="sb"&gt;`cd ~/.hermes/ecosystem-tools/&amp;lt;name&amp;gt;`&lt;/span&gt; and follow repo README |
| OpenClaw migration gaps | &lt;span class="sb"&gt;`hermes claw migrate`&lt;/span&gt; then compare cron + channel config |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What’s next
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Browse the &lt;a href="https://ayush7614.github.io/agentic-ai-ecosystem/guides/awesome-hermes-agent/ecosystem/" rel="noopener noreferrer"&gt;ecosystem catalog&lt;/a&gt; by category&lt;/li&gt;
&lt;li&gt;Join &lt;a href="https://discord.gg/nousresearch" rel="noopener noreferrer"&gt;Nous Discord&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Star &lt;a href="https://github.com/NousResearch/hermes-agent" rel="noopener noreferrer"&gt;NousResearch/hermes-agent&lt;/a&gt; and &lt;a href="https://github.com/0xNyk/awesome-hermes-agent" rel="noopener noreferrer"&gt;awesome-hermes-agent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Contribute new ecosystem entries via awesome-hermes-agent PRs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Step | Command / artifact |
|------|---------------------|
| Install | &lt;span class="sb"&gt;`curl … install.sh \| bash`&lt;/span&gt; |
| Provider | &lt;span class="sb"&gt;`hermes setup --portal`&lt;/span&gt; |
| Verify | &lt;span class="sb"&gt;`./verify-install.sh`&lt;/span&gt; |
| Chat | &lt;span class="sb"&gt;`hermes --tui`&lt;/span&gt; |
| Skills &amp;amp; plugins | &lt;span class="sb"&gt;`./install-ecosystem.sh skills`&lt;/span&gt; + &lt;span class="sb"&gt;`plugins`&lt;/span&gt; |
| Tools &amp;amp; utilities | &lt;span class="sb"&gt;`./install-ecosystem.sh tools`&lt;/span&gt; |
| Integrations | &lt;span class="sb"&gt;`./install-ecosystem.sh integrations`&lt;/span&gt; |
| Multi-agent | &lt;span class="sb"&gt;`./install-ecosystem.sh multiagent`&lt;/span&gt; |
| Full stack | &lt;span class="sb"&gt;`./install-ecosystem.sh all`&lt;/span&gt; |
| Catalog | &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;ecosystem catalog&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ayush7614.github.io/agentic-ai-ecosystem/guides/awesome-hermes-agent/ecosystem/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; |
| Gateway | &lt;span class="sb"&gt;`hermes gateway`&lt;/span&gt; |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hermesagent</category>
      <category>aiagentsinaction</category>
      <category>opensource</category>
      <category>agents</category>
    </item>
    <item>
      <title>Commands vs Skills vs Agents in Claude Code — What Goes Where</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Fri, 05 Jun 2026 14:19:03 +0000</pubDate>
      <link>https://dev.to/techlatestnet/commands-vs-skills-vs-agents-in-claude-code-what-goes-where-1h86</link>
      <guid>https://dev.to/techlatestnet/commands-vs-skills-vs-agents-in-claude-code-what-goes-where-1h86</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk894h6nd87g3t8y046c3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk894h6nd87g3t8y046c3.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configure Claude Code so it knows your stack, follows your conventions, runs repeatable workflows, and delegates to specialists — without repeating yourself every session.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you’ll build
&lt;/h3&gt;

&lt;p&gt;A production-style Claude Code project layout:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;CLAUDE.md — team instructions (committed)&lt;/li&gt;
&lt;li&gt;CLAUDE.local.md — personal overrides (gitignored)&lt;/li&gt;
&lt;li&gt;.claude/settings.json — permissions and environment (committed)&lt;/li&gt;
&lt;li&gt;.claude/rules/ — modular instruction files&lt;/li&gt;
&lt;li&gt;.claude/skills/ — slash commands and auto-invoked workflows&lt;/li&gt;
&lt;li&gt;.claude/agents/ — isolated subagent personas&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Everything Claude needs about your project lives in one place — commit .claude/ to git so the whole team shares it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tool stack
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Role |
|------|------|
| &lt;span class="gs"&gt;**Claude Code**&lt;/span&gt; | CLI agent with tools, memory, skills, subagents |
| &lt;span class="gs"&gt;**`CLAUDE.md`**&lt;/span&gt; | Project memory loaded at session start |
| &lt;span class="gs"&gt;**`.claude/settings.json`**&lt;/span&gt; | Permissions, hooks, env vars |
| &lt;span class="gs"&gt;**Skills**&lt;/span&gt; | Reusable prompts — manual &lt;span class="sb"&gt;`/name`&lt;/span&gt; or automatic |
| &lt;span class="gs"&gt;**Agents**&lt;/span&gt; | Focused sub-sessions with their own tools |
| &lt;span class="gs"&gt;**Rules**&lt;/span&gt; | Path-scoped or global instruction modules |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Layers
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Layer | Always on? | Trigger |
|-------|------------|---------|
| &lt;span class="sb"&gt;`CLAUDE.md`&lt;/span&gt; + &lt;span class="sb"&gt;`rules/`&lt;/span&gt; | Yes — every session | Automatic |
| &lt;span class="sb"&gt;`settings.json`&lt;/span&gt; | Yes — gates tool use | Automatic |
| Skills | On demand or auto | &lt;span class="sb"&gt;`/project:name`&lt;/span&gt; or model decides |
| Agents | On demand | User delegates or Claude spawns |
| Hooks | Yes — around tool calls | &lt;span class="sb"&gt;`settings.json`&lt;/span&gt; → &lt;span class="sb"&gt;`hooks`&lt;/span&gt; |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Session workflow
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Developer runs claude in a configured repo&lt;/li&gt;
&lt;li&gt;Memory + rules + permissions load automatically&lt;/li&gt;
&lt;li&gt;Skills and agents handle specialized work on demand&lt;/li&gt;
&lt;li&gt;Team shares the same .claude/ tree via git&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Requirement | Check |
|-------------|--------|
| Claude Code installed | &lt;span class="sb"&gt;`claude --version`&lt;/span&gt; |
| A git repository | &lt;span class="sb"&gt;`git status`&lt;/span&gt; |
| Terminal access to your project | — |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install Claude Code: &lt;a href="https://code.claude.com/docs/en/overview" rel="noopener noreferrer"&gt;code.claude.com&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 1 — Understand the layout
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Project root
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;your-project/
├── CLAUDE.md # Team instructions (committed)
├── CLAUDE.local.md # Personal overrides (gitignored)
└── .claude/
    ├── settings.json # Permissions + config (committed)
    ├── settings.local.json # Personal permissions (gitignored)
    ├── rules/ # Modular instruction files
    ├── skills/ # Workflows with SKILL.md
    ├── commands/ # Legacy single-file skills (optional)
    └── agents/ # Subagent definitions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Global home directory
&lt;/h4&gt;

&lt;p&gt;Claude also reads ~/.claude/ (all projects):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/.claude/
├── CLAUDE.md # Your global defaults
├── settings.json # Global permissions
├── skills/
├── agents/
└── rules/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rule of thumb: commit project files; keep *.local.* and CLAUDE.local.md personal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2 — Bootstrap from this guide’s template
&lt;/h3&gt;

&lt;p&gt;From the ecosystem repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;guides/claude-code-dot-claude
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x install-template.sh
./install-template.sh ~/projects/my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The script copies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CLAUDE.md&lt;/li&gt;
&lt;li&gt;Full .claude/ tree (settings, rules, skills, agents, legacy commands/)&lt;/li&gt;
&lt;li&gt;CLAUDE.local.md and settings.local.json from examples&lt;/li&gt;
&lt;li&gt;Gitignore lines for local files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/projects/my-app
tree &lt;span class="nt"&gt;-a&lt;/span&gt; .claude CLAUDE.md 2&amp;gt;/dev/null &lt;span class="o"&gt;||&lt;/span&gt; find .claude CLAUDE.md &lt;span class="nt"&gt;-maxdepth&lt;/span&gt; 3
claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 3 — CLAUDE.md (team memory)
&lt;/h3&gt;

&lt;p&gt;CLAUDE.md is the house rules — loaded at the start of every session. Keep it short: stack, workflow, and pointers to deeper rules.&lt;/p&gt;

&lt;p&gt;Example (from template/CLAUDE.md):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Project instructions for Claude Code&lt;/span&gt;

&lt;span class="gu"&gt;## Stack&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Python 3.10+

&lt;span class="gu"&gt;## Workflow&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Read files before editing.
&lt;span class="p"&gt;2.&lt;/span&gt; Run &lt;span class="sb"&gt;`pytest -q`&lt;/span&gt; before claiming done.
&lt;span class="p"&gt;3.&lt;/span&gt; Use &lt;span class="sb"&gt;`/project:code-review`&lt;/span&gt; before opening a PR.

&lt;span class="gu"&gt;## Agents&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**code-reviewer**&lt;/span&gt; — diff review
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**security-auditor**&lt;/span&gt; — auth and secrets
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Bootstrap with /init
&lt;/h4&gt;

&lt;p&gt;In an existing repo without CLAUDE.md:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;claude
/init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude scans the repo and drafts a starter file. Edit it — /init is a starting point, not gospel.&lt;/p&gt;

&lt;h4&gt;
  
  
  Personal overrides — CLAUDE.local.md
&lt;/h4&gt;

&lt;p&gt;Create at project root (gitignored):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Personal overrides
- Prefer concise answers.
- My API base URL: http://localhost:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude merges local on top of team instructions. Never put secrets here if the file could leak — use env vars instead.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 4 — settings.json (permissions)
&lt;/h3&gt;

&lt;p&gt;Permissions control which tools Claude can run without asking every time.&lt;/p&gt;

&lt;p&gt;template/.claude/settings.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"permissions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"allow"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Read"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Edit"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Glob"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Grep"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Bash(pytest *)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Bash(python *)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Bash(git status)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Bash(git diff *)"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"deny"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Bash(curl *)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Read(.env)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Read( **/secrets/** )"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"PYTHONDONTWRITEBYTECODE"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Personal allows — settings.local.json
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"permissions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"allow"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"Bash(docker *)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="s2"&gt;"WebFetch"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Manage interactively: /permissions inside Claude Code.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://code.claude.com/docs/en/settings" rel="noopener noreferrer"&gt;Claude Code settings&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 5 — rules/ (modular instructions)
&lt;/h3&gt;

&lt;p&gt;Split large CLAUDE.md files into focused modules under .claude/rules/.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| File | Purpose |
|------|---------|
| &lt;span class="sb"&gt;`code-style.md`&lt;/span&gt; | Naming, line length, types |
| &lt;span class="sb"&gt;`testing.md`&lt;/span&gt; | pytest conventions |
| &lt;span class="sb"&gt;`api-conventions.md`&lt;/span&gt; | REST shape, status codes |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rules can be path-scoped in frontmatter (Claude Code loads relevant rules based on files being edited):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;src/api/**"&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;**/controllers/**"&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="gh"&gt;# API conventions&lt;/span&gt;
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start with 2–3 rules. Add more when Claude repeatedly makes the same mistake.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 6 — Skills and commands (workflows)
&lt;/h3&gt;

&lt;p&gt;Skills are reusable workflows invoked as /project:skill-name or auto-invoked when Claude decides they're relevant.&lt;/p&gt;

&lt;h4&gt;
  
  
  Canonical location: skills/
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.claude/skills/
├── code-review/
│ └── SKILL.md
├── deploy/
│ └── SKILL.md
└── fix-issue/
    └── SKILL.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;template/.claude/skills/code-review/SKILL.md:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;code-review&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Structured code review before PRs. Use when the user asks for review.&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="gh"&gt;# Code review&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Check correctness, security, tests, style.
&lt;span class="p"&gt;2.&lt;/span&gt; Output: Summary → Findings → Verdict.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Legacy: commands/
&lt;/h4&gt;

&lt;p&gt;.claude/commands/review.md still creates /project:review — same mechanism as skills, fewer features. New work should go in skills/.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Feature | &lt;span class="sb"&gt;`commands/*.md`&lt;/span&gt; | &lt;span class="sb"&gt;`skills/*/SKILL.md`&lt;/span&gt; |
|---------|-----------------|---------------------|
| Slash invocation | ✓ | ✓ |
| Supporting files in folder | ✗ | ✓ |
| Auto-invocation | Limited | ✓ (via &lt;span class="sb"&gt;`description`&lt;/span&gt;) |
| &lt;span class="sb"&gt;`disable-model-invocation`&lt;/span&gt; | ✗ | ✓ |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Docs: &lt;a href="https://code.claude.com/docs/en/skills" rel="noopener noreferrer"&gt;Extend Claude with skills&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  Test a skill
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/project:code-review
/project:deploy
/project:fix-issue 42
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;List skills: /skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 7 — agents/ (subagents)
&lt;/h3&gt;

&lt;p&gt;Agents are specialist personas with isolated context and optional tool restrictions.&lt;/p&gt;

&lt;p&gt;template/.claude/agents/code-reviewer.md:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;code-reviewer&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Diff review, naming, tests. Use for PR review.&lt;/span&gt;
&lt;span class="na"&gt;tools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Read, Glob, Grep, Bash(git diff *)&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

You are a senior engineer doing code review...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;template/.claude/agents/security-auditor.md — focused on secrets, injection, auth.&lt;/p&gt;

&lt;p&gt;Invoke:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use the code-reviewer agent on my staged changes.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or let Claude delegate when the task matches the agent description.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://code.claude.com/docs/en/sub-agents" rel="noopener noreferrer"&gt;Subagents&lt;/a&gt; (Claude Code docs).&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 8 — Hooks (optional, deterministic)
&lt;/h3&gt;

&lt;p&gt;Hooks run scripts before or after tool calls — unlike skills, they fire every time.&lt;/p&gt;

&lt;p&gt;Add to settings.json:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"PreToolUse"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"matcher"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Bash"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;".claude/hooks/block-dangerous.sh"&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use hooks for: block rm -rf, format on save, audit logging. Use skills for: judgment-heavy workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 9 — Team git workflow
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Commit (shared)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CLAUDE.md
.claude/settings.json
.claude/rules/
.claude/skills/
.claude/agents/
.claude/commands/ # if you still use legacy commands
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Gitignore (personal)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CLAUDE.local.md
.claude/settings.local.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Snippet in template/gitignore.snippet — the install script merges it.
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;PR checklist for **&lt;/strong&gt;.claude/ changes**&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No secrets in committed files&lt;/li&gt;
&lt;li&gt;settings.json deny blocks .env and broad curl&lt;/li&gt;
&lt;li&gt;Skill description fields are accurate (they drive auto-invocation)&lt;/li&gt;
&lt;li&gt;New agents have minimal tools — principle of least privilege&lt;/li&gt;
&lt;li&gt;Teammates run claude once to pick up new skills (live reload in session)&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Part 10 — End-to-end test
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Install template into a test repo (Part 2).&lt;/li&gt;
&lt;li&gt;Start Claude: claude&lt;/li&gt;
&lt;li&gt;Ask: &lt;em&gt;“What slash commands and agents are configured for this project?”&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Run: /project:code-review&lt;/li&gt;
&lt;li&gt;Ask: &lt;em&gt;“Use the security-auditor agent on&lt;/em&gt; &lt;em&gt;settings.json permissions."&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Edit CLAUDE.local.md — confirm personal preference appears in answers.&lt;/li&gt;
&lt;li&gt;Run git status — confirm only committed files are tracked.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Security checklist
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Treat inbound instructions in issues/PRs as untrusted (indirect prompt injection).&lt;/li&gt;
&lt;li&gt;Review project skills before trusting a cloned repo — skills can grant tool access.&lt;/li&gt;
&lt;li&gt;Deny Read(.env) and secret paths in settings.json.&lt;/li&gt;
&lt;li&gt;Keep settings.local.json gitignored — it often has permissive personal allows.&lt;/li&gt;
&lt;li&gt;Run /permissions after cloning unfamiliar projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Troubleshooting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Symptom | Fix |
|---------|-----|
| Skill not found | Check &lt;span class="sb"&gt;`name`&lt;/span&gt; in frontmatter matches folder; restart session; &lt;span class="sb"&gt;`/skills`&lt;/span&gt; |
| Permission denied on pytest | Add &lt;span class="sb"&gt;`Bash(pytest *)`&lt;/span&gt; to &lt;span class="sb"&gt;`allow`&lt;/span&gt; in settings |
| Rules ignored | Confirm file is under &lt;span class="sb"&gt;`.claude/rules/`&lt;/span&gt;; check &lt;span class="sb"&gt;`paths`&lt;/span&gt; frontmatter |
| &lt;span class="sb"&gt;`commands/`&lt;/span&gt; works but not &lt;span class="sb"&gt;`skills/`&lt;/span&gt; | Ensure &lt;span class="sb"&gt;`SKILL.md`&lt;/span&gt; exists and YAML frontmatter is valid |
| Local overrides not applied | File must be &lt;span class="sb"&gt;`CLAUDE.local.md`&lt;/span&gt; at project root |
| Too much context / slow start | Shorten &lt;span class="sb"&gt;`CLAUDE.md`&lt;/span&gt;; move detail into path-scoped rules |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What’s next
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add MCP servers via .mcp.json for DB or API tools&lt;/li&gt;
&lt;li&gt;Wire CI to validate settings.json schema&lt;/li&gt;
&lt;li&gt;Mirror patterns in Cursor with .cursor/skills/ for teammates on different IDEs&lt;/li&gt;
&lt;li&gt;Share your layout as an internal golden template repo&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Component | You configure |
|-----------|----------------|
| Memory | &lt;span class="sb"&gt;`CLAUDE.md`&lt;/span&gt; + &lt;span class="sb"&gt;`rules/`&lt;/span&gt; |
| Safety | &lt;span class="sb"&gt;`settings.json`&lt;/span&gt; permissions + hooks |
| Repeatable work | &lt;span class="sb"&gt;`skills/`&lt;/span&gt; (&lt;span class="sb"&gt;`/project:name`&lt;/span&gt;) |
| Deep specialists | &lt;span class="sb"&gt;`agents/`&lt;/span&gt; |
| Personal taste | &lt;span class="sb"&gt;`CLAUDE.local.md`&lt;/span&gt;, &lt;span class="sb"&gt;`settings.local.json`&lt;/span&gt; |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Everything Claude needs to know about your project lives in .claude/ — commit it, share it, iterate like code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Want More Control Than Claude Code?
&lt;/h3&gt;

&lt;p&gt;If you’re looking for a self-hosted alternative to SaaS AI tools, TechLatest offers ready-to-deploy AI solutions on AWS, Azure, and GCP. Deploy in minutes, keep full ownership of your infrastructure, and avoid vendor lock-in while running modern open-source AI models and agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  GPU-Supported DeepSeek &amp;amp; Llama All-in-One LLM Suite
&lt;/h3&gt;

&lt;p&gt;This GPU-optimized VM includes DeepSeek-R1, Llama 3.3, Qwen, Gemma, Mistral, Ollama, and Open WebUI pre-installed and ready to use. It is designed for teams that need fast local inference, AI application development, and private model hosting. GPU acceleration significantly improves performance for larger models and demanding workloads. Deploy directly on AWS, Azure, or GCP without spending hours configuring drivers and dependencies.&lt;/p&gt;

&lt;p&gt;Product Link: &lt;a href="https://www.techlatest.net/support/multi_llm_gpu_vm_support/" rel="noopener noreferrer"&gt;https://www.techlatest.net/support/multi_llm_gpu_vm_support/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  DeepSeek &amp;amp; Llama All-in-One LLM Suite
&lt;/h3&gt;

&lt;p&gt;A cost-effective CPU-based deployment for organizations that want a private ChatGPT alternative without expensive AI subscriptions. The VM includes popular open-source models, Open WebUI, and Ollama, allowing users to interact through both APIs and a web interface. It is ideal for internal assistants, AI experimentation, model evaluation, and application development. Launch on AWS, Azure, or GCP and start using production-ready AI infrastructure within minutes.&lt;/p&gt;

&lt;p&gt;Product Link: &lt;a href="https://www.techlatest.net/support/multi_llm_vm_support/" rel="noopener noreferrer"&gt;https://www.techlatest.net/support/multi_llm_vm_support/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@parvezmohammed" rel="noopener noreferrer"&gt;https://substack.com/@parvezmohammed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;




</description>
      <category>anthropicclaude</category>
      <category>claudecode</category>
      <category>claudecowork</category>
      <category>claudeai</category>
    </item>
    <item>
      <title>Your AI on WhatsApp — Fully Local, Powered by Gemma</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Thu, 04 Jun 2026 12:06:03 +0000</pubDate>
      <link>https://dev.to/techlatestnet/your-ai-on-whatsapp-fully-local-powered-by-gemma-h90</link>
      <guid>https://dev.to/techlatestnet/your-ai-on-whatsapp-fully-local-powered-by-gemma-h90</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5jx7ri9ntuhvz1e5eap4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5jx7ri9ntuhvz1e5eap4.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Build a personal AI assistant that answers on Telegram/WhatsApp/CLI using Gemma 4 E2B and delegates research-heavy questions to your local Agentic RAG API.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you end up with
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;OpenClaw Gateway — always-on control plane (daemon)&lt;/li&gt;
&lt;li&gt;gemma4:e2b — conversational model with tools + optional vision&lt;/li&gt;
&lt;li&gt;agentic-rag skill — shells out to rag_query.sh → POST /predict on LitServe&lt;/li&gt;
&lt;li&gt;qwen-agentic-rag — CrewAI Researcher + Writer + Qdrant (and optional Firecrawl)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This integration uses one Ollama model everywhere: gemma4:e2b for OpenClaw chat and for the CrewAI RAG agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deploy OpenClaw Without the Setup Hassle
&lt;/h3&gt;

&lt;p&gt;Want to skip the installation and configuration process? We provide a fully managed &lt;strong&gt;OpenClaw AI Agent Automation Stack&lt;/strong&gt; on &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-y7ck4mk5qmrdk?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;AWS&lt;/strong&gt;&lt;/a&gt;, &lt;a href="https://marketplace.microsoft.com/en-us/product/techlatest.openclaw-vm?tab=Overview?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure&lt;/strong&gt;&lt;/a&gt;, and &lt;a href="https://console.cloud.google.com/marketplace/product/techlatest-public/openclaw-vm?utm_campaign=openclaw-vm&amp;amp;utm_source=techlatest-website&amp;amp;utm_medium=support-page" rel="noopener noreferrer"&gt;&lt;strong&gt;Google Cloud&lt;/strong&gt;&lt;/a&gt;, complete with OpenClaw, Ollama, dependencies, and optional GPU acceleration already configured. Simply launch the VM and start building AI agents, automation workflows, and local LLM applications immediately. The environment is optimized for performance, securely isolated from your local machine, and designed to get you from deployment to productivity in minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Requirement | Check |
|-------------|--------|
| Node **22.12+** or **24** (OpenClaw will not run on Node 20) | `node -v` |
| Ollama | `ollama -v` |
| Python 3.10+ | `python3 --version` |
| curl + jq | `curl --version` &amp;amp;&amp;amp; `jq --version` |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Part 1 — Agentic RAG API
&lt;/h3&gt;

&lt;p&gt;If you already finished the &lt;a href="https://medium.com/faun/deploy-a-qwen-3-6-agentic-rag-step-by-step-walkthrough-11d2993ff057" rel="noopener noreferrer"&gt;Qwen Agentic RAG tutorial&lt;/a&gt;, start the server only:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull gemma4:e2b
&lt;span class="nb"&gt;cd &lt;/span&gt;guides/qwen-agentic-rag
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate
&lt;span class="nb"&gt;cp&lt;/span&gt; ../openclaw-gemma-rag/env.rag.example .env &lt;span class="c"&gt;# sets OLLAMA_MODEL=ollama/gemma4:e2b&lt;/span&gt;
&lt;span class="c"&gt;# First time only:&lt;/span&gt;
&lt;span class="c"&gt;# pip install -r requirements.txt &amp;amp;&amp;amp; python setup_vectordb.py&lt;/span&gt;
python server.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fra5wlycb4oa8fzi3yjkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fra5wlycb4oa8fzi3yjkb.png" width="799" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Default URL: &lt;a href="http://127.0.0.1:8001/" rel="noopener noreferrer"&gt;http://127.0.0.1:8001&lt;/a&gt; (PORT in .env).&lt;/p&gt;

&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python client.py &lt;span class="nt"&gt;--query&lt;/span&gt; &lt;span class="s2"&gt;"What is cross-validation?"&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
curl &lt;span class="nt"&gt;-sS&lt;/span&gt; &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://127.0.0.1:8001/predict &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/json'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"query":"What is cross-validation?"}'&lt;/span&gt; | jq &lt;span class="nt"&gt;-r&lt;/span&gt; .output
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b5gvni3yqe6m00hbk1d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b5gvni3yqe6m00hbk1d.png" width="800" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Keep this terminal open. The first crew run may take several minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 2 — Pull Gemma 4 E2B
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull gemma4:e2b
ollama run gemma4:e2b &lt;span class="s2"&gt;"Reply in one sentence: what is Gemma 4?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhxhl03wmjdnm0ievtwj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyhxhl03wmjdnm0ievtwj.png" width="798" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recommended sampling (Ollama may already apply defaults): temperature=1, top_p=0.95, top_k=64.&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 3 — Install OpenClaw
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Node version (required)
&lt;/h4&gt;

&lt;p&gt;OpenClaw needs Node &amp;gt;= 22.12. If node -v shows v20, switch with nvm (you may already have 22 installed):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;guides/openclaw-gemma-rag
&lt;span class="nb"&gt;source&lt;/span&gt; ./use-node22.sh &lt;span class="c"&gt;# uses .nvmrc → 22.22.3&lt;/span&gt;
node &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="c"&gt;# must be v22.12.0 or higher&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybbmvk9offxkqh90yfih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fybbmvk9offxkqh90yfih.png" width="800" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Optional — make Node 22 the default in new terminals:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nvm &lt;span class="nb"&gt;alias &lt;/span&gt;default 22
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32v2xa62pe3ozmo2zysc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32v2xa62pe3ozmo2zysc.png" width="800" height="115"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; openclaw@latest
openclaw onboard &lt;span class="nt"&gt;--install-daemon&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gbzf083rmoulbtaw04l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gbzf083rmoulbtaw04l.png" width="798" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow prompts for workspace, auth, and optional channels. See &lt;a href="https://docs.openclaw.ai/" rel="noopener noreferrer"&gt;Getting started&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Set the primary model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;OLLAMA_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"ollama-local"&lt;/span&gt;
openclaw models list &lt;span class="nt"&gt;--provider&lt;/span&gt; ollama
openclaw models &lt;span class="nb"&gt;set &lt;/span&gt;ollama/gemma4:e2b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fel131f4nsewya87jpw0h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fel131f4nsewya87jpw0h.png" width="800" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Config snippet
&lt;/h4&gt;

&lt;p&gt;Copy fields from config/openclaw.snippet.json5 in this guide into ~/.openclaw/openclaw.json.&lt;/p&gt;

&lt;p&gt;Critical points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;baseUrl: &lt;a href="http://127.0.0.1:11434%E2%80%8A%E2%80%94%E2%80%8Ano" rel="noopener noreferrer"&gt;http://127.0.0.1:11434 — no&lt;/a&gt; /v1 suffix&lt;/li&gt;
&lt;li&gt;api: "ollama" — native tool calling&lt;/li&gt;
&lt;li&gt;agents.defaults.model.primary: "ollama/gemma4:e2b"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Restart:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw gateway restart
openclaw gateway status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2n4n5ol6i00duso7s349.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2n4n5ol6i00duso7s349.png" width="798" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 4 — Install the agentic-rag skill
&lt;/h3&gt;

&lt;p&gt;From this guide directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;guides/openclaw-gemma-rag
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x install-skill.sh skills/agentic-rag/scripts/&lt;span class="k"&gt;*&lt;/span&gt;.sh
./install-skill.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fbcuxnay9z8kl4kvki1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fbcuxnay9z8kl4kvki1.png" width="800" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This copies to ~/.openclaw/workspace/skills/agentic-rag/.&lt;/p&gt;

&lt;p&gt;Alternative (if your CLI supports it):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw skills &lt;span class="nb"&gt;install&lt;/span&gt; ./guides/openclaw-gemma-rag/skills/agentic-rag &lt;span class="nt"&gt;--global&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpd8a05nd2sptlm8pi8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpd8a05nd2sptlm8pi8d.png" width="800" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enable in config:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;skills:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;entries:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"agentic-rag"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="err"&gt;enabled:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="err"&gt;env:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;RAG_API_URL:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http://127.0.0.1:8001"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsqpc1pf7g0cyej9kcw6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdsqpc1pf7g0cyej9kcw6.png" width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Optional allowlist so only this skill is injected:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;agents:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;defaults:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="err"&gt;skills:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"agentic-rag"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpl8dmibjd1i5ofksta4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpl8dmibjd1i5ofksta4.png" width="799" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Restart the gateway after skill or config changes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Skill behavior
&lt;/h4&gt;

&lt;p&gt;The skill teaches OpenClaw to run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~/.openclaw/workspace/skills/agentic-rag/scripts/rag_query.sh &lt;span class="s2"&gt;"user question"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgoakrxbmsfifoj4appxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgoakrxbmsfifoj4appxh.png" width="800" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That POSTs to LitServe and prints the crew answer. The Gemma model decides &lt;em&gt;when&lt;/em&gt; to use the skill; the RAG crew uses the same OLLAMA_MODEL=ollama/gemma4:e2b from guides/qwen-agentic-rag/.env (see env.rag.example).&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 5 — End-to-end test
&lt;/h3&gt;

&lt;h4&gt;
  
  
  CLI (no channel)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw agent &lt;span class="nt"&gt;--message&lt;/span&gt; &lt;span class="s2"&gt;"Using the agentic RAG knowledge base: explain cross-validation in 3 bullets."&lt;/span&gt; &lt;span class="nt"&gt;--thinking&lt;/span&gt; low
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwomvdqp6cn8wwwhzq0p2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwomvdqp6cn8wwwhzq0p2.png" width="800" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Watch the gateway logs — you should see an exec invoking rag_query.sh.&lt;/p&gt;

&lt;h4&gt;
  
  
  Manual script test
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;RAG_API_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://127.0.0.1:8001
./skills/agentic-rag/scripts/rag_query.sh &lt;span class="s2"&gt;"What is regularization?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fovkzfohkxlr43x7mi7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fovkzfohkxlr43x7mi7.png" width="798" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Health check
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./skills/agentic-rag/scripts/rag_health.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpcwdhexkzsuhyplhflif.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpcwdhexkzsuhyplhflif.png" width="800" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Part 6 — Connect a channel (optional)
&lt;/h3&gt;

&lt;p&gt;Example: Telegram&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a bot via &lt;a href="https://t.me/BotFather" rel="noopener noreferrer"&gt;@BotFather&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;During openclaw onboard or openclaw configure, add the Telegram channel token&lt;/li&gt;
&lt;li&gt;Keep DM pairing enabled (dmPolicy: "pairing") until you trust exposure&lt;/li&gt;
&lt;li&gt;Approve yourself: openclaw pairing approve telegram &lt;code&gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Send: &lt;em&gt;“Search the ML FAQ: what is gradient descent?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Flow: Telegram → Gateway → Gemma → agentic-rag skill → RAG API → reply on Telegram.&lt;/p&gt;

&lt;p&gt;Channel docs: &lt;a href="https://docs.openclaw.ai/" rel="noopener noreferrer"&gt;OpenClaw Channels&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security checklist
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Treat inbound DMs as untrusted — keep pairing on for production-adjacent setups&lt;/li&gt;
&lt;li&gt;exec (used by the RAG skill) is powerful — do not expose the gateway to the public internet without &lt;a href="https://docs.openclaw.ai/security" rel="noopener noreferrer"&gt;Security&lt;/a&gt; and &lt;a href="https://docs.openclaw.ai/" rel="noopener noreferrer"&gt;Exposure runbook&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Run openclaw doctor after config changes&lt;/li&gt;
&lt;li&gt;RAG API binds to localhost by default — keep it that way&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Troubleshooting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Symptom | Fix |
|---------|-----|
| `connection refused` on :8001 | Start `python server.py` in qwen-agentic-rag |
| RAG very slow | Normal on laptop; reduce parallel Ollama loads |
| OpenClaw ignores RAG | Confirm skill installed, `enabled: true`, gateway restarted; ask explicitly to "use agentic RAG" |
| `ollama/gemma4:e2b` not found | `ollama pull gemma4:e2b`; check `openclaw models list` |
| Tool calling errors | Ensure `api: "ollama"` and no `/v1` on baseUrl |
| `openclaw requires Node &amp;gt;=22.12.0` | Run `source guides/openclaw-gemma-rag/use-node22.sh` or `nvm use 22` before any `openclaw` command |
| OOM on 16GB Mac | Only run `gemma4:e2b`; quit other Ollama models (`ollama ps`) |
| Skill `curl` fails | `brew install jq` or apt install jq |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What’s next
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add your own documents in guides/qwen-agentic-rag/rag_code.py and re-run setup_vectordb.py&lt;/li&gt;
&lt;li&gt;Publish a second OpenClaw skill for Gradio (ui.py) health checks&lt;/li&gt;
&lt;li&gt;Route work vs personal agents with &lt;a href="https://docs.openclaw.ai/" rel="noopener noreferrer"&gt;multi-agent routing&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Component | You run |
|-----------|---------|
| Ollama | `gemma4:e2b` (chat + RAG) |
| RAG | `guides/qwen-agentic-rag/server.py` |
| OpenClaw | `openclaw gateway` (daemon) |
| Skill | `agentic-rag` → `rag_query.sh` → `/predict` |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You now have a local-first assistant: Gemma for conversation, CrewAI RAG for grounded ML research — no cloud LLM required for either layer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@techlatest" rel="noopener noreferrer"&gt;https://substack.com/@techlatest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reddit Community: &lt;a href="https://www.reddit.com/user/techlatest_net/" rel="noopener noreferrer"&gt;https://www.reddit.com/user/techlatest_net/&lt;/a&gt;&lt;/p&gt;




</description>
      <category>openclaw</category>
      <category>gemma4</category>
      <category>openclawsetup</category>
      <category>openclawbot</category>
    </item>
    <item>
      <title>Deploy a Qwen 3.6 Agentic RAG — Step-by-Step Walkthrough</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Wed, 03 Jun 2026 09:55:19 +0000</pubDate>
      <link>https://dev.to/techlatestnet/deploy-a-qwen-36-agentic-rag-step-by-step-walkthrough-25g6</link>
      <guid>https://dev.to/techlatestnet/deploy-a-qwen-36-agentic-rag-step-by-step-walkthrough-25g6</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjz942d2q7ckfrq9cknz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjz942d2q7ckfrq9cknz.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today we’ll build and deploy an Agentic RAG powered by Alibaba’s latest Qwen 3.6, running fully on your machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you’ll build
&lt;/h3&gt;

&lt;p&gt;A private API where two AI agents collaborate:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Researcher Agent — retrieves context from a vector database or the web&lt;/li&gt;
&lt;li&gt;Writer Agent — turns that research into a polished answer&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Tool stack
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Tool | Role |
|------|------|
| **Qwen 3.6** (via Ollama) | Local LLM — no cloud API needed |
| **CrewAI** | Multi-agent orchestration |
| **Firecrawl** | Web search when the vector DB doesn't have the answer |
| **Qdrant** | Local vector database for your knowledge base |
| **LitServe** | Production-style HTTP API deployment |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogy8v9abgbrf10na5p0l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogy8v9abgbrf10na5p0l.png" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client sends a query to LitServe&lt;/li&gt;
&lt;li&gt;Researcher Agent picks the right tool (vector DB or Firecrawl)&lt;/li&gt;
&lt;li&gt;Writer Agent synthesizes the final answer&lt;/li&gt;
&lt;li&gt;LitServe returns JSON to the client&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;h3&gt;
  
  
  1. Remove old models (optional cleanup)
&lt;/h3&gt;

&lt;p&gt;If you had other Ollama models taking disk space:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama list
ollama &lt;span class="nb"&gt;rm &lt;/span&gt;gemma4:e2b &lt;span class="c"&gt;# example — use your model name&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Pull Qwen 3.6
&lt;/h3&gt;

&lt;p&gt;On a 16GB Mac, use the 27B variant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull qwen3.6:27b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama run qwen3.6:27b &lt;span class="s2"&gt;"Say hello in one sentence."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Install Python dependencies
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Environment variables
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Edit .env:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;FIRECRAWL_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;fc-...&lt;/span&gt;
&lt;span class="py"&gt;OLLAMA_MODEL&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;ollama/qwen3.6:27b&lt;/span&gt;
&lt;span class="py"&gt;OLLAMA_BASE_URL&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;http://localhost:11434&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Get a Firecrawl key at &lt;a href="https://www.firecrawl.dev/" rel="noopener noreferrer"&gt;firecrawl.dev&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Start Qdrant
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 6333:6333 &lt;span class="nt"&gt;-p&lt;/span&gt; 6334:6334 qdrant/qdrant
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Build the knowledge base
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python setup_vectordb.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This embeds 20 ML FAQ chunks into Qdrant using nomic-embed-text-v1.5.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 — Set up the LLM
&lt;/h3&gt;

&lt;p&gt;CrewAI integrates with Ollama through its LLM class. We point it at your local Qwen 3.6 model:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fafk2gdx49j9dhhcdzz7p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fafk2gdx49j9dhhcdzz7p.png" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why qwen3.6:27b? Qwen 3.6 adds stronger agentic reasoning and tool use. On 16GB RAM, the 27B quantized model (~17GB) is the practical choice.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2 — Define the Research Agent and Task
&lt;/h3&gt;

&lt;p&gt;The Researcher gets two tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ml_faq_retrieval_tool — searches your Qdrant vector DB&lt;/li&gt;
&lt;li&gt;FirecrawlSearchTool — searches the web for fresh or out-of-scope topics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa05xbsenmiwju0b7e1j8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa05xbsenmiwju0b7e1j8.png" width="800" height="573"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Vector DB tool (tools.py)
&lt;/h4&gt;

&lt;p&gt;The custom tool wraps Qdrant retrieval:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhaqzbei8w0ichresg6a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhaqzbei8w0ichresg6a.png" width="798" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agent decides which tool to call — that’s what makes this “agentic” RAG instead of a fixed retrieve-then-generate pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3 — Define the Writer Agent and Task
&lt;/h3&gt;

&lt;p&gt;The Writer receives the Researcher’s output via context=[researcher_task]:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8am2t3qoc6j4oivtf0sg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8am2t3qoc6j4oivtf0sg.png" width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 — Set up the Crew
&lt;/h3&gt;

&lt;p&gt;Orchestrate both agents inside LitServe’s setup() method (runs once at startup):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnb3a0danmuxt28clwpie.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnb3a0danmuxt28clwpie.png" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5 — Decode request
&lt;/h3&gt;

&lt;p&gt;Extract the user query from the incoming JSON body:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntz0as2nr0iwjg70zxfi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntz0as2nr0iwjg70zxfi.png" width="799" height="213"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"query"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"What is cross-validation and why is it important?"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 6 — Predict
&lt;/h3&gt;

&lt;p&gt;Pass the query to the Crew. The {query} placeholder in task descriptions is filled from inputs:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2c5jceikhjyy2wmor335.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2c5jceikhjyy2wmor335.png" width="799" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Behind the scenes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Researcher runs and may call vector DB and/or Firecrawl&lt;/li&gt;
&lt;li&gt;Writer reads those findings and drafts the answer&lt;/li&gt;
&lt;li&gt;Qwen 3.6 powers both agents through Ollama&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 7 — Encode response
&lt;/h3&gt;

&lt;p&gt;Return the final answer as JSON:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fohcbdl5r015rqke7zwvi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fohcbdl5r015rqke7zwvi.png" width="800" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 8 — Start the server
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonjlx13c2gydkmid5yns.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonjlx13c2gydkmid5yns.png" width="800" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;timeout=False is important — agent crews with tool calls can take several minutes on local hardware.&lt;/p&gt;

&lt;h3&gt;
  
  
  Client code
&lt;/h3&gt;

&lt;p&gt;client.py sends a POST to /predict:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykgnu5wyo3zdbfad4rvc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykgnu5wyo3zdbfad4rvc.png" width="800" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Terminal 1&lt;/span&gt;
python server.py

&lt;span class="c"&gt;# Terminal 2&lt;/span&gt;
python client.py &lt;span class="nt"&gt;--query&lt;/span&gt; &lt;span class="s2"&gt;"How do I avoid overfitting?"&lt;/span&gt;
python client.py &lt;span class="nt"&gt;--query&lt;/span&gt; &lt;span class="s2"&gt;"What is the latest news about Qwen 3.6?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd919xcch1usie3btswca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd919xcch1usie3btswca.png" width="800" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second query should trigger Firecrawl because it’s not in the ML FAQ knowledge base.&lt;/p&gt;

&lt;h3&gt;
  
  
  Full server code
&lt;/h3&gt;

&lt;p&gt;For reference, here is the complete server.py:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqjjrl0t60roie747t1r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqjjrl0t60roie747t1r.png" width="800" height="1017"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Agentic RAG vs classic RAG
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Classic RAG | Agentic RAG (this tutorial) |
|-------------|----------------------------|
| Fixed: always retrieve → generate | Agent chooses tools dynamically |
| Single LLM call | Multi-agent pipeline |
| One data source | Vector DB + web fallback |
| Hard to extend | Add tools without rewriting the pipeline |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Troubleshooting
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Issue | Fix |
|-------|-----|
| `connection refused` on port 6333 | Start Qdrant with Docker |
| Ollama model not found | Run `ollama pull qwen3.6:27b` |
| Very slow responses | Normal on 16GB RAM; close other apps |
| Firecrawl errors | Check `FIRECRAWL_API_KEY` in `.env` |
| Empty vector results | Run `python setup_vectordb.py` first |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What’s next
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Replace the sample FAQ with your own documents in &lt;code&gt;rag_code.py&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add a Gradio UI in front of the LitServe API&lt;/li&gt;
&lt;li&gt;Swap Firecrawl for another search provider&lt;/li&gt;
&lt;li&gt;Deploy LitServe behind Docker or Lightning AI Cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;You deployed a fully private Qwen 3.6 Agentic RAG:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qwen 3.6 runs locally via Ollama&lt;/li&gt;
&lt;li&gt;CrewAI orchestrates Researcher + Writer agents&lt;/li&gt;
&lt;li&gt;Qdrant stores your knowledge base&lt;/li&gt;
&lt;li&gt;Firecrawl fills gaps with live web data&lt;/li&gt;
&lt;li&gt;LitServe exposes everything as a clean REST API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Done!&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@techlatest" rel="noopener noreferrer"&gt;https://substack.com/@techlatest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reddit Community: &lt;a href="https://www.reddit.com/user/techlatest_net/" rel="noopener noreferrer"&gt;https://www.reddit.com/user/techlatest_net/&lt;/a&gt;&lt;/p&gt;




</description>
      <category>opensource</category>
      <category>qwen36</category>
      <category>localai</category>
      <category>retrievalaugmentedge</category>
    </item>
    <item>
      <title>CVE MCP Server: Turn Claude Into a Full-Spectrum Security Analyst</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Mon, 01 Jun 2026 15:04:27 +0000</pubDate>
      <link>https://dev.to/techlatestnet/cve-mcp-server-turn-claude-into-a-full-spectrum-security-analyst-32ni</link>
      <guid>https://dev.to/techlatestnet/cve-mcp-server-turn-claude-into-a-full-spectrum-security-analyst-32ni</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxx8eomu5b6bsixqu2z67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxx8eomu5b6bsixqu2z67.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;27 tools. 21 data sources. One protocol. Zero browser tabs.&lt;/p&gt;

&lt;p&gt;If you’ve ever triaged a CVE, you know the drill. Open NVD for the CVSS score. Check EPSS for exploitation probability. Cross-reference CISA KEV for active exploitation. Search GitHub for PoCs. Maybe pull VirusTotal or Shodan if it’s tied to an IP. Then sit there and mentally stitch it all together.&lt;/p&gt;

&lt;p&gt;For one CVE, that’s 15–20 minutes. For fifty? That’s your entire day gone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mukul975/cve-mcp-server" rel="noopener noreferrer"&gt;CVE MCP Server&lt;/a&gt; fixes that — an open-source, production-grade &lt;a href="https://modelcontextprotocol.io/" rel="noopener noreferrer"&gt;Model Context Protocol (MCP)&lt;/a&gt; server built by &lt;a href="https://github.com/mukul975" rel="noopener noreferrer"&gt;Mahipal Jangra&lt;/a&gt;. It gives Claude direct access to 27 security intelligence tools across 21 APIs. Ask one question. Get correlated, prioritized intelligence in seconds.&lt;/p&gt;

&lt;p&gt;In this guide, we will walk through installing it on macOS, connecting it to Claude Code, and running real queries — with screenshots at every step.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem: CVE Triage Shouldn’t Be a Tab Marathon
&lt;/h3&gt;

&lt;p&gt;Security analysts, DevSecOps engineers, and bug bounty hunters all hit the same wall. Triaging a single vulnerability means querying:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NVD — CVSS scores, affected products, references&lt;/li&gt;
&lt;li&gt;EPSS — statistical likelihood of exploitation&lt;/li&gt;
&lt;li&gt;CISA KEV — confirmed in-the-wild exploitation&lt;/li&gt;
&lt;li&gt;GitHub — patches, advisories, public exploit code&lt;/li&gt;
&lt;li&gt;VirusTotal / Shodan / GreyNoise — if there’s a network or malware angle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each source lives in its own silo. You’re the glue holding it together — manually, repeatedly, expensively.&lt;/p&gt;

&lt;p&gt;CVE MCP Server removes that glue work. Claude orchestrates every relevant lookup in parallel, runs a composite risk calculation, and delivers a recommendation with evidence attached.&lt;/p&gt;

&lt;h3&gt;
  
  
  What You Get
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Feature | Description |
| ---------------------------- | ----------------------------------------------------------------------------------------------------- |
| &lt;span class="gs"&gt;**27 MCP tools**&lt;/span&gt; | CVE lookup, EPSS, KEV, MITRE ATT&amp;amp;CK, Shodan, VirusTotal, dependency scanning, and more |
| &lt;span class="gs"&gt;**21 data sources**&lt;/span&gt; | NVD, EPSS, CISA KEV, OSV.dev, GitHub GHSA, AbuseIPDB, GreyNoise, MalwareBazaar, ThreatFox, and others |
| &lt;span class="gs"&gt;**Composite risk engine**&lt;/span&gt; | Weighted 0–100 score combining CVSS, EPSS, KEV status, and PoC availability |
| &lt;span class="gs"&gt;**SQLite cache + audit log**&lt;/span&gt; | Fast repeat lookups, full tool invocation history |
| &lt;span class="gs"&gt;**Zero-key start**&lt;/span&gt; | 8 tools work with no API keys at all |
| &lt;span class="gs"&gt;**Outbound HTTPS only**&lt;/span&gt; | No inbound ports, no telemetry, private IPs blocked |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Built with Python 3.10+, FastMCP, httpx, aiosqlite, Pydantic v2, and defusedxml.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/mukul975/cve-mcp-server" rel="noopener noreferrer"&gt;github.com/mukul975/cve-mcp-server&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Architecture at a Glance
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Claude Desktop / Claude Code (MCP Client)
              │
              │ Model Context Protocol (stdio)
              ▼
       CVE MCP Server (Python)
  ┌─────────────┬──────────────┬───────────────┐
  │ 27 Tools │ Risk Engine │ SQLite Cache │
  └──────┬──────┴──────┬───────┴───────┬───────┘
         │ │ │
         └─────────────┴───────────────┘
                       │
              Async HTTP (httpx)
         Rate Limiter · Response Cache
                       │
         ┌─────────────┼─────────────┐
         ▼ ▼ ▼
   Vulnerability Network Threat
   Intelligence Intelligence Intelligence
   (NVD, EPSS, (Shodan, (VirusTotal,
    KEV, OSV) GreyNoise) MalwareBazaar)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All traffic is outbound HTTPS only. API keys load from environment variables and are never logged. Private and reserved IP ranges are blocked before any network lookup.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 27 Tools (Organized by Category)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Core Vulnerability Intelligence (8 tools)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | What It Does |
|------|-------------|
| &lt;span class="sb"&gt;`lookup_cve`&lt;/span&gt; | Full NVD record — CVSS, CWEs, affected products, and vulnerability timeline |
| &lt;span class="sb"&gt;`search_cves`&lt;/span&gt; | Search NVD by keyword, product, severity, or date range |
| &lt;span class="sb"&gt;`get_epss_score`&lt;/span&gt; | EPSS exploitation probability (0–1) and percentile ranking |
| &lt;span class="sb"&gt;`check_kev_status`&lt;/span&gt; | Check whether a CVE is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog |
| &lt;span class="sb"&gt;`get_cvss_details`&lt;/span&gt; | Parse and explain a CVSS v3.1 vector string |
| &lt;span class="sb"&gt;`get_cwe_info`&lt;/span&gt; | Retrieve CWE information from the embedded database |
| &lt;span class="sb"&gt;`get_cve_references`&lt;/span&gt; | Categorize patch, advisory, and exploit reference links |
| &lt;span class="sb"&gt;`bulk_cve_lookup`&lt;/span&gt; | Batch-fetch up to 20 CVEs with parallel enrichment and analysis |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Exploit &amp;amp; Attack Intelligence (4 tools)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | What It Does |
|------|-------------|
| &lt;span class="sb"&gt;`search_exploits`&lt;/span&gt; | Search GitHub PoCs and exploit repositories for publicly available exploits |
| &lt;span class="sb"&gt;`get_mitre_techniques`&lt;/span&gt; | Map CVEs and CWEs to relevant MITRE ATT&amp;amp;CK techniques |
| &lt;span class="sb"&gt;`check_poc_availability`&lt;/span&gt; | Check multiple sources for proof-of-concept (PoC) exploit availability |
| &lt;span class="sb"&gt;`get_attack_patterns`&lt;/span&gt; | Retrieve CAPEC attack pattern details and associated attack methodologies |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Advanced Risk &amp;amp; Reporting (4 tools)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | What It Does |
|------|-------------|
| &lt;span class="sb"&gt;`calculate_risk_score`&lt;/span&gt; | Calculate a composite 0–100 risk score based on multiple vulnerability signals |
| &lt;span class="sb"&gt;`generate_risk_report`&lt;/span&gt; | Generate an executive-formatted security risk report |
| &lt;span class="sb"&gt;`prioritize_cves`&lt;/span&gt; | Rank and prioritize CVEs for remediation and triage |
| &lt;span class="sb"&gt;`get_trending_cves`&lt;/span&gt; | Identify trending vulnerabilities based on high EPSS scores and recent KEV additions |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Network Intelligence (4 tools)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | What It Does |
|------|-------------|
| &lt;span class="sb"&gt;`lookup_ip_reputation`&lt;/span&gt; | Retrieve AbuseIPDB abuse history, reputation score, and confidence level for an IP address |
| &lt;span class="sb"&gt;`check_ip_noise`&lt;/span&gt; | Query GreyNoise to classify IPs based on scanning, attack, and internet background noise activity |
| &lt;span class="sb"&gt;`shodan_host_lookup`&lt;/span&gt; | Retrieve open ports, running services, banners, and associated CVEs from Shodan |
| &lt;span class="sb"&gt;`passive_dns_lookup`&lt;/span&gt; | Access CIRCL passive DNS data for historical DNS resolutions and domain associations |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Threat Intelligence (4 Tools)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | What It Does |
|------|-------------|
| &lt;span class="sb"&gt;`virustotal_lookup`&lt;/span&gt; | Check a file hash, URL, domain, or IP address against 70+ antivirus and threat intelligence engines |
| &lt;span class="sb"&gt;`search_malware`&lt;/span&gt; | Search MalwareBazaar for malware samples, hashes, and related metadata |
| &lt;span class="sb"&gt;`search_iocs`&lt;/span&gt; | Look up Indicators of Compromise (IOCs) in ThreatFox by malware family or threat actor |
| &lt;span class="sb"&gt;`check_ransomware`&lt;/span&gt; | Check ransomware-related Bitcoin addresses and associated threat intelligence data |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  DevSecOps (3 Tools)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;
| Tool | What It Does |
|------|-------------|
| &lt;span class="sb"&gt;`scan_dependencies`&lt;/span&gt; | Scan software dependencies for known vulnerabilities using OSV.dev vulnerability data |
| &lt;span class="sb"&gt;`scan_github_advisories`&lt;/span&gt; | Search GitHub Security Advisories (GHSA) for vulnerability information and remediation guidance |
| &lt;span class="sb"&gt;`urlscan_check`&lt;/span&gt; | Submit URLs to URLScan.io and retrieve analysis results, screenshots, and threat intelligence data |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Installation: Step by Step
&lt;/h3&gt;

&lt;p&gt;We’ll walk through the full setup — from clone to your first Claude query.&lt;/p&gt;

&lt;h4&gt;
  
  
  Prerequisites
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.10+ (3.11 or 3.12 recommended)&lt;/li&gt;
&lt;li&gt;pip or uv&lt;/li&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;Claude Desktop or Claude Code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0alj892z059l35ejwght.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0alj892z059l35ejwght.png" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: Clone the Repository
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/mukul975/cve-mcp-server.git
&lt;span class="nb"&gt;cd &lt;/span&gt;cve-mcp-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq417x2va5la5rumqrale.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq417x2va5la5rumqrale.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Create a Virtual Environment
&lt;/h4&gt;

&lt;p&gt;macOS / Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Windows (PowerShell):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;python&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-m&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;venv&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;venv&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;\venv\Scripts\Activate.ps1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Windows (CMD):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;python&lt;/span&gt; &lt;span class="na"&gt;-m &lt;/span&gt;&lt;span class="kd"&gt;venv&lt;/span&gt; &lt;span class="kd"&gt;venv&lt;/span&gt;
&lt;span class="kd"&gt;venv&lt;/span&gt;\Scripts\activate.bat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnj1taczstw997r1hsh64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnj1taczstw997r1hsh64.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3: Install Dependencies
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For development with tests:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s2"&gt;".[test]"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Faster alternative with uv:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv venv
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate &lt;span class="c"&gt;# Windows: .venv\Scripts\activate&lt;/span&gt;
uv pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8y1jzaxn8z7gv2mx97zb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8y1jzaxn8z7gv2mx97zb.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4: Verify the Server Starts
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; cve_mcp.server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see the FastMCP server initialize without errors. Press Ctrl+C to stop — we’ll wire it into Claude next.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdrn2xxqsh3n7wffjo9g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdrn2xxqsh3n7wffjo9g.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 5: Configure API Keys
&lt;/h4&gt;

&lt;p&gt;API keys are optional for CVE MCP Server. Eight tools work with no keys (EPSS, CISA KEV, OSV.dev, MITRE ATT&amp;amp;CK, CWE lookups, CVSS parsing, Ransomwhere, and NVD at 5 req/30s).&lt;/p&gt;

&lt;p&gt;For this guide, we add one key: a GitHub personal access token. It’s free, takes about a minute, and needs no organization details (unlike NVD, which can ask for org info and take longer to approve).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What a GitHub token unlocks:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;
| Tool | What You Get |
|------|--------------|
| &lt;span class="sb"&gt;`search_exploits`&lt;/span&gt; | Access to public PoC and exploit repositories hosted on GitHub |
| &lt;span class="sb"&gt;`check_poc_availability`&lt;/span&gt; | Multi-source proof-of-concept (PoC) availability checks, including GitHub-based sources |
| &lt;span class="sb"&gt;`scan_github_advisories`&lt;/span&gt; | Access to GitHub Security Advisories (GHSA) for vulnerability research and remediation guidance |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rate limit: 60 requests/hour without a token → 5,000/hour with a token.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What still works without NVD_API_KEY:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NVD-backed tools (lookup_cve, search_cves, calculate_risk_score, etc.) still work at the free tier: 5 requests per 30 seconds. Fine for blog demos and a few CVEs at a time.&lt;/p&gt;

&lt;p&gt;On startup, you’ll still see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;WARNING: NVD_API_KEY not set — using unauthenticated rate limit (5 req/30s)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s expected, not an error. Add NVD_API_KEY later when you have it.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 5a: Copy the environment file
&lt;/h4&gt;

&lt;p&gt;From your project directory (with venv active):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/Desktop/cve-mcp-server
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;.env is gitignored — your keys stay local and are never committed.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 5b: Create a GitHub token
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://github.com/settings/tokens" rel="noopener noreferrer"&gt;github.com/settings/tokens&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Generate a new token (classic)&lt;/li&gt;
&lt;li&gt;Name it e.g. cve-mcp-server&lt;/li&gt;
&lt;li&gt;Expiration: 90 days or “No expiration” (your choice)&lt;/li&gt;
&lt;li&gt;Scopes: leave empty — public advisory and code search don’t need repo scopes&lt;/li&gt;
&lt;li&gt;Generate and copy the token once (ghp_...)&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Step 5c: Edit .env
&lt;/h4&gt;

&lt;p&gt;Open .env in your editor and set:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="c"&gt;# Optional — add later for 10× NVD speed (50 req/30s)
&lt;/span&gt;&lt;span class="py"&gt;NVD_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;

&lt;span class="c"&gt;# Tier 1 — GitHub (this guide)
&lt;/span&gt;&lt;span class="py"&gt;GITHUB_TOKEN&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;ghp_your_token_here&lt;/span&gt;

&lt;span class="c"&gt;# Tier 2 — leave empty unless you need IP/malware demos
&lt;/span&gt;&lt;span class="py"&gt;ABUSEIPDB_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;VIRUSTOTAL_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;GREYNOISE_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;SHODAN_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;URLSCAN_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 5d: Verify the server loads .env
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; cve_mcp.server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NVD warning (OK without NVD key)&lt;/li&gt;
&lt;li&gt;KEV catalog loaded with ~1600+ entries&lt;/li&gt;
&lt;li&gt;Server running — waiting for MCP client on stdio&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Press Ctrl+C to stop.&lt;/p&gt;

&lt;p&gt;python-dotenv loads .env automatically when the server runs from the project folder.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjvt6uplc8m0w862sqmz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjvt6uplc8m0w862sqmz.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 6: Connect CVE MCP Server to Claude Code
&lt;/h4&gt;

&lt;p&gt;You installed the server in Steps 1–4 and added a GitHub token in Step 5. Step 6 wires that server into Claude Code so Claude can call all 27 security tools during a session.&lt;/p&gt;

&lt;p&gt;You’re using Claude Code (not Claude Desktop) — that’s the right client for this walkthrough.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why use the project venv Python?
&lt;/h4&gt;

&lt;p&gt;Claude spawns the MCP server as a subprocess. If it uses system python, it may not see cve-mcp-server or your .env.&lt;/p&gt;

&lt;p&gt;Use the venv interpreter and set cwd to the project folder so:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cve_mcp is importable&lt;/li&gt;
&lt;li&gt;python-dotenv loads .env (including GITHUB_TOKEN)&lt;/li&gt;
&lt;li&gt;the KEV catalog and tools start correctly&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 6a: Register the MCP server
&lt;/h4&gt;

&lt;p&gt;From the project directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/xxxx/cve-mcp-server
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate

claude mcp add cve-mcp &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  /Users/xxxxx/xxxx/cve-mcp-server/venv/bin/python &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-m&lt;/span&gt; cve_mcp.server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace the path if your clone lives elsewhere — always use absolute paths.&lt;/p&gt;

&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-mcp: .../venv/bin/python -m cve_mcp.server
  Scope: Project config (shared via .mcp.json)
  Status: ✓ Connected
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 6b: Approve the server (one-time)
&lt;/h4&gt;

&lt;p&gt;The first time you open Claude in this project, you may see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⏸ Pending approval (run `claude` to approve)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run claude from ~/Desktop/cve-mcp-server&lt;/li&gt;
&lt;li&gt;When prompted, trust/approve cve-mcp for this project&lt;/li&gt;
&lt;li&gt;Run claude mcp list again — status should be Connected&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is a security gate: Claude won’t run project MCP servers until you explicitly allow them.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 6c: Project config (.mcp.json)
&lt;/h4&gt;

&lt;p&gt;Claude Code stores project MCP settings in .mcp.json. Example for macOS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"cve-mcp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Users/xxxx/xxxx/cve-mcp-server/venv/bin/python"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-m"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cve_mcp.server"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"cwd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Users/xxxx/xxxx/cve-mcp-server"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No API keys in JSON if you use .env — keep secrets in .env only&lt;/li&gt;
&lt;li&gt;Windows readers: use venv\Scripts\python.exe and a Windows absolute cwd&lt;/li&gt;
&lt;li&gt;Commit .mcp.json only if paths are generic or documented; machine-specific paths are often kept local&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf8jda49jj4c2sw61tpr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuf8jda49jj4c2sw61tpr.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Alternative: pass GITHUB_TOKEN via CLI
&lt;/h4&gt;

&lt;p&gt;If .env isn’t loaded (unusual when cwd is correct):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp remove cve-mcp &lt;span class="nt"&gt;-s&lt;/span&gt; project

claude mcp add cve-mcp &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;GITHUB_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ghp_your_token_here &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--&lt;/span&gt; /Users/xxxx/xxxx/cve-mcp-server/venv/bin/python &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-m&lt;/span&gt; cve_mcp.server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 7: Your First Real Queries (Copy for Medium)
&lt;/h3&gt;

&lt;p&gt;After Steps 1–6, Claude Code is connected to cve-mcp with your GitHub token in .env. Step 7 is where it pays off: one question, many APIs, correlated answers.&lt;/p&gt;

&lt;h4&gt;
  
  
  Before you ask anything
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;cd ~/xxxx/cve-mcp-server&lt;/li&gt;
&lt;li&gt;Run claude&lt;/li&gt;
&lt;li&gt;Approve cve-mcp (pick option 2 — trust for all future sessions in this project)&lt;/li&gt;
&lt;li&gt;Confirm: claude mcp list → ✓ Connected&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmszj66v5x1vke0xhr0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmszj66v5x1vke0xhr0c.png" width="800" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Query 1: Log4Shell triage (free tools + GitHub token)
&lt;/h4&gt;

&lt;p&gt;Prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What is CVE-2021-44228? Is it in CISA KEV? What is the EPSS score? Are there public exploits on GitHub? Be concise and cite tool results.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tools Claude used (live run):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Tool | Source |
| ---------------------------- | -------------------------------------------------- |
| &lt;span class="sb"&gt;`lookup_cve`&lt;/span&gt; | NVD (free tier) |
| &lt;span class="sb"&gt;`check_kev`&lt;/span&gt; | CISA Known Exploited Vulnerabilities (KEV) Catalog |
| &lt;span class="sb"&gt;`get_epss_score`&lt;/span&gt; | EPSS (Exploit Prediction Scoring System) |
| &lt;span class="sb"&gt;`check_exploit_availability`&lt;/span&gt; | GitHub (using your personal access token) |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Actual result summary:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CVSS 10.0 CRITICAL — Log4j2 RCE&lt;/li&gt;
&lt;li&gt;CISA KEV: Yes — added 2021–12–10, known ransomware use&lt;/li&gt;
&lt;li&gt;EPSS: 94.36% (100th percentile)&lt;/li&gt;
&lt;li&gt;GitHub PoCs: 7 repos (e.g., Puliczek bypass PoC ★950)&lt;/li&gt;
&lt;li&gt;Verdict: Emergency patch priority&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No NVD_API_KEY needed for this demo; NVD ran at 5 req/30s.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddbyt4jzr3hhkd8gq3nq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddbyt4jzr3hhkd8gq3nq.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Query 2: Scan Python dependencies (no keys)
&lt;/h4&gt;

&lt;p&gt;Prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Scan these PyPI packages for vulnerabilities: requests 2.28.0, flask 2.2.0, django 3.2.0. List CVEs found and severity.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tool: scan_dependencies → OSV.dev (free)&lt;/p&gt;

&lt;p&gt;Actual result summary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Example Dependency Scan Results&lt;/span&gt;

| Package | CVEs | Worst Finding |
|---------|------|---------------|
| &lt;span class="sb"&gt;`requests`&lt;/span&gt; 2.28.0 | 5 | &lt;span class="gs"&gt;**MEDIUM**&lt;/span&gt; (e.g., CVE-2023-32681) → upgrade to ≥ 2.32.4 |
| &lt;span class="sb"&gt;`flask`&lt;/span&gt; 2.2.0 | 3 | &lt;span class="gs"&gt;**HIGH**&lt;/span&gt; CVE-2023-30861 → upgrade to ≥ 2.2.5 |
| &lt;span class="sb"&gt;`django`&lt;/span&gt; 3.2.0 | 55 | &lt;span class="gs"&gt;**CRITICAL**&lt;/span&gt; CVE-2022-34265 (CVSS 9.8), EPSS 92.83% |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verdict: Upgrade django to the latest 3.2.x LTS immediately.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8slwfowhh7nwl7bfs0ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8slwfowhh7nwl7bfs0ee.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Query 3: GitHub Security Advisories (uses your token)
&lt;/h4&gt;

&lt;p&gt;Prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Search GitHub security advisories for django in the pip ecosystem. Summarize top findings.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tool: scan_github_advisories (benefits from GITHUB_TOKEN)&lt;/p&gt;

&lt;p&gt;Actual result summary:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;~300 advisories spanning 2008–2026&lt;/li&gt;
&lt;li&gt;Recent (2025–2026): DoS / algorithmic complexity/timing&lt;/li&gt;
&lt;li&gt;High-impact classics: SQLi (CVE-2022–28346, CVE-2020–9402)&lt;/li&gt;
&lt;li&gt;Takeaway: Stay on a supported Django LTS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxchnc3pr7f1mz9nduxw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxchnc3pr7f1mz9nduxw.png" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;CVE triage used to mean a dozen browser tabs and mental glue work — NVD, EPSS, CISA KEV, GitHub, and more. In this walkthrough we installed &lt;a href="https://github.com/mukul975/cve-mcp-server" rel="noopener noreferrer"&gt;CVE MCP Server&lt;/a&gt; (open source, by &lt;a href="https://github.com/mukul975" rel="noopener noreferrer"&gt;Mahipal Jangra&lt;/a&gt;) and wired it into Claude Code so Claude can call 27 tools across 21 data sources over a single protocol.&lt;/p&gt;

&lt;p&gt;You cloned the repo, created a venv, installed the package, confirmed the server starts, added a GitHub token (without waiting on NVD approval), approved the MCP server in Claude Code, and ran three real queries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log4Shell — CVSS, KEV, EPSS, and public PoCs in one answer&lt;/li&gt;
&lt;li&gt;PyPI dependency scan — no extra API keys&lt;/li&gt;
&lt;li&gt;Django GitHub advisories — powered by your GitHub token&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s the point: one question, correlated intelligence, seconds instead of minutes per CVE.&lt;/p&gt;

&lt;h3&gt;
  
  
  What to do next
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Keep using it — Paste CVE IDs, requirements.txt lines, or suspicious IPs into Claude and let the server orchestrate lookups.&lt;/li&gt;
&lt;li&gt;Add NVD_API_KEY when you can — Free from &lt;a href="https://nvd.nist.gov/developers/request-an-api-key" rel="noopener noreferrer"&gt;NIST&lt;/a&gt;; removes the 5 req/30s limit and speeds up NVD-heavy workflows.&lt;/li&gt;
&lt;li&gt;Add Tier 2 keys only if you need them — AbuseIPDB, GreyNoise, Shodan, VirusTotal for IP and malware demos.&lt;/li&gt;
&lt;li&gt;Star the repo if this saved you time: &lt;a href="https://github.com/mukul975/cve-mcp-server" rel="noopener noreferrer"&gt;github.com/mukul975/cve-mcp-server&lt;/a&gt; — contributions and issues are welcome on the upstream project.&lt;/li&gt;
&lt;li&gt;Report bugs upstream — Installation problems in this post vs bugs in the server itself; the latter belong on the project’s GitHub.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  A note on scope
&lt;/h3&gt;

&lt;p&gt;CVE MCP Server is read-only intelligence — it does not scan your network or exploit targets. API keys stay in .env; use redacted values in screenshots and posts. All traffic is outbound HTTPS; private IPs are blocked on network tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  GARS-2026
&lt;/h3&gt;

&lt;p&gt;If you use agentic AI in security workflows, consider the GARS-2026 (Global Agentic AI Readiness Survey) — 60 questions, anonymous, supervised by SRH Berlin. It measures how ready teams are for MCP, tool calling, and human-in-the-loop security automation.&lt;br&gt;&lt;br&gt;
Survey: &lt;a href="https://mahipal.engineer/survey?utm_source=medium&amp;amp;utm_medium=blog&amp;amp;utm_campaign=gars2026" rel="noopener noreferrer"&gt;mahipal.engineer/survey&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Closing line
&lt;/h3&gt;

&lt;p&gt;Security work shouldn’t require fifteen tabs for one CVE. CVE MCP Server turns that workflow into a conversation — and after Steps 1–7, you’ve got it running on your machine.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This was an independent setup guide. Credit for the project goes to&lt;/em&gt; &lt;a href="https://github.com/mukul975" rel="noopener noreferrer"&gt;&lt;em&gt;Mahipal Jangra&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. MIT licensed.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@techlatest" rel="noopener noreferrer"&gt;https://substack.com/@techlatest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reddit Community: &lt;a href="https://www.reddit.com/user/techlatest_net/" rel="noopener noreferrer"&gt;https://www.reddit.com/user/techlatest_net/&lt;/a&gt;&lt;/p&gt;




</description>
      <category>claude</category>
      <category>mcpserver</category>
      <category>claudecode</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Claude Opus 4.8: The Complete Guide to Anthropic’s Most Powerful AI Model Yet</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Fri, 29 May 2026 08:08:48 +0000</pubDate>
      <link>https://dev.to/techlatestnet/claude-opus-48-the-complete-guide-to-anthropics-most-powerful-ai-model-yet-2f7o</link>
      <guid>https://dev.to/techlatestnet/claude-opus-48-the-complete-guide-to-anthropics-most-powerful-ai-model-yet-2f7o</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3f09dlem4arq9j7yc6em.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3f09dlem4arq9j7yc6em.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anthropic has officially released &lt;strong&gt;Claude Opus 4.8&lt;/strong&gt; , its most capable generally available AI model to date. Building upon the strong foundation of Claude Opus 4.7, the new release introduces improvements across coding, agentic workflows, reasoning, tool usage, long-context handling, and developer productivity.&lt;/p&gt;

&lt;p&gt;The launch also introduces several ecosystem enhancements, including &lt;strong&gt;Dynamic Workflows for Claude Code&lt;/strong&gt; , &lt;strong&gt;Effort Control&lt;/strong&gt; , &lt;strong&gt;Fast Mode&lt;/strong&gt; , &lt;strong&gt;Mid-Conversation System Messages&lt;/strong&gt; , and improved prompt caching.&lt;/p&gt;

&lt;p&gt;For developers, AI engineers, DevRel teams, cybersecurity researchers, and enterprises building AI-native products, Claude Opus 4.8 represents one of the most significant upgrades in the Anthropic ecosystem.&lt;/p&gt;

&lt;p&gt;In this guide, we’ll cover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What Claude Opus 4.8 is&lt;/li&gt;
&lt;li&gt;Key improvements over Opus 4.7&lt;/li&gt;
&lt;li&gt;Benchmark performance&lt;/li&gt;
&lt;li&gt;Claude Code enhancements&lt;/li&gt;
&lt;li&gt;Cursor workflows&lt;/li&gt;
&lt;li&gt;API changes&lt;/li&gt;
&lt;li&gt;Effort levels explained&lt;/li&gt;
&lt;li&gt;Fast Mode&lt;/li&gt;
&lt;li&gt;Long-context capabilities&lt;/li&gt;
&lt;li&gt;Migration guide&lt;/li&gt;
&lt;li&gt;Practical developer workflows&lt;/li&gt;
&lt;li&gt;Pricing&lt;/li&gt;
&lt;li&gt;What comes next&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is Claude Opus 4.8?
&lt;/h3&gt;

&lt;p&gt;Claude Opus 4.8 is Anthropic’s flagship large language model designed for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced reasoning&lt;/li&gt;
&lt;li&gt;Long-horizon agentic coding&lt;/li&gt;
&lt;li&gt;Software engineering&lt;/li&gt;
&lt;li&gt;Research workflows&lt;/li&gt;
&lt;li&gt;Multi-step planning&lt;/li&gt;
&lt;li&gt;Enterprise automation&lt;/li&gt;
&lt;li&gt;Cybersecurity analysis&lt;/li&gt;
&lt;li&gt;Large context understanding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anthropic describes it as their &lt;strong&gt;most capable generally available model&lt;/strong&gt; , surpassing Claude Opus 4.7 in nearly every major category while maintaining API compatibility.&lt;/p&gt;

&lt;p&gt;Unlike many benchmark-focused releases, Opus 4.8 focuses heavily on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Honest reasoning&lt;/li&gt;
&lt;li&gt;Reduced hallucinations&lt;/li&gt;
&lt;li&gt;Better judgment&lt;/li&gt;
&lt;li&gt;Stronger agent workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Claude Opus 4.8 Matters
&lt;/h3&gt;

&lt;p&gt;Modern AI development increasingly relies on autonomous systems that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze repositories&lt;/li&gt;
&lt;li&gt;Refactor codebases&lt;/li&gt;
&lt;li&gt;Perform migrations&lt;/li&gt;
&lt;li&gt;Run tools&lt;/li&gt;
&lt;li&gt;Execute commands&lt;/li&gt;
&lt;li&gt;Verify outputs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The challenge has never been raw intelligence alone.&lt;/p&gt;

&lt;p&gt;The challenge is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can the model consistently make good decisions over long periods of time?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Anthropic’s answer with Opus 4.8 is improved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agent reliability&lt;/li&gt;
&lt;li&gt;Long-context retention&lt;/li&gt;
&lt;li&gt;Tool usage accuracy&lt;/li&gt;
&lt;li&gt;Self-correction&lt;/li&gt;
&lt;li&gt;Uncertainty reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes Opus 4.8 particularly valuable for engineering teams using AI in production.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benchmarks
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Benchmark | Claude Opus 4.8 | Claude Opus 4.7 | GPT-5.5 | Gemini 3.1 Pro |
| ------------------------------------------------------------------- | --------------- | --------------- | --------- | -------------- |
| &lt;span class="gs"&gt;**Agentic Coding (SWE-Bench Pro)**&lt;/span&gt; | &lt;span class="gs"&gt;**69.2%**&lt;/span&gt; | 64.3% | 58.6% | 54.2% |
| &lt;span class="gs"&gt;**Agentic Terminal Coding (Terminal-Bench 2.1)**&lt;/span&gt; | 74.6% | 66.1% | &lt;span class="gs"&gt;**78.2%**&lt;/span&gt; | 70.3% |
| &lt;span class="gs"&gt;**Multidisciplinary Reasoning (Humanity's Last Exam - No Tools)**&lt;/span&gt; | &lt;span class="gs"&gt;**49.8%**&lt;/span&gt; | 46.9% | 41.4% | 44.4% |
| &lt;span class="gs"&gt;**Multidisciplinary Reasoning (Humanity's Last Exam - With Tools)**&lt;/span&gt; | &lt;span class="gs"&gt;**57.9%**&lt;/span&gt; | 54.7% | 52.2% | 51.4% |
| &lt;span class="gs"&gt;**Agentic Computer Use (OSWorld-Verified)**&lt;/span&gt; | &lt;span class="gs"&gt;**83.4%**&lt;/span&gt; | 82.8% | 78.7% | 76.2% |
| &lt;span class="gs"&gt;**Knowledge Work (GDPval-AA)**&lt;/span&gt; | &lt;span class="gs"&gt;**1890**&lt;/span&gt; | 1753 | 1769 | 1314 |
| &lt;span class="gs"&gt;**Agentic Financial Analysis (Finance Agent v2)**&lt;/span&gt; | &lt;span class="gs"&gt;**53.9%**&lt;/span&gt; | 51.5% | 51.8% | 43.0% |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Key Takeaways
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Claude Opus 4.8 leads in 6 out of 7 benchmarks.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;It achieves the highest score in &lt;strong&gt;SWE-Bench Pro (69.2%)&lt;/strong&gt;, demonstrating strong real-world software engineering capabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-5.5 remains the leader in Terminal-Bench 2.1 (78.2%)&lt;/strong&gt;, indicating stronger terminal-based agent performance.&lt;/li&gt;
&lt;li&gt;Claude Opus 4.8 delivers the best results in:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Agentic Coding&lt;br&gt;&lt;br&gt;
✅ Multidisciplinary Reasoning&lt;br&gt;&lt;br&gt;
✅ Computer Use&lt;br&gt;&lt;br&gt;
✅ Knowledge Work&lt;br&gt;&lt;br&gt;
✅ Financial Analysis&lt;/p&gt;

&lt;p&gt;The jump from &lt;strong&gt;Opus 4.7 → Opus 4.8&lt;/strong&gt; is consistent across every benchmark, showing Anthropic’s focus on improving reliability, reasoning, and long-horizon agent workflows.&lt;/p&gt;
&lt;h3&gt;
  
  
  Major Improvements in Claude Opus 4.8
&lt;/h3&gt;
&lt;h4&gt;
  
  
  1. Better Agentic Coding
&lt;/h4&gt;

&lt;p&gt;One of the largest improvements is in long-running coding tasks.&lt;/p&gt;

&lt;p&gt;Anthropic specifically optimized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Codebase-scale understanding&lt;/li&gt;
&lt;li&gt;Refactoring&lt;/li&gt;
&lt;li&gt;Repository navigation&lt;/li&gt;
&lt;li&gt;Large-scale migrations&lt;/li&gt;
&lt;li&gt;Multi-step engineering tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developers reported that Opus 4.8:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gets lost less frequently&lt;/li&gt;
&lt;li&gt;Handles context better&lt;/li&gt;
&lt;li&gt;Produces fewer broken implementations&lt;/li&gt;
&lt;li&gt;Recovers better after context compression&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially important for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;Cursor&lt;/li&gt;
&lt;li&gt;IDE agents&lt;/li&gt;
&lt;li&gt;Autonomous software engineering systems&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  2. Improved Honesty and Reliability
&lt;/h4&gt;

&lt;p&gt;A common AI problem is premature confidence.&lt;/p&gt;

&lt;p&gt;Models often:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assume success&lt;/li&gt;
&lt;li&gt;Hide uncertainty&lt;/li&gt;
&lt;li&gt;Miss edge cases&lt;/li&gt;
&lt;li&gt;Claim tasks are completed when they are not&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anthropic reports that Opus 4.8 is approximately:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4× less likely to allow flaws in generated code to pass without mentioning them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead, it more frequently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flags uncertainty&lt;/li&gt;
&lt;li&gt;Requests clarification&lt;/li&gt;
&lt;li&gt;Notes limitations&lt;/li&gt;
&lt;li&gt;Reports incomplete work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For production engineering environments, this behavior is extremely valuable.&lt;/p&gt;
&lt;h4&gt;
  
  
  3. Better Tool Usage
&lt;/h4&gt;

&lt;p&gt;Tool calling is critical for modern AI agents.&lt;/p&gt;

&lt;p&gt;Opus 4.8 improves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tool selection&lt;/li&gt;
&lt;li&gt;Tool triggering&lt;/li&gt;
&lt;li&gt;Multi-step tool chains&lt;/li&gt;
&lt;li&gt;Agent decision making&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anthropic specifically targeted a weakness in Opus 4.7 where the model occasionally skipped tools that should have been used.&lt;/p&gt;

&lt;p&gt;The new version is significantly more reliable when deciding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When to search&lt;/li&gt;
&lt;li&gt;When to execute&lt;/li&gt;
&lt;li&gt;When to inspect files&lt;/li&gt;
&lt;li&gt;When to call APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  4. Long Context Improvements
&lt;/h4&gt;

&lt;p&gt;Claude Opus 4.8 includes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1 Million Token Context Window&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Available on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude API&lt;/li&gt;
&lt;li&gt;Amazon Bedrock&lt;/li&gt;
&lt;li&gt;Google Vertex AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Microsoft Foundry currently supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;200K token context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This massive context window allows developers to work with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Entire repositories&lt;/li&gt;
&lt;li&gt;Large documentation sets&lt;/li&gt;
&lt;li&gt;Enterprise knowledge bases&lt;/li&gt;
&lt;li&gt;Massive logs&lt;/li&gt;
&lt;li&gt;Multi-file projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;without aggressive chunking strategies.&lt;/p&gt;
&lt;h3&gt;
  
  
  Getting Started with Claude Opus 4.8 in Anthropic Workbench
&lt;/h3&gt;

&lt;p&gt;Before exploring advanced workflows, developers can experiment with Claude Opus 4.8 directly inside Anthropic’s Workbench. The environment allows prompt engineering, model evaluation, API testing, and workflow prototyping without writing any application code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4z8toje6y2en7pwxhbc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr4z8toje6y2en7pwxhbc.png" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Anthropic Workbench provides a playground for testing Claude Opus 4.8 prompts, system instructions, and model configurations before deploying them into production.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Dynamic Workflows in Claude Code
&lt;/h3&gt;

&lt;p&gt;Perhaps the most exciting release is:&lt;/p&gt;
&lt;h4&gt;
  
  
  Dynamic Workflows
&lt;/h4&gt;

&lt;p&gt;This feature enables Claude Code to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan work&lt;/li&gt;
&lt;li&gt;Spawn hundreds of parallel sub-agents&lt;/li&gt;
&lt;li&gt;Execute tasks simultaneously&lt;/li&gt;
&lt;li&gt;Verify outputs&lt;/li&gt;
&lt;li&gt;Merge findings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of a single linear agent workflow, Claude can coordinate large numbers of specialized workers.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;A large enterprise migration involving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;300,000+ lines of code&lt;/li&gt;
&lt;li&gt;Hundreds of files&lt;/li&gt;
&lt;li&gt;Multiple frameworks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;can now be broken into parallel tasks and completed significantly faster.&lt;/p&gt;

&lt;p&gt;Anthropic positions this as the future of AI-assisted software engineering.&lt;/p&gt;
&lt;h3&gt;
  
  
  Effort Control: A New Way to Use Claude
&lt;/h3&gt;

&lt;p&gt;Anthropic now gives users direct control over how much reasoning Claude performs.&lt;/p&gt;
&lt;h4&gt;
  
  
  Available Effort Levels
&lt;/h4&gt;
&lt;h4&gt;
  
  
  Low
&lt;/h4&gt;

&lt;p&gt;Best for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick answers&lt;/li&gt;
&lt;li&gt;Documentation lookup&lt;/li&gt;
&lt;li&gt;Fast interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lower latency&lt;/li&gt;
&lt;li&gt;Lower token consumption&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Medium
&lt;/h4&gt;

&lt;p&gt;Good balance between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost&lt;/li&gt;
&lt;li&gt;Speed&lt;/li&gt;
&lt;li&gt;Quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ideal for most day-to-day work.&lt;/p&gt;
&lt;h4&gt;
  
  
  High (Default)
&lt;/h4&gt;

&lt;p&gt;The new default setting.&lt;/p&gt;

&lt;p&gt;Optimized for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding&lt;/li&gt;
&lt;li&gt;Analysis&lt;/li&gt;
&lt;li&gt;Research&lt;/li&gt;
&lt;li&gt;Agent workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Provides stronger reasoning while maintaining reasonable response times.&lt;/p&gt;
&lt;h4&gt;
  
  
  Extra / XHigh
&lt;/h4&gt;

&lt;p&gt;Recommended for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Difficult engineering tasks&lt;/li&gt;
&lt;li&gt;Architecture reviews&lt;/li&gt;
&lt;li&gt;Complex debugging&lt;/li&gt;
&lt;li&gt;Long-running workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Uses more reasoning tokens for higher quality outputs.&lt;/p&gt;
&lt;h4&gt;
  
  
  Max
&lt;/h4&gt;

&lt;p&gt;Highest reasoning investment.&lt;/p&gt;

&lt;p&gt;Best reserved for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mission-critical tasks&lt;/li&gt;
&lt;li&gt;Research&lt;/li&gt;
&lt;li&gt;Advanced problem solving&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Fast Mode
&lt;/h4&gt;

&lt;p&gt;Anthropic also introduced:&lt;/p&gt;
&lt;h4&gt;
  
  
  Claude Opus 4.8 Fast Mode
&lt;/h4&gt;

&lt;p&gt;Fast Mode can generate outputs up to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.5× faster&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;than standard Opus execution.&lt;/p&gt;

&lt;p&gt;This is particularly useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding assistants&lt;/li&gt;
&lt;li&gt;Interactive IDE workflows&lt;/li&gt;
&lt;li&gt;Enterprise applications&lt;/li&gt;
&lt;li&gt;Agent pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fast Mode delivers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Higher throughput&lt;/li&gt;
&lt;li&gt;Reduced waiting times&lt;/li&gt;
&lt;li&gt;Improved developer experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;while still using the same underlying Opus 4.8 model.&lt;/p&gt;
&lt;h3&gt;
  
  
  Claude Code Workflows
&lt;/h3&gt;

&lt;p&gt;Opus 4.8 shines inside Claude Code.&lt;/p&gt;
&lt;h4&gt;
  
  
  Workflow #1: Large Repository Refactoring
&lt;/h4&gt;

&lt;p&gt;Example prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Analyze this repository and migrate all legacy authentication middleware to the new architecture.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Opus 4.8 can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discover affected files&lt;/li&gt;
&lt;li&gt;Create migration plans&lt;/li&gt;
&lt;li&gt;Apply changes&lt;/li&gt;
&lt;li&gt;Run tests&lt;/li&gt;
&lt;li&gt;Verify results&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Workflow #2: Architecture Reviews
&lt;/h4&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Review the codebase for scalability bottlenecks and propose improvements.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify hotspots&lt;/li&gt;
&lt;li&gt;Suggest patterns&lt;/li&gt;
&lt;li&gt;Recommend optimizations&lt;/li&gt;
&lt;li&gt;Generate implementation plans&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Workflow #3: Automated Bug Hunting
&lt;/h4&gt;

&lt;p&gt;Prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Investigate intermittent failures in CI and determine likely root causes.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Opus 4.8 performs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log analysis&lt;/li&gt;
&lt;li&gt;Dependency inspection&lt;/li&gt;
&lt;li&gt;Code tracing&lt;/li&gt;
&lt;li&gt;Hypothesis generation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Using Claude Opus 4.8 in Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor users can benefit significantly from Opus 4.8.&lt;/p&gt;

&lt;p&gt;Recommended use cases:&lt;/p&gt;
&lt;h4&gt;
  
  
  Code Reviews
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Pull request reviews&lt;/li&gt;
&lt;li&gt;Security analysis&lt;/li&gt;
&lt;li&gt;Performance audits&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Repository Understanding
&lt;/h4&gt;

&lt;p&gt;Ask Claude:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Explain this architecture and identify technical debt.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The 1M context window allows much deeper repository understanding.&lt;/p&gt;
&lt;h3&gt;
  
  
  Multi-File Refactoring
&lt;/h3&gt;

&lt;p&gt;Claude excels at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Framework migrations&lt;/li&gt;
&lt;li&gt;API upgrades&lt;/li&gt;
&lt;li&gt;Dependency modernization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;across large codebases.&lt;/p&gt;
&lt;h3&gt;
  
  
  Documentation Generation
&lt;/h3&gt;

&lt;p&gt;Generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture docs&lt;/li&gt;
&lt;li&gt;README files&lt;/li&gt;
&lt;li&gt;API documentation&lt;/li&gt;
&lt;li&gt;Internal onboarding guides&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;with significantly better context awareness.&lt;/p&gt;
&lt;h3&gt;
  
  
  API Enhancements
&lt;/h3&gt;
&lt;h4&gt;
  
  
  Mid-Conversation System Messages
&lt;/h4&gt;

&lt;p&gt;One of the most important API updates.&lt;/p&gt;

&lt;p&gt;Previously:&lt;/p&gt;

&lt;p&gt;Updating instructions often required rebuilding conversation history.&lt;/p&gt;

&lt;p&gt;Now developers can inject:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"system"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Updated instructions"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;mid-conversation.&lt;/p&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better prompt caching&lt;/li&gt;
&lt;li&gt;Lower costs&lt;/li&gt;
&lt;li&gt;Cleaner agent architectures&lt;/li&gt;
&lt;li&gt;Dynamic permissions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is particularly useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-agent systems&lt;/li&gt;
&lt;li&gt;Autonomous workflows&lt;/li&gt;
&lt;li&gt;Long-running tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Refusal Stop Details
&lt;/h4&gt;

&lt;p&gt;Refusals now provide richer metadata.&lt;/p&gt;

&lt;p&gt;Applications can distinguish between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Safety refusals&lt;/li&gt;
&lt;li&gt;Capability limitations&lt;/li&gt;
&lt;li&gt;Policy constraints&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;allowing better routing and user experiences.&lt;/p&gt;

&lt;h4&gt;
  
  
  Lower Prompt Cache Threshold
&lt;/h4&gt;

&lt;p&gt;Previous minimum:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Higher token requirement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;New minimum:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1,024 tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More cache hits&lt;/li&gt;
&lt;li&gt;Lower costs&lt;/li&gt;
&lt;li&gt;Faster repeated workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;without requiring code changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adaptive Thinking
&lt;/h3&gt;

&lt;p&gt;Claude Opus 4.8 continues using:&lt;/p&gt;

&lt;h4&gt;
  
  
  Adaptive Thinking
&lt;/h4&gt;

&lt;p&gt;Instead of always reasoning, the model decides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When deep thinking is necessary&lt;/li&gt;
&lt;li&gt;When a direct response is sufficient&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced token waste&lt;/li&gt;
&lt;li&gt;Faster responses&lt;/li&gt;
&lt;li&gt;Improved efficiency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple questions receive direct answers.&lt;/p&gt;

&lt;p&gt;Complex problems trigger deeper reasoning automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benchmark Performance
&lt;/h3&gt;

&lt;p&gt;Anthropic reports improvements across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Coding&lt;/li&gt;
&lt;li&gt;Agentic tasks&lt;/li&gt;
&lt;li&gt;Tool usage&lt;/li&gt;
&lt;li&gt;Reasoning&lt;/li&gt;
&lt;li&gt;Practical knowledge work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key highlights include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better long-horizon performance&lt;/li&gt;
&lt;li&gt;Stronger software engineering capabilities&lt;/li&gt;
&lt;li&gt;Improved real-world task completion&lt;/li&gt;
&lt;li&gt;More reliable autonomous workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perhaps most importantly:&lt;/p&gt;

&lt;p&gt;The gains are not limited to benchmark scores.&lt;/p&gt;

&lt;p&gt;They are visible in actual developer workflows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Migration Guide
&lt;/h3&gt;

&lt;p&gt;Upgrading from Opus 4.7 is straightforward.&lt;/p&gt;

&lt;h4&gt;
  
  
  Change Model Name
&lt;/h4&gt;

&lt;p&gt;Before:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-opus-4-7&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-opus-4-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Review Effort Settings
&lt;/h4&gt;

&lt;p&gt;Opus 4.8 defaults to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;effort&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"high"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For coding workflows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;effort&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"xhigh"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;is often recommended.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remove Context Window Beta Headers
&lt;/h3&gt;

&lt;p&gt;The 1M token context window is now standard.&lt;/p&gt;

&lt;p&gt;Legacy beta headers can be removed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adopt Mid-Conversation System Messages
&lt;/h3&gt;

&lt;p&gt;This is one of the easiest ways to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce costs&lt;/li&gt;
&lt;li&gt;Improve caching&lt;/li&gt;
&lt;li&gt;Simplify agent design&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pricing
&lt;/h3&gt;

&lt;p&gt;Standard Mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;$5 / million input tokens&lt;/li&gt;
&lt;li&gt;$25 / million output tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fast Mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;$10 / million input tokens&lt;/li&gt;
&lt;li&gt;$50 / million output tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Despite the capability improvements, standard pricing remains unchanged from Opus 4.7.&lt;/p&gt;

&lt;h3&gt;
  
  
  What About Claude Mythos?
&lt;/h3&gt;

&lt;p&gt;Anthropic also revealed progress on:&lt;/p&gt;

&lt;h4&gt;
  
  
  Claude Mythos
&lt;/h4&gt;

&lt;p&gt;Currently available to a limited group of organizations under Project Glasswing.&lt;/p&gt;

&lt;p&gt;Mythos is expected to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exceed Opus-level intelligence&lt;/li&gt;
&lt;li&gt;Target cybersecurity workloads&lt;/li&gt;
&lt;li&gt;Require stronger safeguards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anthropic plans broader availability after completing safety evaluations.&lt;/p&gt;

&lt;p&gt;This suggests Opus 4.8 may be the final major step before Anthropic introduces an entirely new capability tier.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Verdict
&lt;/h3&gt;

&lt;p&gt;Claude Opus 4.8 is not a revolutionary jump over Opus 4.7, but it is a meaningful upgrade in the areas that matter most to developers.&lt;/p&gt;

&lt;p&gt;Its strengths include:&lt;/p&gt;

&lt;p&gt;✅ Better coding performance&lt;/p&gt;

&lt;p&gt;✅ Improved agent reliability&lt;/p&gt;

&lt;p&gt;✅ Stronger long-context handling&lt;/p&gt;

&lt;p&gt;✅ Better tool usage&lt;/p&gt;

&lt;p&gt;✅ More honest reasoning&lt;/p&gt;

&lt;p&gt;✅ Dynamic Workflows in Claude Code&lt;/p&gt;

&lt;p&gt;✅ 1M token context window&lt;/p&gt;

&lt;p&gt;✅ Effort control&lt;/p&gt;

&lt;p&gt;✅ Faster execution options&lt;/p&gt;

&lt;p&gt;For developers using Claude Code, Cursor, IDE agents, autonomous coding systems, or enterprise AI workflows, Claude Opus 4.8 is currently one of the strongest AI models available in production.&lt;/p&gt;

&lt;p&gt;The combination of stronger reasoning, improved honesty, large-context understanding, and scalable agent workflows makes it a compelling choice for teams building the next generation of AI-powered software.&lt;/p&gt;

</description>
      <category>aimodel</category>
      <category>artificialintelligen</category>
      <category>opus48</category>
      <category>claudeopus</category>
    </item>
    <item>
      <title>CVE Lite CLI: The Dependency Scanner That Actually Tells You What to Run (Not Just What’s Broken)</title>
      <dc:creator>TechLatest</dc:creator>
      <pubDate>Mon, 25 May 2026 17:24:25 +0000</pubDate>
      <link>https://dev.to/techlatestnet/cve-lite-cli-the-dependency-scanner-that-actually-tells-you-what-to-run-not-just-whats-broken-4j5d</link>
      <guid>https://dev.to/techlatestnet/cve-lite-cli-the-dependency-scanner-that-actually-tells-you-what-to-run-not-just-whats-broken-4j5d</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6sr8c9h1ydmz93xxnc9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6sr8c9h1ydmz93xxnc9n.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last week, I was 20 minutes from pushing a hotfix. CI passed. Tests green. Then Dependabot pinged: &lt;em&gt;“12 vulnerabilities found.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I clicked through. Got a list of CVE IDs. No fix commands. No “upgrade this, not that.” Just a wall of red and a vague sense of dread.&lt;/p&gt;

&lt;p&gt;I spent the next hour:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Googling each CVE&lt;/li&gt;
&lt;li&gt;Checking if it was direct or transitive&lt;/li&gt;
&lt;li&gt;Figuring out which parent package to bump&lt;/li&gt;
&lt;li&gt;Testing if the upgrade broke anything&lt;/li&gt;
&lt;li&gt;Finally, writing the right npm install command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the time I pushed, the “quick fix” wasn’t quick at all.&lt;/p&gt;

&lt;p&gt;If you’ve shipped JavaScript or TypeScript, you know this feeling. The gap between &lt;em&gt;“something’s vulnerable”&lt;/em&gt; and &lt;em&gt;“here’s exactly what to run to fix it”&lt;/em&gt; is where good intentions go to die.&lt;/p&gt;

&lt;p&gt;That’s the exact problem CVE Lite CLI tries to solve.&lt;/p&gt;

&lt;p&gt;It’s not another dashboard. Not another CI gate that blocks your PR at 2 AM. It’s a lightweight, local-first CLI that reads your lockfile, checks for known vulnerabilities, and spits out copy-and-run fix commands.&lt;/p&gt;

&lt;p&gt;No account. No config. No source code leaves your machine.&lt;/p&gt;

&lt;p&gt;I installed it yesterday. Scanned a few real projects. Here’s what actually happened — and whether it’s worth adding to your workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  First Things First: What Is This Thing, Really?
&lt;/h3&gt;

&lt;p&gt;CVE Lite CLI is an OWASP Incubator Project — peer-reviewed by the same org behind the OWASP Top 10 — that scans your package-lock.json, pnpm-lock.yaml, yarn.lock, or bun.lock for known vulnerabilities.&lt;/p&gt;

&lt;p&gt;But here’s the twist: instead of dumping a list of CVE IDs and calling it a day, it gives you:&lt;/p&gt;

&lt;p&gt;✅ Copy-and-run fix commands — npm install @, pnpm add @, etc.&lt;br&gt;&lt;br&gt;
✅ Direct vs. transitive visibility — shows if the vuln is in something you installed or buried three levels deep&lt;br&gt;&lt;br&gt;
✅ Parent-aware remediation — for transitive deps, it tells you whether npm update  Is enough, or if you need to bump the parent itself&lt;br&gt;&lt;br&gt;
✅ Offline mode — sync the advisory DB once, scan forever with zero network calls&lt;br&gt;&lt;br&gt;
✅ Usage-aware filtering — optionally check if vulnerable packages are actually imported in your code (cuts noise fast)&lt;/p&gt;

&lt;p&gt;It’s built for the moment right before you push: fast, honest, and actionable.&lt;/p&gt;
&lt;h3&gt;
  
  
  Why This Feels Different (The Philosophy)
&lt;/h3&gt;

&lt;p&gt;Most security tooling is designed for pipelines, not people.&lt;/p&gt;

&lt;p&gt;Dependabot files PRs you’ll merge eventually. CI scanners block builds hours after you’ve context-switched. Dashboards surface CVE IDs with no clear path to resolution.&lt;/p&gt;

&lt;p&gt;By the time you see a finding, the code is already reviewed, the momentum is gone, and you’re just trying to unblock the merge.&lt;/p&gt;

&lt;p&gt;CVE Lite CLI flips that. It assumes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“The best time to fix a vulnerable dependency is when you’re already in the terminal, about to push — not after CI fails.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So it runs locally. It’s fast. It gives you the exact command to run. And it gets out of your way.&lt;/p&gt;

&lt;p&gt;That’s not flashy. But it’s how real developers work.&lt;/p&gt;
&lt;h4&gt;
  
  
  Step 1: Installing CVE Lite CLI
&lt;/h4&gt;

&lt;p&gt;Getting started takes less than a minute. No accounts, no cloud onboarding, no configuration files.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Create a working directory
mkdir cve-lite-blog-test
cd cve-lite-blog-test

# Verify local environment
npm -v
# 10.8.2

node -v
# v20.20.2

# Install globally
npm install -g cve-lite-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The install pulls in ~43 packages and completes in ~16 seconds on a standard connection. A deprecation warning prebuild-install may appear—this is a transitive dependency notice and doesn’t block functionality. npm may also surface a version update prompt; neither requires action to run the scanner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffn0ite4oyibmkwd86zkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffn0ite4oyibmkwd86zkb.png" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Preparing a Controlled Test Environment
&lt;/h4&gt;

&lt;p&gt;To evaluate CVE Lite CLI against a known baseline, we scaffolded a minimal Node.js project and intentionally installed dependency versions with documented vulnerabilities.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Initialize a default package.json
npm init -y

# Install known vulnerable versions for testing
npm install lodash@4.17.20 express@4.17.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;npm init -y generates a standard package.json with default fields. The subsequent install pulls in &lt;a href="mailto:lodash@4.17.20"&gt;lodash@4.17.20&lt;/a&gt; and &lt;a href="mailto:express@4.17.1"&gt;express@4.17.1&lt;/a&gt;, along with their transitive dependencies.&lt;/p&gt;

&lt;p&gt;npm’s built-in audit immediately flags the risk:&lt;/p&gt;

&lt;p&gt;Added 51 packages, and audited 52 packages in 2s&lt;br&gt;&lt;br&gt;
8 vulnerabilities (3 low, 5 high)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43duyq1jnnhkg39sql23.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43duyq1jnnhkg39sql23.png" width="799" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1evgbyih5r9pfn31vw98.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1evgbyih5r9pfn31vw98.png" width="800" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To address all issues, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm audit fix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwzqae7sv3ae16r2wv16.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwzqae7sv3ae16r2wv16.png" width="800" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This output is familiar to any JavaScript developer. It confirms vulnerabilities exist and suggests a bulk fix command. However, it doesn’t clarify which vulnerabilities are direct vs. transitive, whether it npm audit fix will introduce breaking changes, or which parent packages actually need updating.&lt;/p&gt;

&lt;p&gt;This is where CVE Lite CLI’s workflow diverges. Instead of a generic fix suggestion, it parses the same lockfile and returns a structured remediation plan with package-manager-aware commands, dependency path context, and severity prioritization.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3: Running the First Scan (And Dealing With Unexpected Results)
&lt;/h4&gt;

&lt;p&gt;With the test project ready, we ran the initial CVE Lite CLI scan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-lite .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output was immediate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CVE Lite CLI (1.17.3)
✓ Scan dependencies
✓ Highlight critical issues
✓ Show a clear fix plan

Fast. Local. Developer-first.

Advisory source: OSV (https://api.osv.dev)
Parsed 69 packages from package-lock (package-lock.json)
✓ Queried OSV in 1 batch
✓ Scan complete. No known vulnerabilities found.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjwdgh8z4zkzz5q4dxr2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjwdgh8z4zkzz5q4dxr2.png" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;npm audit just reported 8 vulnerabilities, but CVE Lite found none.&lt;/p&gt;

&lt;p&gt;This isn’t a bug. It’s a feature of how different vulnerability databases work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npm audit checks against the npm security advisory database, which includes npm-specific metadata and sometimes broader matching rules&lt;/li&gt;
&lt;li&gt;CVE Lite CLI queries the OSV (Open Source Vulnerabilities) database, which is a curated, cross-ecosystem standard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The discrepancy likely means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;npm’s database has broader matching (e.g., flagging version ranges rather than exact versions)&lt;/li&gt;
&lt;li&gt;Some npm advisories haven’t been mirrored to OSV yet&lt;/li&gt;
&lt;li&gt;npm may have already applied silent fixes during install&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To verify what’s actually installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm list lodash express
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This shows the exact resolved versions in the dependency tree. If npm auto-fixed during install, the vulnerable versions might already be gone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fszaap39kia8zkdmc2oul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fszaap39kia8zkdmc2oul.png" width="800" height="157"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4: Forcing the Vulnerable Baseline (Why npm “Helped” Too Much)
&lt;/h4&gt;

&lt;p&gt;The npm list output confirms what happened:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;express@4.22.2
lodash@4.18.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of installing &lt;a href="mailto:express@4.17.1"&gt;express@4.17.1&lt;/a&gt; and &lt;a href="mailto:lodash@4.17.20"&gt;lodash@4.17.20&lt;/a&gt;, NPM's semver resolver automatically upgraded both packages to the latest patch versions within their major ranges. This is npm's default behavior when newer, non-vulnerable releases exist, and it's exactly what you want in production.&lt;/p&gt;

&lt;p&gt;For testing purposes, however, it means our dependency tree is already clean. To demonstrate CVE Lite CLI’s remediation workflow, we need to pin the exact vulnerable versions and prevent automatic resolution.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Remove existing modules and lockfile to start fresh
rm -rf node_modules package-lock.json

# Force exact vulnerable versions in package.json
npm install lodash@4.17.20 express@4.17.1 --save-exact

# Verify the resolved versions
npm list lodash express
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F02mylw60l84c4zzriegx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F02mylw60l84c4zzriegx.png" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-lite-blog-test@1.0.0 /path/to/project
├── express@4.17.1
└── lodash@4.17.20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2w0ow0bwpu1rna0tdkx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg2w0ow0bwpu1rna0tdkx.png" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the vulnerable baseline locked in place, we can now run CVE Lite CLI against a dependency tree that actually contains known advisory matches.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Terminal showing&lt;/em&gt; &lt;em&gt;npm list output with&lt;/em&gt; &lt;em&gt;&lt;a href="mailto:express@4.22.2"&gt;express@4.22.2&lt;/a&gt; and&lt;/em&gt; &lt;em&gt;&lt;a href="mailto:lodash@4.18.1"&gt;lodash@4.18.1&lt;/a&gt;, followed by the clean reinstall and verification commands.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Next: Running cve-lite . against the pinned vulnerable versions to capture the actual findings, dependency path context, and generated fix commands.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 5: Running the Scan Against a Vulnerable Baseline (And Reading the Output)
&lt;/h4&gt;

&lt;p&gt;After pinning the exact vulnerable versions (&lt;a href="mailto:lodash@4.17.20"&gt;lodash@4.17.20&lt;/a&gt; and &lt;a href="mailto:express@4.17.1"&gt;express@4.17.1&lt;/a&gt;) and regenerating the lockfile, we ran the scanner:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-lite .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here’s the actual output from our test environment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;_ CVE Lite CLI (1.17.3)
────────────────────────────────
✔ Scan dependencies
✔ Highlight critical issues
✔ Show a clear fix plan

Fast. Local. Developer-first.

Advisory source: OSV (https://api.osv.dev)
Parsed 51 packages from package-lock (package-lock.json)
✓ Queried OSV in 1 batch
✓ Loaded 17 vulnerability detail records
⠙ Analyzing vulnerability findings 1/14: validating fix target for body-parser
⠹ Analyzing vulnerability findings 2/14: validating fix target for cookie@0.4.
⠸ Analyzing vulnerability findings 2/14: validating fix target for cookie@0.4.
⠼ Analyzing vulnerability findings 3/14: validating fix target for express@4.1
⠴ Analyzing vulnerability findings 4/14: validating fix target for lodash@4.17
⠦ Analyzing vulnerability findings 4/14: validating fix target for lodash@4.17
⠧ Analyzing vulnerability findings 5/14: validating fix target for path-to-reg
⠋ Analyzing vulnerability findings 7/14: validating fix target for send@0.17.1
⠙ Analyzing vulnerability findings 8/14: validating fix target for serve-stati
⠹ Analyzing vulnerability findings 8/14: validating fix target for serve-stati
⠸ Analyzing vulnerability findings 9/14: resolving remediation for body-parser
⠼ Analyzing vulnerability findings 10/14: resolving remediation for cookie@0.4
⠴ Analyzing vulnerability findings 11/14: resolving remediation for path-to-re
⠦ Analyzing vulnerability findings 12/14: resolving remediation for qs@6.7.0..
⠧ Analyzing vulnerability findings 13/14: resolving remediation for send@0.17.
⠇ Analyzing vulnerability findings 14/14: resolving remediation for serve-stat
✓ Analyzed vulnerability findings

────────────────────────────────
📦 Vulnerabilities found
────────────────────────────────

HIGH lodash@4.17.20
            Direct dependency
            Fix: upgrade to 4.18.0

HIGH body-parser@1.19.0
            Transitive dependency
            Fix: upgrade express to 4.22.0

HIGH path-to-regexp@0.1.7
            Transitive dependency
            Fix: upgrade express to 4.22.0

────────────────────────────────
🛠 Copy And Run These Fix Commands
────────────────────────────────

Detected package manager: npm (package-lock.json)
1 command group ready across 2 packages (1 high).
Validation: scanned 3 package versions; 2 are still known vulnerable.

High severity fix commands
&amp;gt; npm install express@4.22.0 lodash@4.18.0

────────────────────────────────
Summary
────────────────────────────────

8 packages · 17 CVEs
4 high · 1 medium · 3 low
2 direct · 6 transitive

✖ Scan complete. 4 urgent issues found.
Run with --verbose for fix plan, paths, and full table.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  How to Read This Output (Without Getting Overwhelmed)
&lt;/h4&gt;

&lt;p&gt;The scan completes in under 3 seconds and structures findings around action, not just awareness.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Section | What it tells you | Why it matters for engineering teams |
| ----------------------------------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `Parsed 51 packages` | Scope of the dependency tree | Confirms the scanner is analyzing your actual lockfile, not a cached snapshot |
| `HIGH / MEDIUM / LOW` | Severity tier mapped to CVSS/OSV scoring | Enables triage by business impact, not just vulnerability count |
| `[Direct dependency] / [Transitive dependency]` | Ownership context | Tells you whether your team controls the fix or needs to coordinate with a parent package maintainer |
| `Fix: upgrade to X.Y.Z` | Exact, package-manager-aware command | Copy, paste, run. No advisory page hunting, no version guessing |
| `1 command group ready across 2 packages` | Consolidated remediation | Instead of multiple separate `npm install` commands, you get one grouped command that resolves multiple findings |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key observation: The scanner identified that updating &lt;a href="mailto:express@4.22.0"&gt;express@4.22.0&lt;/a&gt; resolves &lt;em&gt;both&lt;/em&gt; the body-parser and path-to-regexp transitive vulnerabilities. This parent-aware logic prevents the common anti-pattern of manually pinning transitive dependencies, which often breaks future semver resolution or introduces compatibility drift.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0olffgc0cgmhkwh5h8f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0olffgc0cgmhkwh5h8f.png" width="799" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2n0kdk7abl4ew6nfgkkf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2n0kdk7abl4ew6nfgkkf.png" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F702l5ipm2kjo4bvg7ra7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F702l5ipm2kjo4bvg7ra7.png" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What This Means for Your Workflow
&lt;/h4&gt;

&lt;p&gt;Before CVE Lite CLI, resolving these four high-severity findings would typically involve:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Opening each CVE link in a browser&lt;/li&gt;
&lt;li&gt;Checking whether the vulnerability applies to your usage pattern&lt;/li&gt;
&lt;li&gt;Determining if the package is direct or transitive&lt;/li&gt;
&lt;li&gt;Researching the minimum safe version for each dependency&lt;/li&gt;
&lt;li&gt;Constructing the correct npm install or npm update command&lt;/li&gt;
&lt;li&gt;Testing whether the upgrade introduces breaking changes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With CVE Lite CLI, that workflow collapses to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run cve-lite .&lt;/li&gt;
&lt;li&gt;Copy the suggested command: npm install &lt;a href="mailto:express@4.22.0"&gt;express@4.22.0&lt;/a&gt; &lt;a href="mailto:lodash@4.18.0"&gt;lodash@4.18.0&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Run it&lt;/li&gt;
&lt;li&gt;Rescan to verify&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s not automation replacing judgment. It’s tooling removing friction so engineers can focus on what actually requires human insight: impact assessment, compatibility testing, and release coordination.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Terminal output showing the structured finding list with severity badges, dependency types, and the consolidated fix command.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 6: Applying the Fix and Verifying the Result (Real Iterative Workflow)
&lt;/h4&gt;

&lt;p&gt;CVE Lite CLI surfaced four high-severity findings and returned a consolidated remediation command. We applied the fix:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Apply the consolidated fix command from Step 5
npm install express@4.22.0 lodash@4.18.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xu0vve31rqx7h5mgpdk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xu0vve31rqx7h5mgpdk.png" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;npm upgraded both packages, updated the lockfile, and reinstalled affected transitive dependencies. Then we rescanned to verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-lite .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here’s the actual output after the first round of fixes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;_ CVE Lite CLI (1.17.3)
────────────────────────────────
✔ Scan dependencies
✔ Highlight critical issues
✔ Show a clear fix plan

Fast. Local. Developer-first.

Advisory source: OSV (https://api.osv.dev)
Parsed 70 packages from package-lock (package-lock.json)
Cache: 51 package match records, 17 advisory detail records
✓ Queried OSV in 1 batch
✓ Loaded 1 vulnerability detail record
✓ Analyzed vulnerability findings

────────────────────────────────
📦 Vulnerabilities found
────────────────────────────────

────────────────────────────────
🛠 Copy And Run These Fix Commands
────────────────────────────────

Detected package manager: npm (package-lock.json)
1 command group ready across 1 package (1 medium).

Medium severity parent upgrades
&amp;gt; npm install express@4.22.2

────────────────────────────────
Summary
────────────────────────────────

1 package · 1 CVE
1 medium
0 direct · 1 transitive

▲ Scan complete. 1 issue found.
Run with --verbose for fix plan, paths, and full table.

| Observation | What it means | Why it matters |
| ----------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------- |
| `Parsed 70 packages (up from 51)` | New dependencies resolved during upgrade | Confirms the lockfile reflects the actual installed tree |
| `Loaded 1 vulnerability detail record (down from 17)` | Most findings resolved by the first fix | Shows measurable progress, not just “still broken” |
| `1 medium severity (down from 4 high)` | Risk reduced, not eliminated | Realistic expectation: remediation is iterative |
| `0 direct • 1 transitive` | Remaining issue is in a dependency of a dependency | Tells you the fix requires updating a parent, not pinning a leaf |
| `npm install express@4.22.2` | Consolidated command to resolve the remaining finding | One command, not three. Less cognitive load |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  What This Output Tells You (And Why It’s Actually Good News)
&lt;/h4&gt;

&lt;p&gt;Key insight: Dependency remediation is rarely a one-shot operation. You fix the highest-severity issues, rescan, and address the next layer. CVE Lite CLI makes this iterative loop visible and actionable — instead of hiding it behind a generic “run npm audit fix" suggestion.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 7: Applying the Final Fix
&lt;/h4&gt;

&lt;p&gt;The scanner recommends a single command to resolve the remaining medium-severity finding:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Apply the final parent upgrade
npm install express@4.22.2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5sl2lt78cvsplnuyok2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5sl2lt78cvsplnuyok2.png" width="800" height="218"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then rescan to confirm the tree is clean:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-lite .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected clean output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;_ CVE Lite CLI (1.17.3)
────────────────────────────────
✔ Scan dependencies
✔ Highlight critical issues
✔ Show a clear fix plan

Fast. Local. Developer-first.

Advisory source: OSV (https://api.osv.dev)
Parsed 70 packages from package-lock (package-lock.json)
Cache: 51 package match records, 17 advisory detail records
✓ Queried OSV in 1 batch
✓ Loaded 0 vulnerability detail records
✓ Analyzed vulnerability findings

────────────────────────────────
📦 Vulnerabilities found
────────────────────────────────
✓ No known vulnerabilities found.

────────────────────────────────
Summary
────────────────────────────────

0 packages · 0 CVEs
0 high · 0 medium · 0 low

✓ Scan complete. All dependencies clean.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjnum51po0baiu1e7sxz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjnum51po0baiu1e7sxz.png" width="799" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Verification: Cross-Check with npm Audit (Optional but Recommended)
&lt;/h4&gt;

&lt;p&gt;To ensure alignment between scanning tools, cross-check with npm’s built-in audit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm audit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07n2w3xhygwd717kkfpt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07n2w3xhygwd717kkfpt.png" width="800" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What This Means for Your Release Workflow
&lt;/h4&gt;

&lt;p&gt;Before CVE Lite CLI, verifying a multi-stage fix required:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Running npm audit fix or manually constructing upgrade commands&lt;/li&gt;
&lt;li&gt;Waiting for CI to re-run and report results&lt;/li&gt;
&lt;li&gt;Checking dashboards to confirm findings were resolved&lt;/li&gt;
&lt;li&gt;Often repeating the cycle if new transitive issues surfaced&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With CVE Lite CLI, the loop collapses to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run cve-lite . → get fix command&lt;/li&gt;
&lt;li&gt;Apply fix → rescan locally in seconds&lt;/li&gt;
&lt;li&gt;Push when clean&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That shift — from &lt;em&gt;“wait for CI to tell me it’s broken”&lt;/em&gt; to &lt;em&gt;“verify before I push”&lt;/em&gt; — is what reduces release friction and prevents vulnerable code from reaching review queues in the first place.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Terminal output showing post-fix scan with “No known vulnerabilities found” and clean&lt;/em&gt; &lt;em&gt;npm audit output.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 8: Generating a Shareable HTML Report (For Compliance and Team Visibility)
&lt;/h4&gt;

&lt;p&gt;Once the dependency tree is clean — or while findings still need remediation — teams often need to document the security posture for compliance audits, stakeholder updates, or handoff to other engineers. CVE Lite CLI can generate a self-contained HTML report that consolidates findings, fix commands, and severity summaries in a shareable format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Generate and automatically open HTML report
cve-lite . --report
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6eex02r7dyyo03mxstz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6eex02r7dyyo03mxstz.png" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmtkz1wg6v025e5om45l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmtkz1wg6v025e5om45l.png" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 9: Testing Against Real-World Repositories (Beyond the Toy Project)
&lt;/h4&gt;

&lt;p&gt;The minimal test project proved the workflow works. But engineering teams care about how tools behave against real codebases with complex dependency trees, monorepos, and transitive chains.&lt;/p&gt;

&lt;p&gt;We tested CVE Lite CLI against three real projects to see how it scales:&lt;/p&gt;

&lt;h4&gt;
  
  
  Option A: OWASP Juice Shop (Deliberately Vulnerable)
&lt;/h4&gt;

&lt;p&gt;OWASP Juice Shop is a deliberately insecure Node.js application designed for security training. It’s the perfect safe, legal target for testing vulnerability scanners.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Clone Juice Shop
git clone https://github.com/juice-shop/juice-shop.git
cd juice-shop

# Install dependencies (this pulls in known vulnerable packages)
npm install

# Run CVE Lite CLI scan
cve-lite .

# Generate verbose output with full dependency paths
cve-lite . --verbose

# Create HTML report for documentation
cve-lite . --report ./juice-shop-report --no-open
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpivgnp176t6cdjdetd6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpivgnp176t6cdjdetd6.png" width="799" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi7z9c0k1vg6kwekbil5u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi7z9c0k1vg6kwekbil5u.png" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F234tdw4oo9vqfan15byv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F234tdw4oo9vqfan15byv.png" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56ynka4g62hvhj8lmpnr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56ynka4g62hvhj8lmpnr.png" width="799" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0vt9ivehb0cvdbo5car.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0vt9ivehb0cvdbo5car.png" width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit5vrl4qloz20dh7y7om.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fit5vrl4qloz20dh7y7om.png" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0mtyl6xfcg7yr8sl5fe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc0mtyl6xfcg7yr8sl5fe.png" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Auto-Open in Browser
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Scan and automatically open report in your default browser
cve-lite . --report
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate the HTML report in ./report directory (relative to your current working directory)&lt;/li&gt;
&lt;li&gt;Automatically open report/index.html in your system's default browser&lt;/li&gt;
&lt;li&gt;Keep the terminal free for other commands&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fo6gddrtfv8wkwkijec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fo6gddrtfv8wkwkijec.png" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;Most vulnerability scanners are good at telling developers what’s broken.&lt;/p&gt;

&lt;p&gt;Far fewer are good at telling them what to actually do next.&lt;/p&gt;

&lt;p&gt;That’s where &lt;a href="https://github.com/OWASP/cve-lite-cli" rel="noopener noreferrer"&gt;CVE Lite CLI&lt;/a&gt; feels different.&lt;/p&gt;

&lt;p&gt;After testing it across both controlled environments and real-world repositories, the biggest takeaway wasn’t just that it detected vulnerabilities correctly — most modern scanners can do that. The real value was how much friction it removed from the remediation process itself.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;digging through advisory pages&lt;/li&gt;
&lt;li&gt;tracing transitive dependency chains manually&lt;/li&gt;
&lt;li&gt;guessing safe upgrade versions&lt;/li&gt;
&lt;li&gt;constructing install commands by hand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow became:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cve-lite .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy the suggested fix command.&lt;/p&gt;

&lt;p&gt;Run it.&lt;/p&gt;

&lt;p&gt;Rescan.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;That sounds simple, but simplicity is exactly what modern dependency security tooling has been missing.&lt;/p&gt;

&lt;p&gt;The project also gets an important philosophical point right: developers are far more likely to fix vulnerabilities when the feedback loop happens locally, immediately, and inside their normal workflow — not hours later in a failing CI pipeline or buried inside a security dashboard.&lt;/p&gt;

&lt;p&gt;And because the tool:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;works offline&lt;/li&gt;
&lt;li&gt;supports npm, pnpm, Yarn, and Bun&lt;/li&gt;
&lt;li&gt;understands transitive remediation paths&lt;/li&gt;
&lt;li&gt;integrates with SARIF and CI pipelines&lt;/li&gt;
&lt;li&gt;generates shareable HTML reports&lt;/li&gt;
&lt;li&gt;and now even plugs into AI coding assistants&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…it fits naturally into both solo developer workflows and larger engineering environments.&lt;/p&gt;

&lt;p&gt;Is it a replacement for full AppSec platforms? No.&lt;/p&gt;

&lt;p&gt;It won’t detect malware hidden in packages before advisories exist. It won’t replace SAST, DAST, container scanning, SBOM management, or runtime protection. And it shouldn’t.&lt;/p&gt;

&lt;p&gt;What it does instead is narrower — and arguably more useful day-to-day:&lt;/p&gt;

&lt;p&gt;It helps developers fix dependency vulnerabilities faster, with less noise and less guesswork.&lt;/p&gt;

&lt;p&gt;That’s a surprisingly important gap in the JavaScript ecosystem.&lt;/p&gt;

&lt;p&gt;If your current workflow involves waiting for CI to fail, opening five browser tabs for every CVE, and manually piecing together remediation commands, CVE Lite CLI is absolutely worth testing.&lt;/p&gt;

&lt;p&gt;Because at the end of the day, the best security tool is usually the one developers will actually use before they push code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thank you so much for reading
&lt;/h3&gt;

&lt;p&gt;Like | Follow | Subscribe to the newsletter.&lt;/p&gt;

&lt;p&gt;Catch us on&lt;/p&gt;

&lt;p&gt;Website: &lt;a href="https://www.techlatest.net/" rel="noopener noreferrer"&gt;https://www.techlatest.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Newsletter: &lt;a href="https://substack.com/@techlatest" rel="noopener noreferrer"&gt;https://substack.com/@techlatest&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Twitter: &lt;a href="https://twitter.com/TechlatestNet" rel="noopener noreferrer"&gt;https://twitter.com/TechlatestNet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/techlatest-net/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/techlatest-net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;YouTube:&lt;a href="https://www.youtube.com/@techlatest_net/" rel="noopener noreferrer"&gt;https://www.youtube.com/@techlatest_net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Blogs: &lt;a href="https://medium.com/@techlatest.net" rel="noopener noreferrer"&gt;https://medium.com/@techlatest.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reddit Community: &lt;a href="https://www.reddit.com/user/techlatest_net/" rel="noopener noreferrer"&gt;https://www.reddit.com/user/techlatest_net/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>owasp</category>
      <category>typescript</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
