using-user-stories
Document and track feature implementation with user stories. Workflow for authoring stories, building features, and marking acceptance criteria as passing.
Best use case
using-user-stories is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Document and track feature implementation with user stories. Workflow for authoring stories, building features, and marking acceptance criteria as passing.
Teams using using-user-stories should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/using-user-stories/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How using-user-stories Compares
| Feature / Agent | using-user-stories | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Document and track feature implementation with user stories. Workflow for authoring stories, building features, and marking acceptance criteria as passing.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Working with User Stories
Document and track feature implementation with user stories. Workflow for authoring stories, building features, and marking acceptance criteria as passing.
User stories document what features should do and track implementation status. When AI agents work through user stories systematically, they produce better results and leave a clear trail of what was done.
---
## Workflow
When working on features:
1. **Author/Update**: Create or modify user story features before building
2. **Build & Test**: Implement until tests pass
3. **Mark Passing**: Set `passes: true` when verified
---
## When to Create User Stories
Create user stories when:
- Starting a new feature or flow
- Fixing a bug that should have test coverage
- Implementing requirements from a design or spec
- Breaking down a large feature into testable increments
---
## Writing Effective Steps
Steps should be:
- **Verifiable**: Each step can be checked by running the app or tests
- **Imperative**: Written as commands ("Navigate to", "Click", "Verify")
- **Specific**: Include URLs, button names, expected values
Good:
```json
{
"description": "User deletes a chat",
"steps": [
"Navigate to /chats",
"Click the menu button on a chat",
"Click 'Delete' option",
"Confirm deletion in dialog",
"Verify chat is removed from list"
],
"passes": false
}
```
Avoid vague steps:
```json
{
"description": "User deletes a chat",
"steps": ["Delete a chat", "Check it worked"],
"passes": false
}
```
---
## Documenting Work Done
When completing a feature:
1. Verify all steps work manually or via tests
2. Update `passes: true` in the user story
3. Commit both the implementation and the updated story
This creates a log of completed work that future agents can reference.
---
## Using with AI Agents
AI agents can read user stories to:
- Understand what features need to be built
- Know the exact acceptance criteria
- Find features that still need work (`passes: false`)
- Log their progress by marking features as passing
For automated agent loops, see the **Ralph Agent Loop** recipe.
---
## Verifying Stories
Run the verification script to check all stories have valid format:
```bash
bun run user-stories:verify
```
This validates:
- All files are valid JSON
- Each feature has required fields
- Steps are non-empty strings
- Shows pass/fail counts per fileRelated Skills
using-workflows
Create and run durable workflows with steps, streaming, and agent execution. Covers starting, resuming, and persisting workflow results.
using-tests
Testing strategy and workflow. Tests run in parallel with isolated data per suite. Prioritize Playwright for UI, integration tests for APIs, unit tests for logic.
using-sentry
Capture exceptions, add context, create performance spans, and use structured logging with Sentry.
using-nuqs
Manage React state in URL query parameters with nuqs. Covers Suspense boundaries, parsers, clearing state, and deep-linkable dialogs.
using-logging
Use structured logging with Pino throughout your application. Covers log levels, context, and workflow-safe logging patterns.
using-drizzle-queries
Write type-safe database queries with Drizzle ORM. Covers select, insert, update, delete, relational queries, and adding new tables.
using-authentication
Use Better Auth for client and server-side authentication. Covers session access, protected routes, sign in/out, and fetching user data.
using-analytics
Track custom events and conversions with Vercel Web Analytics. Covers common events, form tracking, and development testing.
user-stories-setup
Create a structured format for documenting feature requirements as user stories. JSON files with testable acceptance criteria that AI agents can verify and track.
url-state-management
Sync React state to URL query parameters for shareable filters, search, and deep-linkable dialogs with nuqs.
testing
Complete testing setup with Neon database branching, Playwright browser tests, integration tests, and unit tests. Isolated branches with automatic TTL cleanup.
stripe-subscriptions
Complete subscription billing system with Stripe integration, feature flags for plan gating, webhook handling, and billing portal.