using-user-stories

Document and track feature implementation with user stories. Workflow for authoring stories, building features, and marking acceptance criteria as passing.

9 stars

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

$curl -o ~/.claude/skills/using-user-stories/SKILL.md --create-dirs "https://raw.githubusercontent.com/andrelandgraf/fullstackrecipes/main/.agents/skills/using-user-stories/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/using-user-stories/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How using-user-stories Compares

Feature / Agentusing-user-storiesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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 file

Related Skills

using-workflows

9
from andrelandgraf/fullstackrecipes

Create and run durable workflows with steps, streaming, and agent execution. Covers starting, resuming, and persisting workflow results.

using-tests

9
from andrelandgraf/fullstackrecipes

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

9
from andrelandgraf/fullstackrecipes

Capture exceptions, add context, create performance spans, and use structured logging with Sentry.

using-nuqs

9
from andrelandgraf/fullstackrecipes

Manage React state in URL query parameters with nuqs. Covers Suspense boundaries, parsers, clearing state, and deep-linkable dialogs.

using-logging

9
from andrelandgraf/fullstackrecipes

Use structured logging with Pino throughout your application. Covers log levels, context, and workflow-safe logging patterns.

using-drizzle-queries

9
from andrelandgraf/fullstackrecipes

Write type-safe database queries with Drizzle ORM. Covers select, insert, update, delete, relational queries, and adding new tables.

using-authentication

9
from andrelandgraf/fullstackrecipes

Use Better Auth for client and server-side authentication. Covers session access, protected routes, sign in/out, and fetching user data.

using-analytics

9
from andrelandgraf/fullstackrecipes

Track custom events and conversions with Vercel Web Analytics. Covers common events, form tracking, and development testing.

user-stories-setup

9
from andrelandgraf/fullstackrecipes

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

9
from andrelandgraf/fullstackrecipes

Sync React state to URL query parameters for shareable filters, search, and deep-linkable dialogs with nuqs.

testing

9
from andrelandgraf/fullstackrecipes

Complete testing setup with Neon database branching, Playwright browser tests, integration tests, and unit tests. Isolated branches with automatic TTL cleanup.

stripe-subscriptions

9
from andrelandgraf/fullstackrecipes

Complete subscription billing system with Stripe integration, feature flags for plan gating, webhook handling, and billing portal.