board — Task Board and Automatic Handoff
lane: All (each lane session runs independently) · Engine: tools/board.py (deterministic, usable by any model)
Three lanes cannot communicate directly; they collaborate only through the git repository + board/ task files. This skill enables you to: pull → view tasks assigned to you that are ready → work → mark as done (automatically assigning tasks to downstream lanes) → push.
First, Determine Your Local Lane
Read the .elec-lane file at the repository root (an untracked file). If it doesn't exist, ask the user which lane this machine is (lead/hardware/control/algorithm) and write it to .elec-lane (one line, e.g., control). Use it for all subsequent operations.
Actions Each Time This Skill Is Invoked
git pull --rebase(fetch progress and new tasks submitted by others).python tools/board.py list --lane <your_lane>— list tasks assigned to you whose dependencies are all done (ready tasks).- If no ready tasks: run
python tools/board.py statusto show the global status, inform the user what they are waiting for (blocking dependencies), and exit. - If there are ready tasks:
skilltype tasks → call the sub-skill indicated by its hint (e.g.,/interconnect) and follow that pipeline to completion.manualtype tasks (wiring/tuning) → present the checklist or artifacts indicated by the hint to the user for execution.
- After completing a task:
python tools/board.py done <id> --by <your_lane>. This automatically assigns tasks to downstream lanes according to the DAG (writes new board/ files). git add board/ <your_product_directory> && git commit -m "board: done <id>" && git push.- Inform the user: what was completed, which lanes were automatically assigned what tasks, and whether your lane has any more ready tasks.
Near Real-Time (Optional)
Have your lane session poll to automatically detect newly assigned tasks:
- Claude Native:
/loop 5m /board(pull + check board every 5 minutes). - Pure Terminal:
sh tools/watch.sh <your_lane> 300.
Notes
- Only modify your own lane's product directories + board/ (directory ownership is defined in CLAUDE.md) to avoid git conflicts.
- The task board is collaborative: it makes handoffs explicit and auditable; but it is pull-driven across machines — others must
git pullto see the tasks you assigned (hence the polling). - The pipeline DAG is fixed in
tools/board.py(read-problem → … → full vehicle integration); to change handoff relationships, edit that file (maintained by lead).