vibe-forge 0.4.0 → 0.8.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 (129) hide show
  1. package/.claude/commands/clear-attention.md +63 -63
  2. package/.claude/commands/compact-context.md +52 -0
  3. package/.claude/commands/configure-vcs.md +102 -102
  4. package/.claude/commands/forge.md +218 -171
  5. package/.claude/commands/need-help.md +77 -77
  6. package/.claude/commands/update-status.md +64 -64
  7. package/.claude/commands/worker-loop.md +106 -106
  8. package/.claude/hooks/worker-loop.js +217 -187
  9. package/.claude/scripts/setup-worker-loop.sh +45 -45
  10. package/.claude/settings.json +89 -0
  11. package/LICENSE +21 -21
  12. package/README.md +253 -232
  13. package/agents/aegis/personality.md +303 -269
  14. package/agents/anvil/personality.md +278 -240
  15. package/agents/architect/personality.md +260 -234
  16. package/agents/crucible/personality.md +362 -309
  17. package/agents/crucible-x/personality.md +210 -0
  18. package/agents/ember/personality.md +293 -265
  19. package/agents/flux/personality.md +248 -0
  20. package/agents/furnace/personality.md +342 -291
  21. package/agents/herald/personality.md +249 -247
  22. package/agents/loki/personality.md +108 -0
  23. package/agents/oracle/personality.md +284 -0
  24. package/agents/pixel/personality.md +140 -0
  25. package/agents/planning-hub/personality.md +473 -251
  26. package/agents/scribe/personality.md +253 -251
  27. package/agents/slag/personality.md +268 -0
  28. package/agents/temper/personality.md +270 -0
  29. package/bin/cli.js +372 -325
  30. package/bin/dashboard/api/agents.js +333 -0
  31. package/bin/dashboard/api/dispatch.js +507 -0
  32. package/bin/dashboard/api/tasks.js +416 -0
  33. package/bin/dashboard/public/assets/index-BpHfsx1r.js +2 -0
  34. package/bin/dashboard/public/assets/index-QODv4Zn9.css +1 -0
  35. package/bin/dashboard/public/index.html +14 -0
  36. package/bin/dashboard/server.js +645 -0
  37. package/bin/forge-daemon.sh +477 -851
  38. package/bin/forge-setup.sh +661 -645
  39. package/bin/forge-spawn.sh +164 -164
  40. package/bin/forge.cmd +83 -83
  41. package/bin/forge.sh +566 -387
  42. package/bin/lib/agents.sh +177 -177
  43. package/bin/lib/check-aliases.js +50 -0
  44. package/bin/lib/colors.sh +44 -44
  45. package/bin/lib/config.sh +347 -313
  46. package/bin/lib/constants.sh +241 -206
  47. package/bin/lib/daemon/budgets.sh +107 -0
  48. package/bin/lib/daemon/dependencies.sh +146 -0
  49. package/bin/lib/daemon/display.sh +128 -0
  50. package/bin/lib/daemon/notifications.sh +273 -0
  51. package/bin/lib/daemon/routing.sh +93 -0
  52. package/bin/lib/daemon/state.sh +163 -0
  53. package/bin/lib/daemon/sync.sh +103 -0
  54. package/bin/lib/database.sh +357 -305
  55. package/bin/lib/frontmatter.js +106 -0
  56. package/bin/lib/heimdall-setup.js +113 -0
  57. package/bin/lib/heimdall.js +265 -0
  58. package/bin/lib/json.sh +264 -258
  59. package/bin/lib/terminal.js +452 -446
  60. package/bin/lib/util.sh +126 -126
  61. package/bin/lib/vcs.js +349 -349
  62. package/config/agent-manifest.yaml +237 -243
  63. package/config/agents.json +207 -132
  64. package/config/task-template.md +159 -87
  65. package/config/task-types.yaml +111 -106
  66. package/config/templates/handoff-template.md +40 -0
  67. package/context/agent-overrides/README.md +41 -0
  68. package/context/architecture.md +42 -0
  69. package/context/modern-conventions.md +129 -129
  70. package/context/project-context-template.md +122 -122
  71. package/docs/agents.md +473 -409
  72. package/docs/architecture.md +194 -162
  73. package/docs/commands.md +451 -388
  74. package/docs/security.md +195 -144
  75. package/package.json +77 -50
  76. package/.claude/settings.local.json +0 -33
  77. package/agents/forge-master/capabilities.md +0 -144
  78. package/agents/forge-master/context-template.md +0 -128
  79. package/agents/forge-master/personality.md +0 -138
  80. package/agents/sentinel/personality.md +0 -194
  81. package/context/forge-state.yaml +0 -19
  82. package/docs/TODO.md +0 -150
  83. package/docs/getting-started.md +0 -243
  84. package/docs/npm-publishing.md +0 -95
  85. package/docs/workflows/README.md +0 -32
  86. package/docs/workflows/azure-devops.md +0 -108
  87. package/docs/workflows/bitbucket.md +0 -104
  88. package/docs/workflows/git-only.md +0 -130
  89. package/docs/workflows/gitea.md +0 -168
  90. package/docs/workflows/github.md +0 -103
  91. package/docs/workflows/gitlab.md +0 -105
  92. package/docs/workflows.md +0 -454
  93. package/tasks/completed/ARCH-001-duplicate-agent-config.md +0 -121
  94. package/tasks/completed/ARCH-002-mixed-bash-node-implementation.md +0 -88
  95. package/tasks/completed/ARCH-003-worker-loop-hook-duplication.md +0 -77
  96. package/tasks/completed/ARCH-009-test-organization.md +0 -78
  97. package/tasks/completed/ARCH-011-jq-vs-nodejs-json.md +0 -94
  98. package/tasks/completed/ARCH-012-tmp-files-in-root.md +0 -71
  99. package/tasks/completed/ARCH-013-exit-code-constants.md +0 -65
  100. package/tasks/completed/ARCH-014-sed-incompatibility.md +0 -96
  101. package/tasks/completed/ARCH-015-docs-todo-tracking.md +0 -83
  102. package/tasks/completed/CLEAN-001.md +0 -38
  103. package/tasks/completed/CLEAN-003.md +0 -47
  104. package/tasks/completed/CLEAN-004.md +0 -56
  105. package/tasks/completed/CLEAN-005.md +0 -75
  106. package/tasks/completed/CLEAN-006.md +0 -47
  107. package/tasks/completed/CLEAN-007.md +0 -34
  108. package/tasks/completed/CLEAN-008.md +0 -49
  109. package/tasks/completed/CLEAN-012.md +0 -58
  110. package/tasks/completed/CLEAN-013.md +0 -45
  111. package/tasks/completed/SEC-001-sql-injection-fix.md +0 -58
  112. package/tasks/completed/SEC-002-notification-injection-fix.md +0 -45
  113. package/tasks/completed/SEC-003-eval-injection-fix.md +0 -54
  114. package/tasks/completed/SEC-004-pid-race-condition-fix.md +0 -49
  115. package/tasks/completed/SEC-005-worker-loop-path-fix.md +0 -51
  116. package/tasks/completed/SEC-006-eval-agent-names.md +0 -55
  117. package/tasks/completed/SEC-007-spawn-escaping.md +0 -67
  118. package/tasks/pending/ARCH-004-git-bash-detection-duplication.md +0 -72
  119. package/tasks/pending/ARCH-005-missing-src-directory.md +0 -95
  120. package/tasks/pending/ARCH-006-task-template-location.md +0 -64
  121. package/tasks/pending/ARCH-007-daemon-monolith.md +0 -91
  122. package/tasks/pending/ARCH-008-forge-master-vs-hub.md +0 -81
  123. package/tasks/pending/ARCH-010-missing-index-files.md +0 -84
  124. package/tasks/pending/CLEAN-002.md +0 -29
  125. package/tasks/pending/CLEAN-009.md +0 -31
  126. package/tasks/pending/CLEAN-010.md +0 -30
  127. package/tasks/pending/CLEAN-011.md +0 -30
  128. package/tasks/pending/CLEAN-014.md +0 -32
  129. package/tasks/review/task-001.md +0 -78
@@ -1,171 +1,218 @@
1
- ---
2
- description: Vibe Forge - multi-agent development orchestration
3
- argument-hint: [status|spawn <agent>|task [desc]|help]
4
- ---
5
-
6
- # Vibe Forge Command Router
7
-
8
- **Command:** `/forge $ARGUMENTS`
9
-
10
- ## Route the Command
11
-
12
- Based on the first argument, do ONE of the following:
13
-
14
- ---
15
-
16
- ### If `$1` is empty OR `$1` is "plan" → Start Planning Hub
17
-
18
- You are now the **Vibe Forge Planning Hub** - a multi-expert planning team.
19
-
20
- #### Your Identity
21
-
22
- @_vibe-forge/agents/planning-hub/personality.md
23
-
24
- #### Project Context
25
-
26
- @context/project-context.md
27
-
28
- #### Modern Tooling Reference (avoid outdated suggestions)
29
-
30
- @_vibe-forge/context/modern-conventions.md
31
-
32
- **Startup:** Display the team assembly welcome:
33
-
34
- ```text
35
- 🔥 VIBE FORGE - Planning Hub
36
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
37
-
38
- The forge council assembles...
39
-
40
- 🔥 Forge Master - Orchestration & Tasks
41
- 🏛️ Architect - Technical Design
42
- 🛡️ Aegis - Security
43
- ⚙️ Ember - DevOps & Infrastructure
44
- 🎨 Pixel - User Experience
45
- 📊 Oracle - Product & Requirements
46
- 🧪 Crucible - Quality & Testing
47
-
48
- Ready to plan, review, or coordinate.
49
- Use /forge status to check current tasks.
50
-
51
- What's on the anvil today?
52
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
53
- ```
54
-
55
- Do NOT automatically scan task folders - wait for user to ask or use `/forge status`.
56
-
57
- ---
58
-
59
- ### If `$1` is "status" → Show Status Dashboard
60
-
61
- Display a formatted status dashboard.
62
-
63
- #### Forge State
64
-
65
- @_vibe-forge/context/forge-state.yaml
66
-
67
- #### Task Counts
68
-
69
- Use the Glob tool to count .md files in each task folder:
70
-
71
- - `_vibe-forge/tasks/pending/*.md` - Pending
72
- - `_vibe-forge/tasks/in-progress/*.md` - In Progress
73
- - `_vibe-forge/tasks/completed/*.md` - Completed
74
- - `_vibe-forge/tasks/review/*.md` - In Review
75
- - `_vibe-forge/tasks/needs-changes/*.md` - Needs Changes
76
- - `_vibe-forge/tasks/approved/*.md` - Approved
77
-
78
- Format output like:
79
-
80
- ```text
81
- 🔥 VIBE FORGE - Status Dashboard
82
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
83
- [Task counts and state summary]
84
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
85
- ```
86
-
87
- ---
88
-
89
- ### If `$1` is "spawn" → Spawn Worker Agent
90
-
91
- **Agent requested:** `$2`
92
-
93
- Available agents (with aliases):
94
-
95
- | Agent | Aliases | Role |
96
- | -------- | -------------------- | ----------------- |
97
- | anvil | frontend, ui, fe | Frontend Developer |
98
- | furnace | backend, api, be | Backend Developer |
99
- | crucible | test, testing, qa | Tester / QA |
100
- | sentinel | review, reviewer, cr | Code Reviewer |
101
- | scribe | docs, documentation | Documentation |
102
- | herald | release, deploy | Release Manager |
103
- | ember | devops, ops, infra | DevOps |
104
- | aegis | security, sec, appsec | Security |
105
-
106
- If `$2` is empty, show the table above and ask which agent to spawn.
107
-
108
- If `$2` is provided, run:
109
-
110
- ```bash
111
- ./_vibe-forge/bin/forge-spawn.sh $2
112
- ```
113
-
114
- Confirm the spawn. If an alias was used (e.g., "frontend"), mention the resolved name: "Spawning **Anvil** (frontend)..."
115
-
116
- ---
117
-
118
- ### If `$1` is "task" → Create Task
119
-
120
- **Task description:** `$2` `$3` `$4` (remaining arguments)
121
-
122
- #### Task Template
123
-
124
- @_vibe-forge/config/task-template.md
125
-
126
- #### Existing Tasks
127
-
128
- Use the Glob tool to list files in `_vibe-forge/tasks/pending/*.md`
129
-
130
- If no description provided, ask:
131
-
132
- - What needs to be done?
133
- - Which agent? (anvil, furnace, crucible, sentinel, scribe, herald, ember, aegis)
134
- - Priority? (high, medium, low)
135
-
136
- Generate task ID as `task-XXX` (next sequential number), create file at `_vibe-forge/tasks/pending/task-XXX.md`.
137
-
138
- ---
139
-
140
- ### If `$1` is "help" Show Help
141
-
142
- Display:
143
-
144
- ```text
145
- 🔥 VIBE FORGE - Commands
146
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
147
-
148
- /forge Start the Planning Hub (default)
149
- /forge status Show status dashboard
150
- /forge spawn <agent> Spawn worker in new terminal
151
- /forge task [desc] Create a new task
152
- /forge help Show this help
153
-
154
- Agents (with aliases):
155
- anvil (frontend, ui, fe) - Frontend Developer
156
- furnace (backend, api, be) - Backend Developer
157
- crucible (test, testing, qa) - Tester / QA
158
- sentinel (review, reviewer, cr) - Code Reviewer
159
- scribe (docs, documentation) - Documentation
160
- herald (release, deploy) - Release Manager
161
- ember (devops, ops, infra) - DevOps
162
- aegis (security, sec, appsec) - Security
163
-
164
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
165
- ```
166
-
167
- ---
168
-
169
- ### Otherwise Unknown Command
170
-
171
- Tell the user: "Unknown command: $1. Run `/forge help` for available commands."
1
+ ---
2
+ description: Vibe Forge - multi-agent development orchestration
3
+ argument-hint: [status|spawn <agent>|task [desc]|redteam [scope]|help]
4
+ ---
5
+
6
+ # Vibe Forge Command Router
7
+
8
+ **Command:** `/forge $ARGUMENTS`
9
+
10
+ ## Route the Command
11
+
12
+ Based on the first argument, do ONE of the following:
13
+
14
+ ---
15
+
16
+ ### If `$1` is empty OR `$1` is "plan" → Start Planning Hub
17
+
18
+ You are now the **Vibe Forge Planning Hub** - a multi-expert planning team.
19
+
20
+ #### Your Identity
21
+
22
+ @_vibe-forge/agents/planning-hub/personality.md
23
+
24
+ #### Project Context
25
+
26
+ @context/project-context.md
27
+
28
+ #### Modern Tooling Reference (avoid outdated suggestions)
29
+
30
+ @_vibe-forge/context/modern-conventions.md
31
+
32
+ **Startup:** Display the team assembly welcome:
33
+
34
+ ```text
35
+ 🔥 VIBE FORGE - Planning Hub
36
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
37
+
38
+ The forge council assembles...
39
+
40
+ 🔥 Planning Hub - Orchestration & Tasks
41
+ 🏛️ Architect - Technical Design
42
+ 🛡️ Aegis - Security
43
+ ⚙️ Ember - DevOps & Infrastructure
44
+ 🎨 Pixel - User Experience
45
+ 📊 Oracle - Product & Requirements
46
+ 🧪 Crucible - Quality & Testing
47
+ 🎭 Loki - Lateral Thinking & Assumption Challenger
48
+
49
+ Ready to plan, review, or coordinate.
50
+ Use /forge status to check current tasks.
51
+
52
+ What's on the anvil today?
53
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
54
+ ```
55
+
56
+ Do NOT automatically scan task folders - wait for user to ask or use `/forge status`.
57
+
58
+ If `$1` is "plan" and `$2+` contains a feature description (e.g., `/forge plan user authentication`), enter **Planning Mode** immediately with the feature as the discovery input. Skip the generic welcome and go straight to Phase 1 (Discovery) with Oracle asking clarifying questions about the described feature.
59
+
60
+ ---
61
+
62
+ ### If `$1` is "status" → Show Status Dashboard
63
+
64
+ Display a formatted status dashboard.
65
+
66
+ #### Forge State
67
+
68
+ @_vibe-forge/context/forge-state.yaml
69
+
70
+ #### Task Counts
71
+
72
+ Use the Glob tool to count .md files in each task folder:
73
+
74
+ - `_vibe-forge/tasks/pending/*.md` - Pending
75
+ - `_vibe-forge/tasks/in-progress/*.md` - In Progress
76
+ - `_vibe-forge/tasks/completed/*.md` - Completed
77
+ - `_vibe-forge/tasks/review/*.md` - In Review
78
+ - `_vibe-forge/tasks/needs-changes/*.md` - Needs Changes
79
+ - `_vibe-forge/tasks/approved/*.md` - Approved
80
+
81
+ Format output like:
82
+
83
+ ```text
84
+ 🔥 VIBE FORGE - Status Dashboard
85
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
86
+ [Task counts and state summary]
87
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
88
+ ```
89
+
90
+ ---
91
+
92
+ ### If `$1` is "spawn" → Spawn Worker Agent
93
+
94
+ **Agent requested:** `$2`
95
+
96
+ Available agents (with aliases):
97
+
98
+ | Agent | Aliases | Role |
99
+ | -------- | -------------------- | ----------------- |
100
+ | anvil | frontend, ui, fe | Frontend Developer |
101
+ | furnace | backend, api, be | Backend Developer |
102
+ | crucible | test, testing, qa | Tester / QA |
103
+ | sentinel | review, reviewer, cr | Code Reviewer |
104
+ | scribe | docs, documentation | Documentation |
105
+ | herald | release, deploy | Release Manager |
106
+ | ember | devops, ops, infra | DevOps |
107
+ | aegis | security, sec, appsec | Security |
108
+ | slag | redteam, pentest | Red Team Lead |
109
+ | flux | infra-sec, chaos | Red Team Operator |
110
+ | loki | trickster, lateral | Lateral Thinker (Planning Hub) |
111
+ | crucible-x | adversarial, break-it, cx | Adversarial Reviewer |
112
+
113
+ If `$2` is empty, show the table above and ask which agent to spawn.
114
+
115
+ If `$2` is provided, run:
116
+
117
+ ```bash
118
+ ./_vibe-forge/bin/forge-spawn.sh $2
119
+ ```
120
+
121
+ Confirm the spawn. If an alias was used (e.g., "frontend"), mention the resolved name: "Spawning **Anvil** (frontend)..."
122
+
123
+ ---
124
+
125
+ ### If `$1` is "task" → Create Task
126
+
127
+ **Task description:** `$2` `$3` `$4` (remaining arguments)
128
+
129
+ #### Task Template
130
+
131
+ @_vibe-forge/config/task-template.md
132
+
133
+ #### Existing Tasks
134
+
135
+ Use the Glob tool to list files in `_vibe-forge/tasks/pending/*.md`
136
+
137
+ If no description provided, ask:
138
+
139
+ - What needs to be done?
140
+ - Which agent? (anvil, furnace, crucible, sentinel, scribe, herald, ember, aegis)
141
+ - Priority? (high, medium, low)
142
+
143
+ Generate task ID as `task-XXX` (next sequential number), create file at `_vibe-forge/tasks/pending/task-XXX.md`.
144
+
145
+ ---
146
+
147
+ ### If `$1` is "help" → Show Help
148
+
149
+ Display:
150
+
151
+ ```text
152
+ 🔥 VIBE FORGE - Commands
153
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
154
+
155
+ /forge Start the Planning Hub (default)
156
+ /forge status Show status dashboard
157
+ /forge spawn <agent> Spawn worker in new terminal
158
+ /forge task [desc] Create a new task
159
+ /forge redteam [scope] Launch red team engagement
160
+ /forge help Show this help
161
+
162
+ Agents (with aliases):
163
+ anvil (frontend, ui, fe) - Frontend Developer
164
+ furnace (backend, api, be) - Backend Developer
165
+ crucible (test, testing, qa) - Tester / QA
166
+ sentinel (review, reviewer, cr) - Code Reviewer
167
+ scribe (docs, documentation) - Documentation
168
+ herald (release, deploy) - Release Manager
169
+ ember (devops, ops, infra) - DevOps
170
+ aegis (security, sec, appsec) - Security
171
+ slag (redteam, pentest) - Red Team Lead
172
+ flux (infra-sec, chaos) - Red Team Operator
173
+ loki (trickster, lateral) - Lateral Thinker (Planning Hub)
174
+ crucible-x (adversarial, cx) - Adversarial Reviewer
175
+
176
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
177
+ ```
178
+
179
+ ---
180
+
181
+ ### If `$1` is "redteam" → Launch Red Team Engagement
182
+
183
+ **Scope:** `$2` `$3` `$4` (remaining arguments)
184
+
185
+ If no scope provided, ask:
186
+ - What should the red team target? (e.g., "auth module", "API endpoints", "full application")
187
+ - Any exclusions? (systems/endpoints off-limits)
188
+ - Attack types? (OWASP, infra, supply-chain, all)
189
+
190
+ Display:
191
+
192
+ ```text
193
+ 💀 VIBE FORGE - Red Team Engagement
194
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
195
+ Scope: [target]
196
+ Lead: Slag (💀 Offensive Security)
197
+ Operator: Flux (⚡ Infrastructure)
198
+
199
+ Rules of Engagement:
200
+ - requires_approval: true (all actions need sign-off)
201
+ - Separation of duties: no Aegis collaboration during engagement
202
+ - All findings documented with PoC
203
+
204
+ Spawning red team...
205
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
206
+ ```
207
+
208
+ Then run:
209
+
210
+ ```bash
211
+ ./_vibe-forge/bin/forge-spawn.sh slag
212
+ ```
213
+
214
+ ---
215
+
216
+ ### Otherwise → Unknown Command
217
+
218
+ Tell the user: "Unknown command: $1. Run `/forge help` for available commands."
@@ -1,77 +1,77 @@
1
- ---
2
- description: Signal that you need human attention/input
3
- argument-hint: <brief reason>
4
- ---
5
-
6
- # Need Help Command
7
-
8
- Use this command when you're blocked and need human input. This will:
9
-
10
- 1. Create an attention file in `tasks/attention/`
11
- 2. Ring the terminal bell for immediate notification
12
- 3. Trigger a system toast notification (if daemon is running)
13
- 4. Show in the Planning Hub's status display
14
-
15
- ## Usage
16
-
17
- ```
18
- /need-help Need clarification on auth implementation approach
19
- /need-help Blocked on API design decision - REST vs GraphQL?
20
- /need-help Tests failing, need guidance on expected behavior
21
- ```
22
-
23
- ## Implementation
24
-
25
- Based on `$ARGUMENTS`:
26
-
27
- 1. Determine your agent identity from your system prompt or context
28
- 2. Create an attention file at `tasks/attention/<agent>-<timestamp>.md`:
29
-
30
- ```markdown
31
- ---
32
- agent: <your-agent-name>
33
- created: <ISO timestamp>
34
- status: pending
35
- ---
36
-
37
- # Attention Needed
38
-
39
- **Agent:** <icon> <display-name>
40
- **Time:** <human-readable time>
41
-
42
- ## Issue
43
-
44
- $ARGUMENTS
45
-
46
- ## Context
47
-
48
- <Brief context about what you were working on>
49
- ```
50
-
51
- 3. Ring the terminal bell:
52
-
53
- ```bash
54
- printf '\a'
55
- ```
56
-
57
- 4. Announce that you've signaled for help and will wait.
58
-
59
- ## Resolving Attention
60
-
61
- When a human responds (via Hub or directly), they can:
62
- - Delete the attention file to clear the flag
63
- - Move it to a resolved folder
64
- - Or just respond - the worker can delete their own attention file once unblocked
65
-
66
- ## Example Output
67
-
68
- After running `/need-help Need decision on caching strategy`:
69
-
70
- ```
71
- 🔔 Attention signal sent!
72
-
73
- I've created tasks/attention/anvil-20240115-143022.md
74
- The Planning Hub and daemon have been notified.
75
-
76
- I'll wait for guidance. You can respond here or via the Hub.
77
- ```
1
+ ---
2
+ description: Signal that you need human attention/input
3
+ argument-hint: <brief reason>
4
+ ---
5
+
6
+ # Need Help Command
7
+
8
+ Use this command when you're blocked and need human input. This will:
9
+
10
+ 1. Create an attention file in `tasks/attention/`
11
+ 2. Ring the terminal bell for immediate notification
12
+ 3. Trigger a system toast notification (if daemon is running)
13
+ 4. Show in the Planning Hub's status display
14
+
15
+ ## Usage
16
+
17
+ ```
18
+ /need-help Need clarification on auth implementation approach
19
+ /need-help Blocked on API design decision - REST vs GraphQL?
20
+ /need-help Tests failing, need guidance on expected behavior
21
+ ```
22
+
23
+ ## Implementation
24
+
25
+ Based on `$ARGUMENTS`:
26
+
27
+ 1. Determine your agent identity from your system prompt or context
28
+ 2. Create an attention file at `tasks/attention/<agent>-<timestamp>.md`:
29
+
30
+ ```markdown
31
+ ---
32
+ agent: <your-agent-name>
33
+ created: <ISO timestamp>
34
+ status: pending
35
+ ---
36
+
37
+ # Attention Needed
38
+
39
+ **Agent:** <icon> <display-name>
40
+ **Time:** <human-readable time>
41
+
42
+ ## Issue
43
+
44
+ $ARGUMENTS
45
+
46
+ ## Context
47
+
48
+ <Brief context about what you were working on>
49
+ ```
50
+
51
+ 3. Ring the terminal bell:
52
+
53
+ ```bash
54
+ printf '\a'
55
+ ```
56
+
57
+ 4. Announce that you've signaled for help and will wait.
58
+
59
+ ## Resolving Attention
60
+
61
+ When a human responds (via Hub or directly), they can:
62
+ - Delete the attention file to clear the flag
63
+ - Move it to a resolved folder
64
+ - Or just respond - the worker can delete their own attention file once unblocked
65
+
66
+ ## Example Output
67
+
68
+ After running `/need-help Need decision on caching strategy`:
69
+
70
+ ```
71
+ 🔔 Attention signal sent!
72
+
73
+ I've created tasks/attention/anvil-20240115-143022.md
74
+ The Planning Hub and daemon have been notified.
75
+
76
+ I'll wait for guidance. You can respond here or via the Hub.
77
+ ```
@@ -1,64 +1,64 @@
1
- ---
2
- description: Update your agent status for the forge dashboard
3
- argument-hint: <status> [task-id]
4
- ---
5
-
6
- # Update Status Command
7
-
8
- Report your current status to the forge daemon and Planning Hub. This enables real-time visibility into what each worker is doing.
9
-
10
- ## Usage
11
-
12
- ```
13
- /update-status working TASK-001 # Working on a specific task
14
- /update-status idle # Waiting for tasks
15
- /update-status blocked # Stuck, may need help
16
- /update-status reviewing PR-123 # Reviewing something
17
- /update-status testing TASK-001 # Running tests
18
- ```
19
-
20
- ## Status Values
21
-
22
- | Status | Meaning |
23
- |--------|---------|
24
- | `idle` | No current task, ready for work |
25
- | `working` | Actively working on a task |
26
- | `blocked` | Stuck, needs input (consider `/need-help`) |
27
- | `reviewing` | Reviewing code or PR |
28
- | `testing` | Running tests |
29
- | `waiting` | Waiting for external dependency |
30
-
31
- ## Implementation
32
-
33
- Based on `$ARGUMENTS`:
34
-
35
- 1. Parse the status and optional task ID from arguments
36
- 2. Determine your agent identity from your system prompt
37
- 3. Write status file to `context/agent-status/<agent>.json`:
38
-
39
- ```json
40
- {
41
- "agent": "anvil",
42
- "status": "working",
43
- "task": "TASK-001",
44
- "message": "Implementing user authentication",
45
- "updated": "2026-01-15T14:30:22Z" // ISO 8601 timestamp (auto-generated)
46
- }
47
- ```
48
-
49
- 4. The daemon reads these files and includes them in `forge-state.yaml`
50
- 5. The Planning Hub sees your status in the dashboard
51
-
52
- ## Auto-Status Updates
53
-
54
- Workers should update their status at these key moments:
55
-
56
- 1. **On startup**: `/update-status idle` (or working if picking up a task)
57
- 2. **When picking up a task**: `/update-status working TASK-XXX`
58
- 3. **When completing a task**: `/update-status idle`
59
- 4. **When blocked**: `/update-status blocked` (then `/need-help` if needed)
60
- 5. **Before exiting**: Status file can remain (daemon marks stale after timeout)
61
-
62
- ## Stale Status
63
-
64
- The daemon considers a status stale if not updated for 5+ minutes. Stale statuses are shown with a warning indicator in the dashboard.
1
+ ---
2
+ description: Update your agent status for the forge dashboard
3
+ argument-hint: <status> [task-id]
4
+ ---
5
+
6
+ # Update Status Command
7
+
8
+ Report your current status to the forge daemon and Planning Hub. This enables real-time visibility into what each worker is doing.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /update-status working TASK-001 # Working on a specific task
14
+ /update-status idle # Waiting for tasks
15
+ /update-status blocked # Stuck, may need help
16
+ /update-status reviewing PR-123 # Reviewing something
17
+ /update-status testing TASK-001 # Running tests
18
+ ```
19
+
20
+ ## Status Values
21
+
22
+ | Status | Meaning |
23
+ |--------|---------|
24
+ | `idle` | No current task, ready for work |
25
+ | `working` | Actively working on a task |
26
+ | `blocked` | Stuck, needs input (consider `/need-help`) |
27
+ | `reviewing` | Reviewing code or PR |
28
+ | `testing` | Running tests |
29
+ | `waiting` | Waiting for external dependency |
30
+
31
+ ## Implementation
32
+
33
+ Based on `$ARGUMENTS`:
34
+
35
+ 1. Parse the status and optional task ID from arguments
36
+ 2. Determine your agent identity from your system prompt
37
+ 3. Write status file to `context/agent-status/<agent>.json`:
38
+
39
+ ```json
40
+ {
41
+ "agent": "anvil",
42
+ "status": "working",
43
+ "task": "TASK-001",
44
+ "message": "Implementing user authentication",
45
+ "updated": "2026-01-15T14:30:22Z" // ISO 8601 timestamp (auto-generated)
46
+ }
47
+ ```
48
+
49
+ 4. The daemon reads these files and includes them in `forge-state.yaml`
50
+ 5. The Planning Hub sees your status in the dashboard
51
+
52
+ ## Auto-Status Updates
53
+
54
+ Workers should update their status at these key moments:
55
+
56
+ 1. **On startup**: `/update-status idle` (or working if picking up a task)
57
+ 2. **When picking up a task**: `/update-status working TASK-XXX`
58
+ 3. **When completing a task**: `/update-status idle`
59
+ 4. **When blocked**: `/update-status blocked` (then `/need-help` if needed)
60
+ 5. **Before exiting**: Status file can remain (daemon marks stale after timeout)
61
+
62
+ ## Stale Status
63
+
64
+ The daemon considers a status stale if not updated for 5+ minutes. Stale statuses are shown with a warning indicator in the dashboard.