feat: add /release one-spell client handoff + rename quality-engineer → quality#126
Open
abdout wants to merge 5 commits into
Open
feat: add /release one-spell client handoff + rename quality-engineer → quality#126abdout wants to merge 5 commits into
abdout wants to merge 5 commits into
Conversation
The "send it to the client" verb. One invocation chains the four
canonical lifecycle commands, then auto-comments the production URL
on the related GitHub issue:
/release <block>
├─ /handover <block> (5-pass Playwright QA)
├─ /check (typecheck + build + visual)
├─ /ship (vercel --prod)
├─ /watch <prod-url> (post-deploy verify)
└─ gh issue comment + close (durable client-facing record)
Behavior:
- Pre-conditions match /ship: working tree clean, on main, up to date
- Delegates to existing commands — no logic duplication
- Idempotent via sentinel cache (.claude/release-state.json):
re-runs skip stages that passed within the last 10 minutes
- Issue resolution order: --issue #N flag, Closes/Refs in HEAD, fuzzy
match on type/feat title, prompt user
- Opt-in --notify-slack <channel> uses existing slack MCP
Refs #125
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…hestrator
The agent file's name was a role title ("Quality Engineer"); its job
is routing the 17 niche keywords and the orchestrators. Shorter name
matches that — and matches the pattern of other domain agents
(structure, pattern, etc.).
Renames:
- .claude/agents/quality-engineer.md → quality.md
- frontmatter name: quality-engineer → quality
- heading: Quality Engineer → Quality
Adds /release as the third orchestrator alongside qa and /handover.
The agent now lists three composition keywords with clear delegation
pointers (handover.md, release.md).
Updated references everywhere the agent was named:
- .claude/agents/report.md (handoff + Reports to)
- .claude/CLAUDE.md (path reference)
- .claude/commands/profile.md (qa + ali profiles)
- docs/AGILE.md (role table + handover section)
- src/components/docs/spellbook-data.ts (f("quality") in handover + report spells)
- src/components/root/home/config.ts (id, title, description, href)
- src/components/root/topic/config.ts (key, id, content, references, usage)
URL change: /engine/quality-engineer → /engine/quality. The topic
config also updated the description from "Tracks 19 keywords" to the
truthful "Routes 17 niche keywords; owns qa, /handover, /release."
Refs #125
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Pipeline section: new note describing /release as the one-spell client handoff with its preconditions - Tools/Quality row: add release alongside check, handover, report - Behavior section: explicit "Send to client → /release <block>" The global ~/.claude/CLAUDE.md keyword vocabulary table also gets release added under Lifecycle (now 7 verbs) and a cross-reference in Orchestrator. That file lives outside the repo. Refs #125 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…/handover
New spell in Charm Work chapter:
release — Give away to client — one spell, four stages, durable record
order: quality agent, Browser MCP, Vercel, GitHub
connects: handover, check, ship, watch
Cross-links added so the spell graph reflects the orchestration:
- Pipeline ship → release
- Pipeline check → release
- Pipeline watch → release
- Charm Work ship → release
- Charm Work check → release
- Defense handover → release
Each spell that release composes now points at release as a related
spell. The user discovering /ship or /handover can follow the arrow
to the orchestrator.
Refs #125
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Document the one-spell client handoff. Cross-link from section 1.7 Handover so users see /release as the natural next step after a clean handover. Refs #125 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced May 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/release <block>— the one spell to give away your work: chains/handover→/check→/ship→/watch, then auto-comments the production URL on the related GitHub issue and closes itquality-engineeragent toquality— shorter, matches the pattern of other domain agentsreleaseinto every keyword surface: project + global CLAUDE.md, quality agent, spellbook, WORKFLOWSStacked on top of PR #124 (vocabulary cleanup). The Lifecycle row goes from 6 → 7 verbs.
Why
After PR #124, the "send a feature to a client" flow still required four invocations: handover → check → ship → watch. That's friction for the most common shipping path.
/releasecollapses it to one verb while preserving the four sharp-edged tools underneath — no logic duplication, just sequencing.Behavior
Idempotent re-runs via sentinel cache (
.claude/release-state.json) — stages that passed in the last 10 minutes skip on retry.Commits
feat(commands): add /release one-spell orchestratorrefactor(agents): rename quality-engineer → quality, add /release orchestratordocs(claude.md): add /release to Pipeline + Tools surfacesfeat(spellbook): add release spell + cross-link from check/ship/watch/handoverdocs(workflows): add section 1.9 Release to clientFiles
Created:
.claude/commands/release.mdRenamed:
.claude/agents/quality-engineer.md→.claude/agents/quality.mdModified: project + global CLAUDE.md, agents/report.md, commands/profile.md, docs/{AGILE,WORKFLOWS}.md, src/components/docs/spellbook-data.ts, src/components/root/{home,topic}/config.ts
Canonical vocabulary is now 7 verbs
/check/handover/ship/watch/release/report/quickTest plan
cat .claude/commands/release.mdexists with the four delegation stages/release admissionruns handover → check → ship → watch/releaserefuses with clear blockergrep -rn quality-engineerreturns zero matches across the repopnpm tsc --noEmitshows no new errors from spellbook/config changeskun.databayt.org/docs/keywordsshows thereleasespellCloses #125
🤖 Generated with Claude Code