원클릭으로
architect
Decompose a Story into Tasks. Reads story from API, analyzes scope, creates concrete tasks with descriptions and acceptance criteria.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Decompose a Story into Tasks. Reads story from API, analyzes scope, creates concrete tasks with descriptions and acceptance criteria.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Scan codebase for dead code, code smells, security issues, contract violations, missing DTOs, and architectural deviations. Creates/updates docs/audit.md and adds actionable items to backlog. Use when user says "audit", "scan", "check code quality", or wants to find hardcoded strings, bypassed abstractions, missing schemas, untyped API boundaries, or drift from shared contracts.
Structured thinking session on a topic. Creates docs/brainstorms/<topic>.md with Status tracking and Action Items. User routes results manually (new sprint, backlog, VISION update, hotfix).
Close the current sprint phase — verify all tasks done, run/write integration tests, advance to next phase.
Close the current sprint — final gate after endgame. Push all commits, update STATUS.md history, update CHANGELOG.
Sprint dispatcher — reads STATUS.md and invokes the right skill based on current sprint state. Use when user says "go", "next", "continue", or wants to proceed with sprint work.
Implement the current sprint task using TDD. Reads task from sprint directory, creates git branch, updates task status on completion. Main development skill.
| name | architect |
| description | Decompose a Story into Tasks. Reads story from API, analyzes scope, creates concrete tasks with descriptions and acceptance criteria. |
| allowed-tools | Bash, Read, Write, Edit, Grep, Glob |
| argument-hint | [story-ID] |
⚠️ Requires running orchestrator. This skill reads stories and creates tasks via the API. Before starting, verify:
curl -sf http://localhost:8000/api/projects/ > /dev/null && echo "API OK" || echo "API NOT RUNNING — run 'make up' first"
Takes a Story and decomposes it into actionable Tasks via the API.
story-ID — story ID to decompose (e.g. story-abc123). If omitted, picks the next created story by priority.make sync
If story ID given:
API="http://localhost:8000"
STORY=$(curl -sf "$API/api/stories/$STORY_ID")
If no argument — auto-pick next created story:
API="http://localhost:8000"
STORY=$(curl -sf "$API/api/stories/?status=created" \
| jq 'sort_by(.priority) | .[0]')
STORY_ID=$(echo "$STORY" | jq -r '.id')
If no created stories exist — STOP: "No stories to decompose. Create one via API."
Print: "Decomposing: $(echo "$STORY" | jq -r '.title') (priority $(echo "$STORY" | jq -r '.priority'))"
Gather information needed to decompose the story:
Story details: read title, description, acceptance_criteria, type (product/technical), blocked_by_story_id, parent_story_id from the response.
Existing tasks for this story (avoid duplicates):
EXISTING=$(curl -sf "$API/api/tasks/?story_id=$STORY_ID")
echo "$EXISTING" | jq -r '.[] | "#\(.title) [\(.status)]"'
If tasks already exist, print them and ask: "This story already has N tasks. Create additional tasks, or skip?"
Child stories (if this is a parent story):
CHILDREN=$(curl -sf "$API/api/stories/" | jq '[.[] | select(.parent_story_id == "'"$STORY_ID"'")]')
All stories (for cross-story dependency awareness):
ALL_STORIES=$(curl -sf "$API/api/stories/" | jq -r '.[] | select(.status != "archived") | "\(.id) | \(.title) [\(.status)]"')
Project and repo context:
PROJECT_ID=$(curl -sf "$API/api/projects/" | jq -r '.[0].id')
REPOS=$(curl -sf "$API/api/repositories/?project_id=$PROJECT_ID")
Codebase exploration: read relevant files based on the story description — architecture docs, existing implementations, related services. Use Grep/Glob to find relevant code.
Analyze the story and break it into concrete tasks. For each task, determine:
#<TAG> <descriptive title> (get tag from GET /api/tasks/next-tag)feature, bug, chore, or refactor/plan to create stepsblocked_by_task_id on B after A is createdGuidelines:
acceptance_criteria — every criterion should be covered by at least one taskFor each task, get the next tag and create:
NEXT_TAG=$(curl -sf "$API/api/tasks/next-tag" | jq -r '.next_tag')
curl -sf -X POST "$API/api/tasks/" \
-H "Content-Type: application/json" \
-d '{
"project_id": "'"$PROJECT_ID"'",
"title": "#'"$NEXT_TAG"' <Task title>",
"type": "<type>",
"description": "<description>",
"acceptance_criteria": "<criteria or null>",
"priority": <N>,
"need_e2e": <true|false>,
"story_id": "'"$STORY_ID"'",
"created_by": "architect"
}'
Save the created task ID. If another task depends on this one, use its ID for blocked_by_task_id:
# For dependent tasks:
curl -sf -X POST "$API/api/tasks/" \
-H "Content-Type: application/json" \
-d '{
"project_id": "'"$PROJECT_ID"'",
"title": "#'"$NEXT_TAG"' <Dependent task>",
"type": "<type>",
"description": "<description>",
"priority": <N>,
"story_id": "'"$STORY_ID"'",
"blocked_by_task_id": "<blocker_task_id>",
"created_by": "architect"
}'
After creating all tasks:
curl -sf -X POST "$API/api/stories/$STORY_ID/start" \
-H "Content-Type: application/json" \
-d '{"actor": "architect"}'
make sync
git add docs/backlog.md docs/ROADMAP.md docs/STATUS.md
git commit -m "architect: decompose story — $(echo "$STORY" | jq -r '.title')"
Print a summary:
## Architect Report
**Story**: <title> (priority <N>)
### Tasks Created
| # | Title | Type | Priority | Blocked By |
|---|-------|------|----------|------------|
| <tag> | <title> | <type> | <priority> | — |
| <tag> | <title> | <type> | <priority> | #<blocker_tag> |
### Dependency Graph
<visual representation if there are dependencies>
### Next Steps
- Run `/plan #<first_task_tag>` to plan the first unblocked task
- Or run `/implement` to auto-pick and start working
story_id — this links it back to the story being decomposed.Before generating your final response, review your memory for feedback:
Did you have to fix any unexpected errors, correct wrong commands, or guess missing information during this task?
If yes, you MUST append an entry to docs/skill-feedback.md right now, following the format described in the Self-Feedback section below.
During your final memory review, if you encountered any of the following — add an entry to docs/skill-feedback.md:
Entry format:
## [architect] — <today's date>
- **Type**: bug | missing-info | optimization
- **Quote**: "<exact line or section from this skill>"
- **Problem**: <what went wrong or was missing>
- **Suggested fix**: <concrete change to the skill text>
Only write feedback that is specific and actionable. Skip vague impressions.