@jaybeeuu/agent-cortex 2.0.0 → 2.2.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 (183) hide show
  1. package/CHANGELOG.md +437 -0
  2. package/README.md +46 -15
  3. package/agents/README.md +22 -10
  4. package/agents/plan/agent.md +2 -2
  5. package/agents/ralph/agent.md +128 -91
  6. package/agents/ralph/claude/frontmatter.json +3 -3
  7. package/agents/ralph/claude/wake.md +46 -0
  8. package/agents/ralph/pi/{polling.md → wake.md} +35 -20
  9. package/agents/ralph-plan/agent.md +23 -11
  10. package/bin/agent-cortex.mjs +66 -4
  11. package/bin/installers/claude.mjs +262 -77
  12. package/bin/installers/pi.mjs +200 -24
  13. package/extensions/agent-guardrails/README.md +1 -1
  14. package/extensions/agent-guardrails/guardrails.ts +1 -1
  15. package/extensions/agent-guardrails/index.ts +1 -1
  16. package/extensions/agent-modes/discover.test.ts +2 -2
  17. package/extensions/output-style/README.md +58 -0
  18. package/extensions/output-style/index.ts +23 -0
  19. package/extensions/output-style/output-style.md +43 -0
  20. package/extensions/output-style/output-style.test.ts +50 -0
  21. package/extensions/output-style/output-style.ts +32 -0
  22. package/extensions/output-style/package.json +19 -0
  23. package/hooks/claude/scripts/notify.mjs +8 -1
  24. package/lib/cli.mjs +91 -2
  25. package/package.json +29 -4
  26. package/scripts/check-changeset.mjs +4 -0
  27. package/scripts/check-no-sync.mjs +5 -1
  28. package/scripts/check-skill-frontmatter.mjs +21 -0
  29. package/scripts/lib/compose-agent.mjs +69 -9
  30. package/scripts/lib/fs.mjs +10 -2
  31. package/scripts/lib/migrate.mjs +736 -0
  32. package/scripts/lib/release-gates.mjs +21 -1
  33. package/scripts/lib/skill-frontmatter.mjs +152 -0
  34. package/scripts/lib/skill-links.mjs +52 -0
  35. package/scripts/lib/verify-worker-tree.mjs +25 -0
  36. package/scripts/resolve-publish-command.mjs +4 -0
  37. package/skills/engineering/design-an-interface/SKILL.md +3 -3
  38. package/skills/engineering/grill-with-docs/SKILL.md +3 -5
  39. package/skills/engineering/improve-codebase-architecture/SKILL.md +5 -4
  40. package/skills/engineering/tdd/SKILL.md +5 -7
  41. package/skills/engineering/technical-direction/SKILL.md +5 -5
  42. package/skills/planning/classify-bead/REFERENCE.md +3 -3
  43. package/skills/planning/classify-bead/SKILL.md +14 -9
  44. package/skills/planning/classify-bead/scripts/classify-bead.mjs +5 -4
  45. package/skills/planning/create-task/REFERENCE.md +52 -3
  46. package/skills/planning/create-task/SKILL.md +70 -26
  47. package/skills/planning/create-task/scripts/{create-chores.ts → create-chores.mjs} +48 -23
  48. package/skills/planning/flesh-out-idea/REFERENCE.md +116 -0
  49. package/skills/planning/flesh-out-idea/SKILL.md +146 -0
  50. package/skills/planning/prd-to-tasks/REFERENCE.md +54 -5
  51. package/skills/planning/prd-to-tasks/SKILL.md +22 -16
  52. package/skills/planning/record-idea/FORMAT.md +66 -17
  53. package/skills/planning/record-idea/SKILL.md +48 -24
  54. package/skills/planning/request-refactor-plan/SKILL.md +4 -4
  55. package/skills/planning/spec-to-tickets/SKILL.md +5 -5
  56. package/skills/planning/write-a-prd/SKILL.md +8 -9
  57. package/skills/planning/write-a-ticket/SKILL.md +4 -6
  58. package/skills/productivity/bd-tool/SKILL.md +15 -10
  59. package/skills/productivity/grill-me/SKILL.md +5 -0
  60. package/skills/productivity/init-beads/SKILL.md +3 -3
  61. package/skills/productivity/migration/REFERENCE.md +227 -0
  62. package/skills/productivity/migration/SKILL.md +188 -0
  63. package/skills/productivity/validate-agent-dir/scripts/{validate-agent-dir.ts → validate-agent-dir.mjs} +49 -28
  64. package/skills/productivity/write-a-skill/SKILL.md +5 -5
  65. package/skills/review/maintain-agent-docs/SKILL.md +5 -7
  66. package/skills/review/refactor-skill/SKILL.md +4 -3
  67. package/skills/review/review-security/SKILL.md +3 -5
  68. package/skills/style/style-code/SKILL.md +5 -10
  69. package/skills/style/style-comms/SKILL.md +5 -7
  70. package/skills/style/style-documentation/SKILL.md +5 -6
  71. package/skills/style/style-tests/SKILL.md +5 -7
  72. package/skills/workflow/git-workflow/SKILL.md +28 -4
  73. package/skills/workflow/hitl-collab/SKILL.md +4 -6
  74. package/skills/workflow/plan/SKILL.md +41 -30
  75. package/skills/workflow/ralph/REFERENCE.md +209 -55
  76. package/skills/workflow/ralph/SKILL.md +89 -50
  77. package/skills/workflow/ralph/scripts/pending-gates.mjs +134 -0
  78. package/skills/workflow/run-pipeline-stage/SKILL.md +72 -71
  79. package/skills/workflow/run-pipeline-stage/playbooks/code.md +11 -0
  80. package/skills/workflow/run-pipeline-stage/playbooks/document.md +12 -0
  81. package/skills/workflow/run-pipeline-stage/playbooks/fix.md +12 -0
  82. package/skills/workflow/run-pipeline-stage/playbooks/review.md +11 -0
  83. package/skills/workflow/run-pipeline-stage/playbooks/verify.md +13 -0
  84. package/skills/workflow/run-pipeline-stage/prompts/stage-runner.md +73 -1
  85. package/token-map.README.md +9 -4
  86. package/token-map.json +13 -6
  87. package/.agents/skills/style-versioning/SKILL.md +0 -172
  88. package/.changeset/README.md +0 -8
  89. package/.changeset/config.json +0 -11
  90. package/.github/workflows/ci.yml +0 -302
  91. package/.junie/guidelines.md +0 -87
  92. package/.junie/mcp/mcp.json +0 -10
  93. package/AGENTS.md +0 -151
  94. package/agents/ralph/claude/polling.md +0 -31
  95. package/agents-native/ralph.md +0 -193
  96. package/docs/claude-hooks.md +0 -128
  97. package/docs/commit-signing.md +0 -231
  98. package/docs/ideas/auto-model-selection.md +0 -75
  99. package/docs/ideas/ban-content-assertion-tests.md +0 -75
  100. package/docs/ideas/bead-progress-notes-for-session-resumption.md +0 -75
  101. package/docs/ideas/classify-beads-via-deterministic-script-with-agent-fallback.md +0 -70
  102. package/docs/ideas/ctx-alias-version-and-update-commands.md +0 -65
  103. package/docs/ideas/ctx-feedback-command-for-capturing-ideas-from-any-machine.md +0 -67
  104. package/docs/ideas/dedicated-review-tests-skill.md +0 -71
  105. package/docs/ideas/deployment-beads-for-post-merge-pipelines.md +0 -36
  106. package/docs/ideas/design-and-delivery-as-separate-bead-trees/design-and-delivery-as-separate-bead-trees.md +0 -99
  107. package/docs/ideas/enable-signed-commit-enforcement-changesets-bot-commits-must-be-signed.md +0 -42
  108. package/docs/ideas/extension-manifests.md +0 -121
  109. package/docs/ideas/improve-pi-system-prompt.md +0 -37
  110. package/docs/ideas/map-every-cortex-tool-to-a-real-pi-equivalent.md +0 -95
  111. package/docs/ideas/model-selector.md +0 -40
  112. package/docs/ideas/pi-task-memory.md +0 -34
  113. package/docs/ideas/qa-extension.md +0 -43
  114. package/docs/ideas/record-idea-implementation-questions.md +0 -68
  115. package/docs/ideas/record-ideas-as-beads.md +0 -115
  116. package/docs/ideas/self-flushing-session.md +0 -72
  117. package/docs/ideas/state-in-beads-not-md.md +0 -69
  118. package/docs/ideas/subagent-visibility.md +0 -72
  119. package/docs/ideas/task-session-context.local.md +0 -95
  120. package/docs/ideas/task-session-context.md +0 -89
  121. package/docs/ideas/test-data-creation-helpers.md +0 -92
  122. package/docs/ideas/test-planning-stage-bead-in-feature-planning.md +0 -68
  123. package/docs/ideas/unified-ci-pipeline.md +0 -28
  124. package/docs/ideas/unify-the-ticket-and-task-decomposition-workflows.md +0 -71
  125. package/docs/ideas/worktree-housekeeping-for-closed-beads.md +0 -39
  126. package/docs/inspirations.md +0 -33
  127. package/docs/research/disable-model-invocation.md +0 -82
  128. package/docs/research/gas-city-research.md +0 -256
  129. package/docs/research/skill-design-research.md +0 -286
  130. package/docs/research/skill-improvements-analysis.md +0 -117
  131. package/docs/research/skill-patterns-research.md +0 -24
  132. package/docs/skills/skill-anatomy.md +0 -197
  133. package/docs/technical-direction/harness-config.md +0 -177
  134. package/docs/technical-direction/migration-execution-labels.md +0 -177
  135. package/docs/user-preferences.md +0 -17
  136. package/extensions/agent-guardrails/tsconfig.json +0 -12
  137. package/extensions/agent-modes/tsconfig.json +0 -12
  138. package/extensions/session-start/tsconfig.json +0 -12
  139. package/extensions/skill-stats/pnpm-lock.yaml +0 -329
  140. package/extensions/skill-stats/tsconfig.json +0 -12
  141. package/extensions/subagent/agents/planner.md +0 -37
  142. package/extensions/subagent/agents/reviewer.md +0 -35
  143. package/extensions/subagent/agents/scout.md +0 -50
  144. package/extensions/subagent/agents/worker.md +0 -24
  145. package/extensions/subagent/prompts/implement-and-review.md +0 -10
  146. package/extensions/subagent/prompts/implement.md +0 -10
  147. package/extensions/subagent/prompts/scout-and-plan.md +0 -9
  148. package/extensions/subagent/tsconfig.json +0 -12
  149. package/pi/keybindings.json +0 -3
  150. package/pi/settings.json +0 -34
  151. package/pnpm-workspace.yaml +0 -14
  152. package/skills/planning/create-task/scripts/package.json +0 -14
  153. package/skills/planning/create-task/scripts/pnpm-lock.yaml +0 -342
  154. package/skills/planning/create-task/scripts/tsconfig.json +0 -12
  155. package/skills/planning/record-idea/scripts/new-idea.sh +0 -89
  156. package/skills/productivity/validate-agent-dir/scripts/package.json +0 -15
  157. package/skills/productivity/validate-agent-dir/scripts/pnpm-lock.yaml +0 -329
  158. package/skills/productivity/validate-agent-dir/scripts/pnpm-workspace.yaml +0 -2
  159. package/skills/productivity/validate-agent-dir/scripts/tsconfig.json +0 -19
  160. package/skills/productivity/validate-agent-dir/scripts/validate-agent-dir.test.ts +0 -317
  161. package/skills/workflow/run-pipeline-stage/REFERENCE.md +0 -22
  162. package/skills/workflow/run-pipeline-stage/scripts/generate-progress.test.ts +0 -682
  163. package/skills/workflow/run-pipeline-stage/scripts/generate-progress.ts +0 -588
  164. package/skills/workflow/run-pipeline-stage/scripts/package.json +0 -15
  165. package/skills/workflow/run-pipeline-stage/scripts/pnpm-lock.yaml +0 -342
  166. package/skills/workflow/run-pipeline-stage/scripts/pnpm-workspace.yaml +0 -2
  167. package/skills/workflow/run-pipeline-stage/scripts/tsconfig.json +0 -12
  168. package/test/classify-bead.test.mjs +0 -277
  169. package/test/claude-installer.test.mjs +0 -308
  170. package/test/cli.test.mjs +0 -314
  171. package/test/create-chores.test.mjs +0 -85
  172. package/test/fake-bd.test.mjs +0 -72
  173. package/test/fs.test.mjs +0 -76
  174. package/test/helpers/fake-bd.mjs +0 -87
  175. package/test/helpers/fake-claude.mjs +0 -152
  176. package/test/helpers/fake-pi.mjs +0 -132
  177. package/test/installer.test.mjs +0 -664
  178. package/test/notify-hook.test.mjs +0 -63
  179. package/test/pi-installer.test.mjs +0 -785
  180. package/test/pi-register.test.mjs +0 -342
  181. package/test/pi-sweep.test.mjs +0 -619
  182. package/test/release-gates.test.mjs +0 -190
  183. package/test/verify-worker-tree.test.mjs +0 -120
@@ -1,33 +0,0 @@
1
- # Inspirations
2
-
3
- A living record of external repos and promoted internal research that inform agent-cortex skill and agent design.
4
-
5
- ## Internal research docs
6
-
7
- - [Gas City research](research/gas-city-research.md)
8
- - [Skill pattern research notes](research/skill-patterns-research.md)
9
- - [Skill design research](research/skill-design-research.md)
10
- - [Skill improvements analysis](research/skill-improvements-analysis.md)
11
-
12
- ## addyosmani/agent-skills
13
-
14
- **URL**: https://github.com/addyosmani/agent-skills
15
- **Last reviewed**: 2026-05-26
16
- **Type**: Public skill collection (Claude Code / OpenCode)
17
-
18
- ### Structure patterns worth noting
19
-
20
- | Pattern | Description | Adopted? |
21
- |---|---|---|
22
- | Consistent skeleton | Every skill follows a shared, predictable section model | Partially |
23
- | "When NOT to use" | Explicit out-of-scope conditions in every skill | Planned |
24
- | "Common Rationalizations" | Debunks excuses for skipping process steps | Planned |
25
- | "Red Flags" | Concrete anti-patterns to detect during execution | Planned |
26
- | Verification checklist | Completion gate in each skill | Planned |
27
- | Cross-references | `See Also` links to related skills | Planned |
28
-
29
- ## Matt Pocock — skills repo
30
-
31
- **URL**: https://github.com/mattpocock/skills
32
- **Last reviewed**: 2026-05-26
33
- **Type**: Public skill collection
@@ -1,82 +0,0 @@
1
- # `disable-model-invocation` across harnesses
2
-
3
- Decision record for the frontmatter field this repo uses to keep rare or destructive
4
- skills out of automatic model routing (bead `agnt-ctx-yf24`).
5
-
6
- **Verdict:** rely on it for pi and Claude Code.
7
-
8
- ## What the field does
9
-
10
- `disable-model-invocation: true` removes a skill from the list the model is offered.
11
- The user can still invoke it explicitly. It does not summarise, rewrite, or
12
- otherwise change how the body loads, which is what `docs/skills/skill-anatomy.md`
13
- previously implied.
14
-
15
- ## Preservation and honouring
16
-
17
- | Harness | Field survives materialisation | Loader honours it | Evidence |
18
- | --- | --- | --- | --- |
19
- | pi 1.4.0 | Yes — byte-identical copy | Yes — hidden from the prompt, `/skill:name` still works | `bin/installers/pi.mjs:182-204`, `scripts/lib/compose-agent.mjs:69-95`; `dist/core/skills.js:262` (parse) and `:279` (filter); `docs/skills.md:53` |
20
- | Claude Code 2.1.294 | Yes — byte-identical copy | Yes — Claude cannot invoke it, `/skill-name` still works | `bin/installers/claude.mjs:160-201`, same token helper; [Claude Code skills docs](https://code.claude.com/docs/en/skills) ("Control who invokes a skill") |
21
-
22
- Both materialisers copy `SKILL.md` as text and rewrite only `{{TOOL:...}}` /
23
- `{{PATH:...}}` tokens, so frontmatter keys they do not know pass through untouched —
24
- nothing re-serialises YAML. Verified by installing both harnesses into
25
- `/var/tmp/dmi-check` and diffing `skills/productivity/teach/SKILL.md` (the repo's
26
- only current user of the field): both copies are byte-identical to the source.
27
- `claude plugin validate /var/tmp/dmi-check/claude/skills` passes, i.e. Claude Code's
28
- own validator accepts the field rather than warning about it.
29
-
30
- pi was probed against the materialised tree with its own loader: 32 skills loaded,
31
- 31 advertised, `teach` parsed with `disableModelInvocation: true` and absent from
32
- `formatSkillsForPrompt` output.
33
-
34
- ## Per-harness detail
35
-
36
- **pi.** Documented and implemented. `docs/skills.md:53`: "Set
37
- `disable-model-invocation: true` in frontmatter when a skill should be available only
38
- through its explicit command", with the frontmatter table listing it as "Hide the
39
- skill from automatic model selection".
40
-
41
- **Claude Code.** Documented, and the docs are explicit about the enforcement: "Claude
42
- can't invoke the skill on its own … If Claude tries anyway, Claude Code blocks the
43
- call and instructs it not to reproduce the deploy steps another way", and it "removes
44
- the skill from Claude's context entirely".
45
-
46
- Two Claude-specific caveats:
47
-
48
- - The field is a Claude Code extension, not part of the
49
- [Agent Skills spec](https://agentskills.io/specification), whose six fields
50
- (`name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools`)
51
- are otherwise exhaustive. Claude Code ignores unknown fields, but packing or
52
- uploading a skill to claude.ai (or through the Skills API) "fails with a hard error
53
- instead of ignoring the field". Our plugin path is unaffected; a skill we ever
54
- publish to claude.ai must drop the field.
55
- - `skillOverrides` does not apply to plugin skills, and our install is a plugin. The
56
- frontmatter field itself still applies there — only that settings-based alternative
57
- is unavailable.
58
-
59
- ## Options for "explicit invocation only", evaluated
60
-
61
- | Option | Portable? | Enforced? | Verdict |
62
- | --- | --- | --- | --- |
63
- | `disable-model-invocation: true` | pi + Claude Code yes | Yes | **Recommended** where suppressing auto-routing is the point and the explicit path is a human typing `/name` |
64
- | Naming convention (e.g. `manual-*`) | Yes | No — no harness reads names | Rejected: a human signal we already get from the body |
65
- | `metadata:` block | Yes (spec-legal) | No — pi and Claude read top-level keys only | Rejected: documentation that looks like enforcement |
66
- | Keep such skills out of `skills/` | Yes | Yes, by not shipping the skill | Rejected: gives up the per-harness install entirely |
67
-
68
- ## Recommendation
69
-
70
- Use the field when the danger is fuzzy automatic matching and the intended explicit
71
- path is a human typing `/skill-name`: that is the case for a migration skill whose
72
- `--apply` renames labels workspace-wide.
73
-
74
- ## Reproducing
75
-
76
- ```sh
77
- node bin/agent-cortex.mjs install claude --output /var/tmp/dmi-check/claude
78
- node bin/agent-cortex.mjs install pi --output /var/tmp/dmi-check/pi
79
- diff skills/productivity/teach/SKILL.md /var/tmp/dmi-check/claude/skills/teach/SKILL.md
80
- diff skills/productivity/teach/SKILL.md /var/tmp/dmi-check/pi/skills/productivity/teach/SKILL.md
81
- claude plugin validate /var/tmp/dmi-check/claude/skills
82
- ```
@@ -1,256 +0,0 @@
1
- # Gas City Research Notes
2
-
3
- This is a promoted research note.
4
-
5
-
6
- Research conducted 2026-05-03/04. Source: `gastownhall/gascity` and related `gastownhall/*` repos.
7
-
8
- ---
9
-
10
- ## What is Gas City?
11
-
12
- Gas City is a Go-based multi-agent orchestration SDK (`gc` CLI, v1.0.0, released 2026-04-21, MIT licence).
13
- It manages **live interactive agent sessions** (Claude Code, Codex CLI, etc. running in tmux) rather than
14
- making raw LLM API calls. It is not a replacement for LLM API access — it is a rack manager for persistent
15
- agent processes.
16
-
17
- Gas City is built on the **MEOW stack** (Molecular Expression of Work) — the same `bd` (beads) tooling
18
- already in use in this repo.
19
-
20
- ---
21
-
22
- ## The MEOW Stack
23
-
24
- MEOW = **Molecular Expression of Work**. A layered work-decomposition and tracking infrastructure:
25
-
26
- ```
27
- Formulas / Orders ← TOML templates defining workflow shape + when it fires
28
- ↑
29
- Molecules / Wisps ← durable chained bead workflows; instances of formulas
30
- ↑
31
- Epics ← hierarchical bead grouping (parent/child beads)
32
- ↑
33
- Beads ← atomic git-backed work units (the bd CLI)
34
- ```
35
-
36
- **Core insight:** work is the primitive, not orchestration. The controller is a thin layer on top of the
37
- MEOW stack. Work definition and tracking is what matters; orchestration shape is configurable on top.
38
-
39
- **GUPP (Gas Town Universal Propulsion Principle):** *"If you find something on your hook, you run it."*
40
- Agents are stateless pistons; the bead store is the engine.
41
-
42
- ---
43
-
44
- ## Key Concepts
45
-
46
- ### Rigs
47
- A **rig** is an external project directory (git repo) registered with a city. Each rig gets its own beads
48
- database, agent hooks, and pack expansion. One city can manage multiple rigs (multiple repos) — this is
49
- the primary multi-repo use case.
50
-
51
- ```toml
52
- # city.toml
53
- [[rigs]]
54
- name = "my-api"
55
-
56
- [[rigs]]
57
- name = "my-frontend"
58
- ```
59
-
60
- ### City
61
- A deployment of packs + rigs under one controller. The controller runs as a persistent Go process managing
62
- all sessions in all rigs.
63
-
64
- ### Packs / Formulas
65
- Reusable TOML configuration bundles. A **formula** is a TOML workflow template defining steps and
66
- dependencies. A **molecule** is an instance of a formula — materialised as beads in the store.
67
-
68
- ### Convergence
69
- The outer retry loop. When a wisp closes, the controller's `HandleWispClosed()` (a 9-step deterministic
70
- Go algorithm) evaluates a gate and decides: `iterate` (new wisp), `approved` (done), `no_convergence`
71
- (blocked), or `waiting_manual` (human required).
72
-
73
- ### Orders
74
- Scheduled formula dispatch. Five trigger types: `cooldown`, `cron`, `condition` (shell exit 0), `event`
75
- (bead.closed on city bus), `manual`. Can dispatch a formula to an agent pool, or run a shell script
76
- directly (`exec` orders — no LLM involved).
77
-
78
- ---
79
-
80
- ## What Gas City Gives Us
81
-
82
- | Capability | Status |
83
- |---|---|
84
- | Multi-repo orchestration (rigs) | ✅ Native — primary use case |
85
- | Rack / dashboard (`gc status`, SPA) | ✅ Built-in |
86
- | Agent lifecycle (crash recovery, idle-kill, restart) | ✅ Built-in |
87
- | Worktree isolation (per-agent git branch) | ✅ `isolation = "worktree"` in agent config |
88
- | Concurrent feature work (multiple agents, multiple branches) | ✅ Via pool + worktree isolation |
89
- | Scheduling / reactive triggers (Orders) | ✅ 5 trigger types |
90
- | Deterministic workflow routing | ✅ Controller is Go state machine (no LLM in routing path) |
91
- | Formula-based step sequencing | ✅ TOML DAG, `needs` dependencies, executed by `bd` |
92
- | Feature backlog isolation (separate bead stores) | ⚠️ Requires separate rigs; not automatic |
93
- | Cross-repo bead dependencies | ❌ Not supported — issue #587, milestone `1.0+`, no timeline |
94
- | Native loops in formulas | ❌ Formulas are DAGs; loops require the convergence engine |
95
-
96
- ---
97
-
98
- ## Architecture: Determinism vs. Agents
99
-
100
- Gas City has a sharp boundary. The Go controller owns all routing; LLMs only do work and emit a verdict.
101
-
102
- ```
103
- Agent works through formula steps
104
- → writes convergence.agent_verdict = "approve" | "block"
105
- → closes wisp
106
-
107
- Controller HandleWispClosed() [pure Go, 9-step algorithm]
108
- → reads verdict (scoped to this wisp by agent_verdict_wisp)
109
- → runs gate shell script (exit 0 = pass, exit 1 = fail)
110
- → ActionApproved → state=terminated, done
111
- → ActionIterate → pour new wisp, re-dispatch to agent
112
- → ActionNoConvergence → state=terminated, blocked
113
- → ActionWaitingManual → human must gc conv approve
114
- ```
115
-
116
- **ACL enforcement:** agents can only write `convergence.agent_verdict` and
117
- `convergence.agent_verdict_wisp`. All other `convergence.*` keys require a controller token — agents
118
- cannot fake state transitions.
119
-
120
- **Exec orders** bypass agents entirely — a shell script runs directly on the controller. Fully
121
- deterministic, no LLM.
122
-
123
- ### Compared to LangGraph / Temporal
124
-
125
- - Like Temporal: the convergence handler is crash-safe and idempotent (speculative-pour-before-commit).
126
- - Unlike LangGraph: there is no Go-level `add_edge(A, B)` for application steps. Step ordering is
127
- declared in TOML and executed by `bd`'s dependency graph — static, not dynamic code.
128
- - The session reconciler and convergence state machine are code-defined graphs; the intra-molecule step
129
- DAG is `bd`-managed.
130
-
131
- ---
132
-
133
- ## Multi-Feature Concurrent Work
134
-
135
- **Three Jira tickets, one repo:**
136
-
137
- 1. Create a bead per ticket
138
- 2. Configure a coder pool with `isolation = "worktree"`
139
- 3. Gas City auto-creates a git worktree per agent instance (`.gc/worktrees/<rig>/<agent>/`) on a unique
140
- branch (`gc/coder-<timestamp>`)
141
- 4. Agents work concurrently on separate branches; beads are in the shared rig store
142
- 5. Each branch → PR → merge independently; git resolves file conflicts at merge time
143
-
144
- **Sub-task breakdown (architect → coder pattern):**
145
-
146
- 1. Create an epic bead for the ticket (HITL: spend time with an agent decomposing into child beads)
147
- 2. Child beads are labelled for the coder pool
148
- 3. One coder agent claims the epic, works child beads sequentially in its worktree/branch
149
- 4. Separate agents handle other tickets concurrently
150
-
151
- **True backlog isolation** (separate bead stores per feature) requires registering each feature worktree
152
- as its own rig — doable, more setup, only needed for truly independent multi-ticket sub-backlogs.
153
-
154
- ---
155
-
156
- ## Worktrees: What's Automatic vs. Manual
157
-
158
- `isolation = "worktree"` in an agent's config causes Gas City to automatically:
159
- - Run `git worktree add .gc/worktrees/<rig>/<agent>/ -b gc/<agent>-<timestamp>`
160
- - Place a `.beads/redirect` file in the worktree pointing back to the shared rig bead store
161
- - Store `work_dir` in the bead metadata for restart recovery
162
-
163
- You do NOT manually run `git worktree add`. The controller handles it.
164
-
165
- ---
166
-
167
- ## Bead Store Isolation Notes
168
-
169
- - One `.beads/` database per rig directory — strictly enforced
170
- - Worktrees share the parent rig's bead store via `.beads/redirect`
171
- - Two cities registering the same rig path silently share the same bead DB (acknowledged bug, issue #587)
172
- - `dolt_host`/`dolt_port` overrides exist as a manual escape hatch for pointing rigs at different stores
173
- - Concurrent workstreams within one rig: use labels (`pool:feature-a`, `pool:feature-b`) — same DB,
174
- logically partitioned
175
-
176
- ---
177
-
178
- ## Implications for agent-cortex / ralph / run-beads
179
-
180
- ### Formulas for the TDD pipeline
181
-
182
- The run-beads TDD pipeline (test-writing → coding → test-reviewing → verifying → reviewing → fixing →
183
- documenting) maps naturally to a formula:
184
-
185
- ```toml
186
- [[steps]]
187
- id = "test-writing"
188
- title = "Write failing tests"
189
-
190
- [[steps]]
191
- id = "coding"
192
- title = "Make the tests pass"
193
- needs = ["test-writing"]
194
-
195
- [[steps]]
196
- id = "test-reviewing"
197
- title = "Review the tests"
198
- needs = ["coding"]
199
-
200
- [[steps]]
201
- id = "verifying"
202
- title = "Run the test suite"
203
- needs = ["test-reviewing"]
204
-
205
- [[steps]]
206
- id = "reviewing"
207
- title = "Code review"
208
- needs = ["verifying"]
209
-
210
- [[steps]]
211
- id = "documenting"
212
- title = "Document the changes"
213
- needs = ["reviewing"]
214
- ```
215
-
216
- `bd` handles the step ordering via the dependency graph. Each step is a bead that unlocks when the
217
- previous closes. No LLM in the sequencing path.
218
-
219
- **The loop** (retry if gate fails) requires Gas City's convergence engine — `bd` alone executes DAGs, not
220
- loops. Until Gas City is adopted, ralph (or an equivalent outer loop) is still needed for this.
221
-
222
- ### What moves to the deterministic layer
223
-
224
- With Gas City:
225
- - Step sequencing → formula `needs` dependencies (TOML, `bd`)
226
- - Pass/fail routing → gate shell scripts (run tests, typecheck, lint)
227
- - Retry loop → convergence engine (Go, deterministic)
228
- - `generate-progress.ts` → largely replaceable by `gc status` / `bd` queries
229
- - Ralph's dispatch table → formula + gate config
230
-
231
- ### The remaining gap
232
-
233
- Cross-repo dependencies (e.g. "don't merge the API until the frontend bead closes") are not natively
234
- supported. Workaround: a `condition` Order that shell-polls the upstream rig's `bd` state.
235
-
236
- ---
237
-
238
- ## Community / Maturity
239
-
240
- - Version: v1.0.0 (stable, 2026-04-21) — 610 commits in the v0.15.1→1.0.0 sprint
241
- - Language: Go (1.25+)
242
- - `gastownhall/beads` (the `bd` CLI): 23,049 ⭐, 1,510 forks
243
- - Daily commit cadence; team self-hosts using Gas City (highest-signal feedback loop)
244
- - MIT licence
245
- - Active milestones: `1.0+`
246
-
247
- ---
248
-
249
- ## Open Issues Relevant to Us
250
-
251
- | Issue | Title | Status |
252
- |---|---|---|
253
- | #587 | Multi-city rig and bead-state separation (Pack/City v2) | Open, accepted, no design yet |
254
- | #907 | Hardcoded 'hq' DB name prevents multi-city Dolt sharing | Open, `1.0+` |
255
-
256
- [Inspirations](../inspirations.md)
@@ -1,286 +0,0 @@
1
- # Skill Design Research: Recommendations for agent-cortex
2
-
3
- This is a promoted research note.
4
-
5
-
6
- *Researched: 2026-05-26 — compares `mattpocock/skills` (commit b8be62f) against this repo's skills, cross-referenced with empirical prompt-engineering literature.*
7
-
8
- ---
9
-
10
- ## 1. Executive Summary
11
-
12
- Three parallel research streams were combined:
13
-
14
- 1. **Structural analysis** of `mattpocock/skills` (14 active skills, authored by Matt Pocock)
15
- 2. **Inventory** of the 31 skills in this repo (`agent-cortex`)
16
- 3. **Literature review** of prompt/skill design research (Anthropic, Google, 10+ papers)
17
-
18
- The headline finding: **agent-cortex skills are well-structured but systematically over-long, under-exampled, and too passive in their body text.** The mattpocock repo is ahead on progressive disclosure, cross-skill composability, and opinionated philosophy. The research literature backs all three of those design choices.
19
-
20
- ---
21
-
22
- ## 2. Comparison: mattpocock/skills vs agent-cortex
23
-
24
- ### 2.1 Structure
25
-
26
- | Dimension | mattpocock/skills | agent-cortex | Delta |
27
- |---|---|---|---|
28
- | YAML front-matter | `name`, `description`, optional `argument-hint`, `disable-model-invocation` | `name`, `description` | Missing 2 fields |
29
- | Description format | "What it does. Use when [natural-language triggers]." | Same — consistent | ✅ Aligned |
30
- | Body sections | No enforced schema; phase headers, checklists, philosophy, anti-patterns | No enforced schema; varies widely | Similar |
31
- | Typical SKILL.md length | 7–160 lines; strict 100-line soft cap | 29–169 lines; soft cap documented but not enforced | agent-cortex skews longer |
32
- | Progressive disclosure | `REFERENCE.md` + named supporting `.md` files linked inline | `REFERENCE.md` on 3 skills only | Under-used in agent-cortex |
33
- | Named supporting docs | `tests.md`, `mocking.md`, `ADR-FORMAT.md`, `CONTEXT-FORMAT.md`, `DEEPENING.md`, etc. | None — overflow goes to `REFERENCE.md` only | mattpocock more granular |
34
- | Checklists | Used as explicit phase gates (`- [ ]`) | Rare | Missing in agent-cortex |
35
- | Cross-skill references | Explicit inline calls: "run `/grill-with-docs`" | Implicit — no inline cross-refs | agent-cortex weaker |
36
- | Shared vocabulary file | `CONTEXT.md` at repo root; skills told to read it | None | Missing in agent-cortex |
37
- | Skill manifest | Flat JSON array of skill paths | Same | ✅ Aligned |
38
- | `disable-model-invocation` | Used for pure prompt-injection skills | Used by `teach`; semantics now documented in `docs/skills/skill-anatomy.md` | Field adopted; rationale corrected |
39
- | Missing SKILL.md | 0 | 1 (`prd-to-epics`) | Bug in agent-cortex |
40
-
41
- ### 2.2 Tone and Voice
42
-
43
- | Dimension | mattpocock/skills | agent-cortex | Delta |
44
- |---|---|---|---|
45
- | Body voice | Imperative, 2nd person ("Read the full issue. Ask.") | Mixed — imperative in some, descriptive in others | Inconsistent in agent-cortex |
46
- | Emphasis style | **bold** for key decisions; minimal CAPS | Occasional ALL-CAPS (`CRITICAL`, `MUST`) | Over-emphasis in agent-cortex |
47
- | Conciseness | Punchy; no filler; "say it once" | Some skills have verbose rationale paragraphs | agent-cortex wordier |
48
- | Examples | Inline code blocks, before/after contrasts, XML output templates | Sparse — only a handful of skills include examples | agent-cortex under-exampled |
49
- | Philosophy | Explicitly baked in (Kent Beck references, banned practices with `DO NOT`) | Workflow-focused; philosophy largely absent | agent-cortex skips the "why" |
50
- | Anti-pattern sections | Common (`## Anti-Pattern:`, before/after code blocks) | Absent | Missing in agent-cortex |
51
- | Negative instructions | Mixed: "DO NOT write all tests first" (hard gate) + positive framing elsewhere | Heavy use of "do not", "never", "don't" | agent-cortex over-uses negatives |
52
-
53
- ### 2.3 Description Field Quality
54
-
55
- Both repos follow the same two-part format: capability sentence + `"Use when..."`. The mattpocock descriptions tend to list *exact user vocabulary* (quoted phrases: `"diagnose this"`, `"let me play with it"`) which is more precise as a routing signal. agent-cortex descriptions are sometimes more abstract.
56
-
57
- **mattpocock example** (precise triggers):
58
- > "Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says 'diagnose this' / 'debug this', reports a bug, says something is broken/throwing/failing, or describes a performance regression."
59
-
60
- **agent-cortex example** (vaguer triggers):
61
- > "Create a task bead, classify it as AFK or HITL, and if AFK expand it into pipeline stage chores plus a HITL PR gate. Use when starting tracked work with implementation and review gates — 'create a task for this', 'track this end-to-end', or 'get this into the ralph pipeline'."
62
-
63
- The agent-cortex description leads with internal mechanics ("task bead", "AFK", "HITL") rather than what the user is trying to accomplish — the quoted triggers were added in a later refactor, but the jargon remains.
64
-
65
- ---
66
-
67
- ## 3. Evidence-Backed Recommendations
68
-
69
- ### Rec 1 — Progressive Disclosure: Split overlong skills
70
-
71
- **Evidence**: Anthropic Claude Code best practices: *"Bloated CLAUDE.md files cause Claude to ignore your actual instructions!"* LIMA (Zhou et al., NeurIPS 2023) confirms quality beats quantity — 1,000 curated examples matched GPT-4; adding more degraded focus. Schulhoff et al. (ACL 2024, arXiv:2406.06608) found structure + clarity most consistently effective across 58 techniques.
72
-
73
- **Current state**: 11 of 28 agent-cortex skills exceed 100 lines (`run-beads` is 169, `style-code` 151). Only 3 have `REFERENCE.md`.
74
-
75
- **Recommendation**: Split all skills over ~100 lines. Prefer *named, purpose-specific files* over a catch-all `REFERENCE.md`:
76
- - `REFERENCE.md` — rarely-needed edge cases
77
- - `EXAMPLES.md` — worked examples (if multiple)
78
- - `FORMAT.md` — output schemas / templates
79
- - `WORKFLOW.md` — detailed step expansions
80
-
81
- Candidates to split immediately: `run-beads`, `style-code`, `tdd`, `ralph`.
82
-
83
- ---
84
-
85
- ### Rec 2 — Consistent Imperative Voice in Skill Bodies
86
-
87
- **Evidence**: The "26 Principles" paper (Bsharat et al., arXiv:2312.16171, VILA Lab 2024) tested 26 prompting principles on GPT-3.5/4 and LLaMA, finding an average **57.7% quality improvement** on GPT-4. Direct command framing (Principle 16) and specificity (Principle 5) had the largest gains on large models. Anthropic explicitly: *"treat the model as a brilliant but new employee who lacks context on your norms"* — this framing implies 2nd-person imperative.
88
-
89
- **Current state**: agent-cortex mixes voices. Some skills are tight and imperative (`review-security`); others narrate what the skill *will* do rather than commanding the agent to do it.
90
-
91
- **Recommendation**:
92
- - Skill body: imperative, 2nd person. "Run `gitleaks protect --staged`", not "The skill runs gitleaks."
93
- - Description field: third-person declarative. "Scans git changes for secrets."
94
- - Remove all-caps emphasis (`CRITICAL`, `MUST`). Anthropic Claude Code notes: *"Where you might have said 'CRITICAL: You MUST use this tool when...', you can use more normal prompting like 'Use this tool when...'"* — over-emphasis backfires with modern models.
95
-
96
- ---
97
-
98
- ### Rec 3 — Replace Negative Instructions with Positive Framing
99
-
100
- **Evidence**: Anthropic Prompting Best Practices gives an explicit side-by-side:
101
- > ❌ `"Do not use markdown in your response"`
102
- > ✅ `"Your response should be composed of smoothly flowing prose paragraphs."`
103
-
104
- The "26 Principles" paper lists "affirmative instructions, no 'don't'" as Principle 3 with consistent cross-model gains. Mechanistically, negative instructions require the model to hold a prohibited concept in working memory and suppress it — more error-prone than activating the desired pattern directly.
105
-
106
- **Current state**: agent-cortex skills have frequent negative phrasing: "Do not work a HITL bead", "Don't commit without scanning", "Never use relative paths."
107
-
108
- **Recommendation**:
109
-
110
- | Instead of | Use |
111
- |---|---|
112
- | "Do not work a HITL bead" | "Inform the user it requires human action and stop" |
113
- | "Never use relative paths" | "Use absolute paths — agents may change CWD mid-session" |
114
- | "Don't commit without scanning" | "Always run `review-security` before committing" |
115
-
116
- Reserve "do not" for hard correctness/safety constraints that genuinely need an explicit backstop. For stylistic preferences, positive framing only.
117
-
118
- ---
119
-
120
- ### Rec 4 — Include Rationale for Non-Obvious Rules
121
-
122
- **Evidence**: Anthropic best practices: *"Providing context or motivation behind your instructions, such as explaining why such behavior is important, can help Claude better understand your goals and deliver more targeted responses. Claude is smart enough to generalize from the explanation."* Chain-of-Thought (Wei et al., NeurIPS 2022, arXiv:2201.11903) showed that *reasoning traces* — not just input→output — dramatically outperform bare instructions. The "26 Principles" paper Principles 2 and 5 (explain purpose, specify stakes) were among the highest-impact on GPT-4.
123
-
124
- **Current state**: agent-cortex skills state rules but rarely explain them. A reader (or agent) encountering "Use absolute paths" won't know why.
125
-
126
- **Recommendation**: Add one-sentence rationale for any non-obvious rule. Pattern:
127
-
128
- ```markdown
129
- Use absolute paths — agents may change CWD mid-session, breaking relative references.
130
- ```
131
-
132
- Do **not** write paragraphs of rationale. One sentence is enough; the model generalises from it.
133
-
134
- ---
135
-
136
- ### Rec 5 — Add Worked Examples to Key Skills
137
-
138
- **Evidence**: Chain-of-Thought (Wei et al., NeurIPS 2022): *"prompting a 540B-parameter language model with just 8 chain-of-thought exemplars achieves state-of-the-art accuracy on GSM8K, surpassing even fine-tuned GPT-3."* Anthropic: *"A few well-crafted examples can dramatically improve accuracy and consistency."* Recommendation: 3–5 examples, wrapped in `<example>` tags, covering diverse cases. APE (Zhou et al., ICLR 2023, arXiv:2211.01910) found example-seeded instructions outperformed hand-written instructions on 19/24 tasks. Selective Annotation (Su et al., arXiv:2209.01975) showed *diverse* examples give a 12.9% relative gain over random ones.
139
-
140
- **Current state**: most agent-cortex skills have no worked examples. `run-beads` has a `---REPORT---` output template; `review-security` shows exact commands. These are the strongest skills.
141
-
142
- **Recommendation**: For each skill, identify what the agent produces as output and include 1 complete worked example. For CLI-heavy skills, show exact commands with substitution markers. For decision-heavy skills, add a decision table.
143
-
144
- ```markdown
145
- ## Example Output
146
-
147
- ---REPORT---
148
- Bead: bd-42 "Add login page"
149
- Status: ✅ done
150
- PR: https://github.com/org/repo/pull/99
151
- ---
152
- ```
153
-
154
- Extract to `EXAMPLES.md` if more than ~30 lines.
155
-
156
- ---
157
-
158
- ### Rec 6 — Add Explicit Phase Gates (Checklists)
159
-
160
- **Evidence**: Schulhoff et al. (ACL 2024) found structured verification steps consistently reduce hallucination and task-deviation. Anthropic Building Effective Agents: *"Give Claude a way to verify its work."* The mattpocock `diagnose` and `tdd` skills use `- [ ]` checklists as explicit gates between phases — the agent cannot proceed without the checklist being satisfied.
161
-
162
- **Current state**: agent-cortex multi-phase skills (`ralph`, `run-beads`, `tdd`) describe phases in prose but have no explicit verification gates.
163
-
164
- **Recommendation**: For any multi-phase skill, add a short checklist at the end of each phase:
165
-
166
- ```markdown
167
- ## Phase 1 — Explore
168
-
169
- - Read the bead description and all linked files
170
- - Identify the affected modules
171
- - [ ] Can you describe the change in one sentence?
172
- - [ ] Do you know which files will change?
173
-
174
- Move to Phase 2 only when both boxes are checked.
175
- ```
176
-
177
- ---
178
-
179
- ### Rec 7 — Sharpen Description Trigger Vocabulary
180
-
181
- **Evidence**: Anthropic Building Effective Agents: *"Think of this as writing a great docstring for a junior developer on your team."* For agents, descriptions are the only routing signal. FLAN (Wei et al., ICLR 2022) showed instruction-tuned models generalise from natural language task descriptions — use the vocabulary a user would *actually speak*, not internal system jargon. Anthropic tool use note: `"Use when"` language *actively counteracts* the model's default tendency to solve problems without invoking tools.
182
-
183
- **Current state**: some agent-cortex descriptions describe internal mechanics rather than user intent. E.g., `create-task`: *"Use when starting tracked work with implementation and review gates — 'create a task for this', 'track this end-to-end', or 'get this into the ralph pipeline'."* — rewritten to add quoted user triggers (per this rec), though it still leans on internal jargon like "ralph pipeline" a user wouldn't say.
184
-
185
- **Recommendation**: Rewrite descriptions to lead with user-vocabulary triggers. Include 2–4 quoted phrases or scenario patterns a user might say:
186
-
187
- ```yaml
188
- description: >
189
- Break a piece of work into a tracked task with a full implementation pipeline.
190
- Use when the user says "create a task", "let's track this", "add a bead", "file this
191
- as a ticket", or wants to turn a conversation into actionable work.
192
- ```
193
-
194
- ---
195
-
196
- ### Rec 8 — Establish Composability via Explicit Cross-References
197
-
198
- **Evidence**: Anthropic Building Effective Agents promotes "orchestration" patterns where agents compose tools rather than re-implementing logic. mattpocock's skills reference each other by name inline (e.g., "run `/grill-with-docs`"), creating a composable skill library. Meta-prompting (Suzgun et al., arXiv:2401.12954) found high-level orchestration instructions (+17.1%) outperform monolithic step-by-step skills.
199
-
200
- **Current state**: agent-cortex skills are largely self-contained monoliths. `ralph` calls `run-beads` but this is the only explicit cross-reference.
201
-
202
- **Recommendation**: Where a skill currently duplicates logic from another skill, replace the duplication with an explicit invocation: *"Run the `review-security` skill before committing."* Document the skill dependency graph informally in `AGENTS.md`.
203
-
204
- ---
205
-
206
- ### Rec 9 — Add `argument-hint` to Input-Driven Skills
207
-
208
- **Evidence**: Anthropic tool design (Building Effective Agents, Appendix 2): *"Is it obvious how to use this tool? ... This is especially important when using many similar tools."* The `argument-hint` front-matter field (present in mattpocock's plugin schema) surfaces a prompt to the user at invocation time — preventing input ambiguity before the skill runs.
209
-
210
- **Current state**: agent-cortex plugin schema doesn't include `argument-hint`. Skills like `write-a-ticket`, `run-beads` take implicit input that could benefit from a hint.
211
-
212
- **Recommendation**: Add `argument-hint` support to `plugin.json` schema and add hints to skills that take input:
213
-
214
- ```yaml
215
- argument-hint: "Describe the bug or paste the error message"
216
- ```
217
-
218
- ---
219
-
220
- ### Rec 10 — Fix prd-to-epics Missing SKILL.md
221
-
222
- **Current state**: Resolved in #16 — the broken `skills/prd-to-epics/` directory was removed; epic/task decomposition is consolidated into the `prd-to-tasks` skill (see CHANGELOG 1.0.0).
223
-
224
- **Recommendation**: Either write the missing `SKILL.md` or remove the directory. This is a straightforward bug.
225
-
226
- ---
227
-
228
- ## 4. Prioritised Change List
229
-
230
- | Priority | Change | Effort | Evidence strength |
231
- |---|---|---|---|
232
- | P0 | Fix missing `prd-to-epics/SKILL.md` | Low | N/A — broken |
233
- | P1 | Split skills > 100 lines (7 candidates) | Medium | Strong — Anthropic production data |
234
- | P1 | Convert negative instructions to positive framing | Low | Strong — 26 Principles paper, Anthropic |
235
- | P1 | Sharpen description trigger vocabulary (use user-vocab) | Low | Strong — FLAN, Anthropic tool use docs |
236
- | P2 | Add imperative voice to passive skill bodies | Medium | Strong — 26 Principles paper |
237
- | P2 | Remove ALL-CAPS emphasis | Low | Medium — Anthropic Claude Code guide |
238
- | P2 | Add 1-sentence rationale to non-obvious rules | Low | Strong — CoT, 26 Principles |
239
- | P2 | Add worked examples to output-producing skills | Medium | Strong — Wei et al. CoT, Anthropic |
240
- | P3 | Add phase-gate checklists to multi-phase skills | Medium | Medium — Schulhoff survey, mattpocock pattern |
241
- | P3 | Add explicit cross-skill references | Low | Medium — Meta-prompting paper |
242
- | P3 | Add `argument-hint` support and populate | Medium | Medium — Anthropic tool design |
243
-
244
- ---
245
-
246
- ## 5. What mattpocock Does That We Should Consider Adopting Wholesale
247
-
248
- These are patterns present in `mattpocock/skills` that have no equivalent here and are backed by evidence:
249
-
250
- 1. **`CONTEXT.md` at repo root** — a shared domain glossary that all skills read. Prevents terminology drift across skills and gives the agent grounding in project domain terms. (The `grill-with-docs` skill builds this automatically.)
251
-
252
- 2. **Philosophy sections in skills** — `tdd` doesn't just describe TDD, it argues *why* horizontal slicing is wrong. This bakes intent into the skill so the agent handles novel cases correctly (backed by CoT rationale evidence).
253
-
254
- 3. **`disable-model-invocation: true`** — hides a skill from automatic model routing so only an explicit `/skill-name` invocation reaches it. See `docs/research/disable-model-invocation.md` for per-harness behaviour and caveats.
255
-
256
- 4. **Composability by design** — skills reference each other by slash-command inline. This keeps each skill shorter and creates a network of reusable primitives rather than monolithic blobs.
257
-
258
- ---
259
-
260
- ## 6. What We Do Well That mattpocock Doesn't
261
-
262
- 1. **Richer plugin manifest** — MCP server declarations, richer metadata.
263
- 2. **Bundled scripts** — `run-beads`, `create-task`, `review-security`, `record-idea` all include deterministic scripts that reduce regeneration of boilerplate. mattpocock has this for `diagnose` and `git-guardrails` only.
264
- 3. **Task tracking integration** — `bd` / beads integration is deeply embedded across skills; mattpocock uses GitHub Issues directly without an equivalent agent-native tracker.
265
- 4. **HITL/AFK distinction** — explicitly modelled and surfaced in `run-beads`, `classify-bead`, etc. mattpocock's `to-issues` introduces the concept but doesn't enforce it system-wide.
266
-
267
- ---
268
-
269
- ## Sources
270
-
271
- | Source | Key Findings Used |
272
- |---|---|
273
- | Anthropic Prompting Best Practices | Positive framing, numbered steps, XML tags, 3–5 examples, rationale inclusion, query placement (+30%) |
274
- | Anthropic Building Effective Agents | Tool documentation = system prompt importance; ACI design; poka-yoke; verification criteria |
275
- | Anthropic Claude Code Best Practices | Conciseness critical; bloated files → ignored rules; positive examples > negative instructions; no ALL-CAPS |
276
- | Google Vertex AI Clear Instructions | Specificity + constraints → precise output |
277
- | Bsharat et al. (2024) arXiv:2312.16171 | 26 prompting principles; avg +57.7% quality / +36.4% correctness on GPT-4 |
278
- | Wei et al. (2022) arXiv:2201.11903 (CoT) | 8 CoT examples beat fine-tuned models; reasoning traces > bare instructions |
279
- | Wei et al. (2021) arXiv:2109.01652 (FLAN) | Natural-language commands generalise better than passive descriptions |
280
- | Zhou et al. (2022) arXiv:2211.01910 (APE) | Example-seeded instructions beat human instructions on 19/24 tasks |
281
- | Zhou et al. (2023) arXiv:2305.11206 (LIMA) | 1,000 curated examples ≈ GPT-4 quality; quality >> volume |
282
- | Suzgun et al. (2024) arXiv:2401.12954 | High-level orchestration +17.1% vs standard prompting |
283
- | Schulhoff et al. (2024) arXiv:2406.06608 | ACL survey of 58 techniques; structure + clarity most consistently effective |
284
- | mattpocock/skills (commit b8be62f) | Structural reference; progressive disclosure; composability; checklists |
285
-
286
- [Inspirations](../inspirations.md)