plugins/runbook/skills/runbook-register/SKILL.md
Register a new runbook with a name, trigger condition, and list of actions to automate repetitive task sequences
npx skillsauth add jason-hchsieh/marketplace runbook-registerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are registering a new automated runbook that will execute a sequence of actions when a trigger condition is met.
Runbooks are persisted in .claude/runbooks.json in the project root. Create the file and parent directory if they don't exist.
{
"runbooks": {
"<runbook-name>": {
"trigger": "<trigger-type>",
"mode": "auto|ask",
"enabled": true,
"description": "<what this runbook does>",
"actions": [
{ "type": "shell", "command": "<shell command>" },
{ "type": "prompt", "instruction": "<instruction for Claude to follow>" }
]
}
}
}
| Trigger | When it fires |
|---------|---------------|
| task_complete | After Claude finishes a task (via Stop hook) |
| manual | Only when explicitly invoked with /runbook-run |
| Mode | Behavior |
|------|----------|
| auto | Execute actions immediately without asking the user |
| ask | Show the user what will run and ask for confirmation before executing |
Default mode is ask — safer for new runbooks. Use auto for trusted, well-tested runbooks.
| Type | Format | Example | When to use |
|------|--------|---------|-------------|
| prompt | { "type": "prompt", "instruction": "..." } | { "type": "prompt", "instruction": "Run /bump to update the version" } | Default. For invoking skills, multi-step workflows, or anything Claude should reason about |
| shell | { "type": "shell", "command": "..." } | { "type": "shell", "command": "git push" } | For simple, deterministic commands that need no judgment |
Prompt actions are instructions that Claude follows directly. They can reference skills (e.g., "Run /bump"), describe multi-step workflows, or include conditional logic. Claude uses its judgment to execute them — invoking skills, running commands, or making decisions as needed.
Shell actions are raw commands executed via Bash. Use these only for simple, single-purpose commands where Claude's reasoning isn't needed.
When the user describes actions:
/bump, /commit, /deploy), natural language instructions ("check if tests pass then deploy"), or conditional logic → use prompt typegit push, npm test, docker restart) → use shell typeprompt type (it's more flexible)Actions support these template variables (replaced at execution time):
{{task_description}} — brief description of what was just completed{{date}} — current date in YYYY-MM-DD format{{branch}} — current git branch nameParse arguments: The user provides a runbook name and optionally inline trigger/actions, e.g.:
/runbook-register auto-commit — then ask for trigger and actions/runbook-register auto-version-commit trigger:task_complete actions: /bump, /commit-and-pushIf trigger/actions not provided, ask the user:
task_complete or manual)auto or ask, default: ask)Classify each action as prompt or shell based on the detection rules above
Read existing runbooks: Read .claude/runbooks.json if it exists, otherwise start with { "runbooks": {} }
Show the user exactly what will be registered:
Runbook "auto-version-commit":
Trigger: task_complete
Mode: auto
Actions:
1. [prompt] Run /bump to update the version
2. [prompt] Run /commit-and-push to commit and push all changes
Status: enabled
Add the new runbook to the JSON object and write to .claude/runbooks.json
Confirm registration with the summary above
task_complete runbook contains destructive shell commands (force push, rm -rf, etc.)tools
Bootstrap versioning for a project - detect project type, initialize git-cliff config, and generate initial CHANGELOG.md using semantic versioning
development
Validate version consistency across all project files, check semver format, git tag alignment, and changelog synchronization per https://semver.org/
tools
Generate or update CHANGELOG.md using git-cliff from conventional commit history - see https://git-cliff.org/docs/category/usage
tools
Bump the project version following semver, update all version files per https://semver.org/