goalbuddy 0.3.5 → 0.3.7

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 (83) hide show
  1. package/README.md +46 -12
  2. package/RELEASE-0.3.5.md +4 -4
  3. package/RELEASE-0.3.7.md +127 -0
  4. package/goalbuddy/SKILL.md +53 -23
  5. package/goalbuddy/agents/README.md +1 -1
  6. package/goalbuddy/agents/goal_judge.toml +8 -4
  7. package/goalbuddy/agents/goal_worker.toml +8 -5
  8. package/goalbuddy/scripts/check-goal-state.mjs +129 -0
  9. package/goalbuddy/scripts/render-task-prompt.mjs +83 -5
  10. package/{plugins/goalbuddy/skills/goalbuddy/extend → goalbuddy/surfaces}/local-goal-board/README.md +7 -9
  11. package/{plugins/goalbuddy/skills/goalbuddy/extend → goalbuddy/surfaces}/local-goal-board/examples/sample-goal/state.yaml +5 -5
  12. package/{plugins/goalbuddy/skills/goalbuddy/extend → goalbuddy/surfaces}/local-goal-board/examples/subgoal-parent/state.yaml +3 -3
  13. package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/state.yaml +3 -3
  14. package/goalbuddy/{extend → surfaces}/local-goal-board/scripts/lib/goal-board.mjs +250 -9
  15. package/goalbuddy/{extend → surfaces}/local-goal-board/scripts/local-goal-board.mjs +4 -4
  16. package/goalbuddy/{extend → surfaces}/local-goal-board/test/local-goal-board.test.mjs +67 -9
  17. package/goalbuddy/templates/agents.md +3 -2
  18. package/goalbuddy/templates/goal.md +27 -4
  19. package/goalbuddy/templates/state.yaml +13 -7
  20. package/internal/assets/goalbuddy-v0.3.7-release.png +0 -0
  21. package/internal/cli/goal-maker.mjs +112 -714
  22. package/package.json +4 -4
  23. package/plugins/goalbuddy/.claude-plugin/plugin.json +3 -4
  24. package/plugins/goalbuddy/.codex-plugin/plugin.json +5 -6
  25. package/plugins/goalbuddy/README.md +4 -3
  26. package/plugins/goalbuddy/agents/goal-judge.md +8 -4
  27. package/plugins/goalbuddy/agents/goal-worker.md +6 -4
  28. package/plugins/goalbuddy/skills/goalbuddy/SKILL.md +53 -23
  29. package/plugins/goalbuddy/skills/goalbuddy/agents/README.md +1 -1
  30. package/plugins/goalbuddy/skills/goalbuddy/agents/goal_judge.toml +8 -4
  31. package/plugins/goalbuddy/skills/goalbuddy/agents/goal_worker.toml +8 -5
  32. package/plugins/goalbuddy/skills/goalbuddy/scripts/check-goal-state.mjs +129 -0
  33. package/plugins/goalbuddy/skills/goalbuddy/scripts/render-task-prompt.mjs +83 -5
  34. package/{goalbuddy/extend → plugins/goalbuddy/skills/goalbuddy/surfaces}/local-goal-board/README.md +7 -9
  35. package/{goalbuddy/extend → plugins/goalbuddy/skills/goalbuddy/surfaces}/local-goal-board/examples/sample-goal/state.yaml +5 -5
  36. package/{goalbuddy/extend → plugins/goalbuddy/skills/goalbuddy/surfaces}/local-goal-board/examples/subgoal-parent/state.yaml +3 -3
  37. package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/state.yaml +3 -3
  38. package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/scripts/lib/goal-board.mjs +250 -9
  39. package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/scripts/local-goal-board.mjs +4 -4
  40. package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/test/local-goal-board.test.mjs +67 -9
  41. package/plugins/goalbuddy/skills/goalbuddy/templates/agents.md +3 -2
  42. package/plugins/goalbuddy/skills/goalbuddy/templates/goal.md +27 -4
  43. package/plugins/goalbuddy/skills/goalbuddy/templates/state.yaml +13 -7
  44. package/examples/extend-catalog-workflow/goal.md +0 -53
  45. package/examples/extend-catalog-workflow/notes/T001-extension-model-map.md +0 -47
  46. package/examples/extend-catalog-workflow/notes/T002-architecture-decision.md +0 -48
  47. package/examples/extend-catalog-workflow/notes/T003-implementation-summary.md +0 -43
  48. package/examples/extend-catalog-workflow/notes/T004-root-extend-folder.md +0 -24
  49. package/examples/extend-catalog-workflow/notes/T005-layout-cleanup.md +0 -46
  50. package/examples/extend-catalog-workflow/notes/T006-catalog-location.md +0 -50
  51. package/examples/extend-catalog-workflow/notes/T999-completion-audit.md +0 -36
  52. package/examples/extend-catalog-workflow/state.yaml +0 -327
  53. package/examples/github-pr-workflow-extension/pr-handoff.md +0 -46
  54. package/goalbuddy/extend/github-projects/README.md +0 -105
  55. package/goalbuddy/extend/github-projects/examples/goal-board-sync/state.yaml +0 -63
  56. package/goalbuddy/extend/github-projects/extension.yaml +0 -43
  57. package/goalbuddy/extend/github-projects/scripts/lib/github-projects.mjs +0 -728
  58. package/goalbuddy/extend/github-projects/scripts/lib/goal-state.mjs +0 -362
  59. package/goalbuddy/extend/github-projects/scripts/sync-github-project.mjs +0 -193
  60. package/goalbuddy/extend/github-projects/test/github-projects.test.mjs +0 -267
  61. package/goalbuddy/extend/local-goal-board/extension.yaml +0 -39
  62. package/internal/assets/extend-release.png +0 -0
  63. package/internal/assets/extend-release.svg +0 -83
  64. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/README.md +0 -105
  65. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/examples/goal-board-sync/state.yaml +0 -63
  66. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/extension.yaml +0 -43
  67. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/scripts/lib/github-projects.mjs +0 -728
  68. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/scripts/lib/goal-state.mjs +0 -362
  69. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/scripts/sync-github-project.mjs +0 -193
  70. package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/test/github-projects.test.mjs +0 -267
  71. package/plugins/goalbuddy/skills/goalbuddy/extend/local-goal-board/extension.yaml +0 -39
  72. /package/goalbuddy/{extend → surfaces}/local-goal-board/assets/goalbuddy-mark.png +0 -0
  73. /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/sample-goal/notes/T001-scout.md +0 -0
  74. /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/goal.md +0 -0
  75. /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/notes/.gitkeep +0 -0
  76. /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/goal.md +0 -0
  77. /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/notes/.gitkeep +0 -0
  78. /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/assets/goalbuddy-mark.png +0 -0
  79. /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/sample-goal/notes/T001-scout.md +0 -0
  80. /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/goal.md +0 -0
  81. /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/notes/.gitkeep +0 -0
  82. /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/goal.md +0 -0
  83. /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/notes/.gitkeep +0 -0
@@ -1,47 +0,0 @@
1
- # T001: Extension Model Map
2
-
3
- Task: `T001`
4
- Kind: `scout`
5
- Status: `done`
6
-
7
- ## Summary
8
-
9
- The scalable frame is `extend`: optional extension folders live at the repo root under `extend/`, and catalog metadata lives at `extend/catalog.json`. The npm CLI should read the GitHub-hosted catalog so extension discovery can change without publishing a new npm version.
10
-
11
- Board publishing is the first likely extension family, but the extension surface should also support unrelated add-ons such as role guidance, reports, intake tools, and external channel publishing.
12
-
13
- ## Recommended Vocabulary
14
-
15
- - Repo surface: `extend/`
16
- - Items inside `extend/`: extensions
17
- - Catalog file: `extend/catalog.json`
18
- - Public action for external surfaces: publish
19
- - Avoid umbrella words: export, sync, capabilities
20
-
21
- ## Architecture Notes
22
-
23
- Core should own:
24
-
25
- - skill installation;
26
- - agent installation;
27
- - board checker scripts;
28
- - extension catalog discovery;
29
- - checksum-verified extension installation;
30
- - extension doctor checks.
31
-
32
- Extensions should own:
33
-
34
- - provider-specific behavior;
35
- - provider docs;
36
- - auth requirements;
37
- - fixtures and tests;
38
- - optional role or reporting guidance.
39
-
40
- No extension may define a second meaning of `state.yaml`.
41
-
42
- ## Candidate Tasks
43
-
44
- - Add a catalog-backed `goal-maker extend` command.
45
- - Add root `extend/` documentation.
46
- - Keep package-only CLI/tests out of the installable skill folder.
47
- - Add repo agent guidance so future improvements consider docs, skill instructions, CLI, tests, examples, and extensions together.
@@ -1,48 +0,0 @@
1
- # T002: Architecture Decision
2
-
3
- Task: `T002`
4
- Kind: `judge`
5
- Status: `done`
6
-
7
- ## Decision
8
-
9
- Use `extend` as the high-level optional surface and call each item an extension. Keep the default catalog GitHub-hosted at:
10
-
11
- ```text
12
- https://raw.githubusercontent.com/tolibear/goal-maker/main/extend/catalog.json
13
- ```
14
-
15
- The npm package should contain the stable core and CLI. The catalog can change on GitHub without requiring users to update npm for every optional integration.
16
-
17
- ## CLI Shape
18
-
19
- Use one top-level extension command instead of separate browse/list/show verbs:
20
-
21
- ```bash
22
- goal-maker extend
23
- goal-maker extend <extension-id>
24
- goal-maker extend install <extension-id>
25
- goal-maker extend doctor [extension-id]
26
- ```
27
-
28
- This keeps the UX simple:
29
-
30
- - no argument means "show the catalog";
31
- - an id means "show this extension";
32
- - `install` copies checksum-verified files into the local Goal Maker install;
33
- - `doctor` verifies installed extension files and required environment.
34
-
35
- ## Repo Shape
36
-
37
- Keep the root relatively clean:
38
-
39
- ```text
40
- goal-maker/ # installable skill payload
41
- internal/ # package/dev infrastructure
42
- extend/ # optional extension folders
43
- examples/ # completed sample runs
44
- extend/catalog.json # GitHub-hosted extension catalog
45
- AGENTS.md # repo-specific agent guidance
46
- ```
47
-
48
- `goal-maker/scripts/` stays inside the skill because installed skill docs call those scripts directly.
@@ -1,43 +0,0 @@
1
- # T003: Catalog CLI Implementation
2
-
3
- Task: `T003`
4
- Kind: `worker`
5
- Status: `done`
6
-
7
- ## Summary
8
-
9
- Implemented the first catalog-backed `goal-maker extend` workflow.
10
-
11
- Commit:
12
-
13
- - `105850e Add extension catalog workflow`
14
-
15
- ## Shipped Behavior
16
-
17
- - `goal-maker extend` reads the GitHub-hosted catalog and reports available/install/configuration state.
18
- - `goal-maker extend <id>` shows extension details.
19
- - `goal-maker extend install <id>` installs checksum-verified extension files.
20
- - `goal-maker extend doctor [id]` validates installed extension files and required environment.
21
- - Root `catalog.json` provides an initially empty GitHub-hosted catalog.
22
- - README documents the extension discovery/install flow.
23
-
24
- ## Files Touched
25
-
26
- At this point in the run, the CLI still lived under `goal-maker/bin/`. A later cleanup task moved it to `internal/cli/`.
27
-
28
- - `README.md`
29
- - `catalog.json`
30
- - `goal-maker/bin/goal-maker.mjs`
31
- - `goal-maker/test/goal-maker-cli.test.mjs`
32
- - `package.json`
33
-
34
- ## Verification
35
-
36
- Commands passed:
37
-
38
- ```bash
39
- npm run check
40
- git diff --check
41
- node goal-maker/bin/goal-maker.mjs extend --catalog-url catalog.json --json
42
- npm publish --dry-run --json
43
- ```
@@ -1,24 +0,0 @@
1
- # T004: Root Extend Folder
2
-
3
- Task: `T004`
4
- Kind: `pm`
5
- Status: `done`
6
-
7
- ## Summary
8
-
9
- Added a visible root `extend/` folder with documentation so GitHub shows the extension surface even before real extensions exist.
10
-
11
- Commit:
12
-
13
- - `17c65c9 Document extension folder`
14
-
15
- ## Files Touched
16
-
17
- - `README.md`
18
- - `extend/README.md`
19
-
20
- ## Receipt Notes
21
-
22
- The folder intentionally contains only documentation for now. Git cannot track an empty directory, and the product decision was to avoid bundling sample extensions until a real extension is ready.
23
-
24
- The README now says extensions live under `extend/` and move through the GitHub-hosted `extend/catalog.json`.
@@ -1,46 +0,0 @@
1
- # T005: Skill Package Layout Cleanup
2
-
3
- Task: `T005`
4
- Kind: `worker`
5
- Status: `done`
6
-
7
- ## Summary
8
-
9
- Separated package-only infrastructure from the installable skill payload while keeping the repo root clean.
10
-
11
- Commit:
12
-
13
- - `6faa5de Clean skill package layout`
14
-
15
- ## Files Touched
16
-
17
- - `AGENTS.md`
18
- - `CONTRIBUTING.md`
19
- - `README.md`
20
- - `extend/README.md`
21
- - `goal-maker/SKILL.md`
22
- - `goal-maker/bin/goal-maker.mjs` -> `internal/cli/goal-maker.mjs`
23
- - `goal-maker/test/*.test.mjs` -> `internal/test/*.test.mjs`
24
- - `package.json`
25
-
26
- ## Result
27
-
28
- The installable skill payload is now focused:
29
-
30
- ```text
31
- goal-maker/
32
- SKILL.md
33
- agents/
34
- scripts/
35
- templates/
36
- ```
37
-
38
- Package/dev infrastructure is grouped under:
39
-
40
- ```text
41
- internal/
42
- cli/
43
- test/
44
- ```
45
-
46
- Root `AGENTS.md` now tells future agents to consider README, SKILL.md, templates, checker behavior, CLI UX, examples, package contents, and extension catalog design when improving this repo.
@@ -1,50 +0,0 @@
1
- # T006: Catalog Location
2
-
3
- Task: `T006`
4
- Kind: `worker`
5
- Status: `done`
6
-
7
- ## Summary
8
-
9
- Moved the hosted catalog from the repo root to `extend/catalog.json`.
10
-
11
- Commit:
12
-
13
- - This example/catalog-location commit.
14
-
15
- ## Why
16
-
17
- The repo root should stay relatively clean, and `catalog.json` is part of the extension surface. Keeping it under `extend/` makes the shape easier to understand:
18
-
19
- ```text
20
- extend/
21
- README.md
22
- catalog.json
23
- <extension-id>/
24
- ```
25
-
26
- The npm CLI still reads the catalog from GitHub raw, now at:
27
-
28
- ```text
29
- https://raw.githubusercontent.com/tolibear/goal-maker/main/extend/catalog.json
30
- ```
31
-
32
- ## Files Touched
33
-
34
- - `catalog.json` -> `extend/catalog.json`
35
- - `internal/cli/goal-maker.mjs`
36
- - `README.md`
37
- - `AGENTS.md`
38
- - `extend/README.md`
39
- - `examples/extend-catalog-workflow/`
40
-
41
- ## Verification
42
-
43
- Commands to verify this task:
44
-
45
- ```bash
46
- npm run check
47
- git diff --check
48
- node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
49
- npm publish --dry-run --json
50
- ```
@@ -1,36 +0,0 @@
1
- # T999: Completion Audit
2
-
3
- Task: `T999`
4
- Kind: `judge`
5
- Status: `done`
6
-
7
- ## Decision
8
-
9
- Complete.
10
-
11
- ## Audit
12
-
13
- | Requirement | Evidence | Status |
14
- |---|---|---|
15
- | Use `extend` as the high-level surface | `extend/README.md`, `README.md`, `AGENTS.md` | Complete |
16
- | Items inside `extend` are extensions | `extend/README.md`, `README.md`, catalog terminology | Complete |
17
- | Avoid frequent npm releases for catalog updates | `extend/catalog.json` and default raw GitHub catalog URL | Complete |
18
- | Keep extension discovery credential-free | `goal-maker extend` and `goal-maker extend <id>` inspect catalog metadata only | Complete |
19
- | Verify installed extensions safely | checksum validation and `.installed.json` manifest in CLI implementation | Complete |
20
- | Keep root reasonably clean | package/dev files grouped under `internal/` | Complete |
21
- | Keep skill payload clean | `goal-maker/` contains skill, agents, scripts, and templates only | Complete |
22
- | Teach future agents about improvement surfaces | root `AGENTS.md` and SKILL.md note | Complete |
23
-
24
- ## Verification
25
-
26
- Commands passed during the implementation tranche:
27
-
28
- ```bash
29
- npm run check
30
- git diff --check
31
- node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
32
- npm publish --dry-run --json
33
- node goal-maker/scripts/check-goal-state.mjs examples/extend-catalog-workflow/state.yaml
34
- ```
35
-
36
- The final state is reviewable and maps to actual commits rather than simulated history.
@@ -1,327 +0,0 @@
1
- # Goal Maker v2 state.yaml
2
- # Board truth lives here. goal.md is the editable charter; notes/ holds long receipts only.
3
-
4
- version: 2
5
-
6
- goal:
7
- title: "Extend Catalog Workflow"
8
- slug: "extend-catalog-workflow"
9
- kind: open_ended
10
- tranche: "Design and implement the extension catalog workflow, root extend surface, and clean package/skill layout."
11
- status: done
12
-
13
- rules:
14
- pm_owns_state: true
15
- one_active_task: true
16
- max_write_workers: 1
17
- no_implementation_without_worker_or_pm_task: true
18
- no_completion_without_judge_or_pm_audit: true
19
-
20
- agents:
21
- scout: installed
22
- worker: installed
23
- judge: installed
24
-
25
- active_task: null
26
-
27
- tasks:
28
- - id: T001
29
- type: scout
30
- assignee: Scout
31
- status: done
32
- reasoning_hint: high
33
- objective: "Map the product vocabulary, extension surfaces, catalog strategy, and repo boundaries for optional Goal Maker extensions."
34
- inputs:
35
- - README.md
36
- - package.json
37
- - goal-maker/SKILL.md
38
- - goal-maker/scripts/check-goal-state.mjs
39
- - docs/goals/board-publishing-surfaces/goal.md
40
- constraints:
41
- - "Read-only."
42
- - "Do not implement."
43
- - "Treat external services as generated views, not board truth."
44
- - "Use extend as the high-level concept and extensions as item names."
45
- expected_output:
46
- - "Recommended vocabulary."
47
- - "Catalog and extension repo shape."
48
- - "Candidate implementation tasks."
49
- receipt:
50
- result: done
51
- note: notes/T001-extension-model-map.md
52
- summary: "Mapped `extend/` as the optional extension surface, `extend/catalog.json` as the GitHub-hosted catalog, and package/dev internals as separate from the installable skill payload."
53
- evidence:
54
- - README.md
55
- - package.json
56
- - goal-maker/SKILL.md
57
- - goal-maker/scripts/check-goal-state.mjs
58
- spawned_tasks:
59
- - T002
60
- - id: T002
61
- type: judge
62
- assignee: Judge
63
- status: done
64
- reasoning_hint: high
65
- objective: "Choose the extension vocabulary, catalog source, CLI shape, and repo layout before implementation."
66
- inputs:
67
- - "T001 receipt"
68
- - examples/extend-catalog-workflow/notes/T001-extension-model-map.md
69
- constraints:
70
- - "Do not implement."
71
- - "Preserve Goal Maker's local-first model."
72
- - "Keep the root relatively clean."
73
- - "Avoid browse/list/show as separate user concepts."
74
- expected_output:
75
- - "Decision on extension language."
76
- - "Decision on catalog hosting."
77
- - "First implementation tranche."
78
- receipt:
79
- result: done
80
- decision: "Use root `extend/`, `extend/catalog.json`, and `goal-maker extend` as the single discovery/details command; group package-only CLI and tests under `internal/` while keeping skill runtime scripts inside `goal-maker/scripts/`."
81
- note: notes/T002-architecture-decision.md
82
- evidence:
83
- - examples/extend-catalog-workflow/notes/T001-extension-model-map.md
84
- - README.md
85
- - package.json
86
- next_allowed_task: T003
87
- - id: T003
88
- type: worker
89
- assignee: Worker
90
- status: done
91
- reasoning_hint: medium
92
- objective: "Implement the first catalog-backed `goal-maker extend` workflow."
93
- allowed_files:
94
- - README.md
95
- - catalog.json
96
- - goal-maker/bin/goal-maker.mjs
97
- - goal-maker/test/goal-maker-cli.test.mjs
98
- - package.json
99
- verify:
100
- - npm run check
101
- - git diff --check
102
- - node goal-maker/bin/goal-maker.mjs extend --catalog-url catalog.json --json
103
- - npm publish --dry-run --json
104
- stop_if:
105
- - "Need provider credentials."
106
- - "Need files outside allowed_files."
107
- - "Catalog or extension semantics become ambiguous."
108
- - "Verification fails twice."
109
- receipt:
110
- result: done
111
- changed_files:
112
- - README.md
113
- - catalog.json
114
- - goal-maker/bin/goal-maker.mjs
115
- - goal-maker/test/goal-maker-cli.test.mjs
116
- - package.json
117
- commands:
118
- - cmd: npm run check
119
- status: pass
120
- - cmd: git diff --check
121
- status: pass
122
- - cmd: node goal-maker/bin/goal-maker.mjs extend --catalog-url catalog.json --json
123
- status: pass
124
- - cmd: npm publish --dry-run --json
125
- status: pass
126
- summary: "Implemented catalog-backed `goal-maker extend`, root `catalog.json`, checksum-verified extension install, extension doctor checks, and CLI test coverage."
127
- note: notes/T003-implementation-summary.md
128
- commits:
129
- - 105850e
130
- spawned_tasks:
131
- - T004
132
- - id: T004
133
- type: pm
134
- assignee: PM
135
- status: done
136
- reasoning_hint: medium
137
- objective: "Add a visible root `extend/` folder without bundling placeholder extensions."
138
- inputs:
139
- - "T002 decision"
140
- - "T003 receipt"
141
- - "Owner feedback that the repo should show an `/extend` folder."
142
- constraints:
143
- - "Do not add fake bundled extensions."
144
- - "Keep extensions as subfolders under root `extend/`."
145
- - "Keep npm catalog behavior GitHub-hosted."
146
- expected_output:
147
- - "Root extend folder with documentation."
148
- - "README wording that points to the extension surface."
149
- receipt:
150
- result: done
151
- summary: "Added root `extend/README.md` so the repo has a visible extension surface while keeping the catalog empty until real extensions ship."
152
- note: notes/T004-root-extend-folder.md
153
- changed_files:
154
- - README.md
155
- - extend/README.md
156
- commands:
157
- - cmd: npm run check
158
- status: pass
159
- commits:
160
- - 17c65c9
161
- spawned_tasks:
162
- - T005
163
- - id: T005
164
- type: worker
165
- assignee: Worker
166
- status: done
167
- reasoning_hint: medium
168
- objective: "Move package-only CLI/tests out of the installable skill folder and add repo-specific agent guidance."
169
- allowed_files:
170
- - AGENTS.md
171
- - CONTRIBUTING.md
172
- - README.md
173
- - extend/README.md
174
- - goal-maker/SKILL.md
175
- - goal-maker/bin/goal-maker.mjs
176
- - goal-maker/test/check-goal-state.test.mjs
177
- - goal-maker/test/goal-maker-cli.test.mjs
178
- - internal/cli/goal-maker.mjs
179
- - internal/test/check-goal-state.test.mjs
180
- - internal/test/goal-maker-cli.test.mjs
181
- - package.json
182
- verify:
183
- - npm run check
184
- - git diff --check
185
- - tmp=$(mktemp -d); node internal/cli/goal-maker.mjs install --codex-home "$tmp"; node internal/cli/goal-maker.mjs doctor --codex-home "$tmp"; rm -rf "$tmp"
186
- - npm publish --dry-run --json
187
- stop_if:
188
- - "Need to move skill runtime scripts out of `goal-maker/scripts/`."
189
- - "Need root folders beyond `internal/`."
190
- - "Verification fails twice."
191
- receipt:
192
- result: done
193
- changed_files:
194
- - AGENTS.md
195
- - CONTRIBUTING.md
196
- - README.md
197
- - extend/README.md
198
- - goal-maker/SKILL.md
199
- - internal/cli/goal-maker.mjs
200
- - internal/test/check-goal-state.test.mjs
201
- - internal/test/goal-maker-cli.test.mjs
202
- - package.json
203
- commands:
204
- - cmd: npm run check
205
- status: pass
206
- - cmd: git diff --check
207
- status: pass
208
- - cmd: tmp=$(mktemp -d); node internal/cli/goal-maker.mjs install --codex-home "$tmp"; node internal/cli/goal-maker.mjs doctor --codex-home "$tmp"; rm -rf "$tmp"
209
- status: pass
210
- - cmd: npm publish --dry-run --json
211
- status: pass
212
- summary: "Moved package-only CLI/tests under `internal/`, removed `goal-maker/bin` and `goal-maker/test` from the skill payload, added root `AGENTS.md`, and updated docs/package paths."
213
- note: notes/T005-layout-cleanup.md
214
- commits:
215
- - 6faa5de
216
- spawned_tasks:
217
- - T006
218
- - id: T006
219
- type: worker
220
- assignee: Worker
221
- status: done
222
- reasoning_hint: low
223
- objective: "Move the hosted catalog into `extend/` and update the CLI/default docs to match."
224
- allowed_files:
225
- - AGENTS.md
226
- - README.md
227
- - extend/README.md
228
- - catalog.json
229
- - extend/catalog.json
230
- - internal/cli/goal-maker.mjs
231
- - package.json
232
- - examples/extend-catalog-workflow
233
- verify:
234
- - npm run check
235
- - git diff --check
236
- - node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
237
- - npm publish --dry-run --json
238
- stop_if:
239
- - "Need to add bundled extensions."
240
- - "Need a separate extension registry."
241
- - "Verification fails twice."
242
- receipt:
243
- result: done
244
- changed_files:
245
- - AGENTS.md
246
- - README.md
247
- - extend/README.md
248
- - extend/catalog.json
249
- - internal/cli/goal-maker.mjs
250
- - package.json
251
- - examples/extend-catalog-workflow/goal.md
252
- - examples/extend-catalog-workflow/state.yaml
253
- - examples/extend-catalog-workflow/notes/T006-catalog-location.md
254
- commands:
255
- - cmd: npm run check
256
- status: pass
257
- - cmd: git diff --check
258
- status: pass
259
- - cmd: node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
260
- status: pass
261
- - cmd: npm publish --dry-run --json
262
- status: pass
263
- summary: "Moved the GitHub-hosted catalog into `extend/catalog.json`, updated the CLI default raw URL, and adjusted docs/example references."
264
- note: notes/T006-catalog-location.md
265
- commits:
266
- - "this example/catalog-location commit"
267
- spawned_tasks:
268
- - T999
269
- - id: T999
270
- type: judge
271
- assignee: Judge
272
- status: done
273
- reasoning_hint: high
274
- objective: "Audit whether the extension catalog and layout cleanup tranche is complete."
275
- inputs:
276
- - "All done task receipts"
277
- - "Last verification"
278
- - "Current package dry run"
279
- constraints:
280
- - "Do not implement."
281
- - "Completion requires evidence from actual commits and verification commands."
282
- expected_output:
283
- - "complete | not_complete"
284
- - "missing evidence"
285
- - "next task if not complete"
286
- receipt:
287
- result: done
288
- decision: complete
289
- note: notes/T999-completion-audit.md
290
- summary: "The tranche is complete: extension vocabulary, GitHub-hosted catalog, `extend` CLI workflow, root extension surface, package layout cleanup, and repo agent guidance are implemented and verified."
291
- evidence:
292
- - examples/extend-catalog-workflow/goal.md
293
- - examples/extend-catalog-workflow/notes/T001-extension-model-map.md
294
- - examples/extend-catalog-workflow/notes/T002-architecture-decision.md
295
- - examples/extend-catalog-workflow/notes/T003-implementation-summary.md
296
- - examples/extend-catalog-workflow/notes/T004-root-extend-folder.md
297
- - examples/extend-catalog-workflow/notes/T005-layout-cleanup.md
298
- - examples/extend-catalog-workflow/notes/T006-catalog-location.md
299
- - AGENTS.md
300
- - extend/catalog.json
301
- - extend/README.md
302
- - internal/cli/goal-maker.mjs
303
- - package.json
304
- verification:
305
- - cmd: npm run check
306
- status: pass
307
- - cmd: git diff --check
308
- status: pass
309
- - cmd: npm publish --dry-run --json
310
- status: pass
311
- - cmd: node goal-maker/scripts/check-goal-state.mjs examples/extend-catalog-workflow/state.yaml
312
- status: pass
313
-
314
- checks:
315
- dirty_fingerprint: unknown
316
- last_verification:
317
- result: pass
318
- task: T999
319
- commands:
320
- - cmd: npm run check
321
- status: pass
322
- - cmd: git diff --check
323
- status: pass
324
- - cmd: npm publish --dry-run --json
325
- status: pass
326
- - cmd: node goal-maker/scripts/check-goal-state.mjs examples/extend-catalog-workflow/state.yaml
327
- status: pass
@@ -1,46 +0,0 @@
1
- # PR Handoff: Add GitHub PR Workflow Extension
2
-
3
- ## Suggested Title
4
-
5
- Add GitHub PR workflow extension
6
-
7
- ## Summary
8
-
9
- - Adds `github-pr-workflow` as a cataloged Goal Maker extension.
10
- - Documents a local-first workflow for turning goal receipts into GitHub PR handoff text.
11
- - Keeps `state.yaml` authoritative and treats GitHub PR content as generated review context.
12
-
13
- ## Goal Context
14
-
15
- - Original request: `$goal-maker add a new extension to goal-maker`
16
- - Target outcome: a discoverable GitHub PR workflow integration extension with catalog metadata, docs, and example proof.
17
- - Completion proof: catalog entry, extension documentation, example artifact, and local checks.
18
-
19
- ## Changed Files
20
-
21
- - `extend/catalog.json`
22
- - `extend/README.md`
23
- - `extend/github-pr-workflow/README.md`
24
- - `extend/github-pr-workflow/extension.yaml`
25
- - `examples/github-pr-workflow-extension/pr-handoff.md`
26
- - `README.md`
27
-
28
- ## Verification
29
-
30
- ```bash
31
- node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
32
- node internal/cli/goal-maker.mjs extend github-pr-workflow --catalog-url extend/catalog.json --json
33
- node internal/cli/goal-maker.mjs extend install github-pr-workflow --catalog-url extend/catalog.json --dry-run --json
34
- npm run check
35
- git diff --check
36
- ```
37
-
38
- ## Review Notes
39
-
40
- - This is a local handoff workflow, not live GitHub automation.
41
- - No GitHub token is required for discovery, details, or install dry-run.
42
- - Future live PR creation should be a separate extension or explicitly approved follow-up task.
43
-
44
- ## Follow-Up
45
-
46
- - Consider a later command or template generator only after the cataloged workflow proves useful.