SKILL.md
/os-tk-bootstrap
Inputs
<change-id><epic-title>- Optional
--yesfor execute mode
Resolve skill dir (for scripts)
SKILL_DIR=".pi/skills/os-tk-bootstrap"
if [[ ! -d "$SKILL_DIR" ]]; then SKILL_DIR="pi/skills/os-tk-bootstrap"; fi
Parse arguments
eval "$(bash "$SKILLDIR/scripts/parse-args.sh" "$@")"→CHANGEID,EPIC_TITLE,MODE
Load proposal for context
bash "$SKILLDIR/scripts/show-proposal.sh"(requiresCHANGEID)
Design tickets
- Create small focused tasks based on
openspec/changes/<id>/tasks.md. - If a task feels too large, split it.
- Decide real dependencies.
- Predict file touches (
files-modify,files-create).
Build commands (preview)
Epic creation:
source "$SKILLDIR/scripts/build-epic-command.sh"→ setsEPICCMD
Task creation (repeat per task):
source "$SKILLDIR/scripts/build-task-command.sh"→ setsTASKCMD
Dependencies (repeat):
source "$SKILLDIR/scripts/build-dep-command.sh"→ setsDEPCMD
Preview mode
If MODE=preview:
- Print the exact commands that would run.
- STOP.
Execute mode
If MODE=execute:
eval "$(bash "$SKILLDIR/scripts/execute-epic.sh")"→ creates epic, setsEPICID
For each task:
eval "$(bash "$SKILLDIR/scripts/execute-task.sh")"→ creates task, setsTASKID
Then apply frontmatter fields via tk-frontmatter:
alias: <change-id>.<n>files-modify: [...]files-create: [...]openspectaskref: <checkbox or task reference>
Finally, apply dependencies:
bash "$SKILL_DIR/scripts/apply-dep.sh"
Show queue:
bash "$SKILL_DIR/scripts/show-ready.sh"
Stop condition
- In preview mode: STOP after listing commands.
- In execute mode: STOP after creating tickets and showing
tk ready.