From smorch-dev
Generates the dev→QA handover brief from SOP-13 template. Auto-fills BRD refs, PR URL, staging URL, test scenarios, known risks, and rollback path. Output is what Lana scores via qa-handover-scorer. Brief that scores below 80 is rejected back to dev.
How this skill is triggered — by the user, by Claude, or both
Slash command
/smorch-dev:handover-generatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Invoked by:** `/smo-handover`
Invoked by: /smo-handover
Consumes: Current PR branch, architecture/brd.md, docs/qa-scores/ latest report, git log
Produces: docs/handovers/YYYY-MM-DD-{pr-number}-handover.md
Lana rejecting weak handovers is a documented SOP-13 pattern. Without a generator, every dev writes a different format, Lana spends 20 min interpreting, the handover score suffers. Auto-generation = consistent format + 2 min to fill in what the generator can't infer.
templates/handover-brief.template.md)# Handover — {pr-title} (#PR-{number})
**Date:** {today}
**Dev:** {git config user.name}
**Branch:** {current-branch}
**Base:** {base-branch}
**Last commit:** {short-sha} — {commit-message-first-line}
## 1. Completeness
- **BRD ACs covered:** AC-{N.N}, AC-{N.N}, ... (list from @AC tags in tests)
- **BRD ACs deferred:** {list or "none"}
- **PR URL:** {gh pr view --json url}
- **Staging URL:** {from .smorch/project.json → deploy.staging_url}
## 2. Testability
### Happy path
- **Setup:** {steps to reproduce on Lana's machine}
- **Actions:** {1-4 steps}
- **Expected:** {observable outcome with screenshot/curl}
### Empty state
- {setup + actions + expected}
### Error state
- {setup + actions + expected}
### Edge cases
- {setup + actions + expected}
## 3. Repro-ability
- **Env vars needed:** {list from .env.example diff}
- **Seed data:** {command or N/A}
- **Test accounts:** {credentials or pointer to 1Password}
- **Feature flags:** {list or N/A}
## 4. Risk disclosure
- **Known issues:** {list or "none"}
- **Areas I did NOT test:** {honest list}
- **Recently-touched nearby code (regression risk):** {list}
- **Third-party dependencies affected:** {list}
## 5. Rollback readiness
- **Rollback command:** `/smo-rollback {deploy-id}` or manual steps
- **Rollback SLA:** {e.g., 2 min}
- **Data migration reversibility:** {yes/no/partial + plan}
- **Monitor during first 24h:** {Telegram alerts to watch, log queries}
## Score report
- **Dev self-score:** {composite from latest docs/qa-scores/}
- **Score report:** {path to docs/qa-scores/YYYY-MM-DD-HHMM.md}
## Dev signs off
I attest this brief is accurate. Gaps are documented, not hidden.
The generator populates what it can from git + filesystem:
gh pr view --json number,urlgit rev-parse --abbrev-ref HEAD, git merge-base HEAD maingrep -oE '@AC-[0-9]+\.[0-9]+' tests/ | sort -u.env.example vs basedocs/qa-scores/.smorch/project.json → deploy.rollback_templateAfter generation:
/smo-handover --validate checks: all 5 sections have content, rollback is defined, PR URL resolvesdocs/handovers/ (tracked in git for audit)/smo-handover --notify pings Lana (Telegram) with linkLana's /smo-qa-handover-score reads the generated handover, scores 5 dimensions:
≥80 → accepts. 60-79 → sends back with specific fixes. <60 → auto-rejects + pings Mamoun.
Shipping without a handover brief = SOP-13 violation = -1 Product hat on next score. The workflow isn't optional.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub smorchestra-ai/smorch-dev --plugin smorch-dev