Story Refiner — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Story Refiner (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Default: Respond in the same language as the user's input or as explicitly requested by the user.
If the user specifies a preferred language (e.g., "請用中文回答", "Reply in Japanese"), use that language for all outputs. Otherwise, match the language of the provided Stories.
You simultaneously play three roles to review User Stories:
This Skill accepts the following inputs:
All scoring and evaluation must follow the standards defined in `references/evaluation-criteria.md`.
This document defines:
Important: Both Quick Scan (Phase 1) and Detailed Evaluation (Phase 2) use these same criteria, with different levels of depth.
Score each Story initially (1-5 points) using the three dimensions from references/evaluation-criteria.md:
Scoring Method:
round((Development Clarity + Testability + Value Clarity) / 3)references/evaluation-criteria.md as referenceQuick Assessment Focus:
| Score | Level | Action |
|---|---|---|
| 5 | Excellent | Keep, no modification |
| 4 | Good | Keep, may have minor suggestions |
| 3 | Passing | Mark for observation, may need minor adjustments |
| 2 | Insufficient | Must correct |
| 1 | Severely insufficient | Must rewrite |
Only Stories scoring ≤ 3 enter Phase 2 detailed evaluation.
For Stories needing review, perform detailed evaluation from three perspectives using the Specific Checkpoints and Common Deduction Patterns defined in references/evaluation-criteria.md.
#### 👨💻 Developer Perspective
Reference: references/evaluation-criteria.md - Dimension 1: Development Clarity
Detailed Checkpoints (from evaluation-criteria.md):
Common Problems (see evaluation-criteria.md for deduction patterns):
#### 🧪 QA Perspective
Reference: references/evaluation-criteria.md - Dimension 2: Testability
Detailed Checkpoints (from evaluation-criteria.md):
Common Problems (see evaluation-criteria.md for deduction patterns):
#### 👤 Stakeholder Perspective
Reference: references/evaluation-criteria.md - Dimension 3: Value Clarity
Detailed Checkpoints (from evaluation-criteria.md):
Common Problems (see evaluation-criteria.md for deduction patterns):
For Stories scoring ≤ 3, execute corrections based on problem type:
#### Correction Strategies
| Problem Type | Correction Method |
|---|---|
| Scope too large | Split into multiple Stories |
| Scope vague | Add specific operation description |
| Value unclear | Rewrite "so that..." part |
| Not testable | Add specific acceptance criteria |
| Format issue | Adjust to standard format |
| Wrong role | Correct to proper role |
| Improper granularity | Split or merge |
#### Correction Principles
Corrected Stories need re-evaluation to ensure quality meets standards. This is the core of iterative refinement.
#### Why Iteration Is Needed
| Situation | Single-Pass Refinement Problem | Iterative Solution |
|---|---|---|
| Story is split | New Stories aren't evaluated | ✅ Next round evaluates new Stories |
| Over-correction | Might break something | ✅ Next round catches and fine-tunes |
| Acceptance criteria still not specific | Passes through | ✅ Next round strengthens |
#### Iteration Flow
Round 1: Evaluate all Stories → Correct low-scoring items → Produce corrected version
↓
Round 2: Evaluate "corrected" + "newly generated" Stories → Correct again if needed
↓
Round 3: (If still issues) Final fine-tuning
↓
Terminate: Output final version#### Termination Conditions (Stop when any is met)
#### Iteration Rules
| Rule | Description |
|---|---|
| Progressive convergence | Each round should reduce problems, not increase them |
| History memory | Track each Story's correction history, avoid back-and-forth changes |
| Correction limit | Same Story can only be majorly changed once, then only fine-tuned |
| New Story priority | From round 2, prioritize evaluating Stories generated in previous round |
#### Decreasing Correction Intensity
| Round | Allowed Correction Types |
|---|---|
| Round 1 | All corrections (split, rewrite, add acceptance criteria, etc.) |
| Round 2 | Moderate corrections (add acceptance criteria, adjust wording, minor splits) |
| Round 3 | Fine-tuning only (word corrections, add details, no splitting or rewriting) |
This design ensures:
#### Iteration Summary Output
Record at end of each round:
### Round N Refinement Summary
| Metric | Value |
|--------|-------|
| Stories Evaluated | XX |
| Corrections Made | XX |
| New (from splits) | XX |
| Average Score Improvement | +X.X |
**This Round's Corrections**:
- US-XXX: [Correction summary]
- US-XXX: [Correction summary]
**Continue?**: [Yes/No, reason]# Story Refinement Report
## 📊 Refinement Summary
### Overall Results
- Original Story Count: XX
- Final Story Count: XX (including split additions)
- Refinement Rounds: X / 3
- Termination Reason: [Quality achieved / No corrections needed / Limit reached]
### Per-Round Statistics
| Round | Evaluated | Corrected | Added | Average Score |
|-------|-----------|-----------|-------|---------------|
| Round 1 | XX | XX | XX | X.X |
| Round 2 | XX | XX | XX | X.X |
| ... | ... | ... | ... | ... |
## 🔄 Refinement History
[Per-round correction summaries, collapsible]
## ✅ Final Passing Stories
[Stories scoring ≥ 4]
## 🔧 Corrected Stories
[Original → Final version comparison, noting correction round]
## ➕ Split-Generated Stories
[New Stories from splits]
## 🗑️ Recommended for Removal
[Stories not matching requirements or duplicates]
## 📋 Final Story List
[Complete integrated list, ready for use]### 🔧 US-XXX: [Title]
**Original Version**:
> As a [role], I want [action], so that [value].
**Problem Diagnosis**:
- 🧪 QA Perspective: Acceptance criteria unclear, can't write tests
- 👨💻 Developer Perspective: Scope includes multiple independent features
**Correction Method**: Split into two Stories + add acceptance criteria
**Improved Version**:
**US-XXX-A**: As a [role], I want [action A], so that [value].
- Acceptance Criteria:
- [ ] Condition 1
- [ ] Condition 2
**US-XXX-B**: As a [role], I want [action B], so that [value].
- Acceptance Criteria:
- [ ] Condition 1
---This may indicate systematic issues in Story Writer phase:
If comparing to RFP reveals features not covered by Stories:
If all Stories score ≥ 4:
Refer to assets/refine-example.md for complete output example.
references/evaluation-criteria.md - Defines detailed scoring standards for all three dimensionsassets/refine-example.md - Complete refinement report example[rfp-analyzer] → [story-writer] → [story-refiner] → Final outputUsage: After Story Writer produces User Stories draft, use Story Refiner to evaluate quality and automatically correct low-scoring Stories. This is a separate step that should be called explicitly when refinement is needed.
When user requests "strict check" or project risk is higher:
When user requests "quick pass" or project is MVP/POC:
After completing refinement, confirm the following items:
When user explicitly says "quick refine" or "one pass only":
If large numbers of low-scoring Stories remain after 3 rounds:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.