Story content structure, templates, and writing guidelines for branch narratives.
From drivinnpx claudepluginhub qmu/workaholic --plugin drivinThis skill uses the workspace's default tool permissions.
Generate a branch story that serves as the single source of truth for PR content.
Story sections are populated from parallel agent outputs:
| Agent | Sections | Fields |
|---|---|---|
| overview-writer | 1, 2, 3 | overview, highlights[], motivation, journey.mermaid, journey.summary |
| section-reviewer | 5, 6, 7, 8 | outcome, historical_analysis, concerns, ideas |
| performance-analyst | 9 | metrics JSON + decision review markdown |
| release-readiness | 10 | verdict, concerns[], instructions.pre_release[], instructions.post_release[] |
| release-note-writer | (separate file) | Writes to .workaholic/release-notes/<branch>.md |
Section 4 (Changes) comes from archived tickets. Section 11 (Notes) is optional context.
The story content (this IS the PR description):
## 1. Overview
[Content from overview-writer `overview` field: 2-3 sentence summary capturing the branch essence.]
**Highlights:**
1. [From overview-writer `highlights[0]}]
2. [From overview-writer `highlights[1]`]
3. [From overview-writer `highlights[2]`]
## 2. Motivation
[Content from overview-writer `motivation` field: paragraph synthesizing the "why" from commit context.]
## 3. Journey
```mermaid
flowchart LR
subgraph Subagents[Subagent Architecture]
direction TB
s1[Extract spec-writer] --> s2[Extract story-writer] --> s3[Extract changelog-writer] --> s4[Extract pr-creator]
end
subgraph GitSafety[Git Command Safety]
direction TB
g1[Add git guidelines] --> g2[Strengthen rules] --> g3[Embed in agents] --> g4[Use deny rule]
end
subgraph Commands[Command Simplification]
direction TB
c1[Remove /sync] --> c2[Remove /commit] --> c3[Unify to /report]
end
Subagents --> GitSafety --> Commands
Flowchart Guidelines:
flowchart LR for horizontal timeline (subgraphs arranged left-to-right)direction TB inside each subgraph for vertical item flowid[Description] syntax[Content from overview-writer journey.mermaid for the flowchart and journey.summary for this prose section.]
One subsection per ticket, in chronological order:
<1-3 sentence summary of what this ticket changed and why. Focus on the intent and scope of the change rather than enumerating individual files.>
<1-3 sentence summary of what this ticket changed and why.>
Changes Guidelines:
(abc1234) or (<hash>)([abc1234](<repo-url>/commit/abc1234))### 4-N. <Title> ([hash](<repo-url>/commit/<hash>))[Summarize what was accomplished. Reference key tickets for details.]
[Context from related past work. What similar problems were solved before? What patterns emerge from the Related History sections of tickets? If no related tickets exist, write "No related historical context."]
[Risks, trade-offs, or issues discovered during implementation. Each concern should include identifiable references.]
Format: - <description> (see [hash](<repo-url>/commit/<hash>) in path/to/file.ext)
Example:
plugins/drivin/skills/drive-approval/SKILL.md)~/.claude/settings.local.json)Guidelines:
[Enhancement suggestions for future work. Improvements that were out of scope. "Nice to have" features identified during implementation. Write "None" if nothing to report.]
Metrics: <commits> commits over <duration> <unit> (<velocity> commits/<unit>)
[Quantitative reflection on development pace - was velocity consistent or varied? Were commits small and focused or large? Any patterns in timing?]
| Dimension | Rating | Notes |
|---|---|---|
| Consistency | Strong/Adequate/Needs Improvement | Brief observation |
| Intuitivity | ... | ... |
| Describability | ... | ... |
| Agility | ... | ... |
| Density | ... | ... |
Strengths: [Key positive patterns observed]
Areas for Improvement: [Constructive suggestions]
**Performance-analyst input:**
The performance-analyst output (metrics JSON and decision review markdown) is provided by story-writer which invokes performance-analyst as a parallel agent. Include the complete output in section 9.
```markdown
## 10. Release Preparation
**Verdict**: [Ready for release / Needs attention before release]
### 10-1. Concerns
- [List any concerns from release-readiness analysis]
- Or "None - changes are safe for release"
### 10-2. Pre-release Instructions
- [Steps to take before running /release]
- Or "None - standard release process applies"
### 10-3. Post-release Instructions
- [Steps to take after release]
- Or "None - no special post-release actions needed"
Release-readiness input:
The release-readiness JSON is provided by story-writer which invokes release-readiness as a parallel agent. The JSON contains:
{
"releasable": true/false,
"verdict": "Ready for release" / "Needs attention before release",
"concerns": [],
"instructions": {
"pre_release": [],
"post_release": []
}
}
Format this JSON into section 10.
## 11. Notes
Additional context for reviewers or future reference.
Create .workaholic/stories/<branch-name>.md with YAML frontmatter. Metrics values come from performance-analyst output:
---
branch: <branch-name>
started_at: <from performance-analyst metrics>
ended_at: <from performance-analyst metrics>
tickets_completed: <count of tickets>
commits: <from performance-analyst metrics>
duration_hours: <from performance-analyst metrics>
duration_days: <from performance-analyst metrics if velocity_unit is "day">
velocity: <from performance-analyst metrics>
velocity_unit: <from performance-analyst metrics>
---
Update .workaholic/stories/README.md to include the new story:
- [<branch-name>.md](<branch-name>.md) - Brief description of the branch work