agemon 6.0.0 → 6.3.0

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 +313 -64
  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 on the web too.** Add agemon's skill groups to claude.ai as plugins, and check a
26
+ repository is ready for Claude Code on the web. See [Claude on the web](#claude-on-the-web).
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,100 @@ 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
+
328
+ ## Claude on the web
329
+
330
+ The `agemon` CLI runs on your machine, so it can't install into Claude on the web directly.
331
+ There are two products to set up, and each gets agemon's work in a different way.
332
+
333
+ | agemon installs | Claude Code on the web | claude.ai chat |
334
+ |---|---|---|
335
+ | Rules (`AGENTS.md`, `CLAUDE.md`) | Yes, once committed | No |
336
+ | Skills | Yes, once committed | Yes, as plugins |
337
+ | Subagents | Yes, once committed | No |
338
+ | Hooks and `.mcp.json` | Yes, once committed; the tools they run need installing | No |
339
+ | `code-review-graph` | Through a setup script | No |
340
+ | Daemon and global CLI tools | No | No |
341
+
342
+ ### Claude Code on the web
343
+
344
+ A cloud session clones your repository and reads its agent config, so run `agemon`, commit
345
+ the result and push it. It doesn't read `~/.claude`.
346
+
347
+ `agemon inspect` has a **Claude on the web** section that lists:
348
+
349
+ - agent config that is uncommitted or gitignored
350
+ - commits changing agent config that aren't pushed yet
351
+ - a setup script, if your hooks or MCP servers run `code-review-graph` directly
352
+
353
+ To use the setup script, open [claude.ai/code](https://claude.ai/code), select the
354
+ environment under the message box, open its settings, and paste the script into **Setup
355
+ script**. It installs the pinned version of `code-review-graph`, but unlike a local agemon
356
+ install, its dependencies are not hash-locked.
357
+
358
+ Cloud sessions in a project's threads are different: they don't use the repository's
359
+ `.claude/skills/` or run its hooks. They use the skills enabled on your claude.ai account.
360
+
361
+ ### claude.ai chat
362
+
363
+ agemon's repository is also a plugin marketplace with one plugin per skill group:
364
+
365
+ 1. In claude.ai, open **Customize** > **Plugins**.
366
+ 2. Select **Add** > **Add marketplace** > **Add from a repository**.
367
+ 3. Enter `Korak-997/agemon`.
368
+ 4. Add the groups you want, such as `agemon-security` or `agemon-design`.
369
+
370
+ The same marketplace works in Claude Code:
371
+
372
+ ```bash
373
+ claude plugin marketplace add Korak-997/agemon
374
+ claude plugin install agemon-security@agemon
375
+ ```
376
+
377
+ Plugins differ from an `agemon` install in these ways:
378
+
379
+ - **No agemon safety net.** Claude manages plugins, so there is no agemon plan, diff, rollback
380
+ or `nuke`, and `agemon status` doesn't see them. Remove them where you added them.
381
+ - **Latest skills, not pinned.** The marketplace follows this repository's default branch
382
+ rather than a release. Claude Code doesn't auto-update third-party marketplaces by default;
383
+ run `claude plugin marketplace update agemon`, or turn on auto-update under `/plugin`.
384
+ - **Prefixed names.** A skill is named `<plugin>:<skill>`, such as
385
+ `agemon-security:agemon-security`. In a repository that also has an `agemon` install, you
386
+ would see both copies, so use one or the other there.
387
+ - **Skills and commands only in chat.** Subagents and hooks don't run there, and local tools
388
+ can't. `geo-audit` expects subagents, so use it in Claude Code rather than chat.
389
+
243
390
  ## Requirements
244
391
 
245
392
  - To install, apply or nuke: Ubuntu, Debian, a derivative whose `/etc/os-release`
@@ -376,6 +523,53 @@ reports that agemon is up to date. It refuses to replace an install another user
376
523
  run as root with another user's environment (`sudo -E`). Don't run two upgrades or
377
524
  rollbacks of the same install at once.
378
525
 
526
+ After an upgrade, agemon prints the link to the release notes and reminds you to run
527
+ `agemon` in each repository: upgrading replaces the program and changes no repository.
528
+
529
+ ### What a new version brings to a repository
530
+
531
+ The next `agemon` run in a repository shows or asks about everything it could use but does not
532
+ have yet. Only skill groups and capabilities need a decision; an updated skill or subagent, or a
533
+ new skill in a group you already installed, appears at the usual consent step.
534
+
535
+ - **New** means this repository has not decided yet: a skill group it was never offered, or a
536
+ capability `known_capabilities` does not name and whose dependencies are listed.
537
+ - **Declined** means it decided against: a skill group you did not pick, or a capability in
538
+ `known_capabilities` that `capabilities` leaves out.
539
+
540
+ | Run | New | Declined |
541
+ |---|---|---|
542
+ | `agemon` or `agemon apply` in a terminal | Asks once | One-line reminder |
543
+ | With `--yes` or without a terminal | Lists it and leaves it waiting | One-line reminder |
544
+ | `agemon --dry-run`, `agemon plan` | Lists it | One-line reminder |
545
+ | `agemon status` | Listed under "Available" | Listed under "Available" |
546
+ | `--quiet` | Nothing | Nothing |
547
+
548
+ ```text
549
+ New: skill group 'security', capability 'agents'. Run 'agemon' to choose.
550
+ Declined: skill group 'seo'. Run 'agemon add <name>' to install.
551
+ ```
552
+
553
+ Neither changes the exit code, so a new release doesn't fail a CI job that runs `agemon status`.
554
+ A first install doesn't print the reminder, because you just made those choices.
555
+
556
+ Install anything listed with `agemon add`:
557
+
558
+ ```bash
559
+ agemon add security agents
560
+ ```
561
+
562
+ `add` takes skill group and capability names and shows the usual consent step. It changes
563
+ nothing else in the repository, apart from installing subagents for a group when `agents` is
564
+ on, and bringing skills up to date when it adds a group. A decline is cleared only after the
565
+ install succeeds. A capability
566
+ is added to `capabilities` in `agemon.toml` (see [`agemon.toml`](#agemontoml)) unless you refuse
567
+ it. It refuses a capability or group whose dependency is not enabled, and a repository with no
568
+ `agemon.toml`; run `agemon` there first.
569
+
570
+ Skill group declines are kept per clone in `.agemon/`, so a teammate is still asked. Capability
571
+ choices are in the committed `agemon.toml`, so they apply to the whole team.
572
+
379
573
  ### Uninstalling agemon itself
380
574
 
381
575
  `agemon nuke` reverses changes `agemon` made *inside a repository* — it does not remove
@@ -430,6 +624,13 @@ There is no check at all for `inspect`, `status`, `plan` or `recover`, with `--d
430
624
  agemon [options]
431
625
  ```
432
626
 
627
+ Install a capability or skill group the repository doesn't have yet (see
628
+ [What a new version brings to a repository](#what-a-new-version-brings-to-a-repository)):
629
+
630
+ ```bash
631
+ agemon add <names...> [--yes]
632
+ ```
633
+
433
634
  Reverse managed changes:
434
635
 
435
636
  ```bash
@@ -463,10 +664,11 @@ uninstalling a global npm package or disabling user linger. It then asks once. N
463
664
  without network access, and only when its content is a version agemon installed; an
464
665
  edited copy is kept and named. A custom group's skill counts as installed by agemon
465
666
  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).
667
+ no such record is kept and named. In `.agents/skills/<name>`, it removes only a copy agemon
668
+ recorded writing whose hash is unchanged; a changed copy is kept and named, and a copy agemon
669
+ did not write is never touched. It removes only agemon's skills from `skills-lock.json`.
670
+ - `.gitignore` and directories: every `nuke` removes the `.claude`, `.claude/skills`,
671
+ `.claude/agents`, `.agents` and `.agents/skills` directories agemon created once they are empty (never their contents).
470
672
  When the last capability goes, it also removes the `/.agemon/` and `/skills-lock.json`
471
673
  lines agemon added (only the exact lines it appended and recorded; your own equivalent
472
674
  lines stay), even in a committed `.gitignore`, and deletes a `.gitignore` agemon created
@@ -484,6 +686,38 @@ Restore the files an interrupted apply changed (see
484
686
  agemon recover [--yes] [--dry-run]
485
687
  ```
486
688
 
689
+ ### Checking what subagent models saved (`agemon usage`)
690
+
691
+ ```bash
692
+ agemon usage [--since 30d] [--json]
693
+ ```
694
+
695
+ `agemon usage` estimates what running subagents on cheaper models saved in this repository. There
696
+ is nothing to turn on: it reads the sessions Claude Code already saves under
697
+ `~/.claude/projects/` (or `CLAUDE_CONFIG_DIR`). It only reports on Claude Code, and it does not
698
+ call any model.
699
+
700
+ For each session it adds up what every response cost, then prices the subagents' same tokens at
701
+ the session's own model. The difference is the estimated saving. It also shows how many sessions
702
+ used subagents, and how many of those calls ran cheaper than the session's model.
703
+
704
+ - **It is an estimate, not a bill.** It uses API list prices, so on a subscription a saving means
705
+ less of your usage limit spent, not less money paid. It assumes standard speed and global routing.
706
+ On this project's own sessions, its totals came within 2% of the CLI's figures.
707
+ - **It doesn't compare against doing the work inline.** That would use different tokens: no subagent
708
+ startup cost, but a longer main conversation. It also can't tell whether the cheaper work was good
709
+ enough, so note when you have to redo a subagent's work.
710
+ - **`--since` counts whole sessions.** A session active inside the window counts in full.
711
+ - **Models without a known price** are left out and counted in the report. Prices are built in, so
712
+ check them after a price change.
713
+ - **Run it at least monthly.** Each run saves its numbers, so they outlive Claude Code deleting old
714
+ transcripts. Only sessions still on disk at a run are captured. Sessions from another worktree are
715
+ a separate project: run it there too.
716
+
717
+ The history is `usage/<repo key>.json` in agemon's state directory, readable only by you. It holds
718
+ numbers, models and agent type names, never prompts, code or task descriptions. `nuke` keeps it, and
719
+ `agemon self-uninstall` removes it with the rest of the machine state.
720
+
487
721
  ### Global Options
488
722
 
489
723
  - `--dry-run`: narrate actions without making changes.
@@ -544,8 +778,8 @@ unknown capability id, or an empty `capabilities` list is an error, never a sile
544
778
  fallback:
545
779
 
546
780
  ```toml
547
- capabilities = ["crg", "daemon", "skills", "agents", "cli-tool", "master-prompt"]
548
- known_capabilities = ["crg", "daemon", "skills", "agents", "cli-tool", "master-prompt"]
781
+ capabilities = ["crg", "daemon", "skills", "agents", "subagent-default", "cli-tool", "master-prompt"]
782
+ known_capabilities = ["crg", "daemon", "skills", "agents", "subagent-default", "cli-tool", "master-prompt"]
549
783
  skill_groups = "essentials,security" # optional
550
784
 
551
785
  [custom_skill_groups.house-style] # optional — see Project-defined skill groups
@@ -556,19 +790,21 @@ skills = [{ source = "./tools/skills/house-rules" }]
556
790
  "rule-file:CLAUDE.md" = "keep" # keep | replace | skip
557
791
  ```
558
792
 
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.
793
+ `known_capabilities` lists the capabilities the agemon that wrote the file knew about. A
794
+ capability a later release adds is new to the file: an interactive `agemon` or `agemon apply`
795
+ asks about it once, when everything it depends on is listed. What you pick is installed and added to
796
+ `capabilities`, and everything agemon knows goes into `known_capabilities`, so what you
797
+ did not pick becomes a declined reminder instead of another question. `agemon add <name>`
798
+ installs a capability the same way, and `--yes` never decides for you.
799
+
800
+ Recording this rewrites `agemon.toml`. All values are kept, but comments and layout are not; if
801
+ anything like that would be lost, the original is saved under `.agemon/backups/` and the message
802
+ names the file. Each such rewrite keeps its own saved original; a later one never overwrites an
803
+ earlier one. It never happens with `--dry-run`, `--only` or `agemon plan`, or after a rollback. To
804
+ opt out later, remove the capability from `capabilities`; because it is in `known_capabilities`,
805
+ agemon does not ask again. Older agemon releases reject a file with `known_capabilities` or
806
+ `agents`, so upgrade agemon in CI before committing it. The rewrite is skipped while `/.agemon/` is
807
+ not git-ignored, and a full `agemon nuke` deletes `.agemon/`, including that saved original.
572
808
 
573
809
  A conflict is a rule file that holds your own rules where agemon would write a pointer.
574
810
  It needs a decision. `--yes` never picks one for you, so record it under
@@ -660,6 +896,9 @@ agemon inspect --json
660
896
  `agemon status` includes a one-line agent summary (counts configured/installed) alongside
661
897
  its usual health/drift output.
662
898
 
899
+ `agemon inspect` also reports what stops a repository working with Claude Code on the web,
900
+ under `cloud` in the JSON report. See [Claude on the web](#claude-on-the-web).
901
+
663
902
  ## Reversibility Guarantees
664
903
 
665
904
  - `nuke` removes only agemon-managed artifacts tracked in `.agemon/state.json`, and among
@@ -730,11 +969,14 @@ By default, agemon may manage these paths:
730
969
  - `.cursorrules`
731
970
  - `.windsurfrules`
732
971
  - `.claude/agents/<name>.md` (the subagents of installed skill groups)
972
+ - `env.CLAUDE_CODE_SUBAGENT_MODEL` in `.claude/settings.json` (only this key; see
973
+ [Default subagent model](#default-subagent-model))
733
974
  - `agemon.toml` (written on the first run; rewritten once when a capability is added)
734
975
 
735
976
  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
977
+ Every third-party tool is pinned to an exact version
978
+ (`src/plugins/pins.ts`, `assets/tools/package-lock.json`), and every vendored skill records the
979
+ upstream commit it was copied from in its `NOTICE.md`. agnix is installed with
738
980
  `npm install --global --ignore-scripts agnix@<pin>`, so its own download script never runs;
739
981
  agemon then downloads the binary from the matching GitHub release itself and installs it only
740
982
  if the archive matches a sha256 pinned in `src/plugins/pins.ts`.
@@ -744,7 +986,8 @@ Machine-level caches outside the repo, under `${XDG_STATE_HOME:-~/.local/state}/
744
986
  kept by `nuke` because every repo on the machine shares them:
745
987
 
746
988
  - `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
989
+ - `skills-src/<commit>/`: the pinned checkout of a custom skill group's GitHub source that `skills add` installs from
990
+ - `usage/<repo key>.json`: the numbers `agemon usage` has saved for a repository
748
991
  - `machine.json`: which repositories use code-review-graph, agnix and user linger, and who
749
992
  installed or enabled them
750
993
 
@@ -803,35 +1046,41 @@ Useful sandbox flags:
803
1046
 
804
1047
  ## Vendored Skills & Attribution
805
1048
 
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
1049
+ The `essentials`, `design`, `security`, `code-quality`, `architecture`, `self-review`, `performance`, `commit`,
1050
+ `workflow`, `output-style`, `founder`, `teamlead` and `geo-seo` skill groups (see [Skill Groups](#skill-groups)) are vendored under
808
1051
  `assets/skills/<group>/<skill>/`.
809
1052
  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:
1053
+ 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
1054
 
812
1055
  Every skill vendored from a third-party project is renamed to an `agemon-*` identity (frontmatter
813
1056
  `name` and directory) — it should never be obvious from installing it that the content originated
814
1057
  elsewhere. Original upstream names are preserved only in each skill's `NOTICE.md`, for attribution.
815
1058
  The project-authored `team-lead` skills beyond `agemon-plan-rfc` and `prd-generator` have no
816
1059
  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.
1060
+ The `geo-seo` group keeps its upstream `geo-*` names so `/geo audit` and the other commands match
1061
+ the upstream project's documentation. The `essentials` group keeps its upstream names too, so repositories
1062
+ that already have those skills recognise them and can update them.
819
1063
 
820
1064
  | Renamed to | Originally | Source |
821
1065
  |---|---|---|
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) |
1066
+ | `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
1067
  | `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) |
1068
+ | `agemon-security-audit` | `security-audit` | [cloudflare/security-audit-skill](https://github.com/cloudflare/security-audit-skill) |
1069
+ | `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) |
1070
+ | `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) |
1071
+ | `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) |
1072
+ | `agemon-adhd` | `i-have-adhd` | [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) |
1073
+ | `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
1074
  | `agemon-architecture` | `clean-architecture` | [nathankim0/clean-architecture-skills](https://github.com/nathankim0/clean-architecture-skills) |
825
1075
  | `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
1076
  | `agemon-clean-code` | `karpathy-guidelines` | [swarmclawai/andrej-karpathy-skills](https://github.com/swarmclawai/andrej-karpathy-skills) |
827
1077
  | `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
1078
 
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.
1079
+ `agemon-design`'s reference files still say "ui-craft" in two places: an older project's
1080
+ `.ui-craft/` directory, which the skill reads but never rewrites (new files go in `.design/`), and
1081
+ a few "clashes with ui-craft rules" headings in `references/stack.md`. Commands, tools and agents that agemon does not ship are
1082
+ gone, and `npm run lint-skills` fails if one comes back in `agemon-design` or a link in the skill points at a missing
1083
+ file; the skill's own identity (what gets installed, listed, and invoked) is fully renamed.
835
1084
 
836
1085
  `geo-seo` is vendored from [zubair-trabzada/geo-seo-claude](https://github.com/zubair-trabzada/geo-seo-claude)
837
1086
  (MIT, commit `989cae0`). It ships 12 of upstream's skills; the self-updater, the Python scripts,
@@ -7,3 +7,37 @@
7
7
  - License: MIT — see `LICENSE` in this directory.
8
8
 
9
9
  - Renamed from `ui-craft` to `agemon-design` for agemon branding — installed skills should read as agemon's own, not a third-party project name.
10
+ - Removed the commands, tools and agents agemon does not ship and routed their intents to the eight `/agemon-design <action>` passes in `references/actions.md` (`brief`, `tokens`, `build`, `review`, `polish`, `harden`, `audit`, `animate`; plain words route the same way). The 16 other upstream commands (`start`, `sddesign`, `shape`, `finalize`, `remember`, `unhappy`, `adapt`, `typeset`, `colorize`, `clarify`, `delight`, `distill`, `extract`, `redesign`, `bolder`, `quieter`) are not shipped; each routing-table row that named one now points at the matching reference file, or was removed.
11
+ - Added `references/actions.md`, adapted from upstream `commands/` at the commit above: `brief`, `tokens`, `craft` (as `build`), `critique` and `heuristic` (together as `review`), `polish`, `harden`, `audit`, `animate`. Removed from the port: the instruction to load the skill, MCP and browser-tool calls (visual capture is now phrased as a capability), the `fold_candidates` and `check_fold` tools, the aggregate UsabilityScore and UICraftScore, and `ui-craft-detect`.
12
+ - In `SKILL.md`: renamed the `# UI Craft` heading and self-references to `agemon-design`; replaced the four-rung Ladder with three rungs; removed the `route_task` MCP step, the review-agent dispatch row, the `ui-craft install` hint and the broken link to `examples/animation-storyboard.md`; updated `argument-hint` to list all eight actions.
13
+ - Deleted `references/agents.md`, which described review agents (`design-reviewer`, `a11y-auditor`) that agemon does not ship.
14
+ - Removed the UsabilityScore and Extended quality report sections from `references/heuristics.md`; replaced the `fold_candidates` and `check_fold` steps in `references/recipe-landing.md` with picking a fold class the brief has not used and comparing the render by eye; renamed `/ui-craft:` and upstream command mentions in the other references.
15
+ - Removed every model-judged numeric score and pass/fail verdict: the 1-5 per-heuristic ratings, the PASS/FAIL design-law audit, the scorecard and "machine-parseable" output in `references/heuristics.md` and `references/actions.md`, the persona `Pass/Fail` column, and the `Anti-Slop Verdict` pass/fail in `references/review.md`. Heuristic reviews now list severity-ranked findings that each name an element and a viewport; the heuristics and laws remain as a checklist. Numeric facts (contrast ratios, target sizes, durations) are unchanged.
16
+ - Replaced guidance that steered toward common generated looks: in `SKILL.md`, "Inter/Geist/DM Sans are safe fallbacks" now says to use the project's fonts or choose from the brief and say why, and "90%+ neutral, one accent" is one palette option, not the default; in `references/craft-intent.md`, the three Craft Read examples and the italic-emphasis line were replaced with subject-derived ones; in `references/themes.md`, Graphite is no longer the default, Porcelain's accent moved from terracotta to teal, Carbon's from mint to sky blue, and Signal and Graphite carry a note on the looks they sit near; the three surface recipes no longer default to Graphite, and the dashboard and auth signature-bet examples no longer name a metric sparkline. The `agemon-design-minimal` and `agemon-design-dashboard` variants no longer lock Inter, Geist or IBM Plex.
17
+ - `SKILL.md` stack detection now reads Tailwind v4 `@theme` blocks, treats `tailwind.config.*` as live only when `@config` loads it, never reads tokens from built CSS, and adds `components.json` and CSS variables as signals; `DESIGN.md` is read when present and the project's code wins on current values.
18
+ - Added an `## Untrusted content` section to `SKILL.md` covering repository files, `DESIGN.md` files, fetched pages, Figma text, PDFs, SVGs and CSS comments, and added a lint rule that requires it for this skill.
19
+ - `references/dashboard.md` now describes `heuristics.md` as Cleveland-McGill and Hick's Law checks, since it no longer has PASS/FAIL.
20
+ - Also removed the remaining scoring language: the "scored methodology" reference in `references/principles-catalog.md`, the detector rule IDs in `references/typography.md` and `references/dataviz.md`, the "ship it" verdict in `references/review.md`, and the model-judged binary gate in `references/loops.md` (a stop condition is now an objective check or a severity-finding count). Reviews state what was checked and never give a ship or no-ship ruling.
21
+ - Reworded four lines that read as things to copy: the default landing signature bet in `references/recipe-landing.md`, "Sparklines on every metric card" in `references/principles-catalog.md`, the generic "FIG" labels in `references/inspiration.md`, and the wording about teal being cool in `references/themes.md`.
22
+ - `SKILL.md` was cut from about 38 KB to under 20,000 bytes and now holds only the untrusted-content rule, hard rules, track router, stage list, action table, reference map, capability ladder and final-report format. Its other text moved to `references/core-rules.md`, `references/routing.md` and the stage files. Discovery became `references/stage-intake.md` and `references/stage-assets.md`; the Craft Read moved to `references/stage-build.md`. Added `references/stage-directions.md`, `references/stage-verify.md` and `references/stage-critique.md`. The `description` was rewritten to state only when to use the skill.
23
+ - `references/preset-minimal.md`, `references/preset-editorial.md` and `references/preset-dashboard.md` come from the variants at `skills/ui-craft-minimal`, `skills/ui-craft-editorial` and `skills/ui-craft-dense-dashboard` in the same upstream commit, under the same MIT licence. They were skills and are now presets used only when a user names that look.
24
+ - New briefs and specs now go in `.design/` rather than `.ui-craft/`, which is read but no longer rewritten. `references/stage-assets.md` and `references/stage-build.md` gained source ranking, brand layers and rules for reading and writing `DESIGN.md`, and `scripts/inventory.mjs` is new.
25
+ - `scripts/check-source.mjs` and `scripts/audit-page.js` are new, and `references/stage-verify.md` and `references/stage-critique.md` were rewritten to use them.
26
+
27
+ This skill is now an open fork of ui-craft: it no longer tracks upstream, and any later upstream sync is manual.
28
+
29
+
30
+ ## Derived material
31
+
32
+ - `references/tells-2026-11.md`: adapted from https://github.com/anthropics/skills/blob/ca45fc496a3436251f191354091d557da31c15b5/skills/frontend-design/SKILL.md, commit ca45fc496a3436251f191354091d557da31c15b5, licensed Apache-2.0. Taken: the five clusters of common generated-design traits and the rule that a brief overrides them. Changed: restated in shorter words with agemon-specific usage notes, the typographic tells folded into the template-chrome cluster, a date and a decay warning added, and the process, copywriting and quality-floor sections left out.
33
+ - `references/stage-build.md`, plan and review steps: adapted from https://github.com/anthropics/skills/blob/ca45fc496a3436251f191354091d557da31c15b5/skills/frontend-design/SKILL.md, commit ca45fc496a3436251f191354091d557da31c15b5, licensed Apache-2.0. Taken: the order of plan, review the plan against the brief for generic defaults, then build, and spending boldness in one place. Changed: rewritten in agemon's words and tied to the repo's token system and real material.
34
+ - `references/stage-build.md`, surface modes: the idea and the four names come from https://github.com/pbakaus/impeccable/tree/c8891a9ae865d6ee311836ae5199bfce0fe115b1/skill/reference, commit c8891a9ae865d6ee311836ae5199bfce0fe115b1, licensed Apache-2.0. Taken: Persuade, Operate, Read and Experience as a way to decide where ambition may show. Changed: each mode was written from scratch in a few lines; no upstream text, engine or command was copied.
35
+ - `scripts/inventory.mjs`, stock shadcn values: copied from https://github.com/shadcn-ui/ui/tree/d549251bab2e57dbf72f7c909d6458c02c43f529/apps/v4/public/r, commit d549251bab2e57dbf72f7c909d6458c02c43f529, licensed MIT. Taken: the colour values of the registry's base colours, themes and sidebar block. Changed: merged into one de-duplicated list, used only to recognise defaults.
36
+ - `scripts/inventory.mjs`, stock starter values: copied from https://github.com/vercel/next.js/blob/2d8a09ed147f359135dfefea4d3f32268e4ced6b/packages/create-next-app/templates/app-tw/ts/app/globals.css, commit 2d8a09ed147f359135dfefea4d3f32268e4ced6b, licensed MIT. Taken: four starter colour values. Changed: merged into the same list.
37
+ - `references/stage-directions.md`, Mirror test and honesty rule: adapted from https://github.com/Nutlope/hallmark/blob/407fa689f4a276f2fd389208d271d0fef08f5058/skills/hallmark/SKILL.md, commit 407fa689f4a276f2fd389208d271d0fef08f5058, licensed MIT. Taken: the Mirror test's question and its "change one decision and say which" step, and the ban on an invented metric, testimonial, logo wall or case-study count. Changed: both now apply to direction specs rather than to dealt themes and built pages. The theme deck, hooks, linter and image generation were left out. `scripts/deal.mjs` shares only the idea of dealing a choice against a project log; no Hallmark code was copied.
38
+ - `scripts/check-source.mjs`, placeholder lists and rule choices: adapted from https://github.com/Gesso-Build/skills/blob/1c3908b7efb56ec24624436dea5c32a371eb487c/skills/anti-slop/references/rules.md, commit 1c3908b7efb56ec24624436dea5c32a371eb487c, licensed MIT. Taken: the two lorem-ipsum phrases, the list of placeholder image hosts, the choice of the `transition-all`, `gradient-text`, `justified-text`, `missing-alt` and `missing-lang` checks, and the principle that genre-dependent checks such as fonts must not fail a build. Changed: no engine, auto-fix, score or font rule; every pattern was written afresh, also for JSX and Tailwind classes; two placeholder names were added.
39
+ - `references/stage-verify.md`, tiers: adapted from https://github.com/Nutlope/hallmark/blob/407fa689f4a276f2fd389208d271d0fef08f5058/skills/hallmark/references/gates.md, commit 407fa689f4a276f2fd389208d271d0fef08f5058, licensed MIT. Taken: the names Floor, Reflex and Finish and what each lets you do. Changed: agemon's blocking list is its own; Hallmark's gates, grades, linter and stamp format were not used.
40
+
41
+ `scripts/audit-page.js` follows the computed-style method Adrian Krebs describes at https://www.adriankrebs.ch/blog/design-slop/, of which no code or text was copied. Its contrast and target-size values come from WCAG 2.2 success criteria 1.4.3 and 2.5.8.
42
+
43
+ The licence texts are in [references/third-party-licenses.md](references/third-party-licenses.md).