@staff0rd/assist 0.134.0 → 0.135.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.
package/README.md CHANGED
@@ -36,6 +36,7 @@ After installation, the `assist` command will be available globally. You can als
36
36
  - `/comment` - Add pending review comments to the current PR
37
37
  - `/commit` - Commit only relevant files from the session
38
38
  - `/devlog` - Generate devlog entry for the next unversioned day
39
+ - `/draft` - Draft a new backlog item with LLM-assisted questioning
39
40
  - `/next-backlog-item` - Pick and implement the next backlog item
40
41
  - `/pr` - Raise a PR with a concise description
41
42
  - `/refactor` - Run refactoring checks for code quality
@@ -78,9 +79,14 @@ After installation, the `assist` command will be available globally. You can als
78
79
  - `assist backlog init` - Create an empty assist.backlog.yml
79
80
  - `assist backlog list [--status <type>] [-v]` - List all backlog items with status icons
80
81
  - `assist backlog add` - Add a new backlog item interactively (prompts for type: story/bug)
82
+ - `assist backlog add --json` - Add a backlog item from JSON on stdin (used by `/draft`)
83
+ - `assist backlog next` - Pick and run the next backlog item, or open `/draft` if none remain
81
84
  - `assist backlog start <id>` - Set a backlog item to in-progress
82
85
  - `assist backlog done <id>` - Set a backlog item to done
83
86
  - `assist backlog delete <id>` - Delete a backlog item
87
+ - `assist backlog plan <id>` - Display the phased plan for a backlog item
88
+ - `assist backlog phase-done <id> <phase>` - Signal that a plan phase is complete (used by orchestrator)
89
+ - `assist backlog run <id>` - Run a backlog item's plan phase-by-phase with Claude
84
90
  - `assist backlog web [-p, --port <number>]` - Start a web view of the backlog (default port 3000)
85
91
  - `assist roam auth` - Authenticate with Roam via OAuth (opens browser, saves tokens to ~/.assist.yml)
86
92
  - `assist roam show-claude-code-icon` - Forward Claude Code hook activity to Roam local API
@@ -0,0 +1,71 @@
1
+ ---
2
+ description: Draft a new backlog item with LLM-assisted questioning
3
+ allowed_args: "[rough description of what you want to build]"
4
+ ---
5
+
6
+ You are helping the user create a well-structured backlog item with a phased implementation plan.
7
+
8
+ ## Step 1: Understand the idea
9
+
10
+ If the user provided a description via $ARGUMENTS, use that as a starting point. Otherwise, ask what they want to build.
11
+
12
+ Read relevant parts of the codebase to understand the current architecture and patterns.
13
+
14
+ ## Step 2: Ask clarifying questions
15
+
16
+ Ask 2-4 targeted questions conversationally to flesh out the idea. Focus on:
17
+
18
+ - **Scope**: What exactly should this include? What is out of scope?
19
+ - **Done criteria**: What does "done" look like? How will we know it works?
20
+ - **Constraints**: Are there existing patterns, APIs, or conventions to follow?
21
+ - **Edge cases**: What happens when things go wrong?
22
+
23
+ Ask one question at a time. Wait for the user's response before asking the next.
24
+
25
+ ## Step 3: Propose the item
26
+
27
+ Once you have enough context, propose a complete backlog item. Show it to the user in a readable format:
28
+
29
+ **Name:** (concise title)
30
+ **Type:** story or bug
31
+ **Description:** 1-3 sentences
32
+ **Acceptance Criteria:**
33
+ - (specific, testable criteria)
34
+
35
+ **Plan:**
36
+ - Phase 1: (name) — tasks...
37
+ - Phase 2: (name) — tasks...
38
+
39
+ Keep phases small (2-4 tasks each). A typical item should have 2-3 phases.
40
+
41
+ ## Step 4: Iterate
42
+
43
+ Ask the user if they want to change anything. Iterate until they confirm.
44
+
45
+ ## Step 5: Save
46
+
47
+ Once confirmed, pipe the JSON to the CLI. The JSON must match this shape:
48
+
49
+ ```json
50
+ {
51
+ "name": "...",
52
+ "type": "story",
53
+ "description": "...",
54
+ "acceptanceCriteria": ["...", "..."],
55
+ "plan": [
56
+ {
57
+ "name": "Phase name",
58
+ "tasks": [
59
+ { "task": "Do something", "verify": "optional verification step" }
60
+ ]
61
+ }
62
+ ]
63
+ }
64
+ ```
65
+
66
+ Run:
67
+ ```
68
+ echo '<the confirmed json>' | assist backlog add --json 2>&1
69
+ ```
70
+
71
+ Then show the user the item was created and suggest they can run `assist backlog run <id>` to start implementation.
@@ -33,6 +33,9 @@
33
33
  "Bash(assist backlog list:*)",
34
34
  "Bash(assist backlog start:*)",
35
35
  "Bash(assist backlog done:*)",
36
+ "Bash(assist backlog plan:*)",
37
+ "Bash(assist backlog phase-done:*)",
38
+ "Bash(assist backlog add:*)",
36
39
  "Bash(assist transcript summarise:*)",
37
40
  "Bash(assist complexity:*)",
38
41
  "Bash(assist transcript format:*)",
@@ -86,6 +89,8 @@
86
89
  "SlashCommand(/inspect)",
87
90
  "Skill(screenshot)",
88
91
  "SlashCommand(/screenshot)",
92
+ "Skill(draft)",
93
+ "SlashCommand(/draft)",
89
94
  "WebFetch(domain:staffordwilliams.com)"
90
95
  ],
91
96
  "deny": ["Bash(git commit:*)", "Bash(npm run:*)", "Bash(npx assist:*)"]