@leeovery/claude-technical-workflows 2.0.15 → 2.0.17
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 +41 -24
- package/commands/link-dependencies.md +170 -0
- package/commands/start-discussion.md +6 -313
- package/commands/start-feature.md +80 -0
- package/commands/start-implementation.md +7 -101
- package/commands/start-planning.md +7 -86
- package/commands/start-research.md +7 -13
- package/commands/start-specification.md +7 -81
- package/commands/workflow:start-discussion.md +339 -0
- package/commands/workflow:start-implementation.md +187 -0
- package/commands/workflow:start-planning.md +111 -0
- package/commands/workflow:start-research.md +38 -0
- package/commands/workflow:start-review.md +112 -0
- package/commands/workflow:start-specification.md +106 -0
- package/package.json +1 -1
- package/skills/technical-discussion/SKILL.md +13 -8
- package/skills/technical-implementation/SKILL.md +23 -11
- package/skills/technical-planning/SKILL.md +14 -12
- package/skills/technical-planning/references/dependencies.md +69 -0
- package/skills/technical-planning/references/formal-planning.md +25 -0
- package/skills/technical-planning/references/output-backlog-md.md +75 -4
- package/skills/technical-planning/references/output-beads.md +95 -5
- package/skills/technical-planning/references/output-linear.md +57 -4
- package/skills/technical-planning/references/output-local-markdown.md +71 -3
- package/skills/technical-research/SKILL.md +13 -9
- package/skills/technical-review/SKILL.md +26 -9
- package/skills/technical-review/references/review-checklist.md +4 -2
- package/skills/technical-specification/SKILL.md +16 -9
- package/skills/technical-specification/references/specification-guide.md +8 -9
|
@@ -1,109 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: "[DEPRECATED] Use /workflow:start-implementation instead"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# Deprecated Command
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
- Do NOT install anything or invoke tools until Step 5
|
|
9
|
-
- Even if the user's initial prompt seems to answer a question, still confirm with them at the appropriate step
|
|
10
|
-
- Do NOT make assumptions about what the user wants
|
|
11
|
-
- Complete each step fully before moving to the next
|
|
7
|
+
⚠️ **`/start-implementation` is deprecated.** Use `/workflow:start-implementation` instead.
|
|
12
8
|
|
|
13
|
-
|
|
9
|
+
The command has been renamed to use the `workflow:` prefix to distinguish workflow commands from standalone commands.
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Before beginning, discover existing work and gather necessary information.
|
|
18
|
-
|
|
19
|
-
## Important
|
|
20
|
-
|
|
21
|
-
Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
|
|
22
|
-
|
|
23
|
-
## Step 1: Discover Existing Plans
|
|
24
|
-
|
|
25
|
-
Scan the codebase for plans:
|
|
26
|
-
|
|
27
|
-
1. **Find plans**: Look in `docs/workflow/planning/`
|
|
28
|
-
- Run `ls docs/workflow/planning/` to list plan files
|
|
29
|
-
- Each file is named `{topic}.md`
|
|
30
|
-
|
|
31
|
-
2. **Check plan format**: For each plan file
|
|
32
|
-
- Run `head -10 docs/workflow/planning/{topic}.md` to read the frontmatter
|
|
33
|
-
- Note the `format:` field
|
|
34
|
-
- Do NOT use bash loops - run separate `head` commands for each topic
|
|
35
|
-
|
|
36
|
-
## Step 2: Present Options to User
|
|
37
|
-
|
|
38
|
-
Show what you found.
|
|
39
|
-
|
|
40
|
-
> **Note:** If no plans exist, inform the user that this workflow is designed to be executed in sequence. They need to create plans from specifications prior to implementation using `/start-planning`.
|
|
41
|
-
|
|
42
|
-
> **Auto-select:** If exactly one plan exists, automatically select it and proceed to Step 3. Inform the user which plan was selected. Do not ask for confirmation.
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Plans found:
|
|
46
|
-
{topic-1}
|
|
47
|
-
{topic-2}
|
|
48
|
-
|
|
49
|
-
Which plan would you like to implement?
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Step 3: Check Environment Setup
|
|
53
|
-
|
|
54
|
-
> **IMPORTANT**: This step is for **information gathering only**. Do NOT execute any setup commands at this stage. The technical-implementation skill will handle execution when invoked.
|
|
55
|
-
|
|
56
|
-
After the user selects a plan:
|
|
57
|
-
|
|
58
|
-
1. Check if `docs/workflow/environment-setup.md` exists
|
|
59
|
-
2. If it exists, note the file location for the skill handoff
|
|
60
|
-
3. If missing, ask: "Are there any environment setup instructions I should follow?"
|
|
61
|
-
- If the user provides instructions, save them to `docs/workflow/environment-setup.md`, commit and push to Git
|
|
62
|
-
- If the user says no, create `docs/workflow/environment-setup.md` with "No special setup required." and commit. This prevents asking again in future sessions.
|
|
63
|
-
- See `skills/technical-implementation/references/environment-setup.md` for format guidance
|
|
64
|
-
|
|
65
|
-
## Step 4: Ask About Scope
|
|
66
|
-
|
|
67
|
-
Ask the user about implementation scope:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
How would you like to proceed?
|
|
71
|
-
|
|
72
|
-
1. **Implement all phases** - Work through the entire plan sequentially
|
|
73
|
-
2. **Implement specific phase** - Focus on one phase (e.g., "Phase 1")
|
|
74
|
-
3. **Implement specific task** - Focus on a single task
|
|
75
|
-
4. **Next available task** - Auto-discover the next unblocked task
|
|
76
|
-
|
|
77
|
-
Which approach?
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
If they choose a specific phase or task, ask them to specify which one.
|
|
81
|
-
|
|
82
|
-
> **Note:** Do NOT verify that the phase or task exists. Accept the user's answer and pass it to the skill. Validation happens during the implementation phase.
|
|
83
|
-
|
|
84
|
-
## Step 5: Invoke Implementation Skill
|
|
85
|
-
|
|
86
|
-
Invoke the **technical-implementation** skill for this conversation.
|
|
87
|
-
|
|
88
|
-
Pass to the technical-implementation skill:
|
|
89
|
-
- Plan: `docs/workflow/planning/{topic}.md`
|
|
90
|
-
- Format: (from frontmatter)
|
|
91
|
-
- Scope: (all phases | specific phase | specific task | next-available)
|
|
92
|
-
- Environment setup: (completed | not needed)
|
|
93
|
-
|
|
94
|
-
**Example handoff:**
|
|
95
|
-
```
|
|
96
|
-
Implementation session for: {topic}
|
|
97
|
-
Plan: docs/workflow/planning/{topic}.md
|
|
98
|
-
Format: {format}
|
|
99
|
-
Scope: All phases
|
|
100
|
-
|
|
101
|
-
Environment setup: Completed (or: Not needed)
|
|
102
|
-
|
|
103
|
-
Begin implementation using the technical-implementation skill.
|
|
104
|
-
```
|
|
11
|
+
---
|
|
105
12
|
|
|
106
|
-
|
|
13
|
+
**Forwarding to `/workflow:start-implementation`...**
|
|
107
14
|
|
|
108
|
-
|
|
109
|
-
- Execute environment setup before starting implementation
|
|
15
|
+
Run the `/workflow:start-implementation` command now.
|
|
@@ -1,94 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: "[DEPRECATED] Use /workflow:start-planning instead"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# Deprecated Command
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
⚠️ **`/start-planning` is deprecated.** Use `/workflow:start-planning` instead.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
The command has been renamed to use the `workflow:` prefix to distinguish workflow commands from standalone commands.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Important
|
|
14
|
-
|
|
15
|
-
Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
|
|
16
|
-
|
|
17
|
-
## Step 1: Discover Existing Work
|
|
18
|
-
|
|
19
|
-
Scan the codebase for specifications and plans:
|
|
20
|
-
|
|
21
|
-
1. **Find specifications**: Look in `docs/workflow/specification/`
|
|
22
|
-
- Run `ls docs/workflow/specification/` to list specification files
|
|
23
|
-
- Each file is named `{topic}.md`
|
|
24
|
-
|
|
25
|
-
2. **Check specification status**: For each specification file
|
|
26
|
-
- Run `head -20 docs/workflow/specification/{topic}.md` to read the frontmatter and extract the `status:` field
|
|
27
|
-
- Do NOT use bash loops - run separate `head` commands for each topic
|
|
28
|
-
|
|
29
|
-
3. **Check for existing plans**: Look in `docs/workflow/planning/`
|
|
30
|
-
- Identify specifications that don't have corresponding plans
|
|
31
|
-
|
|
32
|
-
## Step 2: Check Prerequisites
|
|
33
|
-
|
|
34
|
-
**If no specifications exist:**
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
⚠️ No specifications found in docs/workflow/specification/
|
|
38
|
-
|
|
39
|
-
The planning phase requires a completed specification. Please run /start-specification first to validate and refine the discussion content into a standalone specification before creating a plan.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Stop here and wait for the user to acknowledge.
|
|
43
|
-
|
|
44
|
-
## Step 3: Present Options to User
|
|
45
|
-
|
|
46
|
-
Show what you found using a list like below:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
📂 Specifications found:
|
|
50
|
-
⚠️ {topic-1} - Building specification - not ready for planning
|
|
51
|
-
✅ {topic-2} - Complete - ready for planning
|
|
52
|
-
✅ {topic-3} - Complete - plan exists
|
|
53
|
-
|
|
54
|
-
Which specification would you like to create a plan for?
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**Important:** Only completed specifications should proceed to planning. If a specification is still being built, advise the user to complete the specification phase first.
|
|
58
|
-
|
|
59
|
-
**Auto-select:** If exactly one specification exists, automatically select it and proceed to Step 4. Inform the user which specification was selected. Do not ask for confirmation.
|
|
60
|
-
|
|
61
|
-
Ask: **Which specification would you like to plan?**
|
|
62
|
-
|
|
63
|
-
## Step 4: Choose Output Destination
|
|
64
|
-
|
|
65
|
-
Ask: **Where should this plan live?**
|
|
66
|
-
|
|
67
|
-
Load **[output-formats.md](../skills/technical-planning/references/output-formats.md)** and present the available formats to help the user choose. Then load the corresponding output adapter for that format's setup requirements.
|
|
68
|
-
|
|
69
|
-
## Step 5: Gather Additional Context
|
|
70
|
-
|
|
71
|
-
- Any additional context or priorities to consider?
|
|
72
|
-
- Any constraints since the specification was completed?
|
|
73
|
-
|
|
74
|
-
## Step 6: Invoke Planning Skill
|
|
75
|
-
|
|
76
|
-
Pass to the technical-planning skill with:
|
|
77
|
-
- Specification path
|
|
78
|
-
- Output format chosen
|
|
79
|
-
- Additional context gathered
|
|
80
|
-
|
|
81
|
-
**Example handoff:**
|
|
82
|
-
```
|
|
83
|
-
Planning session for: {topic}
|
|
84
|
-
Specification: docs/workflow/specification/{topic}.md
|
|
85
|
-
Output format: {format}
|
|
86
|
-
|
|
87
|
-
Begin planning using the technical-planning skill.
|
|
88
|
-
```
|
|
11
|
+
---
|
|
89
12
|
|
|
90
|
-
|
|
13
|
+
**Forwarding to `/workflow:start-planning`...**
|
|
91
14
|
|
|
92
|
-
|
|
93
|
-
- The specification is the sole source of truth for planning - do not reference discussions
|
|
94
|
-
- Commit the plan files when complete
|
|
15
|
+
Run the `/workflow:start-planning` command now.
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: "[DEPRECATED] Use /workflow:start-research instead"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# Deprecated Command
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
⚠️ **`/start-research` is deprecated.** Use `/workflow:start-research` instead.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- What idea or topic do you want to explore?
|
|
11
|
-
- What prompted this - a problem, opportunity, curiosity?
|
|
9
|
+
The command has been renamed to use the `workflow:` prefix to distinguish workflow commands from standalone commands.
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
- Any initial thoughts or research you've done?
|
|
15
|
-
- Constraints or context I should be aware of?
|
|
11
|
+
---
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
- Technical feasibility? Market landscape? Business model?
|
|
19
|
-
- Or just talk it through and see where it goes?
|
|
13
|
+
**Forwarding to `/workflow:start-research`...**
|
|
20
14
|
|
|
21
|
-
|
|
15
|
+
Run the `/workflow:start-research` command now.
|
|
@@ -1,89 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: "[DEPRECATED] Use /workflow:start-specification instead"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# Deprecated Command
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
⚠️ **`/start-specification` is deprecated.** Use `/workflow:start-specification` instead.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
The command has been renamed to use the `workflow:` prefix to distinguish workflow commands from standalone commands.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Important
|
|
14
|
-
|
|
15
|
-
Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
|
|
16
|
-
|
|
17
|
-
## Step 1: Discover Existing Work
|
|
18
|
-
|
|
19
|
-
Scan the codebase for discussions and specifications:
|
|
20
|
-
|
|
21
|
-
1. **Find discussions**: Look in `docs/workflow/discussion/`
|
|
22
|
-
- Run `ls docs/workflow/discussion/` to list discussion files
|
|
23
|
-
- Each file is named `{topic}.md`
|
|
24
|
-
|
|
25
|
-
2. **Check discussion status**: For each discussion file
|
|
26
|
-
- Run `head -20 docs/workflow/discussion/{topic}.md` to read the frontmatter and extract the `status:` field
|
|
27
|
-
- Do NOT use bash loops - run separate `head` commands for each topic
|
|
28
|
-
|
|
29
|
-
3. **Check for existing specifications**: Look in `docs/workflow/specification/`
|
|
30
|
-
- Identify discussions that don't have corresponding specifications
|
|
31
|
-
|
|
32
|
-
## Step 2: Check Prerequisites
|
|
33
|
-
|
|
34
|
-
**If no discussions exist:**
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
⚠️ No discussions found in docs/workflow/discussion/
|
|
38
|
-
|
|
39
|
-
The specification phase requires a completed discussion. Please run /start-discussion first to document the technical decisions, edge cases, and rationale before creating a specification.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Stop here and wait for the user to acknowledge.
|
|
43
|
-
|
|
44
|
-
## Step 3: Present Options to User
|
|
45
|
-
|
|
46
|
-
Show what you found using a list like below:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
📂 Discussions found:
|
|
50
|
-
✅ {topic-1} - Concluded - ready for specification
|
|
51
|
-
⚠️ {topic-2} - Exploring - not ready for specification
|
|
52
|
-
✅ {topic-3} - Concluded - specification exists
|
|
53
|
-
|
|
54
|
-
Which discussion would you like to create a specification for?
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**Important:** Only concluded discussions should proceed to specification. If a discussion is still exploring, advise the user to complete the discussion phase first.
|
|
58
|
-
|
|
59
|
-
Ask: **Which discussion would you like to specify?**
|
|
60
|
-
|
|
61
|
-
## Step 4: Gather Additional Context
|
|
62
|
-
|
|
63
|
-
Ask:
|
|
64
|
-
- Any additional context or priorities to consider?
|
|
65
|
-
- Any constraints or changes since the discussion concluded?
|
|
66
|
-
- Are there any existing partial plans or related documentation I should review?
|
|
67
|
-
|
|
68
|
-
## Step 5: Invoke Specification Skill
|
|
69
|
-
|
|
70
|
-
Pass to the technical-specification skill:
|
|
71
|
-
- Discussion: `docs/workflow/discussion/{topic}.md`
|
|
72
|
-
- Output: `docs/workflow/specification/{topic}.md`
|
|
73
|
-
- Additional context gathered
|
|
74
|
-
|
|
75
|
-
**Example handoff:**
|
|
76
|
-
```
|
|
77
|
-
Specification session for: {topic}
|
|
78
|
-
Discussion: docs/workflow/discussion/{topic}.md
|
|
79
|
-
Output: docs/workflow/specification/{topic}.md
|
|
80
|
-
|
|
81
|
-
Begin specification using the technical-specification skill.
|
|
82
|
-
Reference: specification-guide.md
|
|
83
|
-
```
|
|
11
|
+
---
|
|
84
12
|
|
|
85
|
-
|
|
13
|
+
**Forwarding to `/workflow:start-specification`...**
|
|
86
14
|
|
|
87
|
-
|
|
88
|
-
- The specification phase validates and refines discussion content into a standalone document
|
|
89
|
-
- Commit the specification files frequently during the session
|
|
15
|
+
Run the `/workflow:start-specification` command now.
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start a technical discussion. Discovers research and existing discussions, offers multiple entry paths, and invokes the technical-discussion skill.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Invoke the **technical-discussion** skill for this conversation.
|
|
6
|
+
|
|
7
|
+
## Workflow Context
|
|
8
|
+
|
|
9
|
+
This is **Phase 2** of the six-phase workflow:
|
|
10
|
+
|
|
11
|
+
| Phase | Focus | You |
|
|
12
|
+
|-------|-------|-----|
|
|
13
|
+
| 1. Research | EXPLORE - ideas, feasibility, market, business | |
|
|
14
|
+
| **2. Discussion** | WHAT and WHY - decisions, architecture, edge cases | ◀ HERE |
|
|
15
|
+
| 3. Specification | REFINE - validate into standalone spec | |
|
|
16
|
+
| 4. Planning | HOW - phases, tasks, acceptance criteria | |
|
|
17
|
+
| 5. Implementation | DOING - tests first, then code | |
|
|
18
|
+
| 6. Review | VALIDATING - check work against artifacts | |
|
|
19
|
+
|
|
20
|
+
**Stay in your lane**: Capture the WHAT and WHY - decisions, rationale, competing approaches, edge cases. Don't jump to specifications, plans, or code. This is the time for debate and documentation.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
|
|
26
|
+
Follow these steps EXACTLY as written. Do not skip steps or combine them. Present output using the EXACT format shown in examples - do not simplify or alter the formatting.
|
|
27
|
+
|
|
28
|
+
Before beginning, discover existing work and determine the best entry path.
|
|
29
|
+
|
|
30
|
+
## Important
|
|
31
|
+
|
|
32
|
+
Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
|
|
33
|
+
|
|
34
|
+
## Step 1: Discover Existing Work
|
|
35
|
+
|
|
36
|
+
Scan the codebase for research and discussions:
|
|
37
|
+
|
|
38
|
+
1. **Find research**: Look in `docs/workflow/research/`
|
|
39
|
+
- Run `ls docs/workflow/research/` to list research files
|
|
40
|
+
- Note which files exist (may include `exploration.md` and semantic files like `market-landscape.md`)
|
|
41
|
+
|
|
42
|
+
2. **Find discussions**: Look in `docs/workflow/discussion/`
|
|
43
|
+
- Run `ls docs/workflow/discussion/` to list discussion files
|
|
44
|
+
- Each file is named `{topic}.md`
|
|
45
|
+
|
|
46
|
+
3. **Check discussion status**: For each discussion file
|
|
47
|
+
- Run `head -10 docs/workflow/discussion/{topic}.md` to extract the `Status:` field
|
|
48
|
+
- Status values: `Exploring`, `Deciding`, or `Concluded`
|
|
49
|
+
- Do NOT use bash loops - run separate commands for each file
|
|
50
|
+
|
|
51
|
+
4. **Check for cached analysis** (if research files exist):
|
|
52
|
+
- Check if `docs/workflow/.cache/research-analysis.md` exists
|
|
53
|
+
- If it exists, read it to get the stored checksum from the frontmatter
|
|
54
|
+
|
|
55
|
+
5. **Compute current research checksum** (if research files exist):
|
|
56
|
+
- Run exactly: `cat docs/workflow/research/*.md 2>/dev/null | md5sum | cut -d' ' -f1`
|
|
57
|
+
- IMPORTANT: Use this exact command - glob expansion is alphabetically sorted by default
|
|
58
|
+
- Do NOT modify or "simplify" this command - checksum must be deterministic
|
|
59
|
+
- Store this value to compare with the cached checksum
|
|
60
|
+
|
|
61
|
+
## Step 2: Present Workflow State and Options
|
|
62
|
+
|
|
63
|
+
Present the workflow state and available options based on what was discovered.
|
|
64
|
+
|
|
65
|
+
**Format:**
|
|
66
|
+
```
|
|
67
|
+
📂 Workflow state:
|
|
68
|
+
📚 Research: {count} files found / None found
|
|
69
|
+
💬 Discussions: {count} existing / None yet
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Then present the appropriate options:
|
|
73
|
+
|
|
74
|
+
**If research AND discussions exist:**
|
|
75
|
+
```
|
|
76
|
+
How would you like to proceed?
|
|
77
|
+
|
|
78
|
+
1. **From research** - Analyze research and suggest undiscussed topics
|
|
79
|
+
2. **Continue discussion** - Resume an existing discussion
|
|
80
|
+
3. **Fresh topic** - Start a new discussion
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**If ONLY research exists:**
|
|
84
|
+
```
|
|
85
|
+
How would you like to proceed?
|
|
86
|
+
|
|
87
|
+
1. **From research** - Analyze research and suggest topics to discuss
|
|
88
|
+
2. **Fresh topic** - Start a new discussion
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**If ONLY discussions exist:**
|
|
92
|
+
```
|
|
93
|
+
How would you like to proceed?
|
|
94
|
+
|
|
95
|
+
1. **Continue discussion** - Resume an existing discussion
|
|
96
|
+
2. **Fresh topic** - Start a new discussion
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**If NOTHING exists:**
|
|
100
|
+
```
|
|
101
|
+
Starting fresh - no prior research or discussions found.
|
|
102
|
+
|
|
103
|
+
What topic would you like to discuss?
|
|
104
|
+
```
|
|
105
|
+
Then skip to Step 5 (Fresh topic path).
|
|
106
|
+
|
|
107
|
+
Wait for the user to choose before proceeding.
|
|
108
|
+
|
|
109
|
+
## Step 3A: "From research" Path
|
|
110
|
+
|
|
111
|
+
This step uses caching to avoid re-analyzing unchanged research documents.
|
|
112
|
+
|
|
113
|
+
### Step 3A.1: Check Cache Validity
|
|
114
|
+
|
|
115
|
+
Compare the current research checksum (computed in Step 1.5) with the cached checksum:
|
|
116
|
+
|
|
117
|
+
**If cache exists AND checksums match:**
|
|
118
|
+
```
|
|
119
|
+
📋 Using cached analysis
|
|
120
|
+
|
|
121
|
+
Research documents unchanged since last analysis ({date from cache}).
|
|
122
|
+
Loading {count} previously identified topics...
|
|
123
|
+
|
|
124
|
+
💡 To force a fresh analysis, enter: refresh
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Then load the topics from the cache file and skip to Step 3A.3 (Cross-reference).
|
|
128
|
+
|
|
129
|
+
**If cache missing OR checksums differ:**
|
|
130
|
+
```
|
|
131
|
+
🔍 Analyzing research documents...
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Proceed to Step 3A.2 (Full Analysis).
|
|
135
|
+
|
|
136
|
+
### Step 3A.2: Full Analysis (when cache invalid)
|
|
137
|
+
|
|
138
|
+
Read each research file and analyze the content to extract key themes and potential discussion topics. For each theme:
|
|
139
|
+
- Note the source file and relevant line numbers
|
|
140
|
+
- Summarize what the theme is about in 1-2 sentences
|
|
141
|
+
- Identify key questions or decisions that need discussion
|
|
142
|
+
|
|
143
|
+
**Be thorough**: This analysis will be cached, so take time to identify ALL potential topics including:
|
|
144
|
+
- Major architectural decisions
|
|
145
|
+
- Technical trade-offs mentioned
|
|
146
|
+
- Open questions or concerns raised
|
|
147
|
+
- Implementation approaches discussed
|
|
148
|
+
- Integration points with external systems
|
|
149
|
+
- Security or performance considerations
|
|
150
|
+
- Edge cases or error handling mentioned
|
|
151
|
+
|
|
152
|
+
**Save to cache:**
|
|
153
|
+
After analysis, create/update `docs/workflow/.cache/research-analysis.md`:
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
---
|
|
157
|
+
checksum: {computed_checksum}
|
|
158
|
+
generated: {ISO date}
|
|
159
|
+
research_files:
|
|
160
|
+
- {filename1}.md
|
|
161
|
+
- {filename2}.md
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
# Research Analysis Cache
|
|
165
|
+
|
|
166
|
+
## Topics
|
|
167
|
+
|
|
168
|
+
### {Theme name}
|
|
169
|
+
- **Source**: {filename}.md (lines {start}-{end})
|
|
170
|
+
- **Summary**: {1-2 sentence summary}
|
|
171
|
+
- **Key questions**: {what needs deciding}
|
|
172
|
+
|
|
173
|
+
### {Another theme}
|
|
174
|
+
- **Source**: {filename}.md (lines {start}-{end})
|
|
175
|
+
- **Summary**: {1-2 sentence summary}
|
|
176
|
+
- **Key questions**: {what needs deciding}
|
|
177
|
+
|
|
178
|
+
[... more topics ...]
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Ensure the `.cache` directory exists: `mkdir -p docs/workflow/.cache`
|
|
182
|
+
|
|
183
|
+
### Step 3A.3: Cross-reference with Discussions
|
|
184
|
+
|
|
185
|
+
**Always performed** (whether using cache or fresh analysis):
|
|
186
|
+
|
|
187
|
+
For each identified topic, check if a corresponding discussion already exists in `docs/workflow/discussion/`.
|
|
188
|
+
|
|
189
|
+
### Step 3A.4: Present Findings
|
|
190
|
+
|
|
191
|
+
**If using cached analysis:**
|
|
192
|
+
```
|
|
193
|
+
📋 Cached analysis (research unchanged since {date})
|
|
194
|
+
|
|
195
|
+
💡 Topics identified:
|
|
196
|
+
|
|
197
|
+
✨ {Theme name}
|
|
198
|
+
Source: {filename}.md (lines {start}-{end})
|
|
199
|
+
"{Brief summary}"
|
|
200
|
+
|
|
201
|
+
✅ {Already discussed theme} → discussed in {topic}.md
|
|
202
|
+
Source: {filename}.md (lines {start}-{end})
|
|
203
|
+
"{Brief summary}"
|
|
204
|
+
|
|
205
|
+
Which topic would you like to discuss? (Or enter 'refresh' for fresh analysis)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**If fresh analysis:**
|
|
209
|
+
```
|
|
210
|
+
🔍 Analysis complete (cached for future sessions)
|
|
211
|
+
|
|
212
|
+
💡 Topics identified:
|
|
213
|
+
|
|
214
|
+
✨ {Theme name}
|
|
215
|
+
Source: {filename}.md (lines {start}-{end})
|
|
216
|
+
"{Brief summary}"
|
|
217
|
+
|
|
218
|
+
✅ {Already discussed theme} → discussed in {topic}.md
|
|
219
|
+
Source: {filename}.md (lines {start}-{end})
|
|
220
|
+
"{Brief summary}"
|
|
221
|
+
|
|
222
|
+
Which topic would you like to discuss? (Or describe something else)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Key:**
|
|
226
|
+
- ✨ = Undiscussed topic (potential new discussion)
|
|
227
|
+
- ✅ = Already has a corresponding discussion
|
|
228
|
+
|
|
229
|
+
### Step 3A.5: Handle "refresh" Request
|
|
230
|
+
|
|
231
|
+
If user enters `refresh`:
|
|
232
|
+
- Delete the cache file: `rm docs/workflow/.cache/research-analysis.md`
|
|
233
|
+
- Return to Step 3A.2 (Full Analysis)
|
|
234
|
+
- Inform user: "Refreshing analysis..."
|
|
235
|
+
|
|
236
|
+
**Important:** Keep track of the source file and line numbers for the chosen topic - this will be passed to the skill.
|
|
237
|
+
|
|
238
|
+
Wait for the user to choose before proceeding to Step 4.
|
|
239
|
+
|
|
240
|
+
## Step 3B: "Continue discussion" Path
|
|
241
|
+
|
|
242
|
+
List existing discussions with their status:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
💬 Existing discussions:
|
|
246
|
+
|
|
247
|
+
⚡ {topic}.md — {Status}
|
|
248
|
+
"{Brief description from context section}"
|
|
249
|
+
|
|
250
|
+
⚡ {topic}.md — {Status}
|
|
251
|
+
"{Brief description}"
|
|
252
|
+
|
|
253
|
+
✅ {topic}.md — Concluded
|
|
254
|
+
"{Brief description}"
|
|
255
|
+
|
|
256
|
+
Which discussion would you like to continue?
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Key:**
|
|
260
|
+
- ⚡ = In progress (Exploring or Deciding)
|
|
261
|
+
- ✅ = Concluded (can still be continued/reopened)
|
|
262
|
+
|
|
263
|
+
Wait for the user to choose, then proceed to Step 4.
|
|
264
|
+
|
|
265
|
+
## Step 3C: "Fresh topic" Path
|
|
266
|
+
|
|
267
|
+
Proceed directly to Step 4.
|
|
268
|
+
|
|
269
|
+
## Step 4: Gather Context
|
|
270
|
+
|
|
271
|
+
Gather context based on the chosen path.
|
|
272
|
+
|
|
273
|
+
**If starting new discussion (from research or fresh):**
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
## New discussion: {topic}
|
|
277
|
+
|
|
278
|
+
Before we begin:
|
|
279
|
+
|
|
280
|
+
1. What's the core problem or decision we need to work through?
|
|
281
|
+
|
|
282
|
+
2. Any constraints or context I should know about?
|
|
283
|
+
|
|
284
|
+
3. Are there specific files in the codebase I should review first?
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Wait for responses before proceeding.
|
|
288
|
+
|
|
289
|
+
**If continuing existing discussion:**
|
|
290
|
+
|
|
291
|
+
Read the existing discussion document first, then ask:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
## Continuing: {topic}
|
|
295
|
+
|
|
296
|
+
I've read the existing discussion.
|
|
297
|
+
|
|
298
|
+
What would you like to focus on in this session?
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Wait for response before proceeding.
|
|
302
|
+
|
|
303
|
+
## Step 5: Invoke Discussion Skill
|
|
304
|
+
|
|
305
|
+
Begin the discussion session with appropriate context based on the path taken.
|
|
306
|
+
|
|
307
|
+
**If from research:**
|
|
308
|
+
```
|
|
309
|
+
Discussion session for: {topic}
|
|
310
|
+
Output: docs/workflow/discussion/{topic}.md
|
|
311
|
+
|
|
312
|
+
## Research Reference
|
|
313
|
+
Source: docs/workflow/research/{filename}.md (lines {start}-{end})
|
|
314
|
+
Summary: {the 1-2 sentence summary from Step 3A}
|
|
315
|
+
|
|
316
|
+
Begin discussion using the technical-discussion skill.
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**If continuing or fresh:**
|
|
320
|
+
```
|
|
321
|
+
Discussion session for: {topic}
|
|
322
|
+
Source: {existing discussion | fresh}
|
|
323
|
+
Output: docs/workflow/discussion/{topic}.md
|
|
324
|
+
|
|
325
|
+
Begin discussion using the technical-discussion skill.
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**Setup:**
|
|
329
|
+
- Ensure discussion directory exists: `docs/workflow/discussion/`
|
|
330
|
+
- If new: Create file using the template structure
|
|
331
|
+
- If continuing: Work with existing file
|
|
332
|
+
- Commit frequently at natural discussion breaks
|
|
333
|
+
|
|
334
|
+
## Notes
|
|
335
|
+
|
|
336
|
+
- Ask questions clearly and wait for responses before proceeding
|
|
337
|
+
- Discussion captures WHAT and WHY - don't jump to specifications or implementation
|
|
338
|
+
- The goal is to work through edge cases, debates, and decisions before planning
|
|
339
|
+
- Commit the discussion document frequently during the session
|