pactkit-scaffold
npx machina-cli add skill pactkit/claude-code-plugin/pactkit-scaffold --openclawPactKit Scaffold
Project file scaffolding tool for quickly creating standardized project files.
Script location: Use the base directory from the skill invocation header to resolve script paths. Classic deployment:
${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py
Prerequisites
docs/specs/directory must exist (required bycreate_spec)tests/unit/andtests/e2e/directories must exist (required by test scaffolding)- Git repository must be initialized (required by
git_start)
Command Reference
create_spec -- Create a Spec file
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_spec ITEM-ID "Title"
ITEM-ID: Work item identifier, e.g.STORY-001,HOTFIX-001,BUG-001Title: Spec title- Output:
docs/specs/{ITEM-ID}.md(with template structure)
create_test_file -- Create a unit test
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_test_file src/module.py
- Automatically generates the corresponding test file based on the source file path
- Output:
tests/unit/test_module.py
create_e2e_test -- Create an E2E test
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_e2e_test ITEM-ID "scenario_name"
- Output:
tests/e2e/test_{ITEM-ID}_{scenario}.py
git_start -- Create a Git branch
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py git_start ITEM-ID
- Branch prefix is inferred from the item type:
STORY-*→feature/STORY-*HOTFIX-*→fix/HOTFIX-*BUG-*→fix/BUG-*
create_skill -- Create a Skill directory scaffold
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_skill skill-name "Description of the skill"
skill-name: Skill identifier (must start with lowercase letter:^[a-z][a-z0-9]*(-[a-z0-9]+)*$)Description: Brief description for SKILL.md frontmatter- Output:
${CLAUDE_PLUGIN_ROOT}/skills/{skill-name}/withSKILL.md,scripts/{clean_name}.py,references/.gitkeep - Refuses to overwrite if the skill directory already exists
create_board -- Create Sprint Board
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_board
- Creates
docs/product/sprint_board.mdwith standard section headers - Output: Standard board with
## 📋 Backlog,## 🔄 In Progress,## ✅ Donesections - Refuses to overwrite if the board already exists
Usage Scenarios
/project-init: Usecreate_boardto create Sprint Board (Phase 4)/project-plan: Usecreate_specto create a Spec template/project-act: Usecreate_test_fileto create test scaffolding/project-check: Usecreate_e2e_testto create E2E tests- Ad-hoc: Use
create_skillto scaffold a new reusable skill
Source
git clone https://github.com/pactkit/claude-code-plugin/blob/main/pactkit-plugin/skills/pactkit-scaffold/SKILL.mdView on GitHub Overview
PactKit Scaffold is a project scaffolding tool to quickly generate standardized project files. It can create Spec templates, unit and E2E tests, Git branches, and ready-to-use Skill layouts. It relies on a predictable folder structure (docs/specs, tests/unit, tests/e2e) and a initialized Git repo.
How This Skill Works
The tool exposes commands like create_spec, create_test_file, create_e2e_test, git_start, create_skill, and create_board, each invoking the scaffold.py script from the CLAUDE_PLUGIN_ROOT. It writes outputs to standard locations such as docs/specs, tests/unit, tests/e2e, and skill directories, and can create new sprint boards or skill scaffolds as needed.
When to Use It
- /project-init: Use create_board to create Sprint Board
- /project-plan: Use create_spec to create a Spec template
- /project-act: Use create_test_file to create test scaffolding
- /project-check: Use create_e2e_test to create E2E tests
- Ad-hoc: Use create_skill to scaffold a new reusable skill
Quick Start
- Step 1: Identify the item-id and task type (spec, test, e2e, git, board).
- Step 2: Run the corresponding scaffold command from your project root (e.g., create_spec STORY-001 'Title').
- Step 3: Verify generated outputs in docs/specs, tests/unit, tests/e2e, or the sprint board file.
Best Practices
- Ensure prerequisites exist before running scaffold (docs/specs, tests/unit, tests/e2e, Git repo).
- Use consistent IDs and titles for specs (e.g. STORY-001, HOTFIX-001, BUG-001).
- Run commands from the project root to resolve script paths correctly.
- Prefer non-destructive operations; the tool will refuse overwriting existing files or boards.
- Keep outputs synchronized with your repo: commit generated files and boards after creation.
Example Use Cases
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_spec STORY-001 'User login feature'
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_test_file src/module.py
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_e2e_test STORY-001 'login-flow'
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py git_start STORY-001
- python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_board