@pavp/storywright 1.6.2 → 1.7.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/package.json +1 -1
- package/skills/_components/clarification-questions/SKILL.md +1 -1
- package/skills/_components/jira-wiki-formatter/SKILL.md +1 -1
- package/skills/_components/storywright-base/SKILL.md +3 -1
- package/skills/story-generate/SKILL.md +5 -2
- package/skills/story-refine/SKILL.md +5 -3
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@ Invoked by `story-generate`, `story-refine`, `story-split`, and `story-from-figm
|
|
|
43
43
|
4. For `BLOCKING`, draft questions. Limit to **3 questions max per round**. Prefer multiple-choice or yes/no.
|
|
44
44
|
5. Order by impact: scope > behavior > data > UX detail.
|
|
45
45
|
6. Emit as a Markdown block titled `### Clarifying Questions` with numbered list.
|
|
46
|
-
7. If no questions remain, emit nothing.
|
|
46
|
+
7. If no questions remain, emit nothing — no summary, no "Clarification resolved", no offer to save. Proceed directly to the next step.
|
|
47
47
|
|
|
48
48
|
## Examples
|
|
49
49
|
|
|
@@ -63,7 +63,7 @@ Final step in `story-generate` and `story-refine`. Always last.
|
|
|
63
63
|
15. Edge Cases
|
|
64
64
|
|
|
65
65
|
4. **Drop any section with no real content.** An empty heading is noise. A story with only the 5 core sections is a valid output.
|
|
66
|
-
5.
|
|
66
|
+
5. Always write `story.standard.md` and `story.jira-wiki.md` to disk. Also emit both as fenced code blocks in the chat so the user can copy them. Never ask whether to save — always save.
|
|
67
67
|
|
|
68
68
|
## Examples
|
|
69
69
|
|
|
@@ -24,7 +24,7 @@ If you are reading this through a top-level skill, treat every rule below as non
|
|
|
24
24
|
|
|
25
25
|
## Hard rules (v2.2 — apply to all top-level storywright skills)
|
|
26
26
|
|
|
27
|
-
1. **Terminal-only clarifications.** Never write any sidecar question file (no `clarifications.md`, no `questions.md`, nothing). All gap questions go through `AskUserQuestion`, batched ≤4 per call. Non-blocking gaps → mark `⚠️ Assumed: <text>` inline in the story body — do not ask.
|
|
27
|
+
1. **Terminal-only clarifications.** Never write any sidecar question file (no `clarifications.md`, no `questions.md`, nothing). All gap questions go through `AskUserQuestion`, batched ≤4 per call. Non-blocking gaps → mark `⚠️ Assumed: <text>` inline in the story body — do not ask. Do NOT announce the absence of a clarifications file ("Clarification resolved", "no clarifications.md needed", or any equivalent). Silence = no questions. Proceed directly.
|
|
28
28
|
|
|
29
29
|
2. **Cohn + Gherkin canonical.** Every story (or child story) has:
|
|
30
30
|
- ONE Use Case block (`As a / I want to / so that`).
|
|
@@ -246,6 +246,8 @@ Everything else is identical and lives in this base.
|
|
|
246
246
|
## Common Pitfalls (all skills)
|
|
247
247
|
|
|
248
248
|
- Writing any sidecar question file (clarifications.md, questions.md, etc).
|
|
249
|
+
- Announcing "Clarification resolved" or "no clarifications.md needed" instead of proceeding silently.
|
|
250
|
+
- Offering to save a clarifications file to disk after resolving gaps.
|
|
249
251
|
- Skipping rule 1 (terminal-only) "because the user is async".
|
|
250
252
|
- Eyeballing outcome counts instead of running the mechanical table.
|
|
251
253
|
- Renumbering ACs the team may already reference externally.
|
|
@@ -47,8 +47,11 @@ Conflicts → BLOCKING `AskUserQuestion` per base rule 1.
|
|
|
47
47
|
If the base **deterministic pre-split test** returns count ≥2:
|
|
48
48
|
- **STOP drafting.**
|
|
49
49
|
- Output a terminal message listing candidate children + per-pair dep notes (base rule 10) + V audit (base rule 11).
|
|
50
|
-
-
|
|
51
|
-
-
|
|
50
|
+
- Show candidate children + dep notes + V audit.
|
|
51
|
+
- Ask via `AskUserQuestion`: "This story has [N] independent flows. Run split now?" with options "Yes, split" / "No, keep as-is".
|
|
52
|
+
- If user approves → execute `[[story-split]]` inline (epic + children + .storywright-context.json).
|
|
53
|
+
- If user declines → stop. No output written.
|
|
54
|
+
- Do NOT silently auto-split without the AskUserQuestion confirmation.
|
|
52
55
|
|
|
53
56
|
If count ≤1:
|
|
54
57
|
- Proceed with the base step-by-step Application skeleton (read context → language → persona → passive-goal → gap-check → siblings → fill canonical block → INVEST → render).
|
|
@@ -39,9 +39,11 @@ Bring an existing user story up to standard *without* turning it into a feature
|
|
|
39
39
|
|
|
40
40
|
If the base **deterministic pre-split test** returns count ≥2:
|
|
41
41
|
- **STOP refining.**
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
42
|
+
- Show candidate children + per-pair dep notes (base rule 10) + V audit (base rule 11).
|
|
43
|
+
- Ask via `AskUserQuestion`: "This story has [N] independent flows. Run split now?" with options "Yes, split" / "No, keep as-is".
|
|
44
|
+
- If user approves → execute `[[story-split]]` inline (epic + children + .storywright-context.json).
|
|
45
|
+
- If user declines → stop. No output written.
|
|
46
|
+
- Do NOT silently auto-split without the AskUserQuestion confirmation.
|
|
45
47
|
|
|
46
48
|
If count ≤1:
|
|
47
49
|
- Proceed with the base step-by-step Application skeleton, applying the source-specific preservation rules above.
|