@hecer/yoke 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/.claude-plugin/plugin.json +13 -13
  2. package/.codex-plugin/plugin.json +7 -7
  3. package/CHANGELOG.md +294 -288
  4. package/README.md +874 -874
  5. package/TODOS.md +5 -5
  6. package/agents/docs.toml +6 -6
  7. package/agents/implementer.toml +6 -6
  8. package/agents/reviewer.toml +6 -6
  9. package/agents/security.toml +6 -6
  10. package/bench/README.md +86 -86
  11. package/bench/RESULTS.md +35 -35
  12. package/bench/output-compaction.mjs +65 -65
  13. package/bench/result-schema.mjs +12 -12
  14. package/bench/results/claude-2026-07-27T18-03-26.json +50 -50
  15. package/bench/results/codex-unavailable-1785175418318.json +15 -15
  16. package/bench/results/gemini-2026-07-27T18-03-44.json +46 -46
  17. package/bench/run-matrix.mjs +26 -26
  18. package/bench/run.mjs +106 -106
  19. package/canon/AGENTS.md +30 -30
  20. package/canon/context/DECISIONS.md +4 -4
  21. package/canon/context/GLOSSARY.md +11 -11
  22. package/canon/context/KNOWLEDGE.md +4 -4
  23. package/canon/context/PROJECT.md +15 -15
  24. package/canon/loop/loop-spec.md +65 -65
  25. package/canon/loop/prd.schema.md +43 -43
  26. package/canon/manifest.yaml +59 -59
  27. package/canon/policy/gates.md +7 -7
  28. package/canon/policy/roles.md +9 -9
  29. package/canon/skills/ATTRIBUTION.md +99 -99
  30. package/canon/skills/authoring-prd/SKILL.md +58 -58
  31. package/canon/skills/brainstorming/SKILL.md +164 -164
  32. package/canon/skills/codebase-design/DEEPENING.md +15 -15
  33. package/canon/skills/codebase-design/DESIGN-IT-TWICE.md +12 -12
  34. package/canon/skills/codebase-design/SKILL.md +39 -39
  35. package/canon/skills/dispatching-parallel-agents/SKILL.md +182 -182
  36. package/canon/skills/document-release/SKILL.md +302 -302
  37. package/canon/skills/domain-modeling/ADR-FORMAT.md +19 -19
  38. package/canon/skills/domain-modeling/CONTEXT-FORMAT.md +39 -39
  39. package/canon/skills/domain-modeling/SKILL.md +35 -35
  40. package/canon/skills/executing-plans/SKILL.md +70 -70
  41. package/canon/skills/finishing-a-development-branch/SKILL.md +200 -200
  42. package/canon/skills/health/SKILL.md +177 -177
  43. package/canon/skills/maintaining-context/SKILL.md +34 -34
  44. package/canon/skills/minimal-code/SKILL.md +21 -21
  45. package/canon/skills/no-ai-slop/SKILL.md +103 -103
  46. package/canon/skills/no-ai-slop/eval.md +43 -43
  47. package/canon/skills/plan-ceo-review/SKILL.md +541 -541
  48. package/canon/skills/plan-eng-review/SKILL.md +362 -362
  49. package/canon/skills/receiving-code-review/SKILL.md +213 -213
  50. package/canon/skills/requesting-code-review/SKILL.md +105 -105
  51. package/canon/skills/resolving-merge-conflicts/SKILL.md +18 -18
  52. package/canon/skills/retro/SKILL.md +397 -397
  53. package/canon/skills/review/SKILL.md +246 -246
  54. package/canon/skills/ship/SKILL.md +691 -691
  55. package/canon/skills/subagent-driven-development/SKILL.md +277 -277
  56. package/canon/skills/systematic-debugging/SKILL.md +296 -296
  57. package/canon/skills/tdd/SKILL.md +371 -371
  58. package/canon/skills/unslop-ui/SKILL.md +34 -34
  59. package/canon/skills/using-git-worktrees/SKILL.md +218 -218
  60. package/canon/skills/verification-before-completion/SKILL.md +139 -139
  61. package/canon/skills/visual-verification/SKILL.md +54 -54
  62. package/canon/skills/workflow/SKILL.md +22 -22
  63. package/canon/skills/writing-for-agents/SKILL-MECHANICS.md +27 -27
  64. package/canon/skills/writing-for-agents/SKILL.md +42 -42
  65. package/canon/skills/writing-plans/SKILL.md +152 -152
  66. package/canon/skills/writing-skills/SKILL.md +655 -655
  67. package/canon/skills/yoke-retrofit/SKILL.md +26 -26
  68. package/canon/skills/yoke-workflow/SKILL.md +20 -20
  69. package/canon/tools/codex-rtk-hook.mjs +35 -35
  70. package/canon/tools/graphify.md +3 -3
  71. package/canon/tools/playwright-mcp.md +3 -3
  72. package/canon/tools/rtk.md +7 -7
  73. package/canon/tools/serena.md +6 -6
  74. package/dist/agents/process.js +3 -0
  75. package/dist/loop/watchdog.js +1 -1
  76. package/dist/prd/command.js +17 -17
  77. package/dist/retrofit/planners/claude.js +14 -14
  78. package/dist/retrofit/preserve.js +2 -2
  79. package/docs/MIGRATING-TO-1.0.md +33 -33
  80. package/docs/MIGRATING-TO-1.1.md +27 -27
  81. package/docs/MIGRATING-TO-1.4.md +70 -70
  82. package/docs/PUBLISHING.md +91 -91
  83. package/docs/superpowers/plans/2026-06-28-baustein-e-context-layer.md +981 -981
  84. package/docs/superpowers/plans/2026-06-29-baustein-f-routing.md +258 -258
  85. package/docs/superpowers/plans/2026-06-29-baustein-g-loop-observability.md +1006 -1006
  86. package/docs/superpowers/plans/2026-06-29-baustein-h-loop-robustness.md +374 -374
  87. package/docs/superpowers/plans/2026-06-30-baustein-i-visual-design-verification.md +450 -450
  88. package/docs/superpowers/plans/2026-07-02-baustein-k-zero-to-100-bootstrap.md +1024 -1024
  89. package/docs/superpowers/plans/2026-07-02-baustein-m-flow-smoke-proofs.md +574 -574
  90. package/docs/superpowers/plans/2026-08-13-gauntlet-quality-loop.md +537 -537
  91. package/docs/superpowers/plans/2026-08-16-artifact-backed-output-compaction.md +329 -329
  92. package/docs/superpowers/specs/2026-06-28-baustein-e-context-layer-design.md +146 -146
  93. package/docs/superpowers/specs/2026-06-29-baustein-f-routing-design.md +106 -106
  94. package/docs/superpowers/specs/2026-06-29-baustein-g-loop-observability-design.md +186 -186
  95. package/docs/superpowers/specs/2026-06-29-baustein-h-loop-robustness-design.md +113 -113
  96. package/docs/superpowers/specs/2026-06-30-baustein-i-visual-design-verification-design.md +98 -98
  97. package/docs/superpowers/specs/2026-07-02-baustein-k-zero-to-100-bootstrap-design.md +200 -200
  98. package/docs/superpowers/specs/2026-07-02-baustein-m-flow-smoke-proofs-design.md +155 -155
  99. package/docs/superpowers/specs/2026-08-13-gauntlet-quality-loop-design.md +422 -422
  100. package/docs/superpowers/specs/2026-08-16-artifact-backed-output-compaction-design.md +166 -166
  101. package/gemini-extension.json +6 -6
  102. package/hooks/hooks.json +19 -19
  103. package/package.json +87 -87
@@ -1,65 +1,65 @@
1
- # Loop Specification (Ralph + GSD)
2
-
3
- The autonomous loop is optional and toggle-able:
4
-
5
- - `yoke loop on` / `yoke loop off` — enable or disable it in `.yoke/config.yaml`.
6
- - `yoke loop status` — show enabled state and backlog progress.
7
- - `yoke loop run [--max=N] [--parallel=N] [--isolate] [--decision-policy=auto|critical] [--quality|--no-quality] [--quality-rounds=N] [--quality-minutes=N] [--quality-policy=blocking|advisory] [--quality-unbounded] [--candidates=N]` — run until the current backlog is green or a gate blocks.
8
- - `yoke change add --idea="..."` — queue a product change at any time, including while the loop is running.
9
- - `yoke loop decision` / `yoke loop answer --choice=<id>` — inspect and answer a structured critical stop.
10
-
11
- Pass `--isolate` to implement each story in a fresh git worktree. Only a verified, committed
12
- story is fast-forwarded to the main tree. Pass `--review` or `--reviewer=<provider>` to require
13
- a separate, schema-validated review. Pass `--parallel=N` to dispatch ready, non-colliding stories
14
- concurrently. Pass `--json` for NDJSON status on stdout.
15
-
16
- Stories may declare a reference, candidate artifact, rubric, and blocking/advisory quality policy.
17
- `--quality` runs a read-only blind critic plus bounded repair before review; every repair reruns the
18
- mechanical gates. `--candidates=N` requires quality declarations and dispatches multiple isolated
19
- implementations, rejects mechanically red candidates, selects one green candidate through opaque
20
- pairwise handles, and retains every candidate's terminal proof before cleanup. Parallel/candidate
21
- runs do not combine with adaptive routing.
22
-
23
- At every story boundary, Yoke consumes at most one queued change. The configured Claude,
24
- Codex, or Gemini provider may propose only new stories in a separate runtime file. A fresh
25
- coverage-review pass must account for every distinct requested outcome before Yoke validates
26
- strict criterion evidence, appends the stories itself, commits only the PRD, and leaves existing
27
- stories untouched. The request stays pending on any failure or uncovered outcome.
28
-
29
- For each story:
30
-
31
- 1. Require a clean git worktree.
32
- 2. Pick the highest-priority ready unfinished story, or claim multiple dependency-ready stories
33
- whose collision areas do not overlap when parallel dispatch is enabled.
34
- 3. Stop the line if acceptance is empty. With `verify.requireCriteria: true`, every criterion
35
- must be structured. Every structured criterion, including in compatible legacy projects,
36
- must use a single approved test command containing its criterion ID and no shell operators.
37
- 4. Run a fresh configured provider to implement exactly one story. Under the `critical`
38
- decision policy, only high-impact architecture, security/privacy, destructive data,
39
- material cost, compliance, or irreversible choices may pause for a human decision.
40
- 5. Run every structured criterion's targeted commands and write
41
- `.yoke/proof/<story>/evidence.json`. Then run project-wide `verify.command` (or detected
42
- `npm test`). Performance and audit follow when configured. If quality is enabled, collect the
43
- declared artifact, run the blind critic, and repair within the configured round/time bounds.
44
- Independent review follows. Any blocking failure stops the candidate.
45
- 6. Parallel workers enqueue green candidate commits. The integrator applies one at a time and
46
- reruns mechanical gates, fresh quality, and review against the integrated tree. Failed
47
- integration reopens the story and retains proof.
48
- 7. Only after all gates pass, mark the story `passes: true`, log the decision, and commit
49
- atomically. A failed commit restores the PRD state.
50
- 8. When all current stories pass, run optional `completion.command` against the integrated
51
- system. Only a green result reports `complete`; otherwise the loop blocks. This readiness
52
- result is ephemeral, not a release and not a freeze on future changes.
53
-
54
- A supervisor can pause the loop by creating `.yoke/loop.pause`. The running story finishes;
55
- the dispatcher latches the signal, stops launching new workers, lets active workers reach safe
56
- terminal proof/cleanup, and exits with code `3` before another story is integrated.
57
-
58
- State lives outside model context: PRD, git, and the ignored `.yoke/changes/` inbox. All are
59
- re-read at story boundaries, so a request queued mid-run becomes additional stories without a
60
- restart.
61
-
62
- ## Limitations
63
-
64
- Yoke cannot infer the correct end-to-end journey command. Projects that need integrated
65
- readiness must configure `completion.command`, for example a Playwright journey suite.
1
+ # Loop Specification (Ralph + GSD)
2
+
3
+ The autonomous loop is optional and toggle-able:
4
+
5
+ - `yoke loop on` / `yoke loop off` — enable or disable it in `.yoke/config.yaml`.
6
+ - `yoke loop status` — show enabled state and backlog progress.
7
+ - `yoke loop run [--max=N] [--parallel=N] [--isolate] [--decision-policy=auto|critical] [--quality|--no-quality] [--quality-rounds=N] [--quality-minutes=N] [--quality-policy=blocking|advisory] [--quality-unbounded] [--candidates=N]` — run until the current backlog is green or a gate blocks.
8
+ - `yoke change add --idea="..."` — queue a product change at any time, including while the loop is running.
9
+ - `yoke loop decision` / `yoke loop answer --choice=<id>` — inspect and answer a structured critical stop.
10
+
11
+ Pass `--isolate` to implement each story in a fresh git worktree. Only a verified, committed
12
+ story is fast-forwarded to the main tree. Pass `--review` or `--reviewer=<provider>` to require
13
+ a separate, schema-validated review. Pass `--parallel=N` to dispatch ready, non-colliding stories
14
+ concurrently. Pass `--json` for NDJSON status on stdout.
15
+
16
+ Stories may declare a reference, candidate artifact, rubric, and blocking/advisory quality policy.
17
+ `--quality` runs a read-only blind critic plus bounded repair before review; every repair reruns the
18
+ mechanical gates. `--candidates=N` requires quality declarations and dispatches multiple isolated
19
+ implementations, rejects mechanically red candidates, selects one green candidate through opaque
20
+ pairwise handles, and retains every candidate's terminal proof before cleanup. Parallel/candidate
21
+ runs do not combine with adaptive routing.
22
+
23
+ At every story boundary, Yoke consumes at most one queued change. The configured Claude,
24
+ Codex, or Gemini provider may propose only new stories in a separate runtime file. A fresh
25
+ coverage-review pass must account for every distinct requested outcome before Yoke validates
26
+ strict criterion evidence, appends the stories itself, commits only the PRD, and leaves existing
27
+ stories untouched. The request stays pending on any failure or uncovered outcome.
28
+
29
+ For each story:
30
+
31
+ 1. Require a clean git worktree.
32
+ 2. Pick the highest-priority ready unfinished story, or claim multiple dependency-ready stories
33
+ whose collision areas do not overlap when parallel dispatch is enabled.
34
+ 3. Stop the line if acceptance is empty. With `verify.requireCriteria: true`, every criterion
35
+ must be structured. Every structured criterion, including in compatible legacy projects,
36
+ must use a single approved test command containing its criterion ID and no shell operators.
37
+ 4. Run a fresh configured provider to implement exactly one story. Under the `critical`
38
+ decision policy, only high-impact architecture, security/privacy, destructive data,
39
+ material cost, compliance, or irreversible choices may pause for a human decision.
40
+ 5. Run every structured criterion's targeted commands and write
41
+ `.yoke/proof/<story>/evidence.json`. Then run project-wide `verify.command` (or detected
42
+ `npm test`). Performance and audit follow when configured. If quality is enabled, collect the
43
+ declared artifact, run the blind critic, and repair within the configured round/time bounds.
44
+ Independent review follows. Any blocking failure stops the candidate.
45
+ 6. Parallel workers enqueue green candidate commits. The integrator applies one at a time and
46
+ reruns mechanical gates, fresh quality, and review against the integrated tree. Failed
47
+ integration reopens the story and retains proof.
48
+ 7. Only after all gates pass, mark the story `passes: true`, log the decision, and commit
49
+ atomically. A failed commit restores the PRD state.
50
+ 8. When all current stories pass, run optional `completion.command` against the integrated
51
+ system. Only a green result reports `complete`; otherwise the loop blocks. This readiness
52
+ result is ephemeral, not a release and not a freeze on future changes.
53
+
54
+ A supervisor can pause the loop by creating `.yoke/loop.pause`. The running story finishes;
55
+ the dispatcher latches the signal, stops launching new workers, lets active workers reach safe
56
+ terminal proof/cleanup, and exits with code `3` before another story is integrated.
57
+
58
+ State lives outside model context: PRD, git, and the ignored `.yoke/changes/` inbox. All are
59
+ re-read at story boundaries, so a request queued mid-run becomes additional stories without a
60
+ restart.
61
+
62
+ ## Limitations
63
+
64
+ Yoke cannot infer the correct end-to-end journey command. Projects that need integrated
65
+ readiness must configure `completion.command`, for example a Playwright journey suite.
@@ -1,43 +1,43 @@
1
- # PRD Schema
2
-
3
- The loop is driven by a continuous PRD backlog. Each story:
4
-
5
- ```yaml
6
- - id: STORY-1
7
- title: Short imperative description
8
- priority: 1 # lower = higher priority
9
- needs: [] # optional dependency IDs; no unknown IDs, self-links, or cycles
10
- area: api # optional collision domain for parallel scheduling
11
- agent: codex # optional claude|codex|gemini affinity
12
- acceptance:
13
- - id: valid-request-returns-200
14
- text: The endpoint returns 200 for a valid request.
15
- verify: [npm run test:valid-request-returns-200]
16
- - id: invalid-request-returns-400
17
- text: The endpoint returns 400 for an invalid request.
18
- verify: [npm run test:invalid-request-returns-400]
19
- passes: false # Yoke-owned; true only after all gates pass and the commit lands
20
- ```
21
-
22
- Each new story has 2–5 acceptance criteria. Every criterion has a stable `id`, observable
23
- behavioral `text`, and one or more executable `verify` commands. Each entry is one approved test
24
- command, contains the normalized criterion ID, and contains no shell control operator. Yoke runs and records each criterion separately in
25
- `.yoke/proof/<story>/evidence.json`; a broad green suite cannot stand in for an untested
26
- criterion. Legacy string criteria remain readable, but `verify.requireCriteria: true` blocks
27
- them.
28
-
29
- The binding is deliberately mechanical, not an oracle for product meaning: Yoke can require a
30
- criterion-targeted test command and a separate coverage review, but it cannot prove that arbitrary
31
- test code faithfully models the real world. Critical cross-component behavior therefore also
32
- belongs in a trusted `completion.command` journey suite.
33
-
34
- `sourceChange` is an optional Yoke-owned request ID. The change inbox uses it to append new
35
- stories idempotently; authors normally omit it.
36
-
37
- Stories without `needs`, `area`, or `agent` retain serial behavior. A story is ready only when
38
- every ID in `needs` passes. The scheduler orders ready work by priority, avoids simultaneously
39
- active areas, and uses `agent` as an affinity hint.
40
-
41
- The backlog is continuous, not a release object. A momentary stop condition is every story
42
- having `passes: true`; if configured, `completion.command` must then prove the integrated
43
- system before the loop reports `complete`.
1
+ # PRD Schema
2
+
3
+ The loop is driven by a continuous PRD backlog. Each story:
4
+
5
+ ```yaml
6
+ - id: STORY-1
7
+ title: Short imperative description
8
+ priority: 1 # lower = higher priority
9
+ needs: [] # optional dependency IDs; no unknown IDs, self-links, or cycles
10
+ area: api # optional collision domain for parallel scheduling
11
+ agent: codex # optional claude|codex|gemini affinity
12
+ acceptance:
13
+ - id: valid-request-returns-200
14
+ text: The endpoint returns 200 for a valid request.
15
+ verify: [npm run test:valid-request-returns-200]
16
+ - id: invalid-request-returns-400
17
+ text: The endpoint returns 400 for an invalid request.
18
+ verify: [npm run test:invalid-request-returns-400]
19
+ passes: false # Yoke-owned; true only after all gates pass and the commit lands
20
+ ```
21
+
22
+ Each new story has 2–5 acceptance criteria. Every criterion has a stable `id`, observable
23
+ behavioral `text`, and one or more executable `verify` commands. Each entry is one approved test
24
+ command, contains the normalized criterion ID, and contains no shell control operator. Yoke runs and records each criterion separately in
25
+ `.yoke/proof/<story>/evidence.json`; a broad green suite cannot stand in for an untested
26
+ criterion. Legacy string criteria remain readable, but `verify.requireCriteria: true` blocks
27
+ them.
28
+
29
+ The binding is deliberately mechanical, not an oracle for product meaning: Yoke can require a
30
+ criterion-targeted test command and a separate coverage review, but it cannot prove that arbitrary
31
+ test code faithfully models the real world. Critical cross-component behavior therefore also
32
+ belongs in a trusted `completion.command` journey suite.
33
+
34
+ `sourceChange` is an optional Yoke-owned request ID. The change inbox uses it to append new
35
+ stories idempotently; authors normally omit it.
36
+
37
+ Stories without `needs`, `area`, or `agent` retain serial behavior. A story is ready only when
38
+ every ID in `needs` passes. The scheduler orders ready work by priority, avoids simultaneously
39
+ active areas, and uses `agent` as an affinity hint.
40
+
41
+ The backlog is continuous, not a release object. A momentary stop condition is every story
42
+ having `passes: true`; if configured, `completion.command` must then prove the integrated
43
+ system before the loop reports `complete`.
@@ -1,59 +1,59 @@
1
- name: yoke-canon
2
- version: 1.6.0
3
- agents: [claude, codex, gemini]
4
- skills:
5
- - { id: tdd, path: skills/tdd, kind: methodology, invocation: auto }
6
- - { id: yoke-retrofit, path: skills/yoke-retrofit, kind: methodology, invocation: auto }
7
- - { id: yoke-workflow, path: skills/yoke-workflow, kind: methodology, invocation: auto }
8
- - { id: minimal-code, path: skills/minimal-code, kind: methodology, invocation: auto }
9
- - { id: maintaining-context, path: skills/maintaining-context, kind: methodology, invocation: auto }
10
- # superpowers skills (kind: methodology)
11
- - { id: brainstorming, path: skills/brainstorming, kind: methodology, invocation: auto }
12
- - { id: writing-plans, path: skills/writing-plans, kind: methodology, invocation: auto }
13
- - { id: executing-plans, path: skills/executing-plans, kind: methodology, invocation: auto }
14
- - { id: subagent-driven-development, path: skills/subagent-driven-development, kind: methodology, invocation: auto }
15
- - { id: systematic-debugging, path: skills/systematic-debugging, kind: methodology, invocation: auto }
16
- - { id: verification-before-completion, path: skills/verification-before-completion, kind: methodology, invocation: auto }
17
- - { id: using-git-worktrees, path: skills/using-git-worktrees, kind: methodology, invocation: auto }
18
- - { id: requesting-code-review, path: skills/requesting-code-review, kind: methodology, invocation: auto }
19
- - { id: receiving-code-review, path: skills/receiving-code-review, kind: methodology, invocation: auto }
20
- - { id: dispatching-parallel-agents, path: skills/dispatching-parallel-agents, kind: methodology, invocation: auto }
21
- - { id: finishing-a-development-branch, path: skills/finishing-a-development-branch, kind: methodology, invocation: auto }
22
- - { id: writing-skills, path: skills/writing-skills, kind: methodology, invocation: auto }
23
- # gstack skills (kind: role)
24
- - { id: review, path: skills/review, kind: role, invocation: auto }
25
- - { id: ship, path: skills/ship, kind: role, invocation: auto }
26
- - { id: health, path: skills/health, kind: role, invocation: auto }
27
- - { id: retro, path: skills/retro, kind: role, invocation: auto }
28
- - { id: document-release, path: skills/document-release, kind: role, invocation: auto }
29
- - { id: plan-ceo-review, path: skills/plan-ceo-review, kind: role, invocation: auto }
30
- - { id: plan-eng-review, path: skills/plan-eng-review, kind: role, invocation: auto }
31
- # authored workflow skill (kind: methodology)
32
- - { id: workflow, path: skills/workflow, kind: methodology, invocation: auto }
33
- # visual & design verification (kind: methodology)
34
- - { id: unslop-ui, path: skills/unslop-ui, kind: methodology, invocation: auto }
35
- - { id: visual-verification, path: skills/visual-verification, kind: methodology, invocation: auto }
36
- # zero-to-100 bootstrap (kind: methodology)
37
- - { id: authoring-prd, path: skills/authoring-prd, kind: methodology, invocation: auto }
38
- # measured efficiency (kind: methodology)
39
- - { id: performance, path: skills/performance, kind: methodology, invocation: auto }
40
- # prose, domain, and codebase capabilities
41
- - { id: no-ai-slop, path: skills/no-ai-slop, kind: methodology, invocation: auto }
42
- - { id: domain-modeling, path: skills/domain-modeling, kind: methodology, invocation: auto }
43
- - { id: codebase-design, path: skills/codebase-design, kind: methodology, invocation: auto }
44
- - { id: resolving-merge-conflicts, path: skills/resolving-merge-conflicts, kind: methodology, invocation: auto }
45
- - { id: writing-for-agents, path: skills/writing-for-agents, kind: methodology, invocation: auto }
46
- policy:
47
- - { path: policy/gates.md }
48
- - { path: policy/roles.md }
49
- loop:
50
- spec: loop/loop-spec.md
51
- prdSchema: loop/prd.schema.md
52
- tools:
53
- - { id: rtk, path: tools/rtk.md }
54
- - { id: graphify, path: tools/graphify.md }
55
- - { id: playwright-mcp, path: tools/playwright-mcp.md }
56
- - { id: serena, path: tools/serena.md }
57
- # optional companions (external installers; documented wiring only)
58
- - { id: claude-mem, path: tools/claude-mem.md }
59
- - { id: ui-ux-pro-max, path: tools/ui-ux-pro-max.md }
1
+ name: yoke-canon
2
+ version: 1.6.1
3
+ agents: [claude, codex, gemini]
4
+ skills:
5
+ - { id: tdd, path: skills/tdd, kind: methodology, invocation: auto }
6
+ - { id: yoke-retrofit, path: skills/yoke-retrofit, kind: methodology, invocation: auto }
7
+ - { id: yoke-workflow, path: skills/yoke-workflow, kind: methodology, invocation: auto }
8
+ - { id: minimal-code, path: skills/minimal-code, kind: methodology, invocation: auto }
9
+ - { id: maintaining-context, path: skills/maintaining-context, kind: methodology, invocation: auto }
10
+ # superpowers skills (kind: methodology)
11
+ - { id: brainstorming, path: skills/brainstorming, kind: methodology, invocation: auto }
12
+ - { id: writing-plans, path: skills/writing-plans, kind: methodology, invocation: auto }
13
+ - { id: executing-plans, path: skills/executing-plans, kind: methodology, invocation: auto }
14
+ - { id: subagent-driven-development, path: skills/subagent-driven-development, kind: methodology, invocation: auto }
15
+ - { id: systematic-debugging, path: skills/systematic-debugging, kind: methodology, invocation: auto }
16
+ - { id: verification-before-completion, path: skills/verification-before-completion, kind: methodology, invocation: auto }
17
+ - { id: using-git-worktrees, path: skills/using-git-worktrees, kind: methodology, invocation: auto }
18
+ - { id: requesting-code-review, path: skills/requesting-code-review, kind: methodology, invocation: auto }
19
+ - { id: receiving-code-review, path: skills/receiving-code-review, kind: methodology, invocation: auto }
20
+ - { id: dispatching-parallel-agents, path: skills/dispatching-parallel-agents, kind: methodology, invocation: auto }
21
+ - { id: finishing-a-development-branch, path: skills/finishing-a-development-branch, kind: methodology, invocation: auto }
22
+ - { id: writing-skills, path: skills/writing-skills, kind: methodology, invocation: auto }
23
+ # gstack skills (kind: role)
24
+ - { id: review, path: skills/review, kind: role, invocation: auto }
25
+ - { id: ship, path: skills/ship, kind: role, invocation: auto }
26
+ - { id: health, path: skills/health, kind: role, invocation: auto }
27
+ - { id: retro, path: skills/retro, kind: role, invocation: auto }
28
+ - { id: document-release, path: skills/document-release, kind: role, invocation: auto }
29
+ - { id: plan-ceo-review, path: skills/plan-ceo-review, kind: role, invocation: auto }
30
+ - { id: plan-eng-review, path: skills/plan-eng-review, kind: role, invocation: auto }
31
+ # authored workflow skill (kind: methodology)
32
+ - { id: workflow, path: skills/workflow, kind: methodology, invocation: auto }
33
+ # visual & design verification (kind: methodology)
34
+ - { id: unslop-ui, path: skills/unslop-ui, kind: methodology, invocation: auto }
35
+ - { id: visual-verification, path: skills/visual-verification, kind: methodology, invocation: auto }
36
+ # zero-to-100 bootstrap (kind: methodology)
37
+ - { id: authoring-prd, path: skills/authoring-prd, kind: methodology, invocation: auto }
38
+ # measured efficiency (kind: methodology)
39
+ - { id: performance, path: skills/performance, kind: methodology, invocation: auto }
40
+ # prose, domain, and codebase capabilities
41
+ - { id: no-ai-slop, path: skills/no-ai-slop, kind: methodology, invocation: auto }
42
+ - { id: domain-modeling, path: skills/domain-modeling, kind: methodology, invocation: auto }
43
+ - { id: codebase-design, path: skills/codebase-design, kind: methodology, invocation: auto }
44
+ - { id: resolving-merge-conflicts, path: skills/resolving-merge-conflicts, kind: methodology, invocation: auto }
45
+ - { id: writing-for-agents, path: skills/writing-for-agents, kind: methodology, invocation: auto }
46
+ policy:
47
+ - { path: policy/gates.md }
48
+ - { path: policy/roles.md }
49
+ loop:
50
+ spec: loop/loop-spec.md
51
+ prdSchema: loop/prd.schema.md
52
+ tools:
53
+ - { id: rtk, path: tools/rtk.md }
54
+ - { id: graphify, path: tools/graphify.md }
55
+ - { id: playwright-mcp, path: tools/playwright-mcp.md }
56
+ - { id: serena, path: tools/serena.md }
57
+ # optional companions (external installers; documented wiring only)
58
+ - { id: claude-mem, path: tools/claude-mem.md }
59
+ - { id: ui-ux-pro-max, path: tools/ui-ux-pro-max.md }
@@ -1,7 +1,7 @@
1
- # Stop-the-Line Gates
2
-
3
- These gates are enforced mechanically by the Loop (Baustein C) and expected of every agent run.
4
-
5
- - **DoD gate:** Implementation may not begin until Definition of Done / Acceptance Criteria for the unit of work exist and are recorded (e.g., in the PRD story).
6
- - **Green-tests gate:** A unit of work is not complete until its tests pass.
7
- - **Clean-worktree gate:** No dispatch into a dirty or conflicted git worktree.
1
+ # Stop-the-Line Gates
2
+
3
+ These gates are enforced mechanically by the Loop (Baustein C) and expected of every agent run.
4
+
5
+ - **DoD gate:** Implementation may not begin until Definition of Done / Acceptance Criteria for the unit of work exist and are recorded (e.g., in the PRD story).
6
+ - **Green-tests gate:** A unit of work is not complete until its tests pass.
7
+ - **Clean-worktree gate:** No dispatch into a dirty or conflicted git worktree.
@@ -1,9 +1,9 @@
1
- # Role Separation
2
-
3
- The agent that performs a role must not also perform a conflicting one:
4
-
5
- - **Implementer ≠ Reviewer** — implementation is not self-reviewed.
6
- - **Implementer ≠ Merger** — the implementer does not merge their own change.
7
- - **Implementer ≠ Security auditor** — security is not self-audited.
8
-
9
- In the Loop, these map to separate iterations with fresh context.
1
+ # Role Separation
2
+
3
+ The agent that performs a role must not also perform a conflicting one:
4
+
5
+ - **Implementer ≠ Reviewer** — implementation is not self-reviewed.
6
+ - **Implementer ≠ Merger** — the implementer does not merge their own change.
7
+ - **Implementer ≠ Security auditor** — security is not self-audited.
8
+
9
+ In the Loop, these map to separate iterations with fresh context.
@@ -1,99 +1,99 @@
1
- # Attribution
2
-
3
- The skills in this directory are ported from two MIT-licensed open-source projects.
4
- Their content is used under the terms of the MIT License reproduced below.
5
-
6
- ---
7
-
8
- ## gstack
9
-
10
- **Source:** https://github.com/garrytan/gstack
11
-
12
- **Skills ported:** review, ship, health, retro, document-release, plan-ceo-review,
13
- plan-eng-review
14
-
15
- ---
16
-
17
- ## superpowers
18
-
19
- **Source:** https://github.com/obra/superpowers
20
-
21
- **Skills ported:** tdd (from test-driven-development), brainstorming, writing-plans,
22
- executing-plans, subagent-driven-development, systematic-debugging,
23
- verification-before-completion, using-git-worktrees, requesting-code-review,
24
- receiving-code-review, dispatching-parallel-agents, finishing-a-development-branch,
25
- writing-skills
26
-
27
- ---
28
-
29
- ## vibecoded-design-tells (research credit)
30
-
31
- **Source:** https://github.com/JCarterJohnson/vibecoded-design-tells (MIT © 2026 Carter Johnson)
32
-
33
- The `unslop-ui` rubric and the `yoke design-scan` tell set are **informed by** this data-ranked
34
- study of AI-generated-UI tells. Yoke implements the idea **natively in TypeScript** and copies no
35
- code or data — credited here in the spirit of the MIT license.
36
-
37
- ---
38
-
39
- ### gstack (cross-model review, idea credit)
40
-
41
- The interactive `yoke review` command is inspired by gstack's `/codex` skill
42
- (https://github.com/garrytan/gstack, MIT © Garry Tan) — an independent second-model
43
- review with a pass/fail gate. Yoke's implementation is native and cross-agent; no code
44
- or data was copied.
45
-
46
- Likewise, the browser-QA-as-gate idea behind gstack's `/qa` skill is natively
47
- re-implemented as `yoke flow-smoke` — cross-agent, with a proof-artifact contract
48
- (screenshots always, video kept on failure, under `.yoke/proof/<story>/`); no code
49
- was copied.
50
-
51
- ---
52
-
53
- ## no-ai-slop
54
-
55
- **Source:** https://github.com/petergyang/no-ai-slop
56
-
57
- **Copyright:** Copyright (c) 2026 Peter Yang
58
-
59
- **Skills adapted:** no-ai-slop and its evaluation checklist
60
-
61
- Yoke preserves the upstream Edit and Detect modes, voice-preserving workflow, named-pattern
62
- approach, and no-authorship-guess boundary. The adaptation adds Yoke's precise-domain-term rule,
63
- portable package wording, and a shorter evaluation checklist.
64
-
65
- ---
66
-
67
- ## mattpocock/skills
68
-
69
- **Source:** https://github.com/mattpocock/skills
70
-
71
- **Copyright:** Copyright (c) 2026 Matt Pocock
72
-
73
- **Skills adapted:** domain-modeling, codebase-design, resolving-merge-conflicts,
74
- writing-for-agents, and their supporting references
75
-
76
- The adaptations use `.yoke/context/` as Yoke's durable context location, preserve Yoke's existing
77
- authorization and verification rules, and remove provider-specific metadata from Canon source.
78
-
79
- ---
80
-
81
- ## MIT License
82
-
83
- Permission is hereby granted, free of charge, to any person obtaining a copy
84
- of this software and associated documentation files (the "Software"), to deal
85
- in the Software without restriction, including without limitation the rights
86
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
87
- copies of the Software, and to permit persons to whom the Software is
88
- furnished to do so, subject to the following conditions:
89
-
90
- The above copyright notice and this permission notice shall be included in all
91
- copies or substantial portions of the Software.
92
-
93
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
94
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
95
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
96
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
97
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
98
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
99
- SOFTWARE.
1
+ # Attribution
2
+
3
+ The skills in this directory are ported from two MIT-licensed open-source projects.
4
+ Their content is used under the terms of the MIT License reproduced below.
5
+
6
+ ---
7
+
8
+ ## gstack
9
+
10
+ **Source:** https://github.com/garrytan/gstack
11
+
12
+ **Skills ported:** review, ship, health, retro, document-release, plan-ceo-review,
13
+ plan-eng-review
14
+
15
+ ---
16
+
17
+ ## superpowers
18
+
19
+ **Source:** https://github.com/obra/superpowers
20
+
21
+ **Skills ported:** tdd (from test-driven-development), brainstorming, writing-plans,
22
+ executing-plans, subagent-driven-development, systematic-debugging,
23
+ verification-before-completion, using-git-worktrees, requesting-code-review,
24
+ receiving-code-review, dispatching-parallel-agents, finishing-a-development-branch,
25
+ writing-skills
26
+
27
+ ---
28
+
29
+ ## vibecoded-design-tells (research credit)
30
+
31
+ **Source:** https://github.com/JCarterJohnson/vibecoded-design-tells (MIT © 2026 Carter Johnson)
32
+
33
+ The `unslop-ui` rubric and the `yoke design-scan` tell set are **informed by** this data-ranked
34
+ study of AI-generated-UI tells. Yoke implements the idea **natively in TypeScript** and copies no
35
+ code or data — credited here in the spirit of the MIT license.
36
+
37
+ ---
38
+
39
+ ### gstack (cross-model review, idea credit)
40
+
41
+ The interactive `yoke review` command is inspired by gstack's `/codex` skill
42
+ (https://github.com/garrytan/gstack, MIT © Garry Tan) — an independent second-model
43
+ review with a pass/fail gate. Yoke's implementation is native and cross-agent; no code
44
+ or data was copied.
45
+
46
+ Likewise, the browser-QA-as-gate idea behind gstack's `/qa` skill is natively
47
+ re-implemented as `yoke flow-smoke` — cross-agent, with a proof-artifact contract
48
+ (screenshots always, video kept on failure, under `.yoke/proof/<story>/`); no code
49
+ was copied.
50
+
51
+ ---
52
+
53
+ ## no-ai-slop
54
+
55
+ **Source:** https://github.com/petergyang/no-ai-slop
56
+
57
+ **Copyright:** Copyright (c) 2026 Peter Yang
58
+
59
+ **Skills adapted:** no-ai-slop and its evaluation checklist
60
+
61
+ Yoke preserves the upstream Edit and Detect modes, voice-preserving workflow, named-pattern
62
+ approach, and no-authorship-guess boundary. The adaptation adds Yoke's precise-domain-term rule,
63
+ portable package wording, and a shorter evaluation checklist.
64
+
65
+ ---
66
+
67
+ ## mattpocock/skills
68
+
69
+ **Source:** https://github.com/mattpocock/skills
70
+
71
+ **Copyright:** Copyright (c) 2026 Matt Pocock
72
+
73
+ **Skills adapted:** domain-modeling, codebase-design, resolving-merge-conflicts,
74
+ writing-for-agents, and their supporting references
75
+
76
+ The adaptations use `.yoke/context/` as Yoke's durable context location, preserve Yoke's existing
77
+ authorization and verification rules, and remove provider-specific metadata from Canon source.
78
+
79
+ ---
80
+
81
+ ## MIT License
82
+
83
+ Permission is hereby granted, free of charge, to any person obtaining a copy
84
+ of this software and associated documentation files (the "Software"), to deal
85
+ in the Software without restriction, including without limitation the rights
86
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
87
+ copies of the Software, and to permit persons to whom the Software is
88
+ furnished to do so, subject to the following conditions:
89
+
90
+ The above copyright notice and this permission notice shall be included in all
91
+ copies or substantial portions of the Software.
92
+
93
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
94
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
95
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
96
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
97
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
98
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
99
+ SOFTWARE.