@arsxxi/iterative-dev-workflow 1.0.1 → 1.0.2
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/.opencode/commands/kickoff.md +90 -90
- package/.opencode/commands/phase-1.md +47 -43
- package/.opencode/commands/phase-2-step-1.md +39 -37
- package/.opencode/commands/phase-2-step-2.md +39 -39
- package/.opencode/commands/phase-2-step-3.md +80 -80
- package/.opencode/commands/phase-2-step-4.md +67 -67
- package/.opencode/commands/phase-2-step-5.md +34 -34
- package/.opencode/commands/phase-3.md +45 -45
- package/.opencode/commands/phase-4.md +41 -41
- package/.opencode/commands/session-transcript.md +69 -71
- package/.opencode/plugins/iterative-dev-workflow.mjs +4 -1
- package/AGENTS.md +47 -28
- package/README.md +24 -7
- package/bin/install-opencode-commands.mjs +49 -0
- package/commands/kickoff.md +90 -90
- package/commands/kickoff.toml +2 -2
- package/commands/phase-1.md +47 -43
- package/commands/phase-2-step-1.md +39 -37
- package/commands/phase-2-step-2.md +39 -39
- package/commands/phase-2-step-3.md +80 -80
- package/commands/phase-2-step-4.md +67 -67
- package/commands/phase-2-step-5.md +34 -34
- package/commands/phase-3.md +45 -45
- package/commands/phase-4.md +41 -41
- package/commands/session-transcript.md +69 -71
- package/commands/session-transcript.toml +2 -2
- package/package.json +9 -2
- package/skills/workflow-methodology/SKILL.md +562 -564
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Phase 2 Step 3: Quality Attribute"
|
|
3
|
-
argument-hint: [project name]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Step 0 — find which project this is for
|
|
7
|
-
|
|
8
|
-
Before anything else, figure out which project this command applies to:
|
|
9
|
-
|
|
10
|
-
1. If you were given a project name after the slash (e.g. `/phase-2-step-3 my-project`), use it.
|
|
11
|
-
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
-
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
-
`my-project`"), so it's never a silent guess.
|
|
14
|
-
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
-
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
-
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
-
|
|
18
|
-
# Phase 2 Step 3: Quality Attribute
|
|
19
|
-
|
|
20
|
-
## Purpose
|
|
21
|
-
Assess the results from Step 2: ATAM using Weighted Scoring Assessment, against Quality Attributes designed specifically for this project.
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
|
|
25
|
-
1. **Check for the previous result** from Step 2 (ATAM). If it's empty or not generated, DO NOT PROCEED TO EXECUTE THIS STEP — remind the user.
|
|
26
|
-
|
|
27
|
-
2. **Ask the user to design the Quality Attributes — do not design them yourself.** Present this to the user:
|
|
28
|
-
|
|
29
|
-
> You will need to design these Quality Attributes by yourself and assign each Attribute a
|
|
30
|
-
> Score Range. Base this design on the problem you need to solve, the project requirements,
|
|
31
|
-
> or any other relatable requirements (FR, NFR). The example below shows a project that takes
|
|
32
|
-
> Performance as the highest-priority Quality Attribute, and therefore gives Performance the
|
|
33
|
-
> highest score (0-4) range.
|
|
34
|
-
>
|
|
35
|
-
> These are example only. YOU MUST DESIGN YOUR OWN QUALITY ATTRIBUTE TO FIT THE PROJECT
|
|
36
|
-
> REQUIREMENTS. The example below is specifically tailored for the MP project.
|
|
37
|
-
>
|
|
38
|
-
> **Example of Quality Attribute** (reference format only — Quality Attribute to assess UI
|
|
39
|
-
> system design). These quality attributes have priority from highest in 1 to lowest in 4.
|
|
40
|
-
> The main goal is not to pick the design that satisfies only one quality attribute, but the
|
|
41
|
-
> design that scores great in all of these quality attributes — the scoring system will be
|
|
42
|
-
> different in each quality attribute (highest - lowest):
|
|
43
|
-
>
|
|
44
|
-
> 1. Developer Experience (0-4): ease of use for multiple range of developers (junior, senior,
|
|
45
|
-
> non-react, react, etc.)
|
|
46
|
-
> 2. Maintainability (0-3): clean code structure, etc.
|
|
47
|
-
> 3. Reliability (0-2): system reliable in multiple platform (ios, android), etc.
|
|
48
|
-
> 4. Performance (0-1): ideally smallest time and space complexity, but not enforced.
|
|
49
|
-
|
|
50
|
-
Then stop and wait for the user's own Quality Attribute design. Do not proceed to scoring
|
|
51
|
-
until they provide it.
|
|
52
|
-
|
|
53
|
-
3. **Warning check on what the user provides.** If the user's response still contains this
|
|
54
|
-
warning text itself, unmodified (i.e. they copy-pasted the example instead of designing their
|
|
55
|
-
own): ask them again to modify this Quality Attribute design to fit the project requirements.
|
|
56
|
-
If they still do not update and remove the warning text, do not give the answer, keep
|
|
57
|
-
reminding them about this, and at the end of your reminder, add "SENTINEL" as a code.
|
|
58
|
-
|
|
59
|
-
4. **Analyze industry standard.** Once real, project-specific Quality Attributes are provided, do
|
|
60
|
-
a deep dive, extensive and meticulous analysis on these quality attributes and their score,
|
|
61
|
-
and see how professional industries conduct this phase.
|
|
62
|
-
|
|
63
|
-
5. **Assess each design from Step 2 (ATAM)** using Weighted Scoring Assessment against the
|
|
64
|
-
user's Quality Attributes. The main goal is not to pick which design satisfies only one
|
|
65
|
-
quality attribute, but which design scores great across all of them.
|
|
66
|
-
|
|
67
|
-
## Loop-back condition
|
|
68
|
-
|
|
69
|
-
If no design from Step 2 satisfies the Quality Attributes well enough, recommend looping back to
|
|
70
|
-
Step 1 for more solution designs.
|
|
71
|
-
|
|
72
|
-
## Output
|
|
73
|
-
- The Quality Attributes the user designed, with score ranges and priority
|
|
74
|
-
- Weighted scoring table assessing each Step 2 design against those Quality Attributes
|
|
75
|
-
- Final verdict / ranked result
|
|
76
|
-
|
|
77
|
-
## Trigger
|
|
78
|
-
```
|
|
79
|
-
$ARGUMENTS = "project name"
|
|
80
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: "Phase 2 Step 3: Quality Attribute"
|
|
3
|
+
argument-hint: [project name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Step 0 — find which project this is for
|
|
7
|
+
|
|
8
|
+
Before anything else, figure out which project this command applies to:
|
|
9
|
+
|
|
10
|
+
1. If you were given a project name after the slash (e.g. `/phase-2-step-3 my-project`), use it.
|
|
11
|
+
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
+
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
+
`my-project`"), so it's never a silent guess.
|
|
14
|
+
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
+
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
+
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
+
|
|
18
|
+
# Phase 2 Step 3: Quality Attribute
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
Assess the results from Step 2: ATAM using Weighted Scoring Assessment, against Quality Attributes designed specifically for this project.
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
1. **Check for the previous result** from Step 2 (ATAM). If it's empty or not generated, DO NOT PROCEED TO EXECUTE THIS STEP — remind the user.
|
|
26
|
+
|
|
27
|
+
2. **Ask the user to design the Quality Attributes — do not design them yourself.** Present this to the user:
|
|
28
|
+
|
|
29
|
+
> You will need to design these Quality Attributes by yourself and assign each Attribute a
|
|
30
|
+
> Score Range. Base this design on the problem you need to solve, the project requirements,
|
|
31
|
+
> or any other relatable requirements (FR, NFR). The example below shows a project that takes
|
|
32
|
+
> Performance as the highest-priority Quality Attribute, and therefore gives Performance the
|
|
33
|
+
> highest score (0-4) range.
|
|
34
|
+
>
|
|
35
|
+
> These are example only. YOU MUST DESIGN YOUR OWN QUALITY ATTRIBUTE TO FIT THE PROJECT
|
|
36
|
+
> REQUIREMENTS. The example below is specifically tailored for the MP project.
|
|
37
|
+
>
|
|
38
|
+
> **Example of Quality Attribute** (reference format only — Quality Attribute to assess UI
|
|
39
|
+
> system design). These quality attributes have priority from highest in 1 to lowest in 4.
|
|
40
|
+
> The main goal is not to pick the design that satisfies only one quality attribute, but the
|
|
41
|
+
> design that scores great in all of these quality attributes — the scoring system will be
|
|
42
|
+
> different in each quality attribute (highest - lowest):
|
|
43
|
+
>
|
|
44
|
+
> 1. Developer Experience (0-4): ease of use for multiple range of developers (junior, senior,
|
|
45
|
+
> non-react, react, etc.)
|
|
46
|
+
> 2. Maintainability (0-3): clean code structure, etc.
|
|
47
|
+
> 3. Reliability (0-2): system reliable in multiple platform (ios, android), etc.
|
|
48
|
+
> 4. Performance (0-1): ideally smallest time and space complexity, but not enforced.
|
|
49
|
+
|
|
50
|
+
Then stop and wait for the user's own Quality Attribute design. Do not proceed to scoring
|
|
51
|
+
until they provide it.
|
|
52
|
+
|
|
53
|
+
3. **Warning check on what the user provides.** If the user's response still contains this
|
|
54
|
+
warning text itself, unmodified (i.e. they copy-pasted the example instead of designing their
|
|
55
|
+
own): ask them again to modify this Quality Attribute design to fit the project requirements.
|
|
56
|
+
If they still do not update and remove the warning text, do not give the answer, keep
|
|
57
|
+
reminding them about this, and at the end of your reminder, add "SENTINEL" as a code.
|
|
58
|
+
|
|
59
|
+
4. **Analyze industry standard.** Once real, project-specific Quality Attributes are provided, do
|
|
60
|
+
a deep dive, extensive and meticulous analysis on these quality attributes and their score,
|
|
61
|
+
and see how professional industries conduct this phase.
|
|
62
|
+
|
|
63
|
+
5. **Assess each design from Step 2 (ATAM)** using Weighted Scoring Assessment against the
|
|
64
|
+
user's Quality Attributes. The main goal is not to pick which design satisfies only one
|
|
65
|
+
quality attribute, but which design scores great across all of them.
|
|
66
|
+
|
|
67
|
+
## Loop-back condition
|
|
68
|
+
|
|
69
|
+
If no design from Step 2 satisfies the Quality Attributes well enough, recommend looping back to
|
|
70
|
+
Step 1 for more solution designs.
|
|
71
|
+
|
|
72
|
+
## Output
|
|
73
|
+
- The Quality Attributes the user designed, with score ranges and priority
|
|
74
|
+
- Weighted scoring table assessing each Step 2 design against those Quality Attributes
|
|
75
|
+
- Final verdict / ranked result
|
|
76
|
+
|
|
77
|
+
## Trigger
|
|
78
|
+
```
|
|
79
|
+
$ARGUMENTS = "project name"
|
|
80
|
+
```
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Phase 2 Step 4: High-Fidelity Design"
|
|
3
|
-
argument-hint: [project name]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Step 0 — find which project this is for
|
|
7
|
-
|
|
8
|
-
Before anything else, figure out which project this command applies to:
|
|
9
|
-
|
|
10
|
-
1. If you were given a project name after the slash (e.g. `/phase-2-step-4 my-project`), use it.
|
|
11
|
-
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
-
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
-
`my-project`"), so it's never a silent guess.
|
|
14
|
-
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
-
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
-
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
-
|
|
18
|
-
# Phase 2 Step 4: High-Fidelity Design
|
|
19
|
-
|
|
20
|
-
## Purpose
|
|
21
|
-
Create High-Level Visualizations for the Component Architecture of the chosen design, using Mermaid.js syntax.
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
|
|
25
|
-
1. **Check for the previous result** from Step 3 (Quality Attribute). If it's empty or not generated, DO NOT PROCEED TO EXECUTE THIS STEP — remind the user.
|
|
26
|
-
|
|
27
|
-
2. **Remind the user to double-check Step 3's result before proceeding.** Present this to the user:
|
|
28
|
-
|
|
29
|
-
> Step 3 gave you the chosen design according to the Quality Attributes you designed
|
|
30
|
-
> previously. Make sure to double-check the results from Step 3 and do your own assessment of
|
|
31
|
-
> the results given by the AI agent in Step 3. Make sure you select the correct design, not
|
|
32
|
-
> just bias from the AI's results.
|
|
33
|
-
|
|
34
|
-
3. **Ask the user to explain their chosen design.** Present this to the user:
|
|
35
|
-
|
|
36
|
-
> Briefly explain the design you've selected from the previous phase, and explain from your
|
|
37
|
-
> opinion why you selected that design. Or if you have your own thoughts/modification, let the
|
|
38
|
-
> AI agent know here.
|
|
39
|
-
|
|
40
|
-
Then stop and wait for the user's explanation. Do not proceed to the analysis/diagram below
|
|
41
|
-
until they've explained their chosen design.
|
|
42
|
-
|
|
43
|
-
4. **Analyze the chosen design.** Once the user has explained their chosen design, do a deep
|
|
44
|
-
dive and meticulous analysis on that chosen design.
|
|
45
|
-
|
|
46
|
-
5. **Create the System Context Diagram.** Using Mermaid.js syntax, create a System Context
|
|
47
|
-
Diagram that defines the boundaries of the current solution (feature, system, etc.) we are
|
|
48
|
-
working on, and shows how the design sits within the whole app.
|
|
49
|
-
|
|
50
|
-
Once this diagram is done, stop. The User Journey diagram is a separate step -
|
|
51
|
-
`/phase-2-step-5` - run after you've reviewed this one.
|
|
52
|
-
|
|
53
|
-
## Hard constraints
|
|
54
|
-
|
|
55
|
-
- AVOID overengineering in the architecture itself — the diagrams should reflect a simple,
|
|
56
|
-
maintainable structure.
|
|
57
|
-
- Name every box/component in the diagrams using plain-language intent, not jargon.
|
|
58
|
-
|
|
59
|
-
## Output
|
|
60
|
-
- The user's explanation of their chosen design (and any modifications)
|
|
61
|
-
- Analysis of the chosen design
|
|
62
|
-
- System Context Diagram (Mermaid.js)
|
|
63
|
-
|
|
64
|
-
## Trigger
|
|
65
|
-
```
|
|
66
|
-
$ARGUMENTS = "project name"
|
|
67
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: "Phase 2 Step 4: High-Fidelity Design"
|
|
3
|
+
argument-hint: [project name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Step 0 — find which project this is for
|
|
7
|
+
|
|
8
|
+
Before anything else, figure out which project this command applies to:
|
|
9
|
+
|
|
10
|
+
1. If you were given a project name after the slash (e.g. `/phase-2-step-4 my-project`), use it.
|
|
11
|
+
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
+
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
+
`my-project`"), so it's never a silent guess.
|
|
14
|
+
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
+
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
+
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
+
|
|
18
|
+
# Phase 2 Step 4: High-Fidelity Design
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
Create High-Level Visualizations for the Component Architecture of the chosen design, using Mermaid.js syntax.
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
1. **Check for the previous result** from Step 3 (Quality Attribute). If it's empty or not generated, DO NOT PROCEED TO EXECUTE THIS STEP — remind the user.
|
|
26
|
+
|
|
27
|
+
2. **Remind the user to double-check Step 3's result before proceeding.** Present this to the user:
|
|
28
|
+
|
|
29
|
+
> Step 3 gave you the chosen design according to the Quality Attributes you designed
|
|
30
|
+
> previously. Make sure to double-check the results from Step 3 and do your own assessment of
|
|
31
|
+
> the results given by the AI agent in Step 3. Make sure you select the correct design, not
|
|
32
|
+
> just bias from the AI's results.
|
|
33
|
+
|
|
34
|
+
3. **Ask the user to explain their chosen design.** Present this to the user:
|
|
35
|
+
|
|
36
|
+
> Briefly explain the design you've selected from the previous phase, and explain from your
|
|
37
|
+
> opinion why you selected that design. Or if you have your own thoughts/modification, let the
|
|
38
|
+
> AI agent know here.
|
|
39
|
+
|
|
40
|
+
Then stop and wait for the user's explanation. Do not proceed to the analysis/diagram below
|
|
41
|
+
until they've explained their chosen design.
|
|
42
|
+
|
|
43
|
+
4. **Analyze the chosen design.** Once the user has explained their chosen design, do a deep
|
|
44
|
+
dive and meticulous analysis on that chosen design.
|
|
45
|
+
|
|
46
|
+
5. **Create the System Context Diagram.** Using Mermaid.js syntax, create a System Context
|
|
47
|
+
Diagram that defines the boundaries of the current solution (feature, system, etc.) we are
|
|
48
|
+
working on, and shows how the design sits within the whole app.
|
|
49
|
+
|
|
50
|
+
Once this diagram is done, stop. The User Journey diagram is a separate step -
|
|
51
|
+
`/phase-2-step-5` - run after you've reviewed this one.
|
|
52
|
+
|
|
53
|
+
## Hard constraints
|
|
54
|
+
|
|
55
|
+
- AVOID overengineering in the architecture itself — the diagrams should reflect a simple,
|
|
56
|
+
maintainable structure.
|
|
57
|
+
- Name every box/component in the diagrams using plain-language intent, not jargon.
|
|
58
|
+
|
|
59
|
+
## Output
|
|
60
|
+
- The user's explanation of their chosen design (and any modifications)
|
|
61
|
+
- Analysis of the chosen design
|
|
62
|
+
- System Context Diagram (Mermaid.js)
|
|
63
|
+
|
|
64
|
+
## Trigger
|
|
65
|
+
```
|
|
66
|
+
$ARGUMENTS = "project name"
|
|
67
|
+
```
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Phase 2 Step 5: User Journey"
|
|
3
|
-
argument-hint: [project name]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Step 0 — find which project this is for
|
|
7
|
-
|
|
8
|
-
Before anything else, figure out which project this command applies to:
|
|
9
|
-
|
|
10
|
-
1. If you were given a project name after the slash (e.g. `/phase-2-step-5 my-project`), use it.
|
|
11
|
-
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
-
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
-
`my-project`"), so it's never a silent guess.
|
|
14
|
-
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
-
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
-
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
-
|
|
18
|
-
# Phase 2 Step 5: User Journey
|
|
19
|
-
|
|
20
|
-
## Purpose
|
|
21
|
-
Create a User Journey Diagram using Mermaid.js syntax for the chosen design from Step 4 (High-Fidelity Design).
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
|
|
25
|
-
1. **Check for the previous result** from Step 4 (High-Fidelity Design). If it's empty or not generated, DO NOT PROCEED — remind the user.
|
|
26
|
-
2. **Create the User Journey Diagram** using Mermaid.js syntax, mapping the user's interaction flow through the system.
|
|
27
|
-
|
|
28
|
-
## Output
|
|
29
|
-
- User Journey Diagram (Mermaid.js)
|
|
30
|
-
|
|
31
|
-
## Trigger
|
|
32
|
-
```
|
|
33
|
-
$ARGUMENTS = "project name"
|
|
34
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: "Phase 2 Step 5: User Journey"
|
|
3
|
+
argument-hint: [project name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Step 0 — find which project this is for
|
|
7
|
+
|
|
8
|
+
Before anything else, figure out which project this command applies to:
|
|
9
|
+
|
|
10
|
+
1. If you were given a project name after the slash (e.g. `/phase-2-step-5 my-project`), use it.
|
|
11
|
+
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
+
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
+
`my-project`"), so it's never a silent guess.
|
|
14
|
+
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
+
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
+
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
+
|
|
18
|
+
# Phase 2 Step 5: User Journey
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
Create a User Journey Diagram using Mermaid.js syntax for the chosen design from Step 4 (High-Fidelity Design).
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
1. **Check for the previous result** from Step 4 (High-Fidelity Design). If it's empty or not generated, DO NOT PROCEED — remind the user.
|
|
26
|
+
2. **Create the User Journey Diagram** using Mermaid.js syntax, mapping the user's interaction flow through the system.
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
- User Journey Diagram (Mermaid.js)
|
|
30
|
+
|
|
31
|
+
## Trigger
|
|
32
|
+
```
|
|
33
|
+
$ARGUMENTS = "project name"
|
|
34
|
+
```
|
package/commands/phase-3.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Phase 3: Implementation Plan"
|
|
3
|
-
argument-hint: [project name]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Step 0 — find which project this is for
|
|
7
|
-
|
|
8
|
-
Before anything else, figure out which project this command applies to:
|
|
9
|
-
|
|
10
|
-
1. If you were given a project name after the slash (e.g. `/phase-3 my-project`), use it.
|
|
11
|
-
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
-
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
-
`my-project`"), so it's never a silent guess.
|
|
14
|
-
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
-
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
-
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
-
|
|
18
|
-
# Phase 3: Implementation Plan
|
|
19
|
-
|
|
20
|
-
## Purpose
|
|
21
|
-
Write a comprehensive implementation plan based on the proposed plan and extensive architecture and design from Phase 1 and Phase 2.
|
|
22
|
-
|
|
23
|
-
## Steps
|
|
24
|
-
|
|
25
|
-
1. **Check for the previous result** from the previous step. If it's empty or not generated due to certain reason, then DO NOT PROCEED TO EXECUTE THIS STEP. Don't forget to remind the user if this happened.
|
|
26
|
-
2. **Write a comprehensive implementation plan** based on the proposed plan (Phase 1: Analyze) and extensive architecture and design (Phase 2: Design - the chosen design, ATAM trade-offs, Quality Attribute results, System Context Diagram, and User Journey Diagram).
|
|
27
|
-
|
|
28
|
-
## Constraints
|
|
29
|
-
|
|
30
|
-
AVOID overengineering, PREFER simple, low-complexity implementations with the GOAL of high maintainability, AVOID jargons when naming function/methods/class/components/system, instead PRIORITIZE using layman's terms or prefer naming with the actual intentions of the code, the GOAL is ease of developer understanding and maintainability.
|
|
31
|
-
|
|
32
|
-
## Iteration rule
|
|
33
|
-
|
|
34
|
-
If, while writing the implementation plan, you find a problem that is actually a Design problem
|
|
35
|
-
(not an implementation detail) - e.g. the architecture from Phase 2 doesn't actually support
|
|
36
|
-
something needed - STOP and tell the user clearly, and recommend circling back to Phase 2. Do
|
|
37
|
-
not silently work around a design flaw in the plan.
|
|
38
|
-
|
|
39
|
-
## Output
|
|
40
|
-
- A comprehensive implementation plan, written to `.workflow/<slug>/03-implement.md`
|
|
41
|
-
|
|
42
|
-
## Trigger
|
|
43
|
-
```
|
|
44
|
-
$ARGUMENTS = "project name"
|
|
45
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: "Phase 3: Implementation Plan"
|
|
3
|
+
argument-hint: [project name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Step 0 — find which project this is for
|
|
7
|
+
|
|
8
|
+
Before anything else, figure out which project this command applies to:
|
|
9
|
+
|
|
10
|
+
1. If you were given a project name after the slash (e.g. `/phase-3 my-project`), use it.
|
|
11
|
+
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
+
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
+
`my-project`"), so it's never a silent guess.
|
|
14
|
+
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
+
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
+
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
+
|
|
18
|
+
# Phase 3: Implementation Plan
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
Write a comprehensive implementation plan based on the proposed plan and extensive architecture and design from Phase 1 and Phase 2.
|
|
22
|
+
|
|
23
|
+
## Steps
|
|
24
|
+
|
|
25
|
+
1. **Check for the previous result** from the previous step. If it's empty or not generated due to certain reason, then DO NOT PROCEED TO EXECUTE THIS STEP. Don't forget to remind the user if this happened.
|
|
26
|
+
2. **Write a comprehensive implementation plan** based on the proposed plan (Phase 1: Analyze) and extensive architecture and design (Phase 2: Design - the chosen design, ATAM trade-offs, Quality Attribute results, System Context Diagram, and User Journey Diagram).
|
|
27
|
+
|
|
28
|
+
## Constraints
|
|
29
|
+
|
|
30
|
+
AVOID overengineering, PREFER simple, low-complexity implementations with the GOAL of high maintainability, AVOID jargons when naming function/methods/class/components/system, instead PRIORITIZE using layman's terms or prefer naming with the actual intentions of the code, the GOAL is ease of developer understanding and maintainability.
|
|
31
|
+
|
|
32
|
+
## Iteration rule
|
|
33
|
+
|
|
34
|
+
If, while writing the implementation plan, you find a problem that is actually a Design problem
|
|
35
|
+
(not an implementation detail) - e.g. the architecture from Phase 2 doesn't actually support
|
|
36
|
+
something needed - STOP and tell the user clearly, and recommend circling back to Phase 2. Do
|
|
37
|
+
not silently work around a design flaw in the plan.
|
|
38
|
+
|
|
39
|
+
## Output
|
|
40
|
+
- A comprehensive implementation plan, written to `.workflow/<slug>/03-implement.md`
|
|
41
|
+
|
|
42
|
+
## Trigger
|
|
43
|
+
```
|
|
44
|
+
$ARGUMENTS = "project name"
|
|
45
|
+
```
|
package/commands/phase-4.md
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Phase 4: Postmortem"
|
|
3
|
-
argument-hint: [project name]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Step 0 — find which project this is for
|
|
7
|
-
|
|
8
|
-
Before anything else, figure out which project this command applies to:
|
|
9
|
-
|
|
10
|
-
1. If you were given a project name after the slash (e.g. `/phase-4 my-project`), use it.
|
|
11
|
-
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
-
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
-
`my-project`"), so it's never a silent guess.
|
|
14
|
-
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
-
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
-
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
-
|
|
18
|
-
# Phase 4: Postmortem
|
|
19
|
-
|
|
20
|
-
## Purpose
|
|
21
|
-
Reflect on the iteration to improve the next one.
|
|
22
|
-
|
|
23
|
-
## Prerequisites
|
|
24
|
-
- Phase 3 (Implement) is complete
|
|
25
|
-
|
|
26
|
-
## Steps
|
|
27
|
-
|
|
28
|
-
1. **What went well?** — capture successful patterns
|
|
29
|
-
2. **What could be better?** — identify friction and slowdowns
|
|
30
|
-
3. **What will we do differently?** — concrete improvements for next iteration
|
|
31
|
-
4. **Update workflow** — if a process change is needed, update the relevant command files
|
|
32
|
-
|
|
33
|
-
## Output
|
|
34
|
-
- Postmortem document
|
|
35
|
-
- Action items for next iteration
|
|
36
|
-
- Updated workflow documentation (if needed)
|
|
37
|
-
|
|
38
|
-
## Trigger
|
|
39
|
-
```
|
|
40
|
-
$ARGUMENTS = "project name"
|
|
41
|
-
```
|
|
1
|
+
---
|
|
2
|
+
description: "Phase 4: Postmortem"
|
|
3
|
+
argument-hint: [project name]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Step 0 — find which project this is for
|
|
7
|
+
|
|
8
|
+
Before anything else, figure out which project this command applies to:
|
|
9
|
+
|
|
10
|
+
1. If you were given a project name after the slash (e.g. `/phase-4 my-project`), use it.
|
|
11
|
+
2. Otherwise, look at the subfolders under `.workflow/`:
|
|
12
|
+
- Exactly one folder → use it. Tell the user which project you picked (e.g. "Working on
|
|
13
|
+
`my-project`"), so it's never a silent guess.
|
|
14
|
+
- Two or more folders → ask the user once which project this is for. To make the question
|
|
15
|
+
useful, show the first line of each project's `00-context.md`, not just the folder name.
|
|
16
|
+
- No folders → stop and tell the user to run `/kickoff` first. Don't proceed.
|
|
17
|
+
|
|
18
|
+
# Phase 4: Postmortem
|
|
19
|
+
|
|
20
|
+
## Purpose
|
|
21
|
+
Reflect on the iteration to improve the next one.
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
- Phase 3 (Implement) is complete
|
|
25
|
+
|
|
26
|
+
## Steps
|
|
27
|
+
|
|
28
|
+
1. **What went well?** — capture successful patterns
|
|
29
|
+
2. **What could be better?** — identify friction and slowdowns
|
|
30
|
+
3. **What will we do differently?** — concrete improvements for next iteration
|
|
31
|
+
4. **Update workflow** — if a process change is needed, update the relevant command files
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
- Postmortem document
|
|
35
|
+
- Action items for next iteration
|
|
36
|
+
- Updated workflow documentation (if needed)
|
|
37
|
+
|
|
38
|
+
## Trigger
|
|
39
|
+
```
|
|
40
|
+
$ARGUMENTS = "project name"
|
|
41
|
+
```
|