The Product Cycle ← Back to overview

LLM Skill

/product-cycle

An LLM skill that audits your product design artifacts, checks referential integrity between them, and coaches you through the Product Cycle — from personas through analytics. Works with Claude Code, OpenClaw, and other LLM coding tools that support custom commands.

What it does

The skill audits your project's product design artifacts in cycle order, checking that each stage is present and that artifacts reference each other correctly. It coaches rather than gatekeeps — reporting what's missing and suggesting what to do next.

1

Personas

Checks that personas exist with roles, responsibilities, goals, and context. Flags personas with no user stories.

2

User Stories

Validates story format (As a / I want / So that), checks for acceptance criteria in Given/When/Then format. Flags orphaned stories with no persona.

3

Concept Inventory

Extracts domain nouns from stories into a table. Flags inconsistent terminology and concepts that appear in stories but aren't inventoried.

4

Data Model

Checks for a DATA_MODEL.md with a mermaid ER diagram. Validates that every concept has a corresponding entity with defined relationships.

5

Backlog

Checks that the backlog is current, stories are prioritized and refined with acceptance criteria and clear scope.

6

Analytics

Checks for instrumentation that closes the feedback loop — analytics tied back to personas and use cases, informing new stories.

Referential integrity

The skill's primary job is checking that artifacts reference each other correctly. These links are the skeleton of the framework — break one and the cycle breaks.

Persona → Story

Every story names the persona it serves. Every persona has at least one story.

Story → Concept

Stories introduce domain nouns. Every concept traces back to the stories where it appears.

Concept → Model

Every concept becomes a data model entity (or is explicitly excluded with rationale).

Story → Backlog

Stories with acceptance criteria become backlog items. Items without criteria are unrefined.

Software → Analytics

Instrumentation measures what users do. Analytics events map to personas and use cases.

Analytics → Market

Observed behavior updates market understanding, validates persona assumptions, generates new stories.

Example: a single thread through the cycle

Here's how one feature traces through every artifact, with each stage referencing the ones before it.

Persona

form_manager — manages forms for customer feedback

User Story

As a form_manager,
I want to export form responses as CSV,
so that I can analyze feedback in a spreadsheet.

Acceptance Criteria:
- Given a form with at least one response,
  When I click "Export CSV",
  Then a CSV file downloads containing all
  responses with headers matching question labels.

Concepts introduced

form response question export

Data Model

Form has_many Responses
Form has_many Questions
Response belongs_to Form

Backlog item

Export CSV — form_manager — high priority — acceptance criteria defined

Analytics

  • Track export events per form_manager
  • Measure time-to-first-export after form creation

Each artifact references the ones before it. Break any link and you have a referential integrity violation.

What the audit looks like

When you run /product-cycle, you get a structured report:

## Product Cycle Audit

### Summary
Personas: 2  Stories: 5  Concepts: 8
Data Model: exists  Backlog: exists  Analytics: missing

### Cycle Integrity
✓ Personas  ✓ Stories  ✓ Concepts  ✓ Data Model  ✓ Backlog  ✗ Analytics
Violations: 1 orphaned story, 2 concepts not in data model

### Findings
- Personas: ✓ Both personas have stories and acceptance criteria
- Stories: ⚠ "Export Data" has no persona (orphaned)
- Concepts: ⚠ "notification" and "template" appear in stories
  but are missing from CONCEPT_INVENTORY.md
- Data Model: ⚠ 2 concepts have no corresponding entity
- Backlog: ✓ 4 of 5 stories refined with acceptance criteria
- Analytics: ✗ No instrumentation found

### Recommended Next Actions
1. Add analytics instrumentation to close the feedback loop
2. Add "notification" and "template" to CONCEPT_INVENTORY.md
3. Add corresponding entities to DATA_MODEL.md
4. Assign orphaned story "Export Data" to a persona

Install

The skill is a single markdown file. It works with any LLM coding tool that supports custom commands — Claude Code, OpenClaw, and others. Install it globally or per-project.

Global install

Available in every project you open with Claude Code:

mkdir -p ~/.claude/commands

curl -o ~/.claude/commands/product-cycle.md \
  https://raw.githubusercontent.com/afomi/\
product-cycle-skill/main/product-cycle.md

Then run:

/product-cycle

Per-project install

Commit the file so everyone on the team gets the skill:

mkdir -p .claude/commands

curl -o .claude/commands/product-cycle.md \
  https://raw.githubusercontent.com/afomi/\
product-cycle-skill/main/product-cycle.md

git add .claude/commands/product-cycle.md
git commit -m "add product-cycle skill"

Artifact conventions

The skill looks for artifacts in the project root or a product-cycle/ directory:

Artifact File patterns
Personas PERSONAS.md, personas/*.json, personas/*.md
User Stories USE_CASES.md, use_cases/*.json, stories/*.md
Concept Inventory CONCEPT_INVENTORY.md, CONCEPT_INVENTORY.csv
Data Model DATA_MODEL.md (mermaid erDiagram)
Backlog BACKLOG.md, GitHub Issues
Analytics ANALYTICS.md, instrumentation in code

Principles

Ready to try it?

Install the skill, open any project, and run /product-cycle.