@prmichaelsen/reddit-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 (138) hide show
  1. package/.claude/settings.local.json +23 -0
  2. package/.env.example +13 -0
  3. package/AGENT.md +1772 -0
  4. package/README.md +54 -0
  5. package/agent/commands/acp.clarification-capture.md +386 -0
  6. package/agent/commands/acp.clarification-create.md +432 -0
  7. package/agent/commands/acp.clarifications-research.md +326 -0
  8. package/agent/commands/acp.command-create.md +432 -0
  9. package/agent/commands/acp.design-create.md +286 -0
  10. package/agent/commands/acp.design-reference.md +355 -0
  11. package/agent/commands/acp.index.md +423 -0
  12. package/agent/commands/acp.init.md +546 -0
  13. package/agent/commands/acp.package-create.md +895 -0
  14. package/agent/commands/acp.package-info.md +212 -0
  15. package/agent/commands/acp.package-install.md +539 -0
  16. package/agent/commands/acp.package-list.md +280 -0
  17. package/agent/commands/acp.package-publish.md +541 -0
  18. package/agent/commands/acp.package-remove.md +293 -0
  19. package/agent/commands/acp.package-search.md +307 -0
  20. package/agent/commands/acp.package-update.md +361 -0
  21. package/agent/commands/acp.package-validate.md +540 -0
  22. package/agent/commands/acp.pattern-create.md +386 -0
  23. package/agent/commands/acp.plan.md +577 -0
  24. package/agent/commands/acp.proceed.md +882 -0
  25. package/agent/commands/acp.project-create.md +675 -0
  26. package/agent/commands/acp.project-info.md +312 -0
  27. package/agent/commands/acp.project-list.md +226 -0
  28. package/agent/commands/acp.project-remove.md +379 -0
  29. package/agent/commands/acp.project-set.md +227 -0
  30. package/agent/commands/acp.project-update.md +307 -0
  31. package/agent/commands/acp.projects-restore.md +228 -0
  32. package/agent/commands/acp.projects-sync.md +347 -0
  33. package/agent/commands/acp.report.md +407 -0
  34. package/agent/commands/acp.resume.md +239 -0
  35. package/agent/commands/acp.sessions.md +301 -0
  36. package/agent/commands/acp.status.md +293 -0
  37. package/agent/commands/acp.sync.md +364 -0
  38. package/agent/commands/acp.task-create.md +500 -0
  39. package/agent/commands/acp.update.md +302 -0
  40. package/agent/commands/acp.validate.md +466 -0
  41. package/agent/commands/acp.version-check-for-updates.md +276 -0
  42. package/agent/commands/acp.version-check.md +191 -0
  43. package/agent/commands/acp.version-update.md +289 -0
  44. package/agent/commands/command.template.md +339 -0
  45. package/agent/commands/git.commit.md +526 -0
  46. package/agent/commands/git.init.md +514 -0
  47. package/agent/design/.gitkeep +0 -0
  48. package/agent/design/design.template.md +154 -0
  49. package/agent/design/requirements.md +332 -0
  50. package/agent/design/requirements.template.md +387 -0
  51. package/agent/index/.gitkeep +0 -0
  52. package/agent/index/local.main.template.yaml +37 -0
  53. package/agent/manifest.template.yaml +13 -0
  54. package/agent/manifest.yaml +61 -0
  55. package/agent/milestones/.gitkeep +0 -0
  56. package/agent/milestones/milestone-1-foundation-listings-mvp.md +140 -0
  57. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  58. package/agent/milestones/milestone-2-content-interaction.md +56 -0
  59. package/agent/milestones/milestone-3-users-and-messaging.md +54 -0
  60. package/agent/milestones/milestone-4-subreddits-and-flair.md +56 -0
  61. package/agent/milestones/milestone-5-moderation.md +53 -0
  62. package/agent/milestones/milestone-6-advanced-features-and-polish.md +56 -0
  63. package/agent/package.template.yaml +86 -0
  64. package/agent/patterns/.gitkeep +0 -0
  65. package/agent/patterns/bootstrap.template.md +1237 -0
  66. package/agent/patterns/pattern.template.md +382 -0
  67. package/agent/progress.template.yaml +161 -0
  68. package/agent/progress.yaml +223 -0
  69. package/agent/schemas/package.schema.yaml +276 -0
  70. package/agent/scripts/acp.common.sh +1781 -0
  71. package/agent/scripts/acp.yaml-parser.sh +985 -0
  72. package/agent/tasks/.gitkeep +0 -0
  73. package/agent/tasks/milestone-1-foundation-listings-mvp/task-1-project-scaffolding.md +75 -0
  74. package/agent/tasks/milestone-1-foundation-listings-mvp/task-2-reddit-oauth.md +71 -0
  75. package/agent/tasks/milestone-1-foundation-listings-mvp/task-3-reddit-api-client.md +71 -0
  76. package/agent/tasks/milestone-1-foundation-listings-mvp/task-4-listing-tools.md +65 -0
  77. package/agent/tasks/milestone-1-foundation-listings-mvp/task-5-search-tools.md +43 -0
  78. package/agent/tasks/milestone-1-foundation-listings-mvp/task-6-testing-verification.md +49 -0
  79. package/agent/tasks/milestone-2-content-interaction/task-7-post-tools.md +56 -0
  80. package/agent/tasks/milestone-2-content-interaction/task-8-comment-tools.md +49 -0
  81. package/agent/tasks/milestone-2-content-interaction/task-9-vote-save-report-tools.md +50 -0
  82. package/agent/tasks/milestone-3-users-and-messaging/task-10-account-tools.md +44 -0
  83. package/agent/tasks/milestone-3-users-and-messaging/task-11-user-profile-tools.md +50 -0
  84. package/agent/tasks/milestone-3-users-and-messaging/task-12-private-message-tools.md +50 -0
  85. package/agent/tasks/milestone-4-subreddits-and-flair/task-13-subreddit-tools.md +47 -0
  86. package/agent/tasks/milestone-4-subreddits-and-flair/task-14-flair-tools.md +46 -0
  87. package/agent/tasks/milestone-4-subreddits-and-flair/task-15-http-transport.md +53 -0
  88. package/agent/tasks/milestone-5-moderation/task-16-mod-action-tools.md +48 -0
  89. package/agent/tasks/milestone-5-moderation/task-17-mod-listing-tools.md +47 -0
  90. package/agent/tasks/milestone-5-moderation/task-18-mod-management-tools.md +42 -0
  91. package/agent/tasks/milestone-6-advanced-features-and-polish/task-19-multireddit-tools.md +49 -0
  92. package/agent/tasks/milestone-6-advanced-features-and-polish/task-20-wiki-tools.md +47 -0
  93. package/agent/tasks/milestone-6-advanced-features-and-polish/task-21-documentation-polish.md +65 -0
  94. package/agent/tasks/task-1-{title}.template.md +244 -0
  95. package/dist/auth/oauth.d.ts +15 -0
  96. package/dist/auth/oauth.d.ts.map +1 -0
  97. package/dist/client/reddit.d.ts +28 -0
  98. package/dist/client/reddit.d.ts.map +1 -0
  99. package/dist/factory.d.ts +2 -0
  100. package/dist/factory.d.ts.map +1 -0
  101. package/dist/factory.js +30394 -0
  102. package/dist/factory.js.map +7 -0
  103. package/dist/index.d.ts +2 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +31955 -0
  106. package/dist/index.js.map +7 -0
  107. package/dist/server.d.ts +5 -0
  108. package/dist/server.d.ts.map +1 -0
  109. package/dist/server.js +30401 -0
  110. package/dist/server.js.map +7 -0
  111. package/dist/tools/listings.d.ts +4 -0
  112. package/dist/tools/listings.d.ts.map +1 -0
  113. package/dist/tools/search.d.ts +4 -0
  114. package/dist/tools/search.d.ts.map +1 -0
  115. package/dist/transport/http.d.ts +7 -0
  116. package/dist/transport/http.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +78 -0
  118. package/dist/types/index.d.ts.map +1 -0
  119. package/esbuild.build.js +21 -0
  120. package/jest.config.js +18 -0
  121. package/package.json +46 -0
  122. package/src/auth/oauth.ts +200 -0
  123. package/src/client/reddit.ts +245 -0
  124. package/src/factory.ts +5 -0
  125. package/src/index.ts +31 -0
  126. package/src/server.ts +36 -0
  127. package/src/tools/listings.ts +202 -0
  128. package/src/tools/search.ts +85 -0
  129. package/src/transport/http.ts +49 -0
  130. package/src/types/index.ts +83 -0
  131. package/tests/fixtures/reddit-responses.ts +132 -0
  132. package/tests/helpers/mock-client.ts +36 -0
  133. package/tests/unit/auth.test.ts +89 -0
  134. package/tests/unit/client.test.ts +218 -0
  135. package/tests/unit/listings.test.ts +113 -0
  136. package/tests/unit/search.test.ts +59 -0
  137. package/tests/unit/server.test.ts +14 -0
  138. package/tsconfig.json +21 -0
@@ -0,0 +1,500 @@
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
+ **Scripts**: None
17
+
18
+ ---
19
+
20
+ **Purpose**: Create task files with proper structure, milestone linking, and automatic progress.yaml updates
21
+ **Category**: Creation
22
+ **Frequency**: As Needed
23
+
24
+ ---
25
+
26
+ ## What This Command Does
27
+
28
+ 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.
29
+
30
+ **Key Features**:
31
+ - Milestone-aware (links to current or specified milestone)
32
+ - Automatic task numbering
33
+ - Draft file support with clarification workflow
34
+ - Auto-updates progress.yaml with new task
35
+ - Uses task-1-{title}.template.md as base
36
+
37
+ **Use this when**: Creating a new task in an ACP project.
38
+
39
+ ---
40
+
41
+ ## Prerequisites
42
+
43
+ - [ ] ACP installed in current directory
44
+ - [ ] Task template exists (agent/tasks/task-1-{title}.template.md)
45
+ - [ ] progress.yaml exists with at least one milestone
46
+ - [ ] (Optional) Draft file prepared if using draft workflow
47
+
48
+ ---
49
+
50
+ ## Arguments
51
+
52
+ **Context Capture Arguments** (optional — passed to `@acp.clarification-capture` directive):
53
+
54
+ | Argument | Alias | Behavior |
55
+ |---|---|---|
56
+ | `--from-clarification <file>` | `--from-clar` | Capture decisions from a specific clarification file |
57
+ | `--from-clarifications` | `--from-clars` | Capture from all recent clarifications |
58
+ | `--from-chat-context` | `--from-chat` | Capture decisions from chat conversation |
59
+ | `--from-context` | (none) | Shorthand for all sources (clarifications + chat) |
60
+ | `--include-clarifications` | (none) | Alias for `--from-clars` |
61
+
62
+ **Default behavior** (no flags): Auto-detect clarifications and context in session.
63
+
64
+ ---
65
+
66
+ ## Steps
67
+
68
+ ### 1. Detect Current Milestone
69
+
70
+ Determine which milestone this task belongs to:
71
+
72
+ **Actions**:
73
+ - Read progress.yaml
74
+ - Identify current milestone (current_milestone field)
75
+ - Get milestone details (name, ID)
76
+ - Ask user to confirm or select different milestone
77
+
78
+ **Expected Outcome**: Target milestone identified
79
+
80
+ ### 2. Determine Task Number
81
+
82
+ Find the next available task number:
83
+
84
+ **Actions**:
85
+ - List all existing task files in agent/tasks/
86
+ - Parse task numbers (task-1-*, task-2-*, etc.)
87
+ - Find highest number
88
+ - Increment by 1 for new task number
89
+
90
+ **Expected Outcome**: Next task number determined (e.g., task-25)
91
+
92
+ ### 2.5. Read Contextual Key Files
93
+
94
+ Before creating content, load relevant key files from the index.
95
+
96
+ **Actions**:
97
+ - Check if `agent/index/` directory exists
98
+ - If exists, scan for all `*.yaml` files (excluding `*.template.yaml`)
99
+ - Filter entries where `applies` includes `acp.task-create`
100
+ - Sort by weight descending, read matching files
101
+ - Produce visible output
102
+
103
+ **Note**: If `agent/index/` does not exist, skip silently.
104
+
105
+ ### 2.7. Capture Clarification Context
106
+
107
+ Invoke the `@acp.clarification-capture` shared directive to capture decisions from clarifications and/or chat context.
108
+
109
+ **Actions**:
110
+ - Read and follow the directive in [`agent/commands/acp.clarification-capture.md`](acp.clarification-capture.md)
111
+ - Pass through any `--from-*` arguments from this command's invocation
112
+ - If no `--from-*` flags specified: auto-detect clarifications in session (default behavior)
113
+ - If uncaptured clarifications detected, show warning and ask user whether to include
114
+ - Directive returns a "Key Design Decisions" markdown section (or nothing if no context)
115
+ - Hold the generated section for insertion during Step 6 (Generate Task File)
116
+
117
+ **Expected Outcome**: Key Design Decisions section generated (if context available), or skipped cleanly
118
+
119
+ ### 3. Check for Draft File
120
+
121
+ Check if draft file was provided as argument:
122
+
123
+ **Syntax**:
124
+ - `@acp.task-create @my-draft.md` (@ reference)
125
+ - `@acp.task-create agent/drafts/my-draft.md` (path)
126
+ - `@acp.task-create` (no draft)
127
+
128
+ **Actions**:
129
+ - If draft provided: Read draft file
130
+ - If no draft: Proceed to Step 4
131
+
132
+ **Expected Outcome**: Draft file read (if provided)
133
+
134
+ ### 4. Collect Task Information
135
+
136
+ Gather information from user via chat:
137
+
138
+ **Information to Collect**:
139
+ - **Task name** (descriptive, without "Task N:" prefix)
140
+ - Example: "Implement User Authentication" (not "Task 25: Implement User Authentication")
141
+ - Validation: Clear, action-oriented
142
+ - **Task description** (objective - what this task accomplishes)
143
+ - Example: "Implement Firebase Authentication with email/password and Google sign-in"
144
+ - **Estimated time** (hours or days)
145
+ - Example: "4-6 hours" or "2 days"
146
+ - **Dependencies** (other tasks that must complete first)
147
+ - Example: "Task 24" or "None"
148
+ - **Context** (background information)
149
+ - Example: "Authentication is required before implementing user-scoped data"
150
+
151
+ **If no draft provided**:
152
+ - Ask: "Describe what you want this task to accomplish" OR
153
+ - Offer: "Would you like to create an empty draft file first?"
154
+
155
+ **Expected Outcome**: All task metadata collected
156
+
157
+ ### 5. Process Draft (If Provided)
158
+
159
+ If draft file was provided, create clarification if needed:
160
+
161
+ **Actions**:
162
+ - Analyze draft for clarity and completeness
163
+ - If draft is clear and complete: Skip clarification, use draft content
164
+ - If draft is ambiguous: Create clarification document
165
+ - Find next clarification number
166
+ - Create `agent/clarifications/clarification-{N}-task-{name}.md`
167
+ - Generate questions about unclear aspects
168
+ - Wait for user to answer clarification
169
+ - Read answered clarification
170
+
171
+ **Expected Outcome**: Clarification created and answered (if needed)
172
+
173
+ ### 5.5. Cross-Reference Design Documents
174
+
175
+ Invoke the `@acp.design-reference` shared directive to discover and extract design document context.
176
+
177
+ **Actions**:
178
+ - Read and follow the directive in [`agent/commands/acp.design-reference.md`](acp.design-reference.md)
179
+ - Pass context from this command:
180
+ - `topic_keywords`: Keywords from task name and milestone name
181
+ - `milestone_name`: Current milestone name (from Step 1)
182
+ - `user_description`: User's task description (from Step 4)
183
+ - `draft_content`: Draft file content (from Step 3, if provided)
184
+ - The directive will:
185
+ 1. Search `agent/design/` for relevant documents by keyword matching
186
+ 2. Report what was found/skipped
187
+ 3. Extract design elements across 8 categories (implementation steps, argument tables, UX specs, edge cases, format specs, integration points, lifecycle rules, decision rationale)
188
+ 4. Flag any design gaps (suggest clarification if needed)
189
+ 5. Return structured data: design elements, gaps, and paths
190
+ - Hold the returned design elements for use in Step 6
191
+
192
+ **If no design found**: The directive warns and returns empty. Proceed to Step 6 with available context only (user input, draft, clarifications).
193
+
194
+ **Expected Outcome**: Design elements extracted and ready for task generation, or skipped cleanly with warning
195
+
196
+ ### 6. Generate Task File
197
+
198
+ Create task file from template:
199
+
200
+ **Actions**:
201
+ - Determine full filename and path:
202
+ - If milestone assigned: `milestone-{N}-{title}/task-{M}-{name}.md`
203
+ - If no milestone: `unassigned/task-{M}-{name}.md`
204
+ - N = milestone number, M = task number from Step 2
205
+ - name = kebab-case version of task name
206
+ - Create milestone subdirectory if it doesn't exist
207
+ - Copy from task template (agent/tasks/task-1-{title}.template.md)
208
+ - Fill in metadata:
209
+ - Task number and name
210
+ - Milestone link
211
+ - **Design Reference**: If Step 5.5 found a design document, link to it: `[{Design Name}](../design/{namespace}.{design-name}.md)`. If none found, set to `None`.
212
+ - Estimated time
213
+ - Dependencies
214
+ - Status: "Not Started"
215
+ - Fill in sections:
216
+ - Objective (from collected info)
217
+ - Context (from collected info or draft)
218
+ - **Steps** — must include implementation-level detail:
219
+ - Each step should be concrete and actionable, not a vague summary
220
+ - Include specific sub-steps for complex operations
221
+ - If Step 5.5 returned design elements, integrate them:
222
+ - Preserve argument/parameter tables from the design — include verbatim or as detailed prose
223
+ - Preserve UX specifications — exact warning text, prompt formats, display output
224
+ - Preserve format specifications — output structure, naming conventions, file format rules
225
+ - Include integration points — which other commands/systems are affected and how
226
+ - Include lifecycle rules — status transitions, cleanup behavior, ordering constraints
227
+ - Include decision rationale inline where it aids implementation
228
+ - If the design describes N distinct operations, the task should have corresponding steps covering all N (grouping related operations into fewer steps is acceptable, but no operation may be omitted)
229
+ - **Verification checklist** — must cover every design requirement:
230
+ - One verification item per design requirement from the design document
231
+ - Include edge cases from the design (partial data, conflicts, empty state, missing files)
232
+ - Include format verification (output matches specified format)
233
+ - Include integration verification (affected commands updated correctly)
234
+ - If the design has a Testing Strategy section, map each test scenario to a verification item
235
+ - If Key Design Decisions section was generated in Step 2.7: Insert it into the task document
236
+ - If Step 5.5 returned design decisions (from the design doc's Key Design Decisions section): Carry relevant decisions into the task's Key Design Decisions section
237
+ - Save to appropriate path (milestone subdirectory or unassigned/)
238
+
239
+ > **Self-Contained Task Principle**: After generating the task, verify that an agent reading ONLY this task file could implement the feature without needing to read the design document. If any design element is missing from the task, add it before saving.
240
+
241
+ **Note**: Older tasks may use flat structure (`agent/tasks/task-{N}-{name}.md`) for historical reasons. New tasks should use milestone subdirectories.
242
+
243
+ **Expected Outcome**: Task file created in milestone subdirectory with complete design coverage
244
+
245
+ ### 7. Update progress.yaml
246
+
247
+ Add task to progress.yaml:
248
+
249
+ **Actions**:
250
+ - Read progress.yaml
251
+ - Find the milestone section (e.g., milestone_4)
252
+ - Add new task entry:
253
+ ```yaml
254
+ - id: task-{N}
255
+ name: {Task Name}
256
+ status: not_started
257
+ file: agent/tasks/milestone-{N}-{title}/task-{M}-{name}.md
258
+ estimated_hours: {hours}
259
+ completed_date: null
260
+ notes: |
261
+ {Brief description or empty}
262
+ ```
263
+ - Update milestone tasks_total count
264
+ - Save progress.yaml
265
+
266
+ **Expected Outcome**: progress.yaml updated with new task
267
+
268
+ ### 8. Prompt to Delete Draft (If Used)
269
+
270
+ If draft file was used, ask to delete it:
271
+
272
+ **Actions**:
273
+ - Ask: "Would you like to delete the draft file? (yes/no)"
274
+ - If yes: Delete draft file
275
+ - If no: Keep draft file
276
+
277
+ **Expected Outcome**: User chooses whether to keep draft
278
+
279
+ ### 9. Report Success
280
+
281
+ Display what was created:
282
+
283
+ **Output**:
284
+ ```
285
+ ✅ Task Created Successfully!
286
+
287
+ File: agent/tasks/milestone-{N}-{title}/task-{M}-{name}.md
288
+ Task Number: {M}
289
+ Milestone: M{X} - {Milestone Name}
290
+ Estimated Time: {hours}
291
+ Status: Not Started
292
+
293
+ ✓ Task file created
294
+ ✓ progress.yaml updated
295
+ ✓ Draft file deleted (if requested)
296
+
297
+ Next steps:
298
+ - Review and refine task steps
299
+ - Add verification items
300
+ - Start working with @acp.proceed
301
+ ```
302
+
303
+ **Expected Outcome**: User knows task was created successfully
304
+
305
+ ### 10. Prompt to Add to Key File Index
306
+
307
+ After successful creation, offer to add the new file to the index (if `agent/index/` exists).
308
+
309
+ **Display**:
310
+ ```
311
+ Would you like to add this to the key file index?
312
+ - Yes, add to agent/index/local.main.yaml
313
+ - No, skip
314
+ ```
315
+
316
+ If yes, prompt for weight, description, rationale, and applies values. Add entry to `agent/index/local.main.yaml`.
317
+
318
+ **Note**: Skip silently if `agent/index/` does not exist.
319
+
320
+ ---
321
+
322
+ ## Verification
323
+
324
+ - [ ] Current milestone identified
325
+ - [ ] Next task number determined correctly
326
+ - [ ] Task information collected
327
+ - [ ] Draft processed (if provided)
328
+ - [ ] Task file created with correct number and name
329
+ - [ ] progress.yaml updated with new task
330
+ - [ ] Milestone tasks_total incremented
331
+ - [ ] Task follows template structure
332
+ - [ ] All metadata filled in correctly
333
+ - [ ] Task linked to correct milestone
334
+
335
+ ---
336
+
337
+ ## Expected Output
338
+
339
+ ### Files Created
340
+ - `agent/tasks/milestone-{N}-{title}/task-{M}-{name}.md` - Task file (in milestone subdirectory)
341
+ - `agent/tasks/unassigned/task-{M}-{name}.md` - Task file (if no milestone assigned)
342
+ - `agent/clarifications/clarification-{N}-task-{name}.md` - Clarification (if draft was ambiguous)
343
+
344
+ ### Files Modified
345
+ - `agent/progress.yaml` - Task added to milestone section
346
+
347
+ **Note**: Older tasks may exist in flat structure (`agent/tasks/task-{N}-{name}.md`) for historical reasons.
348
+
349
+ ---
350
+
351
+ ## Examples
352
+
353
+ ### Example 1: Creating Task for Current Milestone
354
+
355
+ **Context**: Working on Milestone 3, need to add a new task
356
+
357
+ **Invocation**: `@acp.task-create`
358
+
359
+ **Interaction**:
360
+ ```
361
+ Agent: Current milestone: M3 - ACP Package Management System
362
+ Agent: Create task for this milestone? (yes/no)
363
+ User: yes
364
+
365
+ Agent: What would you like to name your task?
366
+ User: Implement Package Search Command
367
+
368
+ Agent: Provide a description (what this task accomplishes):
369
+ User: Create @acp.package-search command to discover ACP packages via GitHub API
370
+
371
+ Agent: Estimated time? (e.g., "4 hours", "2 days")
372
+ User: 6-8 hours
373
+
374
+ Agent: Dependencies? (other task numbers or "None")
375
+ User: Task 10
376
+
377
+ Agent: Any additional context?
378
+ User: Needs GitHub API integration for repository search
379
+
380
+ ✅ Task Created Successfully!
381
+
382
+ File: agent/tasks/milestone-3-package-management/task-11-package-search-command.md
383
+ Task Number: 11
384
+ Milestone: M3 - ACP Package Management System
385
+ Estimated Time: 6-8 hours
386
+ Status: Not Started
387
+
388
+ ✓ Task file created
389
+ ✓ progress.yaml updated
390
+ ```
391
+
392
+ ### Example 2: Creating Task with Draft
393
+
394
+ **Context**: Have draft file describing task
395
+
396
+ **Invocation**: `@acp.task-create @my-task-draft.md`
397
+
398
+ **Result**: Reads draft, creates clarification if needed, generates task, updates progress.yaml
399
+
400
+ ### Example 3: Creating Task for Different Milestone
401
+
402
+ **Context**: Want to add task to future milestone
403
+
404
+ **Invocation**: `@acp.task-create`
405
+
406
+ **Interaction**:
407
+ ```
408
+ Agent: Current milestone: M3 - ACP Package Management System
409
+ Agent: Create task for this milestone? (yes/no)
410
+ User: no
411
+
412
+ Agent: Available milestones:
413
+ - M1: ACP Commands Infrastructure (completed)
414
+ - M2: Documentation & Utility Commands (completed)
415
+ - M3: ACP Package Management System (in progress)
416
+ - M4: Package Development System (not started)
417
+
418
+ Agent: Which milestone? (enter ID like "M4")
419
+ User: M4
420
+
421
+ [Continues with task creation for M4...]
422
+ ```
423
+
424
+ ---
425
+
426
+ ## Related Commands
427
+
428
+ - [`@acp.pattern-create`](acp.pattern-create.md) - Create patterns
429
+ - [`@acp.command-create`](acp.command-create.md) - Create commands
430
+ - [`@acp.design-create`](acp.design-create.md) - Create designs
431
+ - [`@acp.proceed`](acp.proceed.md) - Start working on created task
432
+
433
+ ---
434
+
435
+ ## Troubleshooting
436
+
437
+ ### Issue 1: No milestones found
438
+
439
+ **Symptom**: Error message "No milestones found in progress.yaml"
440
+
441
+ **Solution**: Create a milestone first using milestone template, or add milestone to progress.yaml manually
442
+
443
+ ### Issue 2: Invalid task name
444
+
445
+ **Symptom**: Task name rejected
446
+
447
+ **Solution**: Use descriptive, action-oriented names. Avoid special characters except hyphens.
448
+
449
+ ### Issue 3: progress.yaml update failed
450
+
451
+ **Symptom**: Error updating progress.yaml
452
+
453
+ **Solution**: Verify progress.yaml exists and is valid YAML. Check milestone section exists for target milestone.
454
+
455
+ ### Issue 4: Task number conflict
456
+
457
+ **Symptom**: Task file already exists with that number
458
+
459
+ **Solution**: Command should auto-detect and use next available number. If conflict persists, manually check agent/tasks/ directory.
460
+
461
+ ---
462
+
463
+ ## Security Considerations
464
+
465
+ ### File Access
466
+ - **Reads**: progress.yaml, draft files, task templates, milestone documents
467
+ - **Writes**: agent/tasks/task-{N}-{name}.md, progress.yaml
468
+ - **Executes**: None
469
+
470
+ ### Network Access
471
+ - **APIs**: None
472
+ - **Repositories**: None
473
+
474
+ ### Sensitive Data
475
+ - **Secrets**: Never include secrets in tasks
476
+ - **Credentials**: Never include credentials
477
+
478
+ ---
479
+
480
+ ## Notes
481
+
482
+ - Task name should be action-oriented (start with verb)
483
+ - Task number is automatically assigned (sequential)
484
+ - Tasks are always created as "Not Started" status
485
+ - Draft files can be any format (free-form markdown)
486
+ - Clarifications are created only if draft is ambiguous
487
+ - progress.yaml is automatically updated
488
+ - Task is linked to milestone via file path and progress.yaml entry
489
+ - Estimated time helps with milestone planning
490
+
491
+ ---
492
+
493
+ **Namespace**: acp
494
+ **Command**: task-create
495
+ **Version**: 1.0.0
496
+ **Created**: 2026-02-21
497
+ **Last Updated**: 2026-02-21
498
+ **Status**: Active
499
+ **Compatibility**: ACP 2.10.0+
500
+ **Author**: ACP Project