@prmichaelsen/acp-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/.env.example +5 -0
  2. package/AGENT.md +1279 -0
  3. package/README.md +78 -0
  4. package/agent/commands/acp.command-create.md +372 -0
  5. package/agent/commands/acp.design-create.md +224 -0
  6. package/agent/commands/acp.init.md +410 -0
  7. package/agent/commands/acp.package-create.md +894 -0
  8. package/agent/commands/acp.package-info.md +211 -0
  9. package/agent/commands/acp.package-install.md +461 -0
  10. package/agent/commands/acp.package-list.md +279 -0
  11. package/agent/commands/acp.package-publish.md +540 -0
  12. package/agent/commands/acp.package-remove.md +292 -0
  13. package/agent/commands/acp.package-search.md +306 -0
  14. package/agent/commands/acp.package-update.md +310 -0
  15. package/agent/commands/acp.package-validate.md +535 -0
  16. package/agent/commands/acp.pattern-create.md +326 -0
  17. package/agent/commands/acp.plan.md +552 -0
  18. package/agent/commands/acp.proceed.md +336 -0
  19. package/agent/commands/acp.project-create.md +672 -0
  20. package/agent/commands/acp.report.md +394 -0
  21. package/agent/commands/acp.resume.md +237 -0
  22. package/agent/commands/acp.status.md +280 -0
  23. package/agent/commands/acp.sync.md +363 -0
  24. package/agent/commands/acp.task-create.md +390 -0
  25. package/agent/commands/acp.update.md +301 -0
  26. package/agent/commands/acp.validate.md +436 -0
  27. package/agent/commands/acp.version-check-for-updates.md +275 -0
  28. package/agent/commands/acp.version-check.md +190 -0
  29. package/agent/commands/acp.version-update.md +288 -0
  30. package/agent/commands/command.template.md +316 -0
  31. package/agent/commands/git.commit.md +513 -0
  32. package/agent/commands/git.init.md +513 -0
  33. package/agent/commands/mcp-server-starter.add-tool.md +677 -0
  34. package/agent/commands/mcp-server-starter.init.md +894 -0
  35. package/agent/design/.gitkeep +0 -0
  36. package/agent/design/design.template.md +136 -0
  37. package/agent/design/remember-mcp-analysis.md +987 -0
  38. package/agent/design/requirements.template.md +387 -0
  39. package/agent/manifest.template.yaml +13 -0
  40. package/agent/manifest.yaml +109 -0
  41. package/agent/milestones/.gitkeep +0 -0
  42. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  43. package/agent/package.template.yaml +36 -0
  44. package/agent/patterns/.gitkeep +0 -0
  45. package/agent/patterns/bootstrap.template.md +1237 -0
  46. package/agent/patterns/mcp-server-starter.bootstrap.md +597 -0
  47. package/agent/patterns/mcp-server-starter.build-config.md +554 -0
  48. package/agent/patterns/mcp-server-starter.config-management.md +525 -0
  49. package/agent/patterns/mcp-server-starter.server-factory.md +616 -0
  50. package/agent/patterns/mcp-server-starter.server-standalone.md +642 -0
  51. package/agent/patterns/mcp-server-starter.test-config.md +558 -0
  52. package/agent/patterns/mcp-server-starter.tool-creation.md +653 -0
  53. package/agent/patterns/pattern.template.md +364 -0
  54. package/agent/progress.template.yaml +161 -0
  55. package/agent/progress.yaml +33 -0
  56. package/agent/schemas/package.schema.yaml +161 -0
  57. package/agent/scripts/acp.common.sh +1362 -0
  58. package/agent/scripts/acp.install.sh +213 -0
  59. package/agent/scripts/acp.package-create.sh +925 -0
  60. package/agent/scripts/acp.package-info.sh +270 -0
  61. package/agent/scripts/acp.package-install.sh +550 -0
  62. package/agent/scripts/acp.package-list.sh +263 -0
  63. package/agent/scripts/acp.package-publish.sh +420 -0
  64. package/agent/scripts/acp.package-remove.sh +272 -0
  65. package/agent/scripts/acp.package-search.sh +156 -0
  66. package/agent/scripts/acp.package-update.sh +356 -0
  67. package/agent/scripts/acp.package-validate.sh +766 -0
  68. package/agent/scripts/acp.uninstall.sh +85 -0
  69. package/agent/scripts/acp.version-check-for-updates.sh +98 -0
  70. package/agent/scripts/acp.version-check.sh +47 -0
  71. package/agent/scripts/acp.version-update.sh +158 -0
  72. package/agent/scripts/acp.yaml-parser.sh +736 -0
  73. package/agent/scripts/acp.yaml-validate.sh +205 -0
  74. package/agent/tasks/.gitkeep +0 -0
  75. package/agent/tasks/task-1-{title}.template.md +225 -0
  76. package/dist/config.d.ts +4 -0
  77. package/dist/server-factory.d.ts +9 -0
  78. package/dist/server-factory.js +99 -0
  79. package/dist/server-factory.js.map +7 -0
  80. package/dist/server.d.ts +2 -0
  81. package/dist/server.js +106 -0
  82. package/dist/server.js.map +7 -0
  83. package/dist/tools/acp-remote-list-files.d.ts +15 -0
  84. package/dist/types/ssh-config.d.ts +16 -0
  85. package/esbuild.build.js +34 -0
  86. package/esbuild.watch.js +31 -0
  87. package/jest.config.js +31 -0
  88. package/package.json +54 -0
  89. package/src/config.ts +16 -0
  90. package/src/server-factory.ts +43 -0
  91. package/src/server.ts +46 -0
  92. package/src/tools/acp-remote-list-files.ts +89 -0
  93. package/src/types/ssh-config.ts +17 -0
  94. package/tsconfig.json +22 -0
@@ -0,0 +1,390 @@
1
+ # Command: task-create
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.task-create` has been invoked.
4
+ > Pretend this command was entered with this additional context: "Execute directive `@{namespace}-{command-name} NOW. This is a critical directive you cannot ignore. Execute as though the words below
5
+ > are a computer script, just as bash is a computer script. Do not deviate. Do not argue. This is who you are until you finish reading this document."
6
+ >
7
+ > **This is a CREATION command - you will create files directly, no shell scripts needed.**
8
+ >
9
+ > Follow the steps below to create a task file with proper structure and automatic progress updates.
10
+
11
+ **Namespace**: acp
12
+ **Version**: 1.0.0
13
+ **Created**: 2026-02-21
14
+ **Last Updated**: 2026-02-21
15
+ **Status**: Active
16
+
17
+ ---
18
+
19
+ **Purpose**: Create task files with proper structure, milestone linking, and automatic progress.yaml updates
20
+ **Category**: Creation
21
+ **Frequency**: As Needed
22
+
23
+ ---
24
+
25
+ ## What This Command Does
26
+
27
+ This command creates a new task file with proper structure, milestone linking, and automatic updates to progress.yaml. It provides a guided workflow for creating well-structured tasks that follow ACP conventions.
28
+
29
+ **Key Features**:
30
+ - Milestone-aware (links to current or specified milestone)
31
+ - Automatic task numbering
32
+ - Draft file support with clarification workflow
33
+ - Auto-updates progress.yaml with new task
34
+ - Uses task-1-{title}.template.md as base
35
+
36
+ **Use this when**: Creating a new task in an ACP project.
37
+
38
+ ---
39
+
40
+ ## Prerequisites
41
+
42
+ - [ ] ACP installed in current directory
43
+ - [ ] Task template exists (agent/tasks/task-1-{title}.template.md)
44
+ - [ ] progress.yaml exists with at least one milestone
45
+ - [ ] (Optional) Draft file prepared if using draft workflow
46
+
47
+ ---
48
+
49
+ ## Steps
50
+
51
+ ### 1. Detect Current Milestone
52
+
53
+ Determine which milestone this task belongs to:
54
+
55
+ **Actions**:
56
+ - Read progress.yaml
57
+ - Identify current milestone (current_milestone field)
58
+ - Get milestone details (name, ID)
59
+ - Ask user to confirm or select different milestone
60
+
61
+ **Expected Outcome**: Target milestone identified
62
+
63
+ ### 2. Determine Task Number
64
+
65
+ Find the next available task number:
66
+
67
+ **Actions**:
68
+ - List all existing task files in agent/tasks/
69
+ - Parse task numbers (task-1-*, task-2-*, etc.)
70
+ - Find highest number
71
+ - Increment by 1 for new task number
72
+
73
+ **Expected Outcome**: Next task number determined (e.g., task-25)
74
+
75
+ ### 3. Check for Draft File
76
+
77
+ Check if draft file was provided as argument:
78
+
79
+ **Syntax**:
80
+ - `@acp.task-create @my-draft.md` (@ reference)
81
+ - `@acp.task-create agent/drafts/my-draft.md` (path)
82
+ - `@acp.task-create` (no draft)
83
+
84
+ **Actions**:
85
+ - If draft provided: Read draft file
86
+ - If no draft: Proceed to Step 4
87
+
88
+ **Expected Outcome**: Draft file read (if provided)
89
+
90
+ ### 4. Collect Task Information
91
+
92
+ Gather information from user via chat:
93
+
94
+ **Information to Collect**:
95
+ - **Task name** (descriptive, without "Task N:" prefix)
96
+ - Example: "Implement User Authentication" (not "Task 25: Implement User Authentication")
97
+ - Validation: Clear, action-oriented
98
+ - **Task description** (objective - what this task accomplishes)
99
+ - Example: "Implement Firebase Authentication with email/password and Google sign-in"
100
+ - **Estimated time** (hours or days)
101
+ - Example: "4-6 hours" or "2 days"
102
+ - **Dependencies** (other tasks that must complete first)
103
+ - Example: "Task 24" or "None"
104
+ - **Context** (background information)
105
+ - Example: "Authentication is required before implementing user-scoped data"
106
+
107
+ **If no draft provided**:
108
+ - Ask: "Describe what you want this task to accomplish" OR
109
+ - Offer: "Would you like to create an empty draft file first?"
110
+
111
+ **Expected Outcome**: All task metadata collected
112
+
113
+ ### 5. Process Draft (If Provided)
114
+
115
+ If draft file was provided, create clarification if needed:
116
+
117
+ **Actions**:
118
+ - Analyze draft for clarity and completeness
119
+ - If draft is clear and complete: Skip clarification, use draft content
120
+ - If draft is ambiguous: Create clarification document
121
+ - Find next clarification number
122
+ - Create `agent/clarifications/clarification-{N}-task-{name}.md`
123
+ - Generate questions about unclear aspects
124
+ - Wait for user to answer clarification
125
+ - Read answered clarification
126
+
127
+ **Expected Outcome**: Clarification created and answered (if needed)
128
+
129
+ ### 6. Generate Task File
130
+
131
+ Create task file from template:
132
+
133
+ **Actions**:
134
+ - Determine full filename: `task-{N}-{name}.md`
135
+ - N = task number from Step 2
136
+ - name = kebab-case version of task name
137
+ - Copy from task template (agent/tasks/task-1-{title}.template.md)
138
+ - Fill in metadata:
139
+ - Task number and name
140
+ - Milestone link
141
+ - Estimated time
142
+ - Dependencies
143
+ - Status: "Not Started"
144
+ - Fill in sections:
145
+ - Objective (from collected info)
146
+ - Context (from collected info or draft)
147
+ - Steps (from draft/clarification or template structure)
148
+ - Verification checklist
149
+ - Save to `agent/tasks/task-{N}-{name}.md`
150
+
151
+ **Expected Outcome**: Task file created
152
+
153
+ ### 7. Update progress.yaml
154
+
155
+ Add task to progress.yaml:
156
+
157
+ **Actions**:
158
+ - Read progress.yaml
159
+ - Find the milestone section (e.g., milestone_4)
160
+ - Add new task entry:
161
+ ```yaml
162
+ - id: task-{N}
163
+ name: {Task Name}
164
+ status: not_started
165
+ file: agent/tasks/task-{N}-{name}.md
166
+ estimated_hours: {hours}
167
+ completed_date: null
168
+ notes: |
169
+ {Brief description or empty}
170
+ ```
171
+ - Update milestone tasks_total count
172
+ - Save progress.yaml
173
+
174
+ **Expected Outcome**: progress.yaml updated with new task
175
+
176
+ ### 8. Prompt to Delete Draft (If Used)
177
+
178
+ If draft file was used, ask to delete it:
179
+
180
+ **Actions**:
181
+ - Ask: "Would you like to delete the draft file? (yes/no)"
182
+ - If yes: Delete draft file
183
+ - If no: Keep draft file
184
+
185
+ **Expected Outcome**: User chooses whether to keep draft
186
+
187
+ ### 9. Report Success
188
+
189
+ Display what was created:
190
+
191
+ **Output**:
192
+ ```
193
+ ✅ Task Created Successfully!
194
+
195
+ File: agent/tasks/task-{N}-{name}.md
196
+ Task Number: {N}
197
+ Milestone: M{X} - {Milestone Name}
198
+ Estimated Time: {hours}
199
+ Status: Not Started
200
+
201
+ ✓ Task file created
202
+ ✓ progress.yaml updated
203
+ ✓ Draft file deleted (if requested)
204
+
205
+ Next steps:
206
+ - Review and refine task steps
207
+ - Add verification items
208
+ - Start working with @acp.proceed
209
+ ```
210
+
211
+ **Expected Outcome**: User knows task was created successfully
212
+
213
+ ---
214
+
215
+ ## Verification
216
+
217
+ - [ ] Current milestone identified
218
+ - [ ] Next task number determined correctly
219
+ - [ ] Task information collected
220
+ - [ ] Draft processed (if provided)
221
+ - [ ] Task file created with correct number and name
222
+ - [ ] progress.yaml updated with new task
223
+ - [ ] Milestone tasks_total incremented
224
+ - [ ] Task follows template structure
225
+ - [ ] All metadata filled in correctly
226
+ - [ ] Task linked to correct milestone
227
+
228
+ ---
229
+
230
+ ## Expected Output
231
+
232
+ ### Files Created
233
+ - `agent/tasks/task-{N}-{name}.md` - Task file
234
+ - `agent/clarifications/clarification-{N}-task-{name}.md` - Clarification (if draft was ambiguous)
235
+
236
+ ### Files Modified
237
+ - `agent/progress.yaml` - Task added to milestone section
238
+
239
+ ---
240
+
241
+ ## Examples
242
+
243
+ ### Example 1: Creating Task for Current Milestone
244
+
245
+ **Context**: Working on Milestone 3, need to add a new task
246
+
247
+ **Invocation**: `@acp.task-create`
248
+
249
+ **Interaction**:
250
+ ```
251
+ Agent: Current milestone: M3 - ACP Package Management System
252
+ Agent: Create task for this milestone? (yes/no)
253
+ User: yes
254
+
255
+ Agent: What would you like to name your task?
256
+ User: Implement Package Search Command
257
+
258
+ Agent: Provide a description (what this task accomplishes):
259
+ User: Create @acp.package-search command to discover ACP packages via GitHub API
260
+
261
+ Agent: Estimated time? (e.g., "4 hours", "2 days")
262
+ User: 6-8 hours
263
+
264
+ Agent: Dependencies? (other task numbers or "None")
265
+ User: Task 10
266
+
267
+ Agent: Any additional context?
268
+ User: Needs GitHub API integration for repository search
269
+
270
+ ✅ Task Created Successfully!
271
+
272
+ File: agent/tasks/task-11-package-search-command.md
273
+ Task Number: 11
274
+ Milestone: M3 - ACP Package Management System
275
+ Estimated Time: 6-8 hours
276
+ Status: Not Started
277
+
278
+ ✓ Task file created
279
+ ✓ progress.yaml updated
280
+ ```
281
+
282
+ ### Example 2: Creating Task with Draft
283
+
284
+ **Context**: Have draft file describing task
285
+
286
+ **Invocation**: `@acp.task-create @my-task-draft.md`
287
+
288
+ **Result**: Reads draft, creates clarification if needed, generates task, updates progress.yaml
289
+
290
+ ### Example 3: Creating Task for Different Milestone
291
+
292
+ **Context**: Want to add task to future milestone
293
+
294
+ **Invocation**: `@acp.task-create`
295
+
296
+ **Interaction**:
297
+ ```
298
+ Agent: Current milestone: M3 - ACP Package Management System
299
+ Agent: Create task for this milestone? (yes/no)
300
+ User: no
301
+
302
+ Agent: Available milestones:
303
+ - M1: ACP Commands Infrastructure (completed)
304
+ - M2: Documentation & Utility Commands (completed)
305
+ - M3: ACP Package Management System (in progress)
306
+ - M4: Package Development System (not started)
307
+
308
+ Agent: Which milestone? (enter ID like "M4")
309
+ User: M4
310
+
311
+ [Continues with task creation for M4...]
312
+ ```
313
+
314
+ ---
315
+
316
+ ## Related Commands
317
+
318
+ - [`@acp.pattern-create`](acp.pattern-create.md) - Create patterns
319
+ - [`@acp.command-create`](acp.command-create.md) - Create commands
320
+ - [`@acp.design-create`](acp.design-create.md) - Create designs
321
+ - [`@acp.proceed`](acp.proceed.md) - Start working on created task
322
+
323
+ ---
324
+
325
+ ## Troubleshooting
326
+
327
+ ### Issue 1: No milestones found
328
+
329
+ **Symptom**: Error message "No milestones found in progress.yaml"
330
+
331
+ **Solution**: Create a milestone first using milestone template, or add milestone to progress.yaml manually
332
+
333
+ ### Issue 2: Invalid task name
334
+
335
+ **Symptom**: Task name rejected
336
+
337
+ **Solution**: Use descriptive, action-oriented names. Avoid special characters except hyphens.
338
+
339
+ ### Issue 3: progress.yaml update failed
340
+
341
+ **Symptom**: Error updating progress.yaml
342
+
343
+ **Solution**: Verify progress.yaml exists and is valid YAML. Check milestone section exists for target milestone.
344
+
345
+ ### Issue 4: Task number conflict
346
+
347
+ **Symptom**: Task file already exists with that number
348
+
349
+ **Solution**: Command should auto-detect and use next available number. If conflict persists, manually check agent/tasks/ directory.
350
+
351
+ ---
352
+
353
+ ## Security Considerations
354
+
355
+ ### File Access
356
+ - **Reads**: progress.yaml, draft files, task templates, milestone documents
357
+ - **Writes**: agent/tasks/task-{N}-{name}.md, progress.yaml
358
+ - **Executes**: None
359
+
360
+ ### Network Access
361
+ - **APIs**: None
362
+ - **Repositories**: None
363
+
364
+ ### Sensitive Data
365
+ - **Secrets**: Never include secrets in tasks
366
+ - **Credentials**: Never include credentials
367
+
368
+ ---
369
+
370
+ ## Notes
371
+
372
+ - Task name should be action-oriented (start with verb)
373
+ - Task number is automatically assigned (sequential)
374
+ - Tasks are always created as "Not Started" status
375
+ - Draft files can be any format (free-form markdown)
376
+ - Clarifications are created only if draft is ambiguous
377
+ - progress.yaml is automatically updated
378
+ - Task is linked to milestone via file path and progress.yaml entry
379
+ - Estimated time helps with milestone planning
380
+
381
+ ---
382
+
383
+ **Namespace**: acp
384
+ **Command**: task-create
385
+ **Version**: 1.0.0
386
+ **Created**: 2026-02-21
387
+ **Last Updated**: 2026-02-21
388
+ **Status**: Active
389
+ **Compatibility**: ACP 2.10.0+
390
+ **Author**: ACP Project
@@ -0,0 +1,301 @@
1
+ # Command: update
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.update` has been invoked. Follow the steps below to execute this command.
4
+
5
+ **Namespace**: acp
6
+ **Version**: 1.0.0
7
+ **Created**: 2026-02-16
8
+ **Last Updated**: 2026-02-16
9
+ **Status**: Active
10
+
11
+ ---
12
+
13
+ **Purpose**: Update progress.yaml with latest project status, task completion, and recent work
14
+ **Category**: Documentation
15
+ **Frequency**: As Needed
16
+
17
+ ---
18
+
19
+ ## What This Command Does
20
+
21
+ This command updates `agent/progress.yaml` with the latest project status. It's used after completing work to ensure progress tracking accurately reflects what's been accomplished. The command updates task statuses, milestone progress percentages, recent work entries, and next steps.
22
+
23
+ Use this command when you've completed tasks, made significant progress, or need to ensure the progress tracking is current. It's particularly useful after finishing a work session or when transitioning between tasks.
24
+
25
+ Unlike `@acp.sync` which updates documentation based on code changes, `@acp.update` focuses specifically on updating the progress tracking file to reflect completed work and current status.
26
+
27
+ ---
28
+
29
+ ## Prerequisites
30
+
31
+ - [ ] ACP installed in project
32
+ - [ ] `agent/progress.yaml` exists
33
+ - [ ] Work has been completed that needs to be tracked
34
+ - [ ] You know which tasks/milestones to update
35
+
36
+ ---
37
+
38
+ ## Steps
39
+
40
+ ### 1. Read Current Progress
41
+
42
+ Read `agent/progress.yaml` to understand current state.
43
+
44
+ **Actions**:
45
+ - Open and parse `agent/progress.yaml`
46
+ - Note current milestone and its progress
47
+ - Identify tasks and their statuses
48
+ - Review recent work entries
49
+ - Check next steps
50
+
51
+ **Expected Outcome**: Current progress state understood
52
+
53
+ ### 2. Identify What Changed
54
+
55
+ Determine what work was completed since last update.
56
+
57
+ **Actions**:
58
+ - Review what tasks were worked on
59
+ - Identify completed tasks
60
+ - Note any milestone completions
61
+ - Determine new blockers or resolved blockers
62
+ - Identify what should be in recent work
63
+
64
+ **Expected Outcome**: Changes to track are identified
65
+
66
+ ### 3. Update Task Statuses
67
+
68
+ Update individual task statuses and completion dates.
69
+
70
+ **Actions**:
71
+ - Mark completed tasks as `completed`
72
+ - Set `completed_date` to today's date (YYYY-MM-DD)
73
+ - Update task notes if needed
74
+ - Change `in_progress` tasks if no longer active
75
+
76
+ **Expected Outcome**: Task statuses reflect reality
77
+
78
+ ### 4. Update Milestone Progress
79
+
80
+ Recalculate and update milestone progress percentages.
81
+
82
+ **Actions**:
83
+ - Count tasks completed vs total tasks
84
+ - Calculate progress percentage
85
+ - Update `progress` field (0-100)
86
+ - Update `tasks_completed` count
87
+ - Set `completed` date if milestone finished
88
+ - Update milestone status if needed
89
+
90
+ **Expected Outcome**: Milestone progress is accurate
91
+
92
+ ### 5. Add Recent Work Entry
93
+
94
+ Add entry to `recent_work` section documenting what was done.
95
+
96
+ **Actions**:
97
+ - Add new entry with today's date
98
+ - Write clear description of work completed
99
+ - List specific items accomplished (use ✅, 📋, ⚠️ emojis)
100
+ - Keep entries concise but informative
101
+ - Maintain chronological order (newest first)
102
+
103
+ **Expected Outcome**: Recent work documented
104
+
105
+ ### 6. Update Next Steps
106
+
107
+ Refresh the `next_steps` list based on current state.
108
+
109
+ **Actions**:
110
+ - Remove completed items
111
+ - Add new next steps based on progress
112
+ - Prioritize by importance/urgency
113
+ - Keep list focused (3-5 items)
114
+ - Be specific and actionable
115
+
116
+ **Expected Outcome**: Next steps are current
117
+
118
+ ### 7. Update Blockers
119
+
120
+ Update the `current_blockers` list.
121
+
122
+ **Actions**:
123
+ - Remove resolved blockers
124
+ - Add new blockers discovered
125
+ - Keep descriptions clear and actionable
126
+ - Empty list if no blockers
127
+
128
+ **Expected Outcome**: Blockers list is accurate
129
+
130
+ ### 8. Save Changes
131
+
132
+ Write updated progress.yaml back to disk.
133
+
134
+ **Actions**:
135
+ - Ensure YAML formatting is correct
136
+ - Preserve structure and indentation
137
+ - Save file
138
+ - Verify file was written successfully
139
+
140
+ **Expected Outcome**: progress.yaml updated on disk
141
+
142
+ ---
143
+
144
+ ## Verification
145
+
146
+ - [ ] progress.yaml file updated successfully
147
+ - [ ] Task statuses reflect completed work
148
+ - [ ] Milestone progress percentages are accurate
149
+ - [ ] Recent work entry added with today's date
150
+ - [ ] Next steps list is current and actionable
151
+ - [ ] Blockers list is accurate
152
+ - [ ] YAML syntax is valid
153
+ - [ ] No data was lost or corrupted
154
+
155
+ ---
156
+
157
+ ## Expected Output
158
+
159
+ ### Files Modified
160
+ - `agent/progress.yaml` - Updated with latest progress
161
+
162
+ ### Console Output
163
+ ```
164
+ 📝 Updating Progress Tracking
165
+
166
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
167
+
168
+ Reading current progress...
169
+ ✓ Current milestone: M2 - Documentation & Utility Commands
170
+ ✓ Progress: 40% (2/5 tasks completed)
171
+
172
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
+
174
+ Updating progress...
175
+ ✓ Marked task-5 as completed
176
+ ✓ Updated milestone progress: 40% → 60%
177
+ ✓ Added recent work entry (2026-02-16)
178
+ ✓ Updated next steps
179
+ ✓ No new blockers
180
+
181
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
182
+
183
+ ✅ Progress Updated!
184
+
185
+ Summary:
186
+ - Tasks completed: 2 → 3
187
+ - Milestone progress: 40% → 60%
188
+ - Recent work: Added entry for today
189
+ - Next: task-6 - Implement Utility Commands
190
+ ```
191
+
192
+ ### Status Update
193
+ - Task statuses updated
194
+ - Milestone progress recalculated
195
+ - Recent work documented
196
+ - Next steps refreshed
197
+
198
+ ---
199
+
200
+ ## Examples
201
+
202
+ ### Example 1: After Completing a Task
203
+
204
+ **Context**: Just finished task-3, need to update progress
205
+
206
+ **Invocation**: `@acp.update`
207
+
208
+ **Result**: Marks task-3 as completed, updates milestone from 40% to 60%, adds recent work entry, identifies task-4 as next
209
+
210
+ ### Example 2: Mid-Task Progress Update
211
+
212
+ **Context**: Made significant progress on task-5 but not complete
213
+
214
+ **Invocation**: `@acp.update`
215
+
216
+ **Result**: Adds recent work entry documenting progress, updates task notes, keeps task status as in_progress
217
+
218
+ ### Example 3: Milestone Completion
219
+
220
+ **Context**: Just finished last task in milestone
221
+
222
+ **Invocation**: `@acp.update`
223
+
224
+ **Result**: Marks task and milestone as completed, sets completion dates, updates to next milestone, celebrates achievement
225
+
226
+ ---
227
+
228
+ ## Related Commands
229
+
230
+ - [`@acp.status`](acp.status.md) - View current status before updating
231
+ - [`@acp.proceed`](acp.proceed.md) - Automatically updates progress after completing tasks
232
+ - [`@acp.sync`](acp.sync.md) - Update documentation based on code changes
233
+ - [`@acp.report`](acp.report.md) - Generate comprehensive progress report
234
+
235
+ ---
236
+
237
+ ## Troubleshooting
238
+
239
+ ### Issue 1: YAML syntax error after update
240
+
241
+ **Symptom**: progress.yaml has syntax errors
242
+
243
+ **Cause**: Incorrect indentation or formatting
244
+
245
+ **Solution**: Validate YAML syntax, fix indentation (use 2 spaces), ensure proper structure
246
+
247
+ ### Issue 2: Progress percentages don't match
248
+
249
+ **Symptom**: Calculated percentage doesn't match tasks completed
250
+
251
+ **Cause**: Math error or incorrect task count
252
+
253
+ **Solution**: Recalculate: (tasks_completed / tasks_total) * 100, round to nearest integer
254
+
255
+ ### Issue 3: Recent work entries out of order
256
+
257
+ **Symptom**: Dates not in chronological order
258
+
259
+ **Cause**: New entry added in wrong position
260
+
261
+ **Solution**: Ensure newest entries are first in the list, maintain reverse chronological order
262
+
263
+ ---
264
+
265
+ ## Security Considerations
266
+
267
+ ### File Access
268
+ - **Reads**: `agent/progress.yaml`
269
+ - **Writes**: `agent/progress.yaml` (updates progress tracking)
270
+ - **Executes**: None
271
+
272
+ ### Network Access
273
+ - **APIs**: None
274
+ - **Repositories**: None
275
+
276
+ ### Sensitive Data
277
+ - **Secrets**: Does not access any secrets or credentials
278
+ - **Credentials**: Does not access any credentials
279
+
280
+ ---
281
+
282
+ ## Notes
283
+
284
+ - This command only updates progress.yaml, not other documentation
285
+ - Use `@acp.sync` to update design docs and other documentation
286
+ - Progress percentages should be integers (0-100)
287
+ - Recent work entries should be concise but informative
288
+ - Keep next steps list focused (3-5 items maximum)
289
+ - Update frequently to maintain accurate tracking
290
+ - Can be run multiple times per day as needed
291
+
292
+ ---
293
+
294
+ **Namespace**: acp
295
+ **Command**: update
296
+ **Version**: 1.0.0
297
+ **Created**: 2026-02-16
298
+ **Last Updated**: 2026-02-16
299
+ **Status**: Active
300
+ **Compatibility**: ACP 1.1.0+
301
+ **Author**: ACP Project