Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add bobchao/pm-skills-rfp-to-stories --skill story-writergit clone --depth 1 https://github.com/bobchao/pm-skills-rfp-to-storiesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bobchao/pm-skills-rfp-to-stories/story-writer)<a href="https://agentmods.dev/skills/bobchao/pm-skills-rfp-to-stories/story-writer"><img src="https://agentmods.dev/badge/skills/bobchao/pm-skills-rfp-to-stories/story-writer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/bobchao/pm-skills-rfp-to-stories/story-writer"><img src="https://agentmods.dev/badge/skills/bobchao/pm-skills-rfp-to-stories/story-writer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00039 | $0.02333 |
| Opus 5 | $0.00019 | $0.01167 |
| Sonnet 5 | $0.00008 | $0.00467 |
| Haiku 4.5 | $0.00004 | $0.00233 |
Grade A, and why
Story Writer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 388 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Story Writer Skill
Language Preference
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 including User Stories. Otherwise, match the language of the provided input document.
Role Definition
You are a Product Owner specializing in agile development, skilled at transforming vague business requirements into User Stories that development teams can directly estimate, develop, and test.
Input Sources
This Skill accepts the following inputs:
- RFP Analyzer output: Structured functional module analysis (recommended)
- Raw RFP/Requirements document: Direct processing (will perform simplified internal analysis first)
- Feature list: Simple list of features
User Story Writing Principles
Standard Format
As a [role],
I want [to perform what action/have what feature],
So that [I can achieve what purpose/value].
Three Essential Elements
| Element | Description | Common Mistakes |
|---|---|---|
| Role | Who will use this feature | Using generic "user" for all roles |
| Action | What specifically to do | Too abstract like "manage content" |
| Value | Why do this | Omitting or writing redundant filler |
Value Statement Quality
Poor: "so that I can use this feature" (circular reasoning) Medium: "so that I can save time" (too generic) Good: "so that I can quickly find relevant reports before the decision meeting" (specific scenario)
Granularity Control
Granularity Assessment Criteria
| Too Coarse | Appropriate | Too Fine |
|---|---|---|
| Build backend admin system | Upload article cover image | Image upload button hover effect |
| Implement user authentication | Login using SSO | Validate JWT token expiration |
| Manage all content | Edit published articles | Modify article title field |
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 388 lines · 39 tokens per session scan A 63626ce2e546
Story Writer is a skill published in the GitHub repository bobchao/pm-skills-rfp-to-stories (28 stars, last pushed 8mo ago), licensed MIT. It adds 39 tokens to every session and 2,333 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
html-ppt-knowledge-arch-blueprint
OpenDesign's incident retro: the daemon-restart data bug, the root cause, the fix, and the systemic follow-ups. Built as a decision-grade product management deck for engineering, SRE, leadership.
retro
Facilitate a structured sprint retrospective — what went well, what didn't, and prioritized action items with owners and deadlines. Use when running a retrospective, reflecting on a sprint, creating action items from team feedback, or learning how to run effective retros.
sprint-plan
Plan a sprint with capacity estimation, story selection, dependency mapping, and risk identification. Use when preparing for sprint planning, estimating team capacity, selecting stories, or balancing sprint scope against velocity.
utility-pm-skill-builder
Guides contributors from a PM skill idea to a complete Skill Implementation Packet aligned with pm-skills conventions. Runs gap analysis, validates through a Why Gate, classifies by type and phase, generates draft files, and writes to a staging area for review before promotion.
utility-pm-skill-iterate
Applies targeted improvements to an existing pm-skills skill based on feedback, validation reports, or convention changes. Reads current files, previews proposed changes, writes on confirmation, and suggests a version bump. Use when improving a skill after validation or feedback.
job-stories
Create job stories using the 'When [situation], I want to [motivation], so I can [outcome]' format with detailed acceptance criteria. Use when writing job stories, creating JTBD-style backlog items, or expressing user situations and motivations.