pactkit-board
Scannednpx machina-cli add skill pactkit/claude-code-plugin/pactkit-board --openclawPactKit Board
Atomic operations tool for Sprint Board (docs/product/sprint_board.md).
Script location: Use the base directory from the skill invocation header to resolve script paths. Classic deployment:
${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py
Prerequisites
docs/product/sprint_board.mdmust exist (created by/project-init)docs/product/archive/directory is used for archiving (automatically created by the archive command)
Command Reference
add_story -- Add a work item (Story, Hotfix, or Bug)
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py add_story ITEM-ID "Title" "Task A|Task B"
ITEM-ID: Work item identifier, e.g.STORY-001,HOTFIX-001,BUG-001Title: Item titleTask A|Task B: Task list, use|as separator for multiple tasks- Output:
✅ Story ITEM-ID addedor❌error message
update_task -- Update Task status
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py update_task ITEM-ID "Task Name"
Task Name: Must be an exact match with the task name in the Board- Changes
- [ ] Task Nameto- [x] Task Name - Output:
✅ Task updatedor❌ Task not found
archive -- Archive completed Stories
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py archive
- Moves all Stories with every task marked
[x]todocs/product/archive/archive_YYYYMM.md
list_stories -- View current Stories
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py list_stories
update_version -- Update version number
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py update_version 1.0.0
snapshot -- Architecture snapshot
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py snapshot "v1.0.0"
- Saves current architecture graphs to
docs/architecture/snapshots/{version}_*.mmd
fix_board -- Relocate misplaced stories to correct sections
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py fix_board
- Scans for stories outside their correct section and relocates them based on task status:
- All
[ ]→## 📋 Backlog - Mixed
[ ]/[x]→## 🔄 In Progress - All
[x]→## ✅ Done
- All
- Output:
✅ Board fixed: N stories relocated.or✅ No misplaced stories found.
Usage Scenarios
/project-plan: Useadd_storyto create a Story/project-act: Useupdate_taskto mark completed tasks/project-done: Usearchiveto archive completed Storiespactkit-releaseskill: Useupdate_version+snapshotto publish a releasepactkit-doctorskill: Usefix_boardto repair misplaced stories
Source
git clone https://github.com/pactkit/claude-code-plugin/blob/main/pactkit-plugin/skills/pactkit-board/SKILL.mdView on GitHub Overview
PactKit Board provides atomic operations to manage Sprint Board items. You can add stories with tasks, update individual task statuses, and archive completed stories to keep the sprint view clean and up-to-date. This helps maintain visibility and traceability across your sprint workflow.
How This Skill Works
The skill invokes a Python script (board.py) from pactkit-board/scripts using the base directory from the invocation header. You format add_story with an ITEM-ID, a Title, and a pipe-separated list of tasks; update_task requires an exact task name; archive moves fully completed stories to docs/product/archive/archive_YYYYMM.md.
When to Use It
- Add a new Story with predefined tasks (e.g., design, implementation, tests) using add_story
- Mark individual tasks as completed by running update_task with the exact task name
- Archive Stories that have all tasks completed to keep the sprint board tidy
- Prepare a release by updating the version (update_version) and generating a snapshot (snapshot)
- Repair misplaced stories in the board by running fix_board to relocate them by status
Quick Start
- Step 1: Ensure docs/product/sprint_board.md exists and an archive directory will be used for completed stories
- Step 2: Add a new story with add_story, including a title and pipe-separated tasks
- Step 3: As tasks complete, use update_task to check them off, then run archive when all tasks are done
Best Practices
- Use a consistent ITEM-ID format (e.g., STORY-001) for easy tracking
- When adding a story, separate tasks with a single pipe character (e.g., Task A|Task B)
- Keep story titles concise and descriptive to improve scan-ability
- Archive completed stories regularly to avoid clutter in the active board
- Run fix_board after major changes to ensure stories are in the correct sections
Example Use Cases
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py add_story STORY-101 "User login" "Design UI|Implement API|Write tests"
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py update_task STORY-101 "Implement API"
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py archive
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py list_stories
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-board/scripts/board.py fix_board