pactkit-scaffold ยท diff

git:20260507.80b3331 to git:20260917.c7b3869

4 added, 3 removed. Audit A to A.

---
name: pactkit-scaffold
description: "File scaffolding: create Spec, test files, E2E tests, Git branches, Skills"
+ model: haiku
---
# PactKit 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.
## Prerequisites
- `docs/specs/` directory must exist (required by `create_spec`)
- `tests/unit/` and `tests/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-001`
- `Title`: 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}/` with `SKILL.md`, `scripts/{clean_name}.py`, `references/.gitkeep`
- Refuses to overwrite if the skill directory already exists
- ### create_board -- Create Sprint Board
+ ### create_board -- Initialize Story Facts
```
python3 ${CLAUDE_PLUGIN_ROOT}/skills/pactkit-scaffold/scripts/scaffold.py create_board
```
- - Creates `docs/product/sprint_board.md` with standard section headers
+ - Creates `docs/product/stories/`; use `pactkit board render` only for an explicit projection
- Output: Standard board with `## ๐Ÿ“‹ Backlog`, `## ๐Ÿ”„ In Progress`, `## โœ… Done` sections
- Refuses to overwrite if the board already exists
## Usage Scenarios
- - `/project-init`: Use `create_board` to create Sprint Board (Phase 4)
+ - `/project-init`: Use `create_board` to initialize Story facts (Phase 4)
- `/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