Slash Commands
The five slash commands SummonAI Kit can install, what each one does, how /saikit-workflows works as a thin protocol executor, and how the cross-tool trio uses your dev-cycle playbook.
SummonAI Kit ships five slash commands. Two are always installed (the kit drives them). Three are optional and only installed when you opt in during /saikit-workflows, they tie your synthesized dev-cycle playbook directly to the AI's command surface.
//Overview
| Command | Installed by | Purpose |
| --- | --- | --- |
| /saikit-workflows | summonaikit (always) | Run the workflow pass, categories → tools → questions → skills + MCPs + playbook |
| /saikit-update | summonaikit (always) | Re-run the codebase pass, refresh CLAUDE.md, skills, subagents, hooks |
| /start-task <TICKET> | /saikit-workflows (opt-in) | Branch + ticket transition + kickoff comment |
| /ship | /saikit-workflows (opt-in) | Open PR with the right title format, link the ticket, watch CI |
| /post-merge | /saikit-workflows (opt-in) | Close ticket + post to comms + update narrative docs |
//Kit-Installed Commands
/saikit-workflows
A thin protocol executor. Sixty-something lines of Markdown plus YAML frontmatter that tells the AI how to talk to the summonaikit workflow subcommand.
---
description: Configure SummonAI Kit workflow integrations, detects tools, asks how the team uses them, installs ops skills + writes a custom dev-cycle playbook. Idempotent.
allowed-tools: AskUserQuestion Bash(summonaikit:*) Read Write Edit
---
The body explains the loop:
- Run
summonaikit workflow run --json(omit--stateon the very first call). - Parse the JSON response,
{ ok: true, data: { instruction: { kind, ... }, nextStateBase64 } }. - Execute the
instructionper a small dispatch table:ask→ AskUserQuestionfree-text→ ask the user in chatbash→ run a shell commandwrite→ Write to the path the binary specifiesmessage→ optionally show text, then loopdone→ display the summary, stoperror→ show the message, optionally ask retry/skip/abort
- Re-run with
--state=<nextStateBase64>from the previous response.
That's the entire protocol. The slash command never improvises, it never adds questions, never edits paths, never modifies the JSON shape of the state when merging answers. All workflow IP lives in the binary.
/saikit-update
Same shape, different binary subcommand:
---
description: Refresh SummonAI Kit project artifacts, updates repository instructions, installed skills, subagents, hooks, and slash commands through the programmatic CLI. Prompts stay inside the compiled binary.
allowed-tools: Bash(summonaikit:*)
argument-hint: [--selection=installed|detected|all] [--scope=instructions,skills,subagents,hooks,slash-commands]
---
The body runs summonaikit kit update --json $ARGUMENTS and parses the result. Use it to:
- Refresh stale codebase skills after a major dependency upgrade.
- Add new skills the analyzer didn't catch the first time (
--selection=detected). - Update one scope without touching others (
--scope=skillsafter upgrading SummonAI Kit itself).
Hard rules are enforced in the slash command body: it must not reveal or improvise the analyzer prompts, must not call the interactive summonaikit flow, must not edit generated artifacts directly.
//Cross-Tool Commands
These three only get installed if you have at least one ticketing tool and one code-hosting tool confirmed (the same precondition as the dev-cycle playbook). They reference the dev-cycle skill and the corresponding <tool>-ops skills directly, they are the place where your team workflow becomes one-keystroke.
/start-task <TICKET>
Body (rendered with your team's conventions baked in):
Read the dev-cycle skill before doing anything.
1. Pull the ticket details via the ticketing-ops skill (linear-ops / jira-ops /
github-issues-ops).
2. Create a branch using this team's naming pattern. The pattern is in the
dev-cycle skill.
3. Transition the ticket per the team's "ticket lifecycle" rule. (E.g. if the
rule is "branch creation", do it now. If it's "first commit", wait.)
4. Post a kickoff comment on the ticket: "Working on this, branch:
<branch>".
The slash command's description is keyword-dense so the AI knows when to suggest it. You can also type it explicitly: /start-task PROJ-431.
/ship
Read the dev-cycle skill before doing anything.
1. Run the project's pre-ship gate. (Check the dev-cycle skill for whether
that's typecheck + tests + build, or just typecheck, or something custom.)
2. Open a PR using gh / the GitHub-Issues-ops skill / Vercel/Cloudflare CI.
PR title pattern is in the dev-cycle skill.
3. Apply the team's commit footer for ticket reference.
4. Watch CI. Surface any failure once, then ask the user how to handle it.
The PR title pattern is templated from playbook question 4. The footer comes from question 3.
/post-merge
The PR has merged. Read the dev-cycle skill.
Run the team's post-merge motion in order. The dev-cycle skill has the list,
but typically:
1. Close the ticket (via ticketing-ops).
2. Post to comms (via slack-ops / discord / msteams).
3. If a Notion DB row is required, write it via notion-ops.
4. If the team tags releases, tag now.
5. If the team auto-deploys, kick the deploy.
Items in this list are exactly the multi-select answers from playbook question 6. The synthesized command body matches the answers, items the team doesn't do are removed before the command lands on disk.
//Where They Live, Per Target
| Target | Location |
| --- | --- |
| Claude Code | <repo>/.claude/commands/<name>.md |
| Cursor | <repo>/.cursor/commands/<name>.md |
| Codex | ~/.codex/prompts/<name>.md (user-level only, Codex's custom-prompts feature doesn't support project-level prompts; the command is invoked as /prompts:<name> in Codex ≥ 0.46.0) |
The summonaikit install step writes saikit-workflows.md and saikit-update.md into every selected target. /saikit-workflows writes the cross-tool trio into every target you've selected during its run.
//Editing a Command
Slash command files are Markdown, open them and edit. The kit treats files with content matching its bundled body as canonical and overwrites on update; if you've changed the file, the kit's idempotency check sees the diff but still rewrites. (Add a "preserve user edits" mode is on the roadmap if this becomes a problem.)
The cross-tool commands are templated once during your /saikit-workflows run and aren't refreshed by /saikit-update. They're yours to tune.