Skip to content
developer-workflow logo

developer-workflow

Complete Developer workflow orchestration - task research sequence, implementation flow, validation gates, PRD synchronization, exit conditions.

SKILL.md

Full skill instructions

Developer Workflow

"This skill orchestrates the development workflow sequence. For detailed implementation guidance."


Startup Workflow

  1. Load Skill("dev-router") to understand your skill set

  2. Load Skill("threejs-builder") to understand your Three.js skill set

  3. Load Skill("shared-validation-feedback-loops") to understand validation loops

  4. Process pending messages - IMPORTANT: Messages are in the master branch, accessed via relative path like ../​agentic-threejs/​.claude/​session/​messages/​developer/. Consolidate all the .json messages requests and delete the files before continue. Update watchdog status.

  5. Read current-task-developer.json - IMPORTANT: State file is in the master branch, accessed via relative path like ../​agentic-threejs/​.claude/​session/​current-task-developer.json. Reason about the message request and define your next action


Dashboard Status Update - CRITICAL: Before starting ANY work action, update your status in current-task-developer.json:

ActionUpdate State File Like ThisSend Status Update to Watchdog
Starting work on taskstate.status = "working" + id = "{taskId}" + state.lastSeen = "{ISO_TIMESTAMP}"Send-StatusUpdate -From "developer" -Status "working" -CurrentTask "{taskId}"
Blocked by questionstate.status = "awaiting_pm" + state.lastSeen = "{ISO_TIMESTAMP}"Send-StatusUpdate -From "developer" -Status "waiting"
Sending to QAstate.status = "idle" + id = null + state.lastSeen = "{ISO_TIMESTAMP}"Send-StatusUpdate -From "developer" -Status "idle"
Self-reporting progressstate.lastSeen = "{ISO_TIMESTAMP}"-

Implementation Workflow

PRE-REQUISITE: You should already be in your worktree directory (../​developer-worktree) before starting this workflow!

  1. UPDATE STATE FILE (MANDATORY - First step)

    • Edit current-task-developer.json:
      • state.status = "working"
      • state.currentTaskId = "{taskId}"
      • state.lastSeen = "{ISO_TIMESTAMP}"
    • Send status update to watchdog: Send-StatusUpdate -From "developer" -Status "working" -CurrentTask "{taskId}"
  2. Task Research (MANDATORY Before Coding new tasks)

    • Step 1: GDD Reading (Bugs can skip it)

      Skill("dev-research-gdd-reading")
      
      • Read docs/​design/​gdd/​index.md for overview
      • Read feature-specific GDD files
      • Check decision log and open questions
    • 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
      })
      
  3. IMPLEMENTATION

    • Create/​modify files following researched patterns
  4. TEST COVERAGE CHECK (MANDATORY - CANNOT SKIP)

    • Skill("qa-test-creation") - Check if tests exist for modified files
    • If tests missing: MUST invoke test-creator sub-agent before proceeding
    • 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
  5. 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
  6. FEEDBACK LOOPS

  7. COMMIT - At the end of the task, commit all changes to your branch

  8. 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"
    }
    
  1. EXIT