agemon 6.0.0 → 6.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +424 -89
  2. package/assets/skills/design/agemon-design/NOTICE.md +34 -0
  3. package/assets/skills/design/agemon-design/SKILL.md +95 -358
  4. package/assets/skills/design/agemon-design/references/actions.md +215 -0
  5. package/assets/skills/design/agemon-design/references/brief.md +13 -9
  6. package/assets/skills/design/agemon-design/references/core-rules.md +166 -0
  7. package/assets/skills/design/agemon-design/references/craft-intent.md +16 -14
  8. package/assets/skills/design/agemon-design/references/dashboard.md +1 -1
  9. package/assets/skills/design/agemon-design/references/dataviz.md +8 -8
  10. package/assets/skills/design/agemon-design/references/finish-bar.md +1 -1
  11. package/assets/skills/design/agemon-design/references/heuristics.md +56 -140
  12. package/assets/skills/design/agemon-design/references/inspiration.md +6 -6
  13. package/assets/skills/design/agemon-design/references/loops.md +9 -9
  14. package/assets/skills/design/agemon-design/references/motion.md +1 -1
  15. package/assets/skills/design/agemon-design/references/personas.md +4 -4
  16. package/assets/skills/design/{agemon-design-dashboard/SKILL.md → agemon-design/references/preset-dashboard.md} +8 -12
  17. package/assets/skills/design/{agemon-design-editorial/SKILL.md → agemon-design/references/preset-editorial.md} +5 -9
  18. package/assets/skills/design/{agemon-design-minimal/SKILL.md → agemon-design/references/preset-minimal.md} +8 -12
  19. package/assets/skills/design/agemon-design/references/principles-catalog.md +3 -3
  20. package/assets/skills/design/agemon-design/references/recipe-auth.md +3 -3
  21. package/assets/skills/design/agemon-design/references/recipe-dashboard.md +2 -2
  22. package/assets/skills/design/agemon-design/references/recipe-landing.md +9 -11
  23. package/assets/skills/design/agemon-design/references/review.md +7 -7
  24. package/assets/skills/design/agemon-design/references/routing.md +143 -0
  25. package/assets/skills/design/agemon-design/references/spec.md +8 -8
  26. package/assets/skills/design/agemon-design/references/stack.md +1 -1
  27. package/assets/skills/design/agemon-design/references/stage-assets.md +106 -0
  28. package/assets/skills/design/agemon-design/references/stage-build.md +46 -0
  29. package/assets/skills/design/agemon-design/references/stage-critique.md +34 -0
  30. package/assets/skills/design/agemon-design/references/stage-directions.md +44 -0
  31. package/assets/skills/design/agemon-design/references/stage-intake.md +34 -0
  32. package/assets/skills/design/agemon-design/references/stage-verify.md +44 -0
  33. package/assets/skills/design/agemon-design/references/state-design.md +1 -1
  34. package/assets/skills/design/agemon-design/references/tells-2026-11.md +32 -0
  35. package/assets/skills/design/agemon-design/references/themes.md +24 -20
  36. package/assets/skills/design/agemon-design/references/third-party-licenses.md +323 -0
  37. package/assets/skills/design/agemon-design/references/typography.md +11 -9
  38. package/assets/skills/design/agemon-design/scripts/audit-page.js +532 -0
  39. package/assets/skills/design/agemon-design/scripts/check-source.mjs +358 -0
  40. package/assets/skills/design/agemon-design/scripts/deal.mjs +231 -0
  41. package/assets/skills/design/agemon-design/scripts/inventory.mjs +676 -0
  42. package/assets/skills/{design/agemon-design-dashboard → essentials/web-design-guidelines}/LICENSE +1 -1
  43. package/assets/skills/essentials/web-design-guidelines/NOTICE.md +14 -0
  44. package/assets/skills/essentials/web-design-guidelines/SKILL.md +18 -0
  45. package/assets/skills/essentials/web-design-guidelines/references/guidelines.md +184 -0
  46. package/assets/skills/{design/agemon-design-minimal → essentials/writing-guidelines}/LICENSE +1 -1
  47. package/assets/skills/essentials/writing-guidelines/NOTICE.md +14 -0
  48. package/assets/skills/essentials/writing-guidelines/SKILL.md +18 -0
  49. package/assets/skills/essentials/writing-guidelines/references/guidelines.md +250 -0
  50. package/assets/skills/founder/agemon-founder-board/LICENSE +21 -0
  51. package/assets/skills/founder/agemon-founder-board/NOTICE.md +11 -0
  52. package/assets/skills/founder/agemon-founder-board/SKILL.md +111 -0
  53. package/assets/skills/founder/agemon-founder-board/lenses.md +84 -0
  54. package/assets/skills/founder/agemon-founder-brand/LICENSE +21 -0
  55. package/assets/skills/founder/agemon-founder-brand/NOTICE.md +12 -0
  56. package/assets/skills/founder/agemon-founder-brand/SKILL.md +77 -0
  57. package/assets/skills/founder/agemon-founder-cfo/LICENSE +21 -0
  58. package/assets/skills/founder/agemon-founder-cfo/NOTICE.md +12 -0
  59. package/assets/skills/founder/agemon-founder-cfo/SKILL.md +109 -0
  60. package/assets/skills/founder/agemon-founder-cfo/example.json +27 -0
  61. package/assets/skills/founder/agemon-founder-cfo/unit_economics.py +270 -0
  62. package/assets/skills/founder/agemon-founder-competitors/LICENSE +21 -0
  63. package/assets/skills/founder/agemon-founder-competitors/NOTICE.md +12 -0
  64. package/assets/skills/founder/agemon-founder-competitors/SKILL.md +84 -0
  65. package/assets/skills/founder/agemon-founder-consumer/LICENSE +21 -0
  66. package/assets/skills/founder/agemon-founder-consumer/NOTICE.md +11 -0
  67. package/assets/skills/founder/agemon-founder-consumer/SKILL.md +126 -0
  68. package/assets/skills/founder/agemon-founder-consumer/customer.example.json +34 -0
  69. package/assets/skills/founder/agemon-founder-consumer/panel.py +424 -0
  70. package/assets/skills/founder/agemon-founder-consumer/pitch.example.md +3 -0
  71. package/assets/skills/founder/agemon-founder-launch/LICENSE +21 -0
  72. package/assets/skills/founder/agemon-founder-launch/NOTICE.md +11 -0
  73. package/assets/skills/founder/agemon-founder-launch/SKILL.md +65 -0
  74. package/assets/skills/founder/agemon-founder-marketing/LICENSE +21 -0
  75. package/assets/skills/founder/agemon-founder-marketing/NOTICE.md +11 -0
  76. package/assets/skills/founder/agemon-founder-marketing/SKILL.md +80 -0
  77. package/assets/skills/founder/agemon-founder-offer/LICENSE +21 -0
  78. package/assets/skills/founder/agemon-founder-offer/NOTICE.md +11 -0
  79. package/assets/skills/founder/agemon-founder-offer/SKILL.md +75 -0
  80. package/assets/skills/founder/agemon-founder-ops/LICENSE +21 -0
  81. package/assets/skills/founder/agemon-founder-ops/NOTICE.md +12 -0
  82. package/assets/skills/founder/agemon-founder-ops/SKILL.md +77 -0
  83. package/assets/skills/founder/agemon-founder-plan/LICENSE +21 -0
  84. package/assets/skills/founder/agemon-founder-plan/NOTICE.md +11 -0
  85. package/assets/skills/founder/agemon-founder-plan/SKILL.md +88 -0
  86. package/assets/skills/founder/agemon-founder-plan/compile.py +178 -0
  87. package/assets/skills/founder/agemon-founder-pricing/LICENSE +21 -0
  88. package/assets/skills/founder/agemon-founder-pricing/NOTICE.md +12 -0
  89. package/assets/skills/founder/agemon-founder-pricing/SKILL.md +92 -0
  90. package/assets/skills/founder/agemon-founder-pricing/van_westendorp.py +172 -0
  91. package/assets/skills/{design/agemon-design-editorial → output-style/agemon-adhd}/LICENSE +1 -1
  92. package/assets/skills/output-style/agemon-adhd/NOTICE.md +13 -0
  93. package/assets/skills/output-style/agemon-adhd/SKILL.md +138 -0
  94. package/assets/skills/security/agemon-security-audit/AI-AND-LLM.md +83 -0
  95. package/assets/skills/security/agemon-security-audit/ATTACK-CLASSES.md +130 -0
  96. package/assets/skills/security/agemon-security-audit/CLIENT-SIDE.md +83 -0
  97. package/assets/skills/security/agemon-security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
  98. package/assets/skills/security/agemon-security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
  99. package/assets/skills/security/agemon-security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
  100. package/assets/skills/security/agemon-security-audit/HUNTING.md +251 -0
  101. package/assets/skills/security/agemon-security-audit/LICENSE +21 -0
  102. package/assets/skills/security/agemon-security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
  103. package/assets/skills/security/agemon-security-audit/NOTICE.md +12 -0
  104. package/assets/skills/security/agemon-security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
  105. package/assets/skills/security/agemon-security-audit/RECONNAISSANCE.md +156 -0
  106. package/assets/skills/security/agemon-security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
  107. package/assets/skills/security/agemon-security-audit/SKILL.md +192 -0
  108. package/assets/skills/security/agemon-security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
  109. package/assets/skills/security/agemon-security-audit/VALIDATION-AND-REPORTING.md +186 -0
  110. package/assets/skills/security/agemon-security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
  111. package/assets/skills/security/agemon-security-audit/report-schema.json +461 -0
  112. package/assets/skills/security/agemon-security-audit/validate-coverage-ledger.cjs +872 -0
  113. package/assets/skills/security/agemon-security-audit/validate-findings.cjs +773 -0
  114. package/assets/skills/workflow/agemon-brainstorming/LICENSE +21 -0
  115. package/assets/skills/workflow/agemon-brainstorming/NOTICE.md +14 -0
  116. package/assets/skills/workflow/agemon-brainstorming/SKILL.md +287 -0
  117. package/assets/skills/workflow/agemon-brainstorming/builder-check-prompt.md +23 -0
  118. package/assets/skills/workflow/agemon-dispatching-parallel-agents/LICENSE +21 -0
  119. package/assets/skills/workflow/agemon-dispatching-parallel-agents/NOTICE.md +13 -0
  120. package/assets/skills/workflow/agemon-dispatching-parallel-agents/SKILL.md +167 -0
  121. package/assets/skills/workflow/agemon-executing-plans/LICENSE +21 -0
  122. package/assets/skills/workflow/agemon-executing-plans/NOTICE.md +15 -0
  123. package/assets/skills/workflow/agemon-executing-plans/SKILL.md +322 -0
  124. package/assets/skills/workflow/agemon-executing-plans/scripts/task-done +55 -0
  125. package/assets/skills/workflow/agemon-executing-plans/scripts/task-start +32 -0
  126. package/assets/skills/workflow/agemon-finishing-a-development-branch/LICENSE +21 -0
  127. package/assets/skills/workflow/agemon-finishing-a-development-branch/NOTICE.md +13 -0
  128. package/assets/skills/workflow/agemon-finishing-a-development-branch/SKILL.md +225 -0
  129. package/assets/skills/workflow/agemon-subagent-driven-development/LICENSE +21 -0
  130. package/assets/skills/workflow/agemon-subagent-driven-development/NOTICE.md +15 -0
  131. package/assets/skills/workflow/agemon-subagent-driven-development/SKILL.md +339 -0
  132. package/assets/skills/workflow/agemon-subagent-driven-development/code-reviewer.md +198 -0
  133. package/assets/skills/workflow/agemon-subagent-driven-development/implementer-prompt.md +154 -0
  134. package/assets/skills/workflow/agemon-subagent-driven-development/re-review-prompt.md +116 -0
  135. package/assets/skills/workflow/agemon-subagent-driven-development/references/batching.md +11 -0
  136. package/assets/skills/workflow/agemon-subagent-driven-development/references/cannot-verify.md +10 -0
  137. package/assets/skills/workflow/agemon-subagent-driven-development/references/final-review.md +49 -0
  138. package/assets/skills/workflow/agemon-subagent-driven-development/references/fix-loop.md +77 -0
  139. package/assets/skills/workflow/agemon-subagent-driven-development/references/handling-reports.md +15 -0
  140. package/assets/skills/workflow/agemon-subagent-driven-development/references/preflight.md +26 -0
  141. package/assets/skills/workflow/agemon-subagent-driven-development/references/resuming.md +12 -0
  142. package/assets/skills/workflow/agemon-subagent-driven-development/references/role-scout.md +18 -0
  143. package/assets/skills/workflow/agemon-subagent-driven-development/references/role-worker.md +19 -0
  144. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/review-package +64 -0
  145. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-repo +54 -0
  146. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-workspace +110 -0
  147. package/assets/skills/workflow/agemon-subagent-driven-development/scripts/task-brief +108 -0
  148. package/assets/skills/workflow/agemon-subagent-driven-development/task-reviewer-prompt.md +209 -0
  149. package/assets/skills/workflow/agemon-test-driven-development/LICENSE +21 -0
  150. package/assets/skills/workflow/agemon-test-driven-development/NOTICE.md +14 -0
  151. package/assets/skills/workflow/agemon-test-driven-development/SKILL.md +330 -0
  152. package/assets/skills/workflow/agemon-test-driven-development/writing-good-tests.md +198 -0
  153. package/assets/skills/workflow/agemon-using-git-worktrees/LICENSE +21 -0
  154. package/assets/skills/workflow/agemon-using-git-worktrees/NOTICE.md +13 -0
  155. package/assets/skills/workflow/agemon-using-git-worktrees/SKILL.md +167 -0
  156. package/assets/skills/workflow/agemon-writing-plans/LICENSE +21 -0
  157. package/assets/skills/workflow/agemon-writing-plans/NOTICE.md +13 -0
  158. package/assets/skills/workflow/agemon-writing-plans/SKILL.md +204 -0
  159. package/dist/{chunk-5LATHJYU.js → chunk-ZZBF3GOV.js} +369 -944
  160. package/dist/chunk-ZZBF3GOV.js.map +1 -0
  161. package/dist/{fake-subprocess-2BETWZVZ.js → fake-subprocess-IV4ML77S.js} +3 -33
  162. package/dist/fake-subprocess-IV4ML77S.js.map +1 -0
  163. package/dist/index.js +3477 -731
  164. package/dist/index.js.map +1 -1
  165. package/package.json +8 -1
  166. package/assets/skills/design/agemon-design/references/agents.md +0 -63
  167. package/assets/skills/design/agemon-design-dashboard/NOTICE.md +0 -9
  168. package/assets/skills/design/agemon-design-editorial/NOTICE.md +0 -9
  169. package/assets/skills/design/agemon-design-minimal/NOTICE.md +0 -9
  170. package/dist/chunk-5LATHJYU.js.map +0 -1
  171. package/dist/fake-subprocess-2BETWZVZ.js.map +0 -1
package/README.md CHANGED
@@ -22,6 +22,8 @@ Documentation, the skill library and the installer: <https://agemon.korak-kurani
22
22
  writes, and rolls back the whole run if any step fails.
23
23
  - **Fully reversible.** Every change is recorded, and `agemon nuke` removes exactly what
24
24
  agemon added, leaving your own files alone.
25
+ - **Works with Claude.** Add agemon's skill groups to claude.ai or Claude Code as plugins, and
26
+ check a repository is ready for Claude Code on the web. See [Use with Claude](#use-with-claude).
25
27
 
26
28
  Want to help? Start with [CONTRIBUTING.md](CONTRIBUTING.md).
27
29
 
@@ -35,13 +37,15 @@ agemon is plugin-driven and runs its plugins in this order:
35
37
  [Daemon naming](#daemon-naming).
36
38
  3. `skills`: installs bundled skills with a pinned copy of the `skills` CLI. Always installs the `essentials` group;
37
39
  additional groups (design, security, code quality, architecture, self-review, performance,
38
- team lead) are selected interactively, via `--skill-groups`, or skipped entirely in a
40
+ commit, workflow, output style, founder, team lead, GEO) are selected interactively, via `--skill-groups`, or skipped entirely in a
39
41
  non-interactive session — see [Skill Groups](#skill-groups).
40
42
  4. `agents`: installs the Claude Code subagents that come with an installed skill group into
41
43
  `.claude/agents/` — see [Subagents](#subagents). It depends on `skills`, so `--only agents`
42
44
  also runs `skills`.
43
- 5. `cli-tool`: installs bundled global CLI tools.
44
- 6. `master-prompt`: consolidates agent rule files and pointer files.
45
+ 5. `subagent-default`: behind consent, sets a default model in `.claude/settings.json` for
46
+ Claude Code subagents that name none — see [Default subagent model](#default-subagent-model).
47
+ 6. `cli-tool`: installs bundled global CLI tools.
48
+ 7. `master-prompt`: consolidates agent rule files and pointer files.
45
49
 
46
50
  Every mutating plugin action is recorded in `.agemon/state.json` and used by `nuke` for
47
51
  targeted reversal.
@@ -63,14 +67,17 @@ The `skills` plugin installs one always-on group plus whichever optional groups
63
67
 
64
68
  | Group | Skills | What it covers |
65
69
  |---|---|---|
66
- | `essentials` (always on) | `web-design-guidelines`, `writing-guidelines` | Vercel Labs' general web design and writing review guidelines. Not vendored/renamed — see note below. |
67
- | `design` | `agemon-design` + 3 recipe variants (`agemon-design-minimal`, `agemon-design-editorial`, `agemon-design-dashboard`) | Design engineering: anti-slop rules, discovery, and outcome recipes (dashboard/landing/auth), covering both visual design and UI/UX. |
68
- | `security` | `agemon-security` | Exploit-driven security review — no finding without a working proof-of-concept. |
70
+ | `essentials` (always on) | `web-design-guidelines`, `writing-guidelines` | Vercel Labs' web design and writing review guidelines, vendored as copies taken at one pinned upstream commit each. They keep their upstream names — see [Vendored Skills](#vendored-skills--attribution). |
71
+ | `design` | `agemon-design` | A staged UI workflow: it picks a track, reads your real brand and tokens, builds from the product's subject, checks objective facts, and reports what it could not verify. Choosing among three directions is opt-in (`/agemon-design build --directions`) until an eval supports it as a default. Dashboard, editorial and minimal looks are presets it uses when you name them. Limits: auto-triggering cannot be guaranteed, its gates are voluntary without hooks, and a passing run does not mean a good design. |
72
+ | `security` | `agemon-security`, `agemon-security-audit` | Exploit-driven security review — no finding without a working proof-of-concept — plus a multi-agent, multi-phase codebase audit with independently verified findings. |
69
73
  | `code-quality` | `agemon-clean-code`, `agemon-house-rules` | Simplicity, DRY architecture, self-documenting naming, surgical scope control. |
70
74
  | `architecture` | `agemon-architecture` | Clean Architecture review: dependency rule, layering, boundary crossing, SOLID. |
71
75
  | `self-review` | `agemon-verify-before-done`, `agemon-review-intake`, `agemon-review-request`, `agemon-root-cause` | Verification before claiming completion, giving/receiving code review, root-cause debugging. |
72
76
  | `performance` | `agemon-performance` | Algorithmic-complexity-first discipline: N+1 detection, hot-loop hygiene, when not to optimize. |
73
77
  | `commit` | `agemon-commit` | Staging review, commit message structure, and splitting unrelated changes into separate commits. |
78
+ | `workflow` | `agemon-brainstorming`, `agemon-writing-plans`, `agemon-executing-plans`, `agemon-subagent-driven-development`, `agemon-test-driven-development`, `agemon-using-git-worktrees`, `agemon-dispatching-parallel-agents`, `agemon-finishing-a-development-branch` | Structured feature delivery: brainstorming, written plans, test-driven development, subagent or inline execution, git worktrees, and branch finishing. Comes with the `agemon-scout` and `agemon-worker` [subagents](#subagents). Pairs with `self-review`. |
79
+ | `output-style` | `agemon-adhd` | On request (`/agemon-adhd`), replies lead with the next action, number their steps, restate progress, and skip preamble and tangents. |
80
+ | `founder` | `agemon-founder-board`, `agemon-founder-competitors`, `agemon-founder-consumer`, `agemon-founder-pricing`, `agemon-founder-offer`, `agemon-founder-cfo`, `agemon-founder-marketing`, `agemon-founder-brand`, `agemon-founder-ops`, `agemon-founder-launch`, `agemon-founder-plan` | Test a business idea before launch: board review, competitors, simulated buyer panel, pricing, offer, unit economics, marketing, brand, operations, launch, and a business plan with a computed verdict. The panel is simulated buyers, not customers. The scripts need Python 3.8 or newer. |
74
81
  | `teamlead` | `agemon-plan-rfc`, `prd-generator`, `skill-headofit-audit`, `skill-incident-rca`, `skill-meeting-lifecycle`, `skill-obsidian-vault-sync`, `skill-prd-decomposer`, `skill-sec-check`, `skill-task-extractor`, `skill-techlead-reviewer`, `skill-tech-spike` | Team-lead workflows: RFC planning, PRD generation/decomposition, meeting lifecycle, task extraction, tech spikes, IT audits, incident RCA, security checks, tech-lead review, and Obsidian vault sync. |
75
82
  | `geo-seo` | `geo` (`/geo audit <url>` and the other `/geo` commands), `geo-audit`, `geo-citability`, `geo-crawlers`, `geo-llmstxt`, `geo-brand-mentions`, `geo-platform-optimizer`, `geo-technical`, `geo-content`, `geo-report`, `geo-schema`, `geo-report-pdf` | GEO (generative engine optimization): audits how likely AI search (ChatGPT, Perplexity, Google AI Overviews) is to find and cite a website — citability, AI crawler access, llms.txt, schema, technical SEO, brand mentions — and writes client-ready reports. Upstream names kept; see [Vendored Skills](#vendored-skills--attribution). |
76
83
 
@@ -87,27 +94,36 @@ Selection order:
87
94
  The group question comes first, while agemon builds the plan, so every group you picked is a
88
95
  separate row (`skill-group:<id>`, or `custom-skill-group:<id>` for a project-defined group) in
89
96
  the plan, the consent screen and `agemon status`, with each skill and its
90
- pinned source. Groups you were shown and did not pick are recorded as declined once you approve
97
+ source. Groups you were shown and did not pick are recorded as declined once you approve
91
98
  the install gate. Ctrl-C at the question leaves the repository untouched.
92
99
 
93
100
  Re-running `agemon` in a repo only re-verifies the groups that repo already selected — it never
94
101
  asks you about, or installs, groups you previously declined, even when `--skill-groups` or
95
- `skill_groups` names them. A group added later (to agemon or to `agemon.toml`) is installed
96
- when `--skill-groups` or `skill_groups` names it; otherwise it is offered once in an
97
- interactive run. A non-interactive run without `--yes` leaves it pending; a non-interactive
98
- `--yes` run records new agemon groups as declined and leaves project-defined groups pending.
102
+ `skill_groups` names them; `agemon add <group>` installs one. A group added later (to agemon or
103
+ to `agemon.toml`) is installed when `--skill-groups` or `skill_groups` names it; otherwise it is
104
+ offered once in an interactive run. A `--yes` or non-interactive run leaves it waiting and lists
105
+ it. See [What a new version brings to a repository](#what-a-new-version-brings-to-a-repository).
99
106
 
100
107
  #### Subagents
101
108
 
102
109
  Some groups come with Claude Code subagents, which the `agents` capability installs into
103
- the project's `.claude/agents/` together with the group. Today only `geo-seo` has any: the
104
- five audit agents `geo-audit-ai-visibility`, `geo-audit-platform`, `geo-audit-technical`,
105
- `geo-audit-content` and `geo-audit-schema`, which `/geo audit` launches in parallel.
106
-
107
- - Each agent file has only `name`, `description` and `tools`. `tools` is an allowlist:
108
- `WebFetch` for every agent, plus `Bash` (for one fixed, read-only `curl` you approve per
109
- run) for the technical and schema agents. Nothing is pre-approved, and no agent sets a
110
- permission mode, hooks or MCP servers.
110
+ the project's `.claude/agents/` together with the group. Two groups have some:
111
+
112
+ - `geo-seo`: the five audit agents `geo-audit-ai-visibility`, `geo-audit-platform`,
113
+ `geo-audit-technical`, `geo-audit-content` and `geo-audit-schema`, which `/geo audit`
114
+ launches in parallel.
115
+ - `workflow`: two role agents. `agemon-scout` runs on Haiku for read-only search, and
116
+ `agemon-worker` runs on Sonnet for routine implementation and review.
117
+
118
+ How they are set up:
119
+
120
+ - Each agent file has only `name`, `description`, `tools` and `model`. `tools` is an
121
+ allowlist. The GEO agents get `WebFetch`, plus `Bash` (for one fixed, read-only `curl` you
122
+ approve per run) for the technical and schema agents. `agemon-scout` gets `Read`, `Grep` and
123
+ `Glob`. `agemon-worker` also gets `Edit`, `Write` and `Bash`. Nothing is pre-approved, and no
124
+ agent sets a permission mode, hooks or MCP servers.
125
+ - `model` is an alias, so agents follow new model releases. These agent files are written for
126
+ Claude Code, and only Claude Code has been tested with them.
111
127
  - The agents have their own consent step, which names every agent with its tools. With
112
128
  `--yes`, agemon prints that list instead of asking.
113
129
  - Agent files are handled like rule files: an agent you edited is a conflict and is never
@@ -123,6 +139,38 @@ five audit agents `geo-audit-ai-visibility`, `geo-audit-platform`, `geo-audit-te
123
139
  agents — Claude Code identifies agents by that name and may load the other file instead.
124
140
  - Claude Code picks up a new `.claude/agents/` directory in sessions started after it exists.
125
141
 
142
+ #### Default subagent model
143
+
144
+ The `subagent-default` capability sets one key in `.claude/settings.json`. It shows you the diff and
145
+ asks first; with `--yes` it prints the diff and goes ahead:
146
+
147
+ ```json
148
+ { "env": { "CLAUDE_CODE_SUBAGENT_MODEL": "sonnet" } }
149
+ ```
150
+
151
+ - **What it does.** A Claude Code subagent runs on the first of these that is set: the model named
152
+ in the call, the agent file's `model`, this variable, the session's model. So this only changes
153
+ subagents that would otherwise inherit the session's model. Pinned agents such as `agemon-scout`
154
+ keep their model. The built-in `Explore` and `Plan` agents aren't affected. It applies to Claude
155
+ Code only.
156
+ - **It can raise your cost.** In a Haiku session it moves those subagents up to Sonnet. In one test,
157
+ a one-word subagent reply in a Haiku session cost $0.116 at list prices, $0.107 of it on Sonnet.
158
+ - **There is no measured saving yet.** agemon's routing eval started no subagents, so it didn't
159
+ test this setting (see `evals/routing/README.md`). Use `agemon usage` to judge it from your own
160
+ sessions.
161
+ - **It is shared with your team,** because the file is usually committed. agemon checks the Claude
162
+ Code version only on the machine that runs it, and it writes nothing if that version is older
163
+ than 2.1.251 or can't be read. On older versions this variable overrides pinned models, so an
164
+ Opus review would silently run on Sonnet. Anyone on your team using an older version gets that
165
+ behaviour from the committed file, so have them update first.
166
+ - **To change the tier,** edit the value in `.claude/settings.json`. agemon treats any other value
167
+ as yours: it never overwrites it, `agemon status` shows it as changed, and `nuke` leaves it.
168
+ - **`nuke` removes the key** only if it still has the value agemon wrote, and deletes `env` if that
169
+ leaves it empty. Everything else in the file stays byte for byte, except that an `"env": {}` you
170
+ already had goes too, and an empty top-level object loses any whitespace inside it. agemon deletes the file only if agemon created it and nothing else is left.
171
+ - If the file isn't valid JSON or clean UTF-8, or is a symlink, agemon says so and leaves it alone. An existing
172
+ repository is offered this capability once, like any new one; `--yes` alone doesn't add it there.
173
+
126
174
  **Bundled skill updates.** agemon compares each bundled skill in `.claude/skills/` with
127
175
  every version it has shipped. A skill still identical to an older version is updated to
128
176
  the current one on the next run, behind the same consent step as installing a group (the
@@ -137,11 +185,17 @@ the `geo-audit` that launches the installed subagents.
137
185
  Skills recorded for a custom group that `agemon.toml` no longer defines are listed in one
138
186
  "skills of removed groups" row.
139
187
 
188
+ `agemon-design-minimal`, `agemon-design-editorial` and `agemon-design-dashboard` are retired; their
189
+ looks are now presets of `agemon-design`, used when you name one. Running `agemon` offers to remove
190
+ an unmodified copy behind consent. An edited copy is never touched, and `agemon status` reports it.
191
+
140
192
  #### Project-defined skill groups
141
193
 
142
- A project can define its own groups in `agemon.toml`:
194
+ A project can define its own groups in `agemon.toml`. The first run writes that file; if you
195
+ create it by hand, `capabilities` is required:
143
196
 
144
197
  ```toml
198
+ capabilities = ["skills"]
145
199
  skill_groups = "essentials,house-style"
146
200
 
147
201
  [custom_skill_groups.house-style]
@@ -161,6 +215,10 @@ skills = [
161
215
  - Each skill's `SKILL.md` must declare the same `name`.
162
216
  - A group id must not reuse a built-in group id, or be `all`/`none`; a skill name must not
163
217
  reuse a built-in skill name or appear twice.
218
+ - agemon does not reinstall a skill when its local source changes. `agemon status` reports an
219
+ installed copy that no longer matches its source, or a source agemon can no longer read, and
220
+ needs attention (exit 2) until they match. To install the new version, delete
221
+ `.claude/skills/<name>` and run `agemon`.
164
222
 
165
223
  A custom group is installed only when you pick it in the interactive question or name it in
166
224
  `--skill-groups` or `skill_groups`; `--yes` and `--skill-groups all` cover agemon's own groups
@@ -170,18 +228,13 @@ instructions for your agent from whoever wrote the repository's `agemon.toml`: r
170
228
  code. A commit sha pins content, not origin — GitHub serves a commit from any fork under the
171
229
  original repository's URL, so check the commit itself, not just the repository name.
172
230
 
173
- Every non-essential skill is vendored into agemon's own repo under `assets/skills/`, rather than
174
- fetched and installed under its original upstream name at bootstrap time — so installs don't
175
- depend on GitHub being reachable and won't drift if an upstream repo changes. Vendored skills
231
+ Every bundled skill is vendored into agemon's own repo under `assets/skills/`, rather than fetched at
232
+ bootstrap time (custom GitHub groups you add yourself are still fetched) — so installs don't depend on GitHub being reachable and won't drift if an
233
+ upstream repo changes. Vendored skills
176
234
  sourced from a third-party project are renamed under an `agemon-*` identity so they read as
177
235
  agemon's own; the `team-lead` skills beyond `agemon-plan-rfc` and `prd-generator` are original to
178
- this project and keep their `skill-*` names, and `geo-seo` keeps its upstream `geo-*` names. See [Vendored Skills](#vendored-skills--attribution)
179
- for sources and licenses.
180
-
181
- `essentials` is the one exception: `vercel-labs/agent-skills` carries no detected license, so
182
- agemon can't vendor (redistribute) a renamed copy of it. agemon fetches the skills under their
183
- original names from one pinned commit of that repo, checks that the checkout really is that
184
- commit, and installs from it.
236
+ this project and keep their `skill-*` names, while `geo-seo` and `essentials` keep their upstream
237
+ names. See [Vendored Skills](#vendored-skills--attribution) for sources and licenses.
185
238
 
186
239
  ### Daemon naming
187
240
 
@@ -240,6 +293,38 @@ only agemon's own checks at each run apply.
240
293
  Daemon units registered before 6.0.0 get the start-time checks, the restart limit and the
241
294
  current hardening only after `agemon nuke --only daemon` and a fresh `agemon` run.
242
295
 
296
+ ## Other coding agents
297
+
298
+ Skills install into `.claude/skills/`, which Claude Code, Cursor, Copilot and OpenCode read. Codex,
299
+ Gemini CLI, Antigravity and Devin read `.agents/skills/` instead. When agemon finds one of those
300
+ four (the executable on `PATH`, or a `.codex`, `.gemini` or `.devin` folder in the repository), it
301
+ offers to copy skills there too:
302
+
303
+ - **You decide once.** `agemon` asks, and remembers a no; `agemon --skill-groups <group>` asks
304
+ again. `--yes` means yes unless you already said no. A run with neither a prompt nor `--yes`
305
+ adds nothing, and `agemon status` says copies are available.
306
+ - **agemon owns only what it wrote.** It records each copy's path and hash. `agemon` updates and
307
+ `agemon nuke` touch a copy only if its hash still matches that record.
308
+ - **Your copies stay yours.** A team's `.agents/skills/<name>`, or one you changed, is reported in
309
+ `agemon status` and is never overwritten or deleted.
310
+ - **The copy differs slightly.** Keys outside the [Agent Skills standard](https://agentskills.io/specification)
311
+ move into `metadata`, because other agents reject them or read them differently.
312
+ - **`agemon-adhd` is not copied.** It must run only when named, and not every agent honours the
313
+ flag that says so.
314
+
315
+ | Agent | Run a skill by name |
316
+ |---|---|
317
+ | Claude Code, Cursor, Antigravity, Devin | `/agemon-design` |
318
+ | Codex | `$agemon-design` |
319
+ | Gemini CLI, Copilot, OpenCode | Ask in plain words, for example "use the agemon-design skill" |
320
+
321
+ **What is promised:** agemon puts skills in a folder that agent's docs say it reads, and the table
322
+ above gives by-name use where that agent's docs show it; for Gemini CLI, Copilot and OpenCode the
323
+ syntax is not confirmed, so plain words are the suggestion, not a tested path. **What is not:** that every agent loads a skill
324
+ on its own. Only Claude Code has been measured, and only Claude Code has been run. Cursor, Copilot
325
+ and OpenCode read both folders, so they may list a skill twice once copies exist. See the
326
+ [agent matrix](evals/design/agent-matrix.md), which leaves its gaps visible.
327
+
243
328
  ## Requirements
244
329
 
245
330
  - To install, apply or nuke: Ubuntu, Debian, a derivative whose `/etc/os-release`
@@ -344,14 +429,75 @@ agemon
344
429
  - The CLI's self-update checks `install.sh` against `SHA256SUMS`; it verifies attestations
345
430
  only if you export `AGEMON_VERIFY_ATTESTATION=1`, which the installer it runs honours.
346
431
 
347
- ### Upgrading and rolling back
432
+ ### Uninstalling agemon itself
433
+
434
+ `agemon nuke` reverses changes `agemon` made *inside a repository* — it does not remove
435
+ the `agemon` binary. Run `agemon nuke` in each repository first, then remove agemon
436
+ itself:
348
437
 
349
438
  ```bash
350
- agemon upgrade # install the latest release
351
- agemon upgrade 6.0.0 # install that release (asks before a downgrade)
352
- agemon upgrade --rollback # switch back to the install the last upgrade replaced
439
+ agemon self-uninstall --dry-run # show what would be removed
440
+ agemon self-uninstall # asks once; --yes skips the question
353
441
  ```
354
442
 
443
+ For an install-script copy it removes the install dir, its `.prev` rollback copy, the
444
+ `agemon` link that points into it, the update-check cache, and agemon's machine state
445
+ (`${XDG_STATE_HOME:-~/.local/state}/agemon`, on macOS `~/Library/Application Support/agemon`
446
+ unless `XDG_STATE_HOME` is set: shared-tools ledger and tool caches). It
447
+ keeps the machine state while a repository still uses a shared tool, an interrupted
448
+ apply can still be recovered, or agemon is running somewhere else, and says which. It
449
+ lists the repositories it knows still have agemon-managed files; agemon only knows
450
+ repositories that use a shared tool, so check any others yourself. It never changes
451
+ files inside repositories. Machine state is per user: run it as the user who installed
452
+ agemon (with `sudo` for a root install).
453
+
454
+ It refuses to start while an interrupted apply can still be recovered (run
455
+ `agemon recover` first). For an npm install it prints
456
+ `npm uninstall --global --prefix <prefix> agemon`. A copy run through npx has nothing to
457
+ remove, and a source checkout or an install agemon can't identify is refused.
458
+
459
+ ## Upgrading agemon
460
+
461
+ Check which version you have:
462
+
463
+ ```bash
464
+ agemon --version
465
+ ```
466
+
467
+ Upgrade to the latest release:
468
+
469
+ ```bash
470
+ agemon upgrade
471
+ ```
472
+
473
+ Install a specific version, or go back to one. agemon asks before a downgrade:
474
+
475
+ ```bash
476
+ agemon upgrade 6.0.0
477
+ ```
478
+
479
+ Switch back to the install the last upgrade replaced. This works for install-script installs
480
+ only; for an npm install, install the previous version by name as above:
481
+
482
+ ```bash
483
+ agemon upgrade --rollback
484
+ ```
485
+
486
+ To run one version once without installing it, use `npx agemon@6.0.0`.
487
+
488
+ - **Use `agemon upgrade`, not `npm update -g`.** Once agemon has upgraded itself, npm records the
489
+ install as coming from a local file.
490
+ - **Then run `agemon` in each repository.** Upgrading replaces the program and changes no
491
+ repository. The next run shows what the new version brings, as described below.
492
+ - **To stay on a version,** set `AGEMON_NO_UPDATE_CHECK=1` to turn off the daily update prompt
493
+ (see [Update checks](#update-checks)).
494
+
495
+ To decide whether to upgrade, read the [changelog](CHANGELOG.md): it lists what each release
496
+ changed. For example, 6.1.0 added the Claude plugin marketplace (see [Use with Claude](#use-with-claude)),
497
+ `agemon add` and `agemon usage`.
498
+
499
+ ### How each install method upgrades
500
+
355
501
  `agemon upgrade` works out how the running copy was installed and upgrades it the same
356
502
  way:
357
503
 
@@ -376,32 +522,52 @@ reports that agemon is up to date. It refuses to replace an install another user
376
522
  run as root with another user's environment (`sudo -E`). Don't run two upgrades or
377
523
  rollbacks of the same install at once.
378
524
 
379
- ### Uninstalling agemon itself
525
+ After an upgrade, agemon prints the link to the release notes and reminds you to run
526
+ `agemon` in each repository: upgrading replaces the program and changes no repository.
380
527
 
381
- `agemon nuke` reverses changes `agemon` made *inside a repository* — it does not remove
382
- the `agemon` binary. Run `agemon nuke` in each repository first, then remove agemon
383
- itself:
528
+ ### What a new version brings to a repository
529
+
530
+ Added in 6.1.0. The next `agemon` run in a repository shows or asks about everything it could use but does not
531
+ have yet. Only skill groups and capabilities need a decision; an updated skill or subagent, or a
532
+ new skill in a group you already installed, appears at the usual consent step.
533
+
534
+ - **New** means this repository has not decided yet: a skill group it was never offered, or a
535
+ capability `known_capabilities` does not name and whose dependencies are listed.
536
+ - **Declined** means it decided against: a skill group you did not pick, or a capability in
537
+ `known_capabilities` that `capabilities` leaves out.
538
+
539
+ | Run | New | Declined |
540
+ |---|---|---|
541
+ | `agemon` or `agemon apply` in a terminal | Asks once | One-line reminder |
542
+ | With `--yes` or without a terminal | Lists it and leaves it waiting | One-line reminder |
543
+ | `agemon --dry-run`, `agemon plan` | Lists it | One-line reminder |
544
+ | `agemon status` | Listed under "Available" | Listed under "Available" |
545
+ | `--quiet` | Nothing | Nothing |
546
+
547
+ ```text
548
+ New: skill group 'security', capability 'agents'. Run 'agemon' to choose.
549
+ Declined: skill group 'seo'. Run 'agemon add <name>' to install.
550
+ ```
551
+
552
+ Neither changes the exit code, so a new release doesn't fail a CI job that runs `agemon status`.
553
+ A first install doesn't print the reminder, because you just made those choices.
554
+
555
+ Install anything listed with `agemon add`:
384
556
 
385
557
  ```bash
386
- agemon self-uninstall --dry-run # show what would be removed
387
- agemon self-uninstall # asks once; --yes skips the question
558
+ agemon add security agents
388
559
  ```
389
560
 
390
- For an install-script copy it removes the install dir, its `.prev` rollback copy, the
391
- `agemon` link that points into it, the update-check cache, and agemon's machine state
392
- (`${XDG_STATE_HOME:-~/.local/state}/agemon`, on macOS `~/Library/Application Support/agemon`
393
- unless `XDG_STATE_HOME` is set: shared-tools ledger and tool caches). It
394
- keeps the machine state while a repository still uses a shared tool, an interrupted
395
- apply can still be recovered, or agemon is running somewhere else, and says which. It
396
- lists the repositories it knows still have agemon-managed files; agemon only knows
397
- repositories that use a shared tool, so check any others yourself. It never changes
398
- files inside repositories. Machine state is per user: run it as the user who installed
399
- agemon (with `sudo` for a root install).
561
+ `add` takes skill group and capability names and shows the usual consent step. It changes
562
+ nothing else in the repository, apart from installing subagents for a group when `agents` is
563
+ on, and bringing skills up to date when it adds a group. A decline is cleared only after the
564
+ install succeeds. A capability
565
+ is added to `capabilities` in `agemon.toml` (see [`agemon.toml`](#agemontoml)) unless you refuse
566
+ it. It refuses a capability or group whose dependency is not enabled, and a repository with no
567
+ `agemon.toml`; run `agemon` there first.
400
568
 
401
- It refuses to start while an interrupted apply can still be recovered (run
402
- `agemon recover` first). For an npm install it prints
403
- `npm uninstall --global --prefix <prefix> agemon`. A copy run through npx has nothing to
404
- remove, and a source checkout or an install agemon can't identify is refused.
569
+ Skill group declines are kept per clone in `.agemon/`, so a teammate is still asked. Capability
570
+ choices are in the committed `agemon.toml`, so they apply to the whole team.
405
571
 
406
572
  ### Update checks
407
573
 
@@ -413,7 +579,8 @@ exists. The check never slows a command down:
413
579
  finished by then, it is cancelled and tried again on a later run;
414
580
  - in an interactive terminal (without `--yes`), for an install-script or npm install,
415
581
  agemon then asks whether to install the update. On yes, it upgrades exactly as
416
- `agemon upgrade` would (see above). Nothing runs if a check fails;
582
+ `agemon upgrade` would (see [How each install method upgrades](#how-each-install-method-upgrades)).
583
+ Nothing runs if a check fails;
417
584
  - with `--yes`, without a terminal, or for any other install method, it prints a one-line
418
585
  notice with the command to run instead of asking. A release candidate is offered its
419
586
  final release; an older release is never offered.
@@ -422,6 +589,119 @@ There is no check at all for `inspect`, `status`, `plan` or `recover`, with `--d
422
589
  `--quiet`, when `CI` is set (to anything other than `0` or `false`), or when
423
590
  `AGEMON_NO_UPDATE_CHECK=1` is set.
424
591
 
592
+ ## Use with Claude
593
+
594
+ Yes, agemon works with Claude in three places, and each gets a different part of it:
595
+
596
+ - **Claude Code** on your machine (CLI or VS Code) gets everything when you run `agemon` in a
597
+ repository. You can also add skill groups as plugins without running agemon.
598
+ - **Claude Code on the web** gets what you commit: run `agemon`, commit and push.
599
+ - **claude.ai** gets the skills, as plugins from agemon's marketplace.
600
+
601
+ | agemon installs | Claude Code | Claude Code on the web | claude.ai chat |
602
+ |---|---|---|---|
603
+ | Rules (`AGENTS.md`, `CLAUDE.md`) | Yes | Yes, once committed | No |
604
+ | Skills | Yes, or as plugins | Yes, once committed | Yes, as plugins |
605
+ | Subagents | Yes | Yes, once committed | No |
606
+ | Hooks and `.mcp.json` | Yes | Yes, once committed; the tools they run need installing | No |
607
+ | `code-review-graph` | Yes | Through a setup script | No |
608
+ | Daemon and global CLI tools | Yes, where systemd or launchd runs | No | No |
609
+
610
+ The plugin marketplace was added in agemon 6.1.0, but it doesn't need agemon installed at all.
611
+ See [Plugins vs. an agemon install](#plugins-vs-an-agemon-install).
612
+
613
+ ### claude.ai
614
+
615
+ 1. In claude.ai, open **Customize** > **Plugins**.
616
+ 2. Select **Add** > **Add marketplace** > **Add from a repository**.
617
+ 3. Enter `Korak-997/agemon`.
618
+ 4. Add the groups you want, such as `agemon-security` or `agemon-design`.
619
+
620
+ ### Claude Code
621
+
622
+ Add the marketplace once:
623
+
624
+ ```bash
625
+ claude plugin marketplace add Korak-997/agemon
626
+ ```
627
+
628
+ Install a group by its [plugin name](#plugin-names):
629
+
630
+ ```bash
631
+ claude plugin install agemon-security@agemon
632
+ ```
633
+
634
+ Claude Code doesn't auto-update third-party marketplaces by default. Turn on auto-update under
635
+ `/plugin`, or refresh the marketplace and update the plugin yourself:
636
+
637
+ ```bash
638
+ claude plugin marketplace update agemon
639
+ ```
640
+
641
+ ```bash
642
+ claude plugin update agemon-security@agemon
643
+ ```
644
+
645
+ Remove one plugin:
646
+
647
+ ```bash
648
+ claude plugin uninstall agemon-security@agemon
649
+ ```
650
+
651
+ Or remove the marketplace together with every plugin you installed from it:
652
+
653
+ ```bash
654
+ claude plugin marketplace remove agemon
655
+ ```
656
+
657
+ ### Claude Code on the web
658
+
659
+ The `agemon` CLI runs on your machine, so it can't install into a cloud session directly. A
660
+ cloud session clones your repository and reads its agent config, so run `agemon`, commit the
661
+ result and push it. It doesn't read `~/.claude`.
662
+
663
+ `agemon inspect` (6.1.0 and later) has a **Claude on the web** section that lists:
664
+
665
+ - agent config that is uncommitted or gitignored
666
+ - commits changing agent config that aren't pushed yet
667
+ - a setup script, if your hooks or MCP servers run `code-review-graph` directly
668
+
669
+ To use the setup script, open [claude.ai/code](https://claude.ai/code), select the
670
+ environment under the message box, open its settings, and paste the script into **Setup
671
+ script**. It installs the pinned version of `code-review-graph`, but unlike a local agemon
672
+ install, its dependencies are not hash-locked.
673
+
674
+ Cloud sessions in a project's threads are different: they don't use the repository's
675
+ `.claude/skills/` or run its hooks. They use the skills enabled on your claude.ai account.
676
+
677
+ ### Plugin names
678
+
679
+ Each skill group is a plugin named `agemon-<group id>`, listed in
680
+ [`.claude-plugin/marketplace.json`](.claude-plugin/marketplace.json). Install one in Claude
681
+ Code with `claude plugin install agemon-<group id>@agemon`.
682
+
683
+ ### Plugins vs. an agemon install
684
+
685
+ - **Any agemon version works, or none.** The marketplace doesn't depend on the agemon you have
686
+ installed. You can stay on 6.0.0 and still add the plugins: they follow this repository's
687
+ default branch, not your CLI or a release.
688
+ - **No agemon safety net.** Claude manages plugins, so there is no agemon plan, diff, rollback
689
+ or `nuke`, and `agemon status` doesn't see them. Remove them where you added them.
690
+ - **Prefixed names.** A skill is named `<plugin>:<skill>`, such as
691
+ `agemon-security:agemon-security`. In a repository that also has an `agemon` install, you
692
+ would see both copies, so use one or the other there.
693
+ - **Skills and commands only in chat.** Subagents and hooks don't run there, and local tools
694
+ can't. `geo-audit` expects subagents, so use it in Claude Code rather than chat.
695
+
696
+ ### Troubleshooting the plugins
697
+
698
+ - **I don't see the plugins.** Check that you added the `Korak-997/agemon` marketplace and the
699
+ group's plugin.
700
+ - **Claude doesn't use a skill on its own.** Claude picks a skill from its description, and that
701
+ isn't guaranteed. Name it instead, such as `/agemon-security:agemon-security`.
702
+ - **I see every skill twice.** The repository has an `agemon` install and you added the plugin
703
+ too. Use one of them in that repository.
704
+
425
705
  ## CLI Usage
426
706
 
427
707
  `install` is the default command:
@@ -430,6 +710,13 @@ There is no check at all for `inspect`, `status`, `plan` or `recover`, with `--d
430
710
  agemon [options]
431
711
  ```
432
712
 
713
+ Install a capability or skill group the repository doesn't have yet (see
714
+ [What a new version brings to a repository](#what-a-new-version-brings-to-a-repository)):
715
+
716
+ ```bash
717
+ agemon add <names...> [--yes]
718
+ ```
719
+
433
720
  Reverse managed changes:
434
721
 
435
722
  ```bash
@@ -463,10 +750,11 @@ uninstalling a global npm package or disabling user linger. It then asks once. N
463
750
  without network access, and only when its content is a version agemon installed; an
464
751
  edited copy is kept and named. A custom group's skill counts as installed by agemon
465
752
  only if it matched its source at install time, which agemon recorded then; a copy with
466
- no such record is kept and named. It never deletes `.agents/skills/<name>`, which other
467
- tools may use, and removes only agemon's skills from `skills-lock.json`.
468
- - `.gitignore` and directories: every `nuke` removes the `.claude`, `.claude/skills` and
469
- `.claude/agents` directories agemon created once they are empty (never their contents).
753
+ no such record is kept and named. In `.agents/skills/<name>`, it removes only a copy agemon
754
+ recorded writing whose hash is unchanged; a changed copy is kept and named, and a copy agemon
755
+ did not write is never touched. It removes only agemon's skills from `skills-lock.json`.
756
+ - `.gitignore` and directories: every `nuke` removes the `.claude`, `.claude/skills`,
757
+ `.claude/agents`, `.agents` and `.agents/skills` directories agemon created once they are empty (never their contents).
470
758
  When the last capability goes, it also removes the `/.agemon/` and `/skills-lock.json`
471
759
  lines agemon added (only the exact lines it appended and recorded; your own equivalent
472
760
  lines stay), even in a committed `.gitignore`, and deletes a `.gitignore` agemon created
@@ -484,6 +772,38 @@ Restore the files an interrupted apply changed (see
484
772
  agemon recover [--yes] [--dry-run]
485
773
  ```
486
774
 
775
+ ### Checking what subagent models saved (`agemon usage`)
776
+
777
+ ```bash
778
+ agemon usage [--since 30d] [--json]
779
+ ```
780
+
781
+ `agemon usage` estimates what running subagents on cheaper models saved in this repository. There
782
+ is nothing to turn on: it reads the sessions Claude Code already saves under
783
+ `~/.claude/projects/` (or `CLAUDE_CONFIG_DIR`). It only reports on Claude Code, and it does not
784
+ call any model.
785
+
786
+ For each session it adds up what every response cost, then prices the subagents' same tokens at
787
+ the session's own model. The difference is the estimated saving. It also shows how many sessions
788
+ used subagents, and how many of those calls ran cheaper than the session's model.
789
+
790
+ - **It is an estimate, not a bill.** It uses API list prices, so on a subscription a saving means
791
+ less of your usage limit spent, not less money paid. It assumes standard speed and global routing.
792
+ On this project's own sessions, its totals came within 2% of the CLI's figures.
793
+ - **It doesn't compare against doing the work inline.** That would use different tokens: no subagent
794
+ startup cost, but a longer main conversation. It also can't tell whether the cheaper work was good
795
+ enough, so note when you have to redo a subagent's work.
796
+ - **`--since` counts whole sessions.** A session active inside the window counts in full.
797
+ - **Models without a known price** are left out and counted in the report. Prices are built in, so
798
+ check them after a price change.
799
+ - **Run it at least monthly.** Each run saves its numbers, so they outlive Claude Code deleting old
800
+ transcripts. Only sessions still on disk at a run are captured. Sessions from another worktree are
801
+ a separate project: run it there too.
802
+
803
+ The history is `usage/<repo key>.json` in agemon's state directory, readable only by you. It holds
804
+ numbers, models and agent type names, never prompts, code or task descriptions. `nuke` keeps it, and
805
+ `agemon self-uninstall` removes it with the rest of the machine state.
806
+
487
807
  ### Global Options
488
808
 
489
809
  - `--dry-run`: narrate actions without making changes.
@@ -544,8 +864,8 @@ unknown capability id, or an empty `capabilities` list is an error, never a sile
544
864
  fallback:
545
865
 
546
866
  ```toml
547
- capabilities = ["crg", "daemon", "skills", "agents", "cli-tool", "master-prompt"]
548
- known_capabilities = ["crg", "daemon", "skills", "agents", "cli-tool", "master-prompt"]
867
+ capabilities = ["crg", "daemon", "skills", "agents", "subagent-default", "cli-tool", "master-prompt"]
868
+ known_capabilities = ["crg", "daemon", "skills", "agents", "subagent-default", "cli-tool", "master-prompt"]
549
869
  skill_groups = "essentials,security" # optional
550
870
 
551
871
  [custom_skill_groups.house-style] # optional — see Project-defined skill groups
@@ -556,19 +876,21 @@ skills = [{ source = "./tools/skills/house-rules" }]
556
876
  "rule-file:CLAUDE.md" = "keep" # keep | replace | skip
557
877
  ```
558
878
 
559
- `known_capabilities` lists the capabilities the agemon that wrote the file knew about. When
560
- a later release adds a capability that existing repositories should get (so far only
561
- `agents`, and only when `skills` is listed), agemon includes it in the run and then adds
562
- it to `capabilities` once, rewriting `agemon.toml`. All values are kept, but comments and
563
- layout are not; if anything like that would be lost, the original is saved under
564
- `.agemon/backups/` and the message names the file. Each such rewrite keeps its own saved
565
- original; a later one never overwrites an earlier one. The rewrite happens only in an
566
- interactive or `--yes` run that did not roll back, and never with `--dry-run`, `--only` or
567
- `agemon plan`. To opt out, remove the capability from `capabilities` afterwards; because it
568
- is now in `known_capabilities`, agemon does not add it again. Older agemon releases reject a
569
- file with `known_capabilities` or `agents`, so upgrade agemon in CI before committing it. The
570
- rewrite is skipped while `/.agemon/` is not git-ignored, and a full `agemon nuke` deletes
571
- `.agemon/`, including that saved original.
879
+ `known_capabilities` lists the capabilities the agemon that wrote the file knew about. A
880
+ capability a later release adds is new to the file: an interactive `agemon` or `agemon apply`
881
+ asks about it once, when everything it depends on is listed. What you pick is installed and added to
882
+ `capabilities`, and everything agemon knows goes into `known_capabilities`, so what you
883
+ did not pick becomes a declined reminder instead of another question. `agemon add <name>`
884
+ installs a capability the same way, and `--yes` never decides for you.
885
+
886
+ Recording this rewrites `agemon.toml`. All values are kept, but comments and layout are not; if
887
+ anything like that would be lost, the original is saved under `.agemon/backups/` and the message
888
+ names the file. Each such rewrite keeps its own saved original; a later one never overwrites an
889
+ earlier one. It never happens with `--dry-run`, `--only` or `agemon plan`, or after a rollback. To
890
+ opt out later, remove the capability from `capabilities`; because it is in `known_capabilities`,
891
+ agemon does not ask again. Older agemon releases reject a file with `known_capabilities` or
892
+ `agents`, so upgrade agemon in CI before committing it. The rewrite is skipped while `/.agemon/` is
893
+ not git-ignored, and a full `agemon nuke` deletes `.agemon/`, including that saved original.
572
894
 
573
895
  A conflict is a rule file that holds your own rules where agemon would write a pointer.
574
896
  It needs a decision. `--yes` never picks one for you, so record it under
@@ -660,6 +982,9 @@ agemon inspect --json
660
982
  `agemon status` includes a one-line agent summary (counts configured/installed) alongside
661
983
  its usual health/drift output.
662
984
 
985
+ `agemon inspect` also reports what stops a repository working with Claude Code on the web,
986
+ under `cloud` in the JSON report. See [Use with Claude](#use-with-claude).
987
+
663
988
  ## Reversibility Guarantees
664
989
 
665
990
  - `nuke` removes only agemon-managed artifacts tracked in `.agemon/state.json`, and among
@@ -730,11 +1055,14 @@ By default, agemon may manage these paths:
730
1055
  - `.cursorrules`
731
1056
  - `.windsurfrules`
732
1057
  - `.claude/agents/<name>.md` (the subagents of installed skill groups)
1058
+ - `env.CLAUDE_CODE_SUBAGENT_MODEL` in `.claude/settings.json` (only this key; see
1059
+ [Default subagent model](#default-subagent-model))
733
1060
  - `agemon.toml` (written on the first run; rewritten once when a capability is added)
734
1061
 
735
1062
  It also invokes external installers (`pipx`, `npm -g`, the pinned `skills` CLI) when required.
736
- Every third-party tool and source is pinned to an exact version or commit
737
- (`src/plugins/pins.ts`, `assets/tools/package-lock.json`). agnix is installed with
1063
+ Every third-party tool is pinned to an exact version
1064
+ (`src/plugins/pins.ts`, `assets/tools/package-lock.json`), and every vendored skill records the
1065
+ upstream commit it was copied from in its `NOTICE.md`. agnix is installed with
738
1066
  `npm install --global --ignore-scripts agnix@<pin>`, so its own download script never runs;
739
1067
  agemon then downloads the binary from the matching GitHub release itself and installs it only
740
1068
  if the archive matches a sha256 pinned in `src/plugins/pins.ts`.
@@ -744,7 +1072,8 @@ Machine-level caches outside the repo, under `${XDG_STATE_HOME:-~/.local/state}/
744
1072
  kept by `nuke` because every repo on the machine shares them:
745
1073
 
746
1074
  - `tools/<hash>/`: the `skills` CLI, installed from `assets/tools/package-lock.json`
747
- - `skills-src/<commit>/`: the pinned Essentials checkout that `skills add` installs from
1075
+ - `skills-src/<commit>/`: the pinned checkout of a custom skill group's GitHub source that `skills add` installs from
1076
+ - `usage/<repo key>.json`: the numbers `agemon usage` has saved for a repository
748
1077
  - `machine.json`: which repositories use code-review-graph, agnix and user linger, and who
749
1078
  installed or enabled them
750
1079
 
@@ -803,35 +1132,41 @@ Useful sandbox flags:
803
1132
 
804
1133
  ## Vendored Skills & Attribution
805
1134
 
806
- The `design`, `security`, `code-quality`, `architecture`, `self-review`, `performance`, `commit`,
807
- `teamlead` and `geo-seo` skill groups (see [Skill Groups](#skill-groups)) are vendored under
1135
+ The `essentials`, `design`, `security`, `code-quality`, `architecture`, `self-review`, `performance`, `commit`,
1136
+ `workflow`, `output-style`, `founder`, `teamlead` and `geo-seo` skill groups (see [Skill Groups](#skill-groups)) are vendored under
808
1137
  `assets/skills/<group>/<skill>/`.
809
1138
  Each vendored skill directory carries a `NOTICE.md` (source repo, exact commit, retrieval date)
810
- and a copy of its upstream `LICENSE`. Sources, all MIT-licensed:
1139
+ and a copy of its upstream `LICENSE`. Sources, MIT-licensed except where noted. Some `agemon-design` text is Apache-2.0: `references/tells-2026-11.md` and the plan-and-review steps of `references/stage-build.md` are adapted from Anthropic's `frontend-design` skill (https://github.com/anthropics/skills), with the licence text in `references/third-party-licenses.md`:
811
1140
 
812
1141
  Every skill vendored from a third-party project is renamed to an `agemon-*` identity (frontmatter
813
1142
  `name` and directory) — it should never be obvious from installing it that the content originated
814
1143
  elsewhere. Original upstream names are preserved only in each skill's `NOTICE.md`, for attribution.
815
1144
  The project-authored `team-lead` skills beyond `agemon-plan-rfc` and `prd-generator` have no
816
1145
  upstream to rename from and keep their original `skill-*` names — see the table below.
817
- The `geo-seo` group is the one deliberate exception: its skills keep their upstream `geo-*` names
818
- so `/geo audit` and the other commands match the upstream project's documentation.
1146
+ The `geo-seo` group keeps its upstream `geo-*` names so `/geo audit` and the other commands match
1147
+ the upstream project's documentation. The `essentials` group keeps its upstream names too, so repositories
1148
+ that already have those skills recognise them and can update them.
819
1149
 
820
1150
  | Renamed to | Originally | Source |
821
1151
  |---|---|---|
822
- | `agemon-design`, `agemon-design-minimal`, `agemon-design-editorial`, `agemon-design-dashboard` | `ui-craft` + 3 recipe variants | [educlopez/ui-craft](https://github.com/educlopez/ui-craft) |
1152
+ | `agemon-design` | `ui-craft` + 3 recipe variants, now presets (open fork; see its `NOTICE.md`) | [educlopez/ui-craft](https://github.com/educlopez/ui-craft) |
823
1153
  | `agemon-security` | `security-review` (also avoids colliding with Claude Code's own built-in skill of the same name) | [Dilaz/security-review-skill](https://github.com/Dilaz/security-review-skill) |
1154
+ | `agemon-security-audit` | `security-audit` | [cloudflare/security-audit-skill](https://github.com/cloudflare/security-audit-skill) |
1155
+ | `agemon-brainstorming`, `agemon-writing-plans`, `agemon-executing-plans`, `agemon-subagent-driven-development`, `agemon-test-driven-development`, `agemon-using-git-worktrees`, `agemon-dispatching-parallel-agents`, `agemon-finishing-a-development-branch` | the same names without `agemon-` | [obra/superpowers](https://github.com/obra/superpowers) |
1156
+ | `web-design-guidelines` | `command.md` of `web-interface-guidelines`, with a wrapper that reads it instead of fetching it | [vercel-labs/web-interface-guidelines](https://github.com/vercel-labs/web-interface-guidelines) |
1157
+ | `writing-guidelines` | `command.md` of `writing-guidelines`, with a wrapper that reads it instead of fetching it | [vercel-labs/writing-guidelines](https://github.com/vercel-labs/writing-guidelines) |
1158
+ | `agemon-adhd` | `i-have-adhd` | [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) |
1159
+ | `agemon-founder-board` and the other `agemon-founder-*` skills | `founder-board` and the other `founder-*` skills | [Jakeschincariol/founder-skill](https://github.com/Jakeschincariol/founder-skill) |
824
1160
  | `agemon-architecture` | `clean-architecture` | [nathankim0/clean-architecture-skills](https://github.com/nathankim0/clean-architecture-skills) |
825
1161
  | `agemon-verify-before-done`, `agemon-review-intake`, `agemon-review-request`, `agemon-root-cause` | `verification-before-completion`, `receiving-code-review`, `requesting-code-review`, `systematic-debugging` | [obra/superpowers](https://github.com/obra/superpowers) (cherry-picked; not a full vendor of that framework) |
826
1162
  | `agemon-clean-code` | `karpathy-guidelines` | [swarmclawai/andrej-karpathy-skills](https://github.com/swarmclawai/andrej-karpathy-skills) |
827
1163
  | `agemon-house-rules`, `agemon-performance`, `agemon-commit`, `agemon-plan-rfc`, `prd-generator`, `skill-headofit-audit`, `skill-incident-rca`, `skill-meeting-lifecycle`, `skill-obsidian-vault-sync`, `skill-prd-decomposer`, `skill-sec-check`, `skill-task-extractor`, `skill-techlead-reviewer`, `skill-tech-spike` | — | Original — authored for this project, `agemon-house-rules` distilled from this repo's own `AGENTS.md`. The `team-lead` skills beyond `agemon-plan-rfc` and `prd-generator` keep their original `skill-*` names rather than the `agemon-*` convention. |
828
1164
 
829
- `ui-craft`'s own reference files (33 files under `agemon-design/references/`) still mention
830
- "ui-craft" by name in prose in a few places — they document that project's own separate CLI/MCP
831
- tooling (`ui-craft-detect`, the `ui-craft` MCP server's `route_task`), which genuinely still goes
832
- by that name and isn't part of what agemon ships. Rewriting 33 files of someone else's authored
833
- guidance to scrub every mention was judged higher-risk than leaving a few internal citations
834
- intact; the skill's own identity (what gets installed, listed, and invoked) is fully renamed.
1165
+ `agemon-design`'s reference files still say "ui-craft" in two places: an older project's
1166
+ `.ui-craft/` directory, which the skill reads but never rewrites (new files go in `.design/`), and
1167
+ a few "clashes with ui-craft rules" headings in `references/stack.md`. Commands, tools and agents that agemon does not ship are
1168
+ gone, and `npm run lint-skills` fails if one comes back in `agemon-design` or a link in the skill points at a missing
1169
+ file; the skill's own identity (what gets installed, listed, and invoked) is fully renamed.
835
1170
 
836
1171
  `geo-seo` is vendored from [zubair-trabzada/geo-seo-claude](https://github.com/zubair-trabzada/geo-seo-claude)
837
1172
  (MIT, commit `989cae0`). It ships 12 of upstream's skills; the self-updater, the Python scripts,