skills/analysis-to-prd/SKILL.md
Use when generating a PRD from project analysis documents like requirements analysis, API specs, or design docs found in the working directory
npx skillsauth add stsai-pl/stsai-skills analysis-to-prdInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a concrete, implementation-ready PRD from project analysis documents. The PRD is feature-centric: each feature gets its own complete section with screen-by-screen flows, edge states, data models, and testable DONE criteria.
Announce at start: "I'm using the analysis-to-prd skill to generate a PRD from your project documents."
Search the working directory for ALL relevant documents:
Glob: **/*.md, **/*.yaml, **/*.yml, **/*.json, **/*.pdf, **/*.txt, **/*.docx
Priority documents (read these first):
analiza_wymagan*, requirements*, analiza*)openapi*, swagger*, api*)Skip: This skill file itself, any existing PRD files, files named MakindPRD* (skill reference, not project input), node_modules, .git
Read every relevant document. For PDFs, read all pages. Understand:
From the source documents, extract a list of distinct features. A feature is a coherent unit of functionality with a clear user goal.
Do NOT invent features. Only include what the source documents explicitly describe or directly imply. If something is not mentioned (notifications, analytics, SLA tracking), it is out of scope - do not add it.
Do NOT add system architecture sections. No component diagrams, no deployment topology, no tech stack decisions. Only what is required for correct and consistent implementation.
Present the feature list to the user before writing the full PRD. Ask: "I identified these features from your documents: [list]. Should I proceed, or would you like to adjust?" This prevents wasted effort on the wrong feature breakdown.
Write PRD.md in the working directory using the structure below.
# PRD: [System Name]
## Document Info
- Version: 1.0
- Date: YYYY-MM-DD
- Status: Draft
- Source documents: [list all files read]
---
Then for EACH feature, write a complete section:
## Feature: [Feature Name]
### Feature Goal
[One sentence: for WHOM and WHAT PROBLEM it solves.]
### Entry Point
[Where the user comes from to start this flow.]
### Exit Condition
[When this feature/flow is considered completed.]
### User Flow (Happy Path)
[Screen 1: Name]
- Goal: what the user wants to accomplish on this screen
- Visible elements: list of UI elements (buttons, fields, lists, labels)
- Action: what the user does
- Transition: what happens after the action, where the user goes next
[Screen 2: Name]
- Goal: ...
- Visible elements: ...
- Action: ...
- Transition: ...
(continue for all screens in the flow)
### ASCII Flow Diagram
[Block diagram or simple wireframe showing the flow]
### Edge States
- **Empty state:** what the user sees when there is no data
- **Error state:** what happens when something fails (API down, network error)
- **Validation rules:** what blocks progress (required fields, format constraints)
- **Permission restrictions:** what is restricted and for whom
### Data Used
| Object | Field | Type | Required | Mutable after creation | Deletable | Origin (SSoT) / Target |
|--------|-------|------|----------|----------------------|-----------|------------------------|
| ... | ... | ... | yes/no | yes/no | yes/no | e.g. "logistics system" or "local DB" |
### Assumptions
[Bullet list of things not explicitly stated in source docs but inferred for this feature.]
### Out of Scope
[What this feature explicitly does NOT cover.]
### API Endpoints
[Only if required for the system. Short description of each endpoint needed.]
| Method | Endpoint | Description |
|--------|----------|-------------|
| ... | ... | ... |
### DONE Criteria
[Max 3 points. Observable and testable. Clear system behavior, not vague statements.]
1. [Concrete, testable criterion]
2. [Concrete, testable criterion]
3. [Concrete, testable criterion]
### Flow Summary
[2-3 sentences: Does this flow make logical sense? Where might the user get stuck? What assumptions were made?]
After all features, add:
## Non-Functional Requirements
[Only requirements that DIRECTLY result from the source documents. Do not invent performance targets or SLAs unless the source docs mention them.]
- NFR-1: ...
- NFR-2: ...
## Open Questions
[Things not answered by source documents that should be resolved before or during implementation. Only list questions that genuinely affect the features described above.]
1. ...
2. ...
These rules prevent the most common PRD generation failures:
If the source documents do not mention notifications, analytics, SLA targets, audit logs, file attachments, or any other feature - do NOT add them. List them in a final "Open Questions" section if you think they matter, but do NOT include them as requirements.
No component diagrams. No "Backend / API / Database" sections. No tech stack. The PRD describes WHAT the system does, not HOW it is built.
Every flow must be screen-by-screen with concrete UI elements. "The user submits a form" is too abstract. "The user fills in the Description field (textarea, required, max 2000 chars) and clicks Submit" is concrete.
Every feature MUST have empty state, error state, and validation rules defined. These are where implementations diverge from intent.
Every field must specify: type, required/optional, mutable after creation (yes/no), deletable (yes/no), and origin (SSoT source or local). This prevents implementation guesswork.
"System works well" is not a DONE criterion. "A customer who submits a complaint sees it appear in their complaint list with status NEW within 5 seconds" is testable.
If source documents are in Polish, write the PRD in the same language. If they mix languages, default to the language used in the requirements analysis document. Only translate if the user explicitly asks.
| Mistake | Fix | |---------|-----| | Inventing features not in source docs | Only include what docs describe or directly imply | | High-level flows ("user submits form") | Screen-by-screen with visible elements and actions | | Missing empty/error states | Every feature gets edge states, no exceptions | | Data model without mutability/SSoT columns | Use the full table format from the template | | Vague DONE criteria ("works correctly") | Max 3 points, each must be observable and testable | | Adding architecture sections | PRD = WHAT, not HOW. Delete architecture sections. | | Translating to English when docs are in Polish | Match the source document language | | Adding NFRs not grounded in source docs | Only NFRs that directly derive from stated constraints |
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.