Claude-skill-registry developer-workflow
Complete Developer workflow orchestration - task research sequence, implementation flow, validation gates, PRD synchronization, exit conditions.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/developer-workflow" ~/.claude/skills/majiayu000-claude-skill-registry-developer-workflow && rm -rf "$T"
skills/data/developer-workflow/SKILL.mdDeveloper Workflow
"This skill orchestrates the development workflow sequence. For detailed implementation guidance."
Startup Workflow
-
Load
to understand your skill setSkill("dev-router") -
Load
to understand your Three.js skill setSkill("threejs-builder") -
Load
to understand validation loopsSkill("shared-validation-feedback-loops") -
Process pending messages - IMPORTANT: Messages are in the master branch, accessed via relative path like
. Consolidate all the .json messages requests and delete the files before continue. Update watchdog status.../agentic-threejs/.claude/session/messages/developer/ -
Read current-task-developer.json - IMPORTANT: State file is in the master branch, accessed via relative path like
. Reason about the message request and define your next action../agentic-threejs/.claude/session/current-task-developer.json
Dashboard Status Update - CRITICAL: Before starting ANY work action, update your status in current-task-developer.json:
| Action | Update State File Like This | Send Status Update to Watchdog |
|---|---|---|
| Starting work on task | + + | |
| Blocked by question | + | |
| Sending to QA | + + | |
| Self-reporting progress | | - |
Implementation Workflow
PRE-REQUISITE: You should already be in your worktree directory (
) before starting this workflow!../developer-worktree
-
UPDATE STATE FILE (MANDATORY - First step)
- Edit
:current-task-developer.jsonstate.status = "working"state.currentTaskId = "{taskId}"state.lastSeen = "{ISO_TIMESTAMP}"
- Send status update to watchdog:
Send-StatusUpdate -From "developer" -Status "working" -CurrentTask "{taskId}"
- Edit
-
Task Research (MANDATORY Before Coding new tasks)
-
Step 1: GDD Reading (Bugs can skip it)
Skill("dev-research-gdd-reading")- Read
for overviewdocs/design/gdd/index.md - Read feature-specific GDD files
- Check decision log and open questions
- Read
-
Step 2: Codebase Exploration
Task({ subagent_type: "developer-code-research", description: "Research patterns for {feature}", prompt: "Research existing codebase patterns for implementing {feature}", timeout: 300000 })
-
-
IMPLEMENTATION
- Create/modify files following researched patterns
-
TEST COVERAGE CHECK (MANDATORY - CANNOT SKIP)
- Check if tests exist for modified filesSkill("qa-test-creation")- If tests missing: MUST invoke
sub-agent before proceedingtest-creator - Files changed without tests = BLOCKING - cannot proceed to step 8
⚠️ NON-BYPASSABLE GATE:
- NO exceptions for "bug fixes", "refactorings", or "non-visual changes"
- Even trivial changes need test coverage (unit test minimum)
- ONLY PM can approve skipping tests via explicit message
-
IF BLOCKED
- Update state:
state.status = "awaiting_pm" - Send question to PM using the Write tool:
Write to: .claude/session/messages/pm/msg-pm-{timestamp}-001.json Content: { "id": "msg-pm-{timestamp}-001", "from": "developer", "to": "pm", "type": "question", "priority": "high", "payload": { "question": "How should I handle X?", "context": "Current situation..." }, "timestamp": "{ISO-8601-timestamp}", "status": "pending" }- Document blocker in task memory
- Exit and wait
- Update state:
-
FEEDBACK LOOPS
-
COMMIT - At the end of the task, commit all changes to your branch
-
SEND TO QA
-
Update state:
,state.status = "idle"id = null -
Send status update to watchdog:
Send-StatusUpdate -From "developer" -Status "idle" -
Send completion using the Write tool:
Write to: .claude/session/messages/pm/msg-pm-{timestamp}-001.json Content: { "id": "msg-pm-{timestamp}-001", "from": "developer", "to": "pm", "type": "task_complete", "priority": "normal", "payload": { "taskId": "{taskId}", "success": true, "summary": "Implementation complete" }, "timestamp": "{ISO-8601-timestamp}", "status": "pending" }
- EXIT