Dev-Cycle Playbook
The seven workflow questions /saikit-workflows asks, and the project-level skill it synthesizes into .claude/skills/dev-cycle/SKILL.md.
The dev-cycle playbook is the single most useful artifact /saikit-workflows produces. It captures the connective tissue between your tools, how a Linear ticket turns into a branch, how that branch turns into a PR titled the way your team titles PRs, and what fires the moment the PR merges.
It lives at .claude/skills/dev-cycle/SKILL.md (mirrored to .cursor/skills/ and ~/.codex/skills/ if those targets are selected). It's a project-level skill, versioned with the repo, applied to anyone who works in it.
//What It Is
A SKILL.md that tells the AI:
- Your branch naming pattern (e.g.
feat/PROJ-123-slug,<user>/<feature>). - Your sub-task template for breaking down work under a Story.
- Your commit footer for ticket references (e.g.
Refs PROJ-123,Closes #456). - Your PR title pattern (e.g.
feat(scope): subject (PROJ-123)). - When the ticket transitions to In Progress, branch creation, first commit, PR open, or manual.
- What fires after merge, close the ticket, post to Slack, add a Notion row, tag a release, run deploy.
- What the AI is authorized to do in autonomous mode, commit, transition tickets, post comments, create new tickets when discovering scope.
That last point is the most important: the playbook makes the autonomous-mode permissions explicit, so the AI never improvises around what the team has decided to grant.
//When It Runs
The playbook step only fires when both of two preconditions are met:
- At least one ticketing tool was confirmed (Linear, Jira, GitHub Issues, Notion-as-PM, Asana, Shortcut, Monday, ClickUp).
- At least one code-hosting tool was confirmed (GitHub Issues counts as both; otherwise Cloudflare/Vercel/etc. are inferred from the cloud category).
If you only confirm payments and error tracking, the playbook step is skipped entirely. The dev-cycle is about the ticket-to-merge motion, and there's no point synthesizing one when half the inputs are missing.
//The Seven Questions
The questions ship hardcoded in the binary and the order is intentional, branch convention first because every other answer hangs off it.
| # | Question | Type |
| --- | --- | --- |
| 1 | What is your branch naming convention? Be specific, e.g. feat/PROJ-123-slug, <user>/<feature>, bug/JIRA-456. | free text |
| 2 | If you use a sub-task template per Story / Task, list the names in order. Reply "none" if you don't. | free text |
| 3 | What format is your commit footer for ticket references? e.g. Refs PROJ-123, Closes #456, or "none". | free text |
| 4 | What is your PR title pattern? e.g. feat(scope): subject (PROJ-123), conventional commits, or describe your style. | free text |
| 5 | When does the ticket move to In Progress? | single-select: branch / first commit / PR open / manual |
| 6 | After a PR merges, what fires automatically? | multi-select: close ticket / Slack / Notion DB / release tag / deploy |
| 7 | In autonomous mode, what is the AI authorized to do without confirmation? | multi-select: commit / transitions / comments / create-tickets |
The whole thing takes two to three minutes to answer. Reply skip on optionals; reply none to opt out of an entire concept (e.g. you don't use sub-tasks).
//What the Skill Looks Like
The synthesized dev-cycle/SKILL.md is a project-level skill that activates on requests touching the ticket-to-merge motion. The description is keyword-dense so Claude picks it up reliably:
---
name: dev-cycle
description: This project's branching, commit, and PR conventions plus the post-merge motion. Use when starting a new task, naming a branch, writing a commit message, opening a PR, transitioning tickets, or running autonomous work.
license: Proprietary
metadata:
generated_by: summonaikit
skill_kind: dev-cycle-playbook
---
Body sections:
- Branch naming, your pattern with concrete examples.
- Sub-task template, names in order, or "this team doesn't use sub-tasks".
- Commit footer, exact format string.
- PR title pattern, exact format string.
- Ticket lifecycle, when each transition happens and which tool fires it.
- Post-merge motion, bullet list of what fires, in order.
- Autonomous-mode permissions, the explicit allowlist.
- Cross-references, pointers to the relevant
<tool>-opsskills (linear-opsfor transitions,slack-opsfor comms,cloudflare-opsfor deploys).
//How Claude Uses It
A typical session:
You: start work on PROJ-431
Claude: Reading dev-cycle skill…
Branch naming says feat/PROJ-431-<slug>. Slug from the title?
You: yes, "rate limit the search endpoint"
Claude: → git checkout -b feat/PROJ-431-rate-limit-search-endpoint
→ linear-ops: transition PROJ-431 to In Progress (your rule: on branch creation)
You: open the PR
Claude: Reading dev-cycle skill…
PR title pattern: `feat(api): rate limit search endpoint (PROJ-431)`.
→ gh pr create --title 'feat(api): rate limit search endpoint (PROJ-431)' --body '…'
[PR merges]
Claude: Post-merge motion fires: close PROJ-431, post to #deploys.
→ linear-ops: close PROJ-431
→ slack-ops: post to #deploys ("PROJ-431 merged: rate limit search endpoint")
The AI doesn't have to ask you what your branch convention is, once. It reads the skill on every relevant request.
//Idempotent and Append-Only
Re-running /saikit-workflows after the playbook is written does not overwrite your answers. The binary detects the existing dev-cycle/SKILL.md and skips the playbook step entirely.
To start over, delete the file and re-run:
rm .claude/skills/dev-cycle/SKILL.md
To update one answer without re-running the whole flow, edit the section directly. Claude reads the file fresh on every session.
//Editing By Hand
The synthesized playbook is yours. Treat it like any other project-level skill:
- Add new sections (e.g. "Hotfix branch convention", "Release candidate naming").
- Refine the autonomous-mode block as you build trust with the AI.
- Cross-reference new ops skills as you add tools.
- Commit it to the repo so the rest of the team gets the same context.
/saikit-update --scope=skills does not regenerate the dev-cycle skill, it only refreshes codebase + ops skills. The playbook is treated as user-owned content.