[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C3BYT5TC5BS1RH4ESWYYWE":3,"skill-same:01M6C3BYT5TC5BS1RH4ESWYYWE":98},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":71,"commitSha":72,"skillDirectory":73,"forksCount":74,"repositoryHtmlUrl":75,"repositoryHomepageUrl":6,"ownerHtmlUrl":76,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":77,"install":78,"resources":91},"01M6C3BYT5TC5BS1RH4ESWYYWE","honcho",null,"Configure and use Honcho memory with Hermes -- cross-session user modeling, multi-profile peer isolation, observation config, dialectic reasoning, session summaries, and context budget enforcement. Use when setting up Honcho, troubleshooting memory, managing profiles with Honcho peers, or tuning observation, recall, and dialectic settings.","adnichols\u002Fai-configs","adnichols","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F493746?v=4","01M6C33VRY9WF6XWYPT1AFA7JJ","Aaron Nichols","01M6C33VWTNKGRM92E9G643V4W",5,"MIT","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fautonomous-ai-agents\u002Fhoncho\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[5,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"dialectic","up","use","session","settings","context budget","hermes agent","hermes","troubleshooting","docs","configure","recall","Budget","tuning","https","dev","reasoning","config","memory","2026-11-10 10:12:30",false,"---\nname: honcho\ndescription: Configure and use Honcho memory with Hermes -- cross-session user modeling, multi-profile peer isolation, observation config, dialectic reasoning, session summaries, and context budget enforcement. Use when setting up Honcho, troubleshooting memory, managing profiles with Honcho peers, or tuning observation, recall, and dialectic settings.\nversion: 2.0.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [Honcho, Memory, Profiles, Observation, Dialectic, User-Modeling, Session-Summary]\n    homepage: https:\u002F\u002Fdocs.honcho.dev\n    related_skills: [hermes-agent]\nprerequisites:\n  pip: [honcho-ai]\n---\n\n# Honcho Memory for Hermes\n\nHoncho provides AI-native cross-session user modeling. It learns who the user is across conversations and gives every Hermes profile its own peer identity while sharing a unified view of the user.\n\n## When to Use\n\n- Setting up Honcho (cloud or self-hosted)\n- Troubleshooting memory not working \u002F peers not syncing\n- Creating multi-profile setups where each agent has its own Honcho peer\n- Tuning observation, recall, dialectic depth, or write frequency settings\n- Understanding what the 5 Honcho tools do and when to use them\n- Configuring context budgets and session summary injection\n\n## Setup\n\n### Cloud (app.honcho.dev)\n\n```bash\nhermes honcho setup\n# select \"cloud\", paste API key from https:\u002F\u002Fapp.honcho.dev\n```\n\n### Self-hosted\n\n```bash\nhermes honcho setup\n# select \"local\", enter base URL (e.g. http:\u002F\u002Flocalhost:8000)\n```\n\nSee: https:\u002F\u002Fdocs.honcho.dev\u002Fv3\u002Fguides\u002Fintegrations\u002Fhermes#running-honcho-locally-with-hermes\n\n### Verify\n\n```bash\nhermes honcho status    # shows resolved config, connection test, peer info\n```\n\n## Architecture\n\n### Base Context Injection\n\nWhen Honcho injects context into the system prompt (in `hybrid` or `context` recall modes), it assembles the base context block in this order:\n\n1. **Session summary** -- a short digest of the current session so far (placed first so the model has immediate conversational continuity)\n2. **User representation** -- Honcho's accumulated model of the user (preferences, facts, patterns)\n3. **AI peer card** -- the identity card for this Hermes profile's AI peer\n\nThe session summary is generated automatically by Honcho at the start of each turn (when a prior session exists). It gives the model a warm start without replaying full history.\n\n### Cold \u002F Warm Prompt Selection\n\nHoncho automatically selects between two prompt strategies:\n\n| Condition | Strategy | What happens |\n|-----------|----------|--------------|\n| No prior session or empty representation | **Cold start** | Lightweight intro prompt; skips summary injection; encourages the model to learn about the user |\n| Existing representation and\u002For session history | **Warm start** | Full base context injection (summary → representation → card); richer system prompt |\n\nYou do not need to configure this -- it is automatic based on session state.\n\n### Peers\n\nHoncho models conversations as interactions between **peers**. Hermes creates two peers per session:\n\n- **User peer** (`peerName`): represents the human. Honcho builds a user representation from observed messages.\n- **AI peer** (`aiPeer`): represents this Hermes instance. Each profile gets its own AI peer so agents develop independent views.\n\n### Observation\n\nEach peer has two observation toggles that control what Honcho learns from:\n\n| Toggle | What it does |\n|--------|-------------|\n| `observeMe` | Peer's own messages are observed (builds self-representation) |\n| `observeOthers` | Other peers' messages are observed (builds cross-peer understanding) |\n\nDefault: all four toggles **on** (full bidirectional observation).\n\nConfigure per-peer in `honcho.json`:\n\n```json\n{\n  \"observation\": {\n    \"user\": { \"observeMe\": true, \"observeOthers\": true },\n    \"ai\":   { \"observeMe\": true, \"observeOthers\": true }\n  }\n}\n```\n\nOr use the shorthand presets:\n\n| Preset | User | AI | Use case |\n|--------|------|----|----------|\n| `\"directional\"` (default) | me:on, others:on | me:on, others:on | Multi-agent, full memory |\n| `\"unified\"` | me:on, others:off | me:off, others:on | Single agent, user-only modeling |\n\nSettings changed in the [Honcho dashboard](https:\u002F\u002Fapp.honcho.dev) are synced back on session init -- server-side config wins over local defaults.\n\n### Sessions\n\nHoncho sessions scope where messages and observations land. Strategy options:\n\n| Strategy | Behavior |\n|----------|----------|\n| `per-directory` (default) | One session per working directory |\n| `per-repo` | One session per git repository root |\n| `per-session` | New Honcho session each Hermes run |\n| `global` | Single session across all directories |\n\nManual override: `hermes honcho map my-project-name`\n\n### Recall Modes\n\nHow the agent accesses Honcho memory:\n\n| Mode | Auto-inject context? | Tools available? | Use case |\n|------|---------------------|-----------------|----------|\n| `hybrid` (default) | Yes | Yes | Agent decides when to use tools vs auto context |\n| `context` | Yes | No (hidden) | Minimal token cost, no tool calls |\n| `tools` | No | Yes | Agent controls all memory access explicitly |\n\n## Three Orthogonal Knobs\n\nHoncho's dialectic behavior is controlled by three independent dimensions. Each can be tuned without affecting the others:\n\n### Cadence (when)\n\nControls **how often** dialectic and context calls happen.\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `contextCadence` | `1` | Min turns between context API calls |\n| `dialecticCadence` | `3` | Min turns between dialectic API calls |\n| `injectionFrequency` | `every-turn` | `every-turn` or `first-turn` for base context injection |\n\nHigher cadence values reduce API calls and cost. `dialecticCadence: 3` (default) means the dialectic engine fires at most every 3rd turn.\n\n### Depth (how many)\n\nControls **how many rounds** of dialectic reasoning Honcho performs per query.\n\n| Key | Default | Range | Description |\n|-----|---------|-------|-------------|\n| `dialecticDepth` | `1` | 1-3 | Number of dialectic reasoning rounds per query |\n| `dialecticDepthLevels` | -- | array | Optional per-depth-round level overrides (see below) |\n\n`dialecticDepth: 2` means Honcho runs two rounds of dialectic synthesis. The first round produces an initial answer; the second refines it.\n\n`dialecticDepthLevels` lets you set the reasoning level for each round independently:\n\n```json\n{\n  \"dialecticDepth\": 3,\n  \"dialecticDepthLevels\": [\"low\", \"medium\", \"high\"]\n}\n```\n\nIf `dialecticDepthLevels` is omitted, rounds use **proportional levels** derived from `dialecticReasoningLevel` (the base):\n\n| Depth | Pass levels |\n|-------|-------------|\n| 1 | [base] |\n| 2 | [minimal, base] |\n| 3 | [minimal, base, low] |\n\nThis keeps earlier passes cheap while using full depth on the final synthesis.\n\n### Level (how hard)\n\nControls the **intensity** of each dialectic reasoning round.\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `dialecticReasoningLevel` | `low` | `minimal`, `low`, `medium`, `high`, `max` |\n| `dialecticDynamic` | `true` | When `true`, the model can pass `reasoning_level` to `honcho_reasoning` to override the default per-call. `false` = always use `dialecticReasoningLevel`, model overrides ignored |\n\nHigher levels produce richer synthesis but cost more tokens on Honcho's backend.\n\n## Multi-Profile Setup\n\nEach Hermes profile gets its own Honcho AI peer while sharing the same workspace (user context). This means:\n\n- All profiles see the same user representation\n- Each profile builds its own AI identity and observations\n- Conclusions written by one profile are visible to others via the shared workspace\n\n### Create a profile with Honcho peer\n\n```bash\nhermes profile create coder --clone\n# creates host block hermes.coder, AI peer \"coder\", inherits config from default\n```\n\nWhat `--clone` does for Honcho:\n1. Creates a `hermes.coder` host block in `honcho.json`\n2. Sets `aiPeer: \"coder\"` (the profile name)\n3. Inherits `workspace`, `peerName`, `writeFrequency`, `recallMode`, etc. from default\n4. Eagerly creates the peer in Honcho so it exists before first message\n\n### Backfill existing profiles\n\n```bash\nhermes honcho sync    # creates host blocks for all profiles that don't have one yet\n```\n\n### Per-profile config\n\nOverride any setting in the host block:\n\n```json\n{\n  \"hosts\": {\n    \"hermes.coder\": {\n      \"aiPeer\": \"coder\",\n      \"recallMode\": \"tools\",\n      \"dialecticDepth\": 2,\n      \"observation\": {\n        \"user\": { \"observeMe\": true, \"observeOthers\": false },\n        \"ai\": { \"observeMe\": true, \"observeOthers\": true }\n      }\n    }\n  }\n}\n```\n\n## Tools\n\nThe agent has 5 bidirectional Honcho tools (hidden in `context` recall mode):\n\n| Tool | LLM call? | Cost | Use when |\n|------|-----------|------|----------|\n| `honcho_profile` | No | minimal | Quick factual snapshot at conversation start or for fast name\u002Frole\u002Fpref lookups |\n| `honcho_search` | No | low | Fetch specific past facts to reason over yourself — raw excerpts, no synthesis |\n| `honcho_context` | No | low | Full session context snapshot: summary, representation, card, recent messages |\n| `honcho_reasoning` | Yes | medium–high | Natural language question synthesized by Honcho's dialectic engine |\n| `honcho_conclude` | No | minimal | Write or delete a persistent fact; pass `peer: \"ai\"` for AI self-knowledge |\n\n### `honcho_profile`\nRead or update a peer card — curated key facts (name, role, preferences, communication style). Pass `card: [...]` to update; omit to read. No LLM call.\n\n### `honcho_search`\nSemantic search over stored context for a specific peer. Returns raw excerpts ranked by relevance, no synthesis. Default 800 tokens, max 2000. Good when you need specific past facts to reason over yourself rather than a synthesized answer.\n\n### `honcho_context`\nFull session context snapshot from Honcho — session summary, peer representation, peer card, and recent messages. No LLM call. Use when you want to see everything Honcho knows about the current session and peer in one shot.\n\n### `honcho_reasoning`\nNatural language question answered by Honcho's dialectic reasoning engine (LLM call on Honcho's backend). Higher cost, higher quality. Pass `reasoning_level` to control depth: `minimal` (fast\u002Fcheap) → `low` → `medium` → `high` → `max` (thorough). Omit to use the configured default (`low`). Use for synthesized understanding of the user's patterns, goals, or current state.\n\n### `honcho_conclude`\nWrite or delete a persistent conclusion about a peer. Pass `conclusion: \"...\"` to create. Pass `delete_id: \"...\"` to remove a conclusion (for PII removal — Honcho self-heals incorrect conclusions over time, so deletion is only needed for PII). You MUST pass exactly one of the two.\n\n### Bidirectional peer targeting\n\nAll 5 tools accept an optional `peer` parameter:\n- `peer: \"user\"` (default) — operates on the user peer\n- `peer: \"ai\"` — operates on this profile's AI peer\n- `peer: \"\u003Cexplicit-id>\"` — any peer ID in the workspace\n\nExamples:\n```\nhoncho_profile                        # read user's card\nhoncho_profile peer=\"ai\"              # read AI peer's card\nhoncho_reasoning query=\"What does this user care about most?\"\nhoncho_reasoning query=\"What are my interaction patterns?\" peer=\"ai\" reasoning_level=\"medium\"\nhoncho_conclude conclusion=\"Prefers terse answers\"\nhoncho_conclude conclusion=\"I tend to over-explain code\" peer=\"ai\"\nhoncho_conclude delete_id=\"abc123\"    # PII removal\n```\n\n## Agent Usage Patterns\n\nGuidelines for Hermes when Honcho memory is active.\n\n### On conversation start\n\n```\n1. honcho_profile                  → fast warmup, no LLM cost\n2. If context looks thin → honcho_context  (full snapshot, still no LLM)\n3. If deep synthesis needed → honcho_reasoning  (LLM call, use sparingly)\n```\n\nDo NOT call `honcho_reasoning` on every turn. Auto-injection already handles ongoing context refresh. Use the reasoning tool only when you genuinely need synthesized insight the base context doesn't provide.\n\n### When the user shares something to remember\n\n```\nhoncho_conclude conclusion=\"\u003Cspecific, actionable fact>\"\n```\n\nGood conclusions: \"Prefers code examples over prose explanations\", \"Working on a Rust async project through April 2026\"\nBad conclusions: \"User said something about Rust\" (too vague), \"User seems technical\" (already in representation)\n\n### When the user asks about past context \u002F you need to recall specifics\n\n```\nhoncho_search query=\"\u003Ctopic>\"       → fast, no LLM, good for specific facts\nhoncho_context                       → full snapshot with summary + messages\nhoncho_reasoning query=\"\u003Cquestion>\"  → synthesized answer, use when search isn't enough\n```\n\n### When to use `peer: \"ai\"`\n\nUse AI peer targeting to build and query the agent's own self-knowledge:\n- `honcho_conclude conclusion=\"I tend to be verbose when explaining architecture\" peer=\"ai\"` — self-correction\n- `honcho_reasoning query=\"How do I typically handle ambiguous requests?\" peer=\"ai\"` — self-audit\n- `honcho_profile peer=\"ai\"` — review own identity card\n\n### When NOT to call tools\n\nIn `hybrid` and `context` modes, base context (user representation + card + session summary) is auto-injected before every turn. Do not re-fetch what was already injected. Call tools only when:\n- You need something the injected context doesn't have\n- The user explicitly asks you to recall or check memory\n- You're writing a conclusion about something new\n\n### Cadence awareness\n\n`honcho_reasoning` on the tool side shares the same cost as auto-injection dialectic. After an explicit tool call, the auto-injection cadence resets — avoiding double-charging the same turn.\n\n## Config Reference\n\nConfig file: `$HERMES_HOME\u002Fhoncho.json` (profile-local) or `~\u002F.honcho\u002Fconfig.json` (global).\n\n### Key settings\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `apiKey` | -- | API key ([get one](https:\u002F\u002Fapp.honcho.dev)) |\n| `baseUrl` | -- | Base URL for self-hosted Honcho |\n| `peerName` | -- | User peer identity |\n| `aiPeer` | host key | AI peer identity |\n| `workspace` | host key | Shared workspace ID |\n| `recallMode` | `hybrid` | `hybrid`, `context`, or `tools` |\n| `observation` | all on | Per-peer `observeMe`\u002F`observeOthers` booleans |\n| `writeFrequency` | `async` | `async`, `turn`, `session`, or integer N |\n| `sessionStrategy` | `per-directory` | `per-directory`, `per-repo`, `per-session`, `global` |\n| `messageMaxChars` | `25000` | Max chars per message (chunked if exceeded) |\n\n### Dialectic settings\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `dialecticReasoningLevel` | `low` | `minimal`, `low`, `medium`, `high`, `max` |\n| `dialecticDynamic` | `true` | Auto-bump reasoning by query complexity. `false` = fixed level |\n| `dialecticDepth` | `1` | Number of dialectic rounds per query (1-3) |\n| `dialecticDepthLevels` | -- | Optional array of per-round levels, e.g. `[\"low\", \"high\"]` |\n| `dialecticMaxInputChars` | `10000` | Max chars for dialectic query input |\n\n### Context budget and injection\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `contextTokens` | uncapped | Max tokens for the combined base context injection (summary + representation + card). Opt-in cap — omit to leave uncapped, set to an integer to bound injection size. |\n| `injectionFrequency` | `every-turn` | `every-turn` or `first-turn` |\n| `contextCadence` | `1` | Min turns between context API calls |\n| `dialecticCadence` | `3` | Min turns between dialectic LLM calls |\n\nThe `contextTokens` budget is enforced at injection time. If the session summary + representation + card exceed the budget, Honcho trims the summary first, then the representation, preserving the card. This prevents context blowup in long sessions.\n\n### Memory-context sanitization\n\nHoncho sanitizes the `memory-context` block before injection to prevent prompt injection and malformed content:\n\n- Strips XML\u002FHTML tags from user-authored conclusions\n- Normalizes whitespace and control characters\n- Truncates individual conclusions that exceed `messageMaxChars`\n- Escapes delimiter sequences that could break the system prompt structure\n\nThis fix addresses edge cases where raw user conclusions containing markup or special characters could corrupt the injected context block.\n\n## Troubleshooting\n\n### \"Honcho not configured\"\nRun `hermes honcho setup`. Ensure `memory.provider: honcho` is in `~\u002F.hermes\u002Fconfig.yaml`.\n\n### Memory not persisting across sessions\nCheck `hermes honcho status` -- verify `saveMessages: true` and `writeFrequency` isn't `session` (which only writes on exit).\n\n### Profile not getting its own peer\nUse `--clone` when creating: `hermes profile create \u003Cname> --clone`. For existing profiles: `hermes honcho sync`.\n\n### Observation changes in dashboard not reflected\nObservation config is synced from the server on each session init. Start a new session after changing settings in the Honcho UI.\n\n### Messages truncated\nMessages over `messageMaxChars` (default 25k) are automatically chunked with `[continued]` markers. If you're hitting this often, check if tool results or skill content is inflating message size.\n\n### Context injection too large\nIf you see warnings about context budget exceeded, lower `contextTokens` or reduce `dialecticDepth`. The session summary is trimmed first when the budget is tight.\n\n### Session summary missing\nSession summary requires at least one prior turn in the current Honcho session. On cold start (new session, no history), the summary is omitted and Honcho uses the cold-start prompt strategy instead.\n\n## CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `hermes honcho setup` | Interactive setup wizard (cloud\u002Flocal, identity, observation, recall, sessions) |\n| `hermes honcho status` | Show resolved config, connection test, peer info for active profile |\n| `hermes honcho enable` | Enable Honcho for the active profile (creates host block if needed) |\n| `hermes honcho disable` | Disable Honcho for the active profile |\n| `hermes honcho peer` | Show or update peer names (`--user \u003Cname>`, `--ai \u003Cname>`, `--reasoning \u003Clevel>`) |\n| `hermes honcho peers` | Show peer identities across all profiles |\n| `hermes honcho mode` | Show or set recall mode (`hybrid`, `context`, `tools`) |\n| `hermes honcho tokens` | Show or set token budgets (`--context \u003CN>`, `--dialectic \u003CN>`) |\n| `hermes honcho sessions` | List known directory-to-session-name mappings |\n| `hermes honcho map \u003Cname>` | Map current working directory to a Honcho session name |\n| `hermes honcho identity` | Seed AI peer identity or show both peer representations |\n| `hermes honcho sync` | Create host blocks for all Hermes profiles that don't have one yet |\n| `hermes honcho migrate` | Step-by-step migration guide from OpenClaw native memory to Hermes + Honcho |\n| `hermes memory setup` | Generic memory provider picker (selecting \"honcho\" runs the same wizard) |\n| `hermes memory status` | Show active memory provider and config |\n| `hermes memory off` | Disable external memory provider |\n","# Honcho Memory for Hermes\n\nHoncho provides AI-native cross-session user modeling. It learns who the user is across conversations and gives every Hermes profile its own peer identity while sharing a unified view of the user.\n\n## When to Use\n\n- Setting up Honcho (cloud or self-hosted)\n- Troubleshooting memory not working \u002F peers not syncing\n- Creating multi-profile setups where each agent has its own Honcho peer\n- Tuning observation, recall, dialectic depth, or write frequency settings\n- Understanding what the 5 Honcho tools do and when to use them\n- Configuring context budgets and session summary injection\n\n## Setup\n\n### Cloud (app.honcho.dev)\n\n```bash\nhermes honcho setup\n# select \"cloud\", paste API key from https:\u002F\u002Fapp.honcho.dev\n```\n\n### Self-hosted\n\n```bash\nhermes honcho setup\n# select \"local\", enter base URL (e.g. http:\u002F\u002Flocalhost:8000)\n```\n\nSee: https:\u002F\u002Fdocs.honcho.dev\u002Fv3\u002Fguides\u002Fintegrations\u002Fhermes#running-honcho-locally-with-hermes\n\n### Verify\n\n```bash\nhermes honcho status    # shows resolved config, connection test, peer info\n```\n\n## Architecture\n\n### Base Context Injection\n\nWhen Honcho injects context into the system prompt (in `hybrid` or `context` recall modes), it assembles the base context block in this order:\n\n1. **Session summary** -- a short digest of the current session so far (placed first so the model has immediate conversational continuity)\n2. **User representation** -- Honcho's accumulated model of the user (preferences, facts, patterns)\n3. **AI peer card** -- the identity card for this Hermes profile's AI peer\n\nThe session summary is generated automatically by Honcho at the start of each turn (when a prior session exists). It gives the model a warm start without replaying full history.\n\n### Cold \u002F Warm Prompt Selection\n\nHoncho automatically selects between two prompt strategies:\n\n| Condition | Strategy | What happens |\n|-----------|----------|--------------|\n| No prior session or empty representation | **Cold start** | Lightweight intro prompt; skips summary injection; encourages the model to learn about the user |\n| Existing representation and\u002For session history | **Warm start** | Full base context injection (summary → representation → card); richer system prompt |\n\nYou do not need to configure this -- it is automatic based on session state.\n\n### Peers\n\nHoncho models conversations as interactions between **peers**. Hermes creates two peers per session:\n\n- **User peer** (`peerName`): represents the human. Honcho builds a user representation from observed messages.\n- **AI peer** (`aiPeer`): represents this Hermes instance. Each profile gets its own AI peer so agents develop independent views.\n\n### Observation\n\nEach peer has two observation toggles that control what Honcho learns from:\n\n| Toggle | What it does |\n|--------|-------------|\n| `observeMe` | Peer's own messages are observed (builds self-representation) |\n| `observeOthers` | Other peers' messages are observed (builds cross-peer understanding) |\n\nDefault: all four toggles **on** (full bidirectional observation).\n\nConfigure per-peer in `honcho.json`:\n\n```json\n{\n  \"observation\": {\n    \"user\": { \"observeMe\": true, \"observeOthers\": true },\n    \"ai\":   { \"observeMe\": true, \"observeOthers\": true }\n  }\n}\n```\n\nOr use the shorthand presets:\n\n| Preset | User | AI | Use case |\n|--------|------|----|----------|\n| `\"directional\"` (default) | me:on, others:on | me:on, others:on | Multi-agent, full memory |\n| `\"unified\"` | me:on, others:off | me:off, others:on | Single agent, user-only modeling |\n\nSettings changed in the [Honcho dashboard](https:\u002F\u002Fapp.honcho.dev) are synced back on session init -- server-side config wins over local defaults.\n\n### Sessions\n\nHoncho sessions scope where messages and observations land. Strategy options:\n\n| Strategy | Behavior |\n|----------|----------|\n| `per-directory` (default) | One session per working directory |\n| `per-repo` | One session per git repository root |\n| `per-session` | New Honcho session each Hermes run |\n| `global` | Single session across all directories |\n\nManual override: `hermes honcho map my-project-name`\n\n### Recall Modes\n\nHow the agent accesses Honcho memory:\n\n| Mode | Auto-inject context? | Tools available? | Use case |\n|------|---------------------|-----------------|----------|\n| `hybrid` (default) | Yes | Yes | Agent decides when to use tools vs auto context |\n| `context` | Yes | No (hidden) | Minimal token cost, no tool calls |\n| `tools` | No | Yes | Agent controls all memory access explicitly |\n\n## Three Orthogonal Knobs\n\nHoncho's dialectic behavior is controlled by three independent dimensions. Each can be tuned without affecting the others:\n\n### Cadence (when)\n\nControls **how often** dialectic and context calls happen.\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `contextCadence` | `1` | Min turns between context API calls |\n| `dialecticCadence` | `3` | Min turns between dialectic API calls |\n| `injectionFrequency` | `every-turn` | `every-turn` or `first-turn` for base context injection |\n\nHigher cadence values reduce API calls and cost. `dialecticCadence: 3` (default) means the dialectic engine fires at most every 3rd turn.\n\n### Depth (how many)\n\nControls **how many rounds** of dialectic reasoning Honcho performs per query.\n\n| Key | Default | Range | Description |\n|-----|---------|-------|-------------|\n| `dialecticDepth` | `1` | 1-3 | Number of dialectic reasoning rounds per query |\n| `dialecticDepthLevels` | -- | array | Optional per-depth-round level overrides (see below) |\n\n`dialecticDepth: 2` means Honcho runs two rounds of dialectic synthesis. The first round produces an initial answer; the second refines it.\n\n`dialecticDepthLevels` lets you set the reasoning level for each round independently:\n\n```json\n{\n  \"dialecticDepth\": 3,\n  \"dialecticDepthLevels\": [\"low\", \"medium\", \"high\"]\n}\n```\n\nIf `dialecticDepthLevels` is omitted, rounds use **proportional levels** derived from `dialecticReasoningLevel` (the base):\n\n| Depth | Pass levels |\n|-------|-------------|\n| 1 | [base] |\n| 2 | [minimal, base] |\n| 3 | [minimal, base, low] |\n\nThis keeps earlier passes cheap while using full depth on the final synthesis.\n\n### Level (how hard)\n\nControls the **intensity** of each dialectic reasoning round.\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `dialecticReasoningLevel` | `low` | `minimal`, `low`, `medium`, `high`, `max` |\n| `dialecticDynamic` | `true` | When `true`, the model can pass `reasoning_level` to `honcho_reasoning` to override the default per-call. `false` = always use `dialecticReasoningLevel`, model overrides ignored |\n\nHigher levels produce richer synthesis but cost more tokens on Honcho's backend.\n\n## Multi-Profile Setup\n\nEach Hermes profile gets its own Honcho AI peer while sharing the same workspace (user context). This means:\n\n- All profiles see the same user representation\n- Each profile builds its own AI identity and observations\n- Conclusions written by one profile are visible to others via the shared workspace\n\n### Create a profile with Honcho peer\n\n```bash\nhermes profile create coder --clone\n# creates host block hermes.coder, AI peer \"coder\", inherits config from default\n```\n\nWhat `--clone` does for Honcho:\n1. Creates a `hermes.coder` host block in `honcho.json`\n2. Sets `aiPeer: \"coder\"` (the profile name)\n3. Inherits `workspace`, `peerName`, `writeFrequency`, `recallMode`, etc. from default\n4. Eagerly creates the peer in Honcho so it exists before first message\n\n### Backfill existing profiles\n\n```bash\nhermes honcho sync    # creates host blocks for all profiles that don't have one yet\n```\n\n### Per-profile config\n\nOverride any setting in the host block:\n\n```json\n{\n  \"hosts\": {\n    \"hermes.coder\": {\n      \"aiPeer\": \"coder\",\n      \"recallMode\": \"tools\",\n      \"dialecticDepth\": 2,\n      \"observation\": {\n        \"user\": { \"observeMe\": true, \"observeOthers\": false },\n        \"ai\": { \"observeMe\": true, \"observeOthers\": true }\n      }\n    }\n  }\n}\n```\n\n## Tools\n\nThe agent has 5 bidirectional Honcho tools (hidden in `context` recall mode):\n\n| Tool | LLM call? | Cost | Use when |\n|------|-----------|------|----------|\n| `honcho_profile` | No | minimal | Quick factual snapshot at conversation start or for fast name\u002Frole\u002Fpref lookups |\n| `honcho_search` | No | low | Fetch specific past facts to reason over yourself — raw excerpts, no synthesis |\n| `honcho_context` | No | low | Full session context snapshot: summary, representation, card, recent messages |\n| `honcho_reasoning` | Yes | medium–high | Natural language question synthesized by Honcho's dialectic engine |\n| `honcho_conclude` | No | minimal | Write or delete a persistent fact; pass `peer: \"ai\"` for AI self-knowledge |\n\n### `honcho_profile`\nRead or update a peer card — curated key facts (name, role, preferences, communication style). Pass `card: [...]` to update; omit to read. No LLM call.\n\n### `honcho_search`\nSemantic search over stored context for a specific peer. Returns raw excerpts ranked by relevance, no synthesis. Default 800 tokens, max 2000. Good when you need specific past facts to reason over yourself rather than a synthesized answer.\n\n### `honcho_context`\nFull session context snapshot from Honcho — session summary, peer representation, peer card, and recent messages. No LLM call. Use when you want to see everything Honcho knows about the current session and peer in one shot.\n\n### `honcho_reasoning`\nNatural language question answered by Honcho's dialectic reasoning engine (LLM call on Honcho's backend). Higher cost, higher quality. Pass `reasoning_level` to control depth: `minimal` (fast\u002Fcheap) → `low` → `medium` → `high` → `max` (thorough). Omit to use the configured default (`low`). Use for synthesized understanding of the user's patterns, goals, or current state.\n\n### `honcho_conclude`\nWrite or delete a persistent conclusion about a peer. Pass `conclusion: \"...\"` to create. Pass `delete_id: \"...\"` to remove a conclusion (for PII removal — Honcho self-heals incorrect conclusions over time, so deletion is only needed for PII). You MUST pass exactly one of the two.\n\n### Bidirectional peer targeting\n\nAll 5 tools accept an optional `peer` parameter:\n- `peer: \"user\"` (default) — operates on the user peer\n- `peer: \"ai\"` — operates on this profile's AI peer\n- `peer: \"\u003Cexplicit-id>\"` — any peer ID in the workspace\n\nExamples:\n```\nhoncho_profile                        # read user's card\nhoncho_profile peer=\"ai\"              # read AI peer's card\nhoncho_reasoning query=\"What does this user care about most?\"\nhoncho_reasoning query=\"What are my interaction patterns?\" peer=\"ai\" reasoning_level=\"medium\"\nhoncho_conclude conclusion=\"Prefers terse answers\"\nhoncho_conclude conclusion=\"I tend to over-explain code\" peer=\"ai\"\nhoncho_conclude delete_id=\"abc123\"    # PII removal\n```\n\n## Agent Usage Patterns\n\nGuidelines for Hermes when Honcho memory is active.\n\n### On conversation start\n\n```\n1. honcho_profile                  → fast warmup, no LLM cost\n2. If context looks thin → honcho_context  (full snapshot, still no LLM)\n3. If deep synthesis needed → honcho_reasoning  (LLM call, use sparingly)\n```\n\nDo NOT call `honcho_reasoning` on every turn. Auto-injection already handles ongoing context refresh. Use the reasoning tool only when you genuinely need synthesized insight the base context doesn't provide.\n\n### When the user shares something to remember\n\n```\nhoncho_conclude conclusion=\"\u003Cspecific, actionable fact>\"\n```\n\nGood conclusions: \"Prefers code examples over prose explanations\", \"Working on a Rust async project through April 2026\"\nBad conclusions: \"User said something about Rust\" (too vague), \"User seems technical\" (already in representation)\n\n### When the user asks about past context \u002F you need to recall specifics\n\n```\nhoncho_search query=\"\u003Ctopic>\"       → fast, no LLM, good for specific facts\nhoncho_context                       → full snapshot with summary + messages\nhoncho_reasoning query=\"\u003Cquestion>\"  → synthesized answer, use when search isn't enough\n```\n\n### When to use `peer: \"ai\"`\n\nUse AI peer targeting to build and query the agent's own self-knowledge:\n- `honcho_conclude conclusion=\"I tend to be verbose when explaining architecture\" peer=\"ai\"` — self-correction\n- `honcho_reasoning query=\"How do I typically handle ambiguous requests?\" peer=\"ai\"` — self-audit\n- `honcho_profile peer=\"ai\"` — review own identity card\n\n### When NOT to call tools\n\nIn `hybrid` and `context` modes, base context (user representation + card + session summary) is auto-injected before every turn. Do not re-fetch what was already injected. Call tools only when:\n- You need something the injected context doesn't have\n- The user explicitly asks you to recall or check memory\n- You're writing a conclusion about something new\n\n### Cadence awareness\n\n`honcho_reasoning` on the tool side shares the same cost as auto-injection dialectic. After an explicit tool call, the auto-injection cadence resets — avoiding double-charging the same turn.\n\n## Config Reference\n\nConfig file: `$HERMES_HOME\u002Fhoncho.json` (profile-local) or `~\u002F.honcho\u002Fconfig.json` (global).\n\n### Key settings\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `apiKey` | -- | API key ([get one](https:\u002F\u002Fapp.honcho.dev)) |\n| `baseUrl` | -- | Base URL for self-hosted Honcho |\n| `peerName` | -- | User peer identity |\n| `aiPeer` | host key | AI peer identity |\n| `workspace` | host key | Shared workspace ID |\n| `recallMode` | `hybrid` | `hybrid`, `context`, or `tools` |\n| `observation` | all on | Per-peer `observeMe`\u002F`observeOthers` booleans |\n| `writeFrequency` | `async` | `async`, `turn`, `session`, or integer N |\n| `sessionStrategy` | `per-directory` | `per-directory`, `per-repo`, `per-session`, `global` |\n| `messageMaxChars` | `25000` | Max chars per message (chunked if exceeded) |\n\n### Dialectic settings\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `dialecticReasoningLevel` | `low` | `minimal`, `low`, `medium`, `high`, `max` |\n| `dialecticDynamic` | `true` | Auto-bump reasoning by query complexity. `false` = fixed level |\n| `dialecticDepth` | `1` | Number of dialectic rounds per query (1-3) |\n| `dialecticDepthLevels` | -- | Optional array of per-round levels, e.g. `[\"low\", \"high\"]` |\n| `dialecticMaxInputChars` | `10000` | Max chars for dialectic query input |\n\n### Context budget and injection\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `contextTokens` | uncapped | Max tokens for the combined base context injection (summary + representation + card). Opt-in cap — omit to leave uncapped, set to an integer to bound injection size. |\n| `injectionFrequency` | `every-turn` | `every-turn` or `first-turn` |\n| `contextCadence` | `1` | Min turns between context API calls |\n| `dialecticCadence` | `3` | Min turns between dialectic LLM calls |\n\nThe `contextTokens` budget is enforced at injection time. If the session summary + representation + card exceed the budget, Honcho trims the summary first, then the representation, preserving the card. This prevents context blowup in long sessions.\n\n### Memory-context sanitization\n\nHoncho sanitizes the `memory-context` block before injection to prevent prompt injection and malformed content:\n\n- Strips XML\u002FHTML tags from user-authored conclusions\n- Normalizes whitespace and control characters\n- Truncates individual conclusions that exceed `messageMaxChars`\n- Escapes delimiter sequences that could break the system prompt structure\n\nThis fix addresses edge cases where raw user conclusions containing markup or special characters could corrupt the injected context block.\n\n## Troubleshooting\n\n### \"Honcho not configured\"\nRun `hermes honcho setup`. Ensure `memory.provider: honcho` is in `~\u002F.hermes\u002Fconfig.yaml`.\n\n### Memory not persisting across sessions\nCheck `hermes honcho status` -- verify `saveMessages: true` and `writeFrequency` isn't `session` (which only writes on exit).\n\n### Profile not getting its own peer\nUse `--clone` when creating: `hermes profile create \u003Cname> --clone`. For existing profiles: `hermes honcho sync`.\n\n### Observation changes in dashboard not reflected\nObservation config is synced from the server on each session init. Start a new session after changing settings in the Honcho UI.\n\n### Messages truncated\nMessages over `messageMaxChars` (default 25k) are automatically chunked with `[continued]` markers. If you're hitting this often, check if tool results or skill content is inflating message size.\n\n### Context injection too large\nIf you see warnings about context budget exceeded, lower `contextTokens` or reduce `dialecticDepth`. The session summary is trimmed first when the budget is tight.\n\n### Session summary missing\nSession summary requires at least one prior turn in the current Honcho session. On cold start (new session, no history), the summary is omitted and Honcho uses the cold-start prompt strategy instead.\n\n## CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `hermes honcho setup` | Interactive setup wizard (cloud\u002Flocal, identity, observation, recall, sessions) |\n| `hermes honcho status` | Show resolved config, connection test, peer info for active profile |\n| `hermes honcho enable` | Enable Honcho for the active profile (creates host block if needed) |\n| `hermes honcho disable` | Disable Honcho for the active profile |\n| `hermes honcho peer` | Show or update peer names (`--user \u003Cname>`, `--ai \u003Cname>`, `--reasoning \u003Clevel>`) |\n| `hermes honcho peers` | Show peer identities across all profiles |\n| `hermes honcho mode` | Show or set recall mode (`hybrid`, `context`, `tools`) |\n| `hermes honcho tokens` | Show or set token budgets (`--context \u003CN>`, `--dialectic \u003CN>`) |\n| `hermes honcho sessions` | List known directory-to-session-name mappings |\n| `hermes honcho map \u003Cname>` | Map current working directory to a Honcho session name |\n| `hermes honcho identity` | Seed AI peer identity or show both peer representations |\n| `hermes honcho sync` | Create host blocks for all Hermes profiles that don't have one yet |\n| `hermes honcho migrate` | Step-by-step migration guide from OpenClaw native memory to Hermes + Honcho |\n| `hermes memory setup` | Generic memory provider picker (selecting \"honcho\" runs the same wizard) |\n| `hermes memory status` | Show active memory provider and config |\n| `hermes memory off` | Disable external memory provider |\n",{"name":5,"author":53,"license":15,"version":54,"metadata":55,"description":7,"prerequisites":68},"Hermes Agent","2.0.0",{"hermes":56},{"tags":57,"homepage":65,"related_skills":66},[58,59,60,61,62,63,64],"Honcho","Memory","Profiles","Observation","Dialectic","User-Modeling","Session-Summary","https:\u002F\u002Fdocs.honcho.dev",[67],"hermes-agent",{"pip":69},[70],"honcho-ai","main","64e2fc9afa7bb3da1138eb73399144d0e7e73e9d","_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fautonomous-ai-agents\u002Fhoncho",4,"https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs","https:\u002F\u002Fgithub.com\u002Fadnichols","2026-11-06 00:28:38",{"source":8,"skillName":5,"commands":79,"prompt":89,"zipAvailable":90},[80,83,86],{"tool":81,"command":82},"npx","npx skills add adnichols\u002Fai-configs --skill honcho",{"tool":84,"command":85},"bunx","bunx skills add adnichols\u002Fai-configs --skill honcho",{"tool":87,"command":88},"pnpm","pnpm dlx skills add adnichols\u002Fai-configs --skill honcho","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fprofiles\u002Fnerd\u002Fskills\u002Fautonomous-ai-agents\u002Fhoncho\u002FSKILL.md",true,[92],{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fdetails.md","REFERENCE","参考文档",12391,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-mdm-device-management\u002Freferences\u002Fdetails.md",[99,118,146,171,181,197],{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":48},"01M6CB7RN791P5RRRCJWWC7DAR","blocked-page-recovery","Use when a fetch fails: 403\u002F429, paywall, WAF, bot wall.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fweb\u002Fblocked-page-recovery\u002FSKILL.md",[],[106,107,108,109,110,31,111,35,36,112,113,114,115,116,117],"recovery","page","blocked page recovery","bot","fallback","fetch","Citations","waf","windows","research","linux","macos",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":131,"publishedAt":48},"01M6CB7NQY2VVYCQJ1QBXACQF4","writing-plans","Use when creating or updating executable software plans. Keep plans as local files unless the user explicitly asks to register them in Doct.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[124,127,128],{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":129,"categoryName":130,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[132,133,134,135,136,137,138,139,140,141,142,143,31,144,35,36,145],"writing","writing plans","documentation","test","workflow","design","user","development","planning","files","implementation","html","ops","plan",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":161,"publishedAt":48},"01M6CB7JME246KZQHP73Z2STDF","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[152,155,158],{"categoryNo":153,"categoryName":154,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":156,"categoryName":157,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":159,"categoryName":160,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[135,139,162,163,164,35,36,165,145,166,167,168,117,169,116,170,114],"test driven development","red-green-refactor","superpowers","quality","refactor","code","debugging","tdd","testing",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":48},"01M6CB7FQ407KQTD4Z9VAWKY54","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[177],{"categoryNo":156,"categoryName":157,"taxonomyType":21,"taxonomyTypeDesc":22},[168,179,139,164,35,36,37,145,180,114,135,116,117],"systematic debugging","investigation",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":190,"publishedAt":48},"01M6CB7D57MK88HE5YPZHKH68Q","spike","Throwaway experiments to validate an idea before build.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fspike\u002FSKILL.md",[187],{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[183,114,191,192,115,193,116,117,194,195,196,35,36,145,140],"validate","experiments","prototype","feasibility","sketch","experiment",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":207,"publishedAt":48},"01M6CB7APAQ37YE5YE1MAAFT42","simplify-code","Parallel 3-agent cleanup of recent code changes.","https:\u002F\u002Fgithub.com\u002Fadnichols\u002Fai-configs\u002Fblob\u002Fmain\u002F_hermes\u002Fdefault\u002Fskills\u002Fsoftware-development\u002Fsimplify-code\u002FSKILL.md",[203,204],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":205,"categoryName":206,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[208,209,167,210,35,36,211,145,166,212,213,214,139,114,135,116,215,117],"simplify code","simplify","subagent","parallel","code-review","delegation","cleanup","review"]