@pavp/storywright 1.6.1 → 1.6.3

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pavp/storywright",
3
- "version": "1.6.1",
3
+ "version": "1.6.3",
4
4
  "description": "PM Skills pack for Claude Code — turn ambiguous inputs (prompts, screenshots, Figma links) into Jira-ready user stories.",
5
5
  "keywords": [
6
6
  "claude",
@@ -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. Emit both as fenced code blocks in the chat (so user can copy), and offer to save to disk when running from CLI.
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
 
@@ -119,6 +119,8 @@ Permitir a usuarios autenticarse mediante OAuth con Google.
119
119
  - Forgetting that Jira's `{code}` block doesn't support all languages — fall back to `{noformat}` for plain text.
120
120
  - Emoji in Jira: works in cloud, often mangled in older self-hosted. Keep emojis to non-critical decoration.
121
121
  - Empty headings. Drop.
122
+ - Wrong heading levels: CommonMark output uses `#` (H1) for title, `##` (H2) for sections. Jira uses `h2.` for title, `h3.` for sections. The canonical block in `[[storywright-base]]` uses `###`/`####` as taxonomy shorthand only — do not copy those levels into the rendered artifact.
123
+ - Emitting INVEST as a section: INVEST is a process step. Its verdict belongs in the log line only (`INVEST Verdict: READY`), never as a standalone section in the output file.
122
124
 
123
125
  ## References
124
126
 
@@ -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`).
@@ -161,6 +161,8 @@ Mechanical counter. Apply the table — do NOT eyeball:
161
161
 
162
162
  ## Canonical output shape (this is the WHOLE story — no exceptions)
163
163
 
164
+ > **Note:** This block shows the *section taxonomy and rules* — not heading levels or exact markup. The rendered artifact must follow the `story-generate/templates/` files exactly: `#` for title, `##` for sections (CommonMark) or `h2.`/`h3.` (Jira wiki). INVEST is a **process step** — it informs the Verdict line in the log but is NOT emitted as a section in the output artifact.
165
+
164
166
  ```markdown
165
167
  ### [Title]
166
168
 
@@ -187,16 +189,12 @@ Mechanical counter. Apply the table — do NOT eyeball:
187
189
  - [link or path]
188
190
  - visual notes: [...]
189
191
 
190
- #### INVEST
191
- - I — <PASS | PARTIAL · depends on <Ci>>
192
- - N/V/E/S/T — one line each, evidence-based.
193
- - **Verdict:** READY | READY (after <Ci> builds) | SPLIT RECOMMENDED | NEEDS REFINEMENT | NOT A STORY | WEAK·merge-upstream-candidate
194
-
195
192
  #### <Generation | Refinement | Split> log (≤3 lines; ≤5 if SPLIT verdict)
196
- - ...
193
+ - INVEST Verdict: <READY | SPLIT RECOMMENDED | NEEDS REFINEMENT | NOT A STORY>
194
+ - [other changes]
197
195
  ```
198
196
 
199
- NOTHING else. No NFR block. No Edge Cases enumeration. No Dependencies prose. No Assumptions block (assumptions get `⚠️ Assumed` inline or are resolved via `AskUserQuestion`).
197
+ NOTHING else. No NFR block. No Edge Cases enumeration. No Dependencies prose. No Assumptions block (assumptions get `⚠️ Assumed` inline or are resolved via `AskUserQuestion`). No standalone INVEST section — verdict belongs in the log only.
200
198
 
201
199
  ## Application (step-by-step — every skill follows this skeleton)
202
200
 
@@ -248,6 +246,8 @@ Everything else is identical and lives in this base.
248
246
  ## Common Pitfalls (all skills)
249
247
 
250
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.
251
251
  - Skipping rule 1 (terminal-only) "because the user is async".
252
252
  - Eyeballing outcome counts instead of running the mechanical table.
253
253
  - Renumbering ACs the team may already reference externally.