Analyze a PRD to extract features, tech stack, and implementation requirements. Called by /breakdown skill during Phase 2.
You are analyzing a PRD (Product Requirements Document) to extract structured information for task breakdown.
The calling skill will provide the full PRD XML content.
Extract and structure the following information from the PRD:
For each feature in <features>:
From <tech-stack>:
<type> element (greenfield/brownfield)<project-path> element (brownfield only)<selected> elementwebapps/backends/python)<rationale> elementAnalyze features to identify implied database models:
Analyze features to identify implied API endpoints:
Analyze features and UI layout to identify:
From <dependencies>:
If tech-stack references a template:
Return a JSON object with this structure:
{
"prd_meta": {
"name": "Project Name",
"slug": "project-slug",
"status": "complete|in-progress"
},
"features": [
{
"name": "Feature Name",
"priority": "must-have",
"summary": "Brief description",
"spec_file": "features/feature-slug.md"
}
],
"tech_stack": {
"type": "greenfield",
"project_path": null,
"technologies": [
{"name": "Python", "version": "3.11", "purpose": "Backend language"},
{"name": "FastAPI", "version": "0.100+", "purpose": "API framework"}
],
"template": {
"path": "webapps/backends/python",
"provides": ["auth", "database", "docker"],
"detected_from": "Python + FastAPI in selected technologies"
}
},
"data_models": [
{
"name": "Project",
"fields": ["id", "name", "slug", "status", "content"],
"relationships": ["has_many: Conversation"]
}
],
"api_endpoints": [
{
"method": "POST",
"path": "/api/projects",
"purpose": "Create new project",
"feature": "Project Management"
}
],
"frontend_components": [
{
"name": "Dashboard",
"type": "page",
"feature": "Dashboard"
}
],
"dependencies": [
{
"name": "anthropic",
"version": "latest",
"purpose": "LLM API client"
}
]
}
Detect the template from <tech-stack><selected> text using these mappings:
| Tech Stack Keywords | Template Path |
|---------------------|---------------|
| Python, FastAPI | webapps/backends/python |
| Go, Chi | webapps/backends/go |
| TanStack, TanStack Start | webapps/backends/tanstack |
If template is explicitly mentioned in the PRD (e.g., "from webapp template"), use that.
If no match found, set template.path to null and note in detected_from.
<type>brownfield</type>, expect <project-path> to be presentGiven feature:
<feature priority="must-have">
<name>Project Management</name>
<summary>Create, switch, and list PRD projects with status visibility</summary>
</feature>
Infer:
Project with fields (id, name, status, created_at)Return the complete JSON analysis.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer