Use when planning a production release with rollout strategy, monitoring, rollback plan, and stakeholder communication. Also triggers on 'release plan', 'rollout plan', 'go-live', 'launch plan', 'how to deploy', 'rollback plan', or 'post-release monitoring'.
From pmnpx claudepluginhub etusdigital/etus-plugins --plugin pmThis skill uses the workspace's default tool permissions.
knowledge/template.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides slash command development for Claude Code: structure, YAML frontmatter, dynamic arguments, bash execution, user interactions, organization, and best practices.
Plan a safe, measurable production release: rollout strategy (full/progressive/canary/beta/feature flag), go/no-go checklist, success and guardrail metrics with dashboards, monitoring ritual (who watches for how long), rollback plan with specific triggers and procedure, stakeholder communication (internal + external), and post-release validation. This document ensures that "launching" is not just "deploying" — it is operating with intention. It reduces regression risk and guarantees objective impact reading.
Reference: .claude/skills/orchestrator/dependency-graph.yaml
BLOCKS (must exist — auto-invoke if missing):
docs/ets/projects/{project-slug}/implementation/implementation-plan.md — Need to know what is being released (scope, stories, timeline).docs/ets/projects/{project-slug}/implementation/quality-checklist.md — Quality gates must be defined before release.ENRICHES (improves output — warn if missing):
docs/ets/projects/{project-slug}/architecture/tech-spec.md — NFR targets inform monitoring thresholds.docs/ets/projects/{project-slug}/planning/prd.md — Success metrics from PRD inform post-release validation.Resolution protocol:
dependency-graph.yaml → release-plan.requires: [implementation-plan, quality-checklist]docs/ets/projects/{project-slug}/implementation/implementation-plan.md and docs/ets/projects/{project-slug}/implementation/quality-checklist.md exist, are non-empty, and are not <!-- STATUS: DRAFT -->?implementation-plan skill → wait → continuequality-checklist skill → wait → continueMANDATORY: This skill MUST write its artifact to disk before declaring complete.
mkdir -p if neededIf the Write fails: Report the error to the user. Do NOT proceed to the next skill.
This skill follows the ETUS interaction standard. Your role is a thinking partner, not an interviewer — suggest rollout strategies based on risk profile, propose monitoring thresholds from NFR targets, challenge weak rollback plans, and help the user think through communication needs. Release planning is operational and risk-driven — these patterns ensure the user builds a plan that can actually be executed, not a checkbox document.
One question per message — Ask one question, wait for the answer, then ask the next. Release questions often require coordination with engineering and ops, so give the user space. Use the AskUserQuestion tool when available for structured choices.
3-4 suggestions for choices — When the user needs to choose a direction (e.g., rollout strategy, monitoring duration, rollback triggers), present 3-4 concrete options with a brief description of each. Highlight your recommendation based on the risk profile. Let the user pick before proceeding.
Propose approaches before generating — Before generating any content section, propose 2-3 approaches with tradeoffs. Example: "Based on the risk profile (P0 initiative, integration changes, funnel impact), I see three rollout strategies: (A) Feature flag with 5% → 20% → 50% → 100% ramp — safest, slower feedback, (B) Canary with 10% for 24h then full — faster, needs good monitoring, (C) Full release with kill switch — fastest, riskiest. I recommend A because of the integration changes."
Present output section-by-section — Don't generate the full document at once. Present each major section (Rollout Strategy, then Go/No-Go Checklist, then Metrics, etc.), ask "Does this capture it well? Anything to adjust?" and only proceed after approval.
Track outstanding questions — If something can't be answered now, classify it:
Multiple handoff options — At completion, present 3-4 next steps as options instead of a single fixed path.
Resume existing work — Before starting, check if the target artifact already exists at the expected path. If it does, ask the user: "I found an existing release-plan.md at [path]. Should I continue from where it left off, or start fresh?" If resuming, read the document, summarize the current state, and continue from outstanding gaps.
Assess if full process is needed (right-size check) — If the release is low-risk (small change, no integrations, no funnel impact), don't force the full interview. Offer a "versao curta" with just: scope, basic metrics, simple rollback, and communication. Only run the full interactive process for P0/P1 releases with meaningful risk.
Thinking partner behaviors:
This skill reads and writes persistent memory to maintain context across sessions.
On start (before any interaction):
docs/ets/.memory/project-state.md — know where the project isdocs/ets/.memory/decisions.md — don't re-question closed decisionsdocs/ets/.memory/preferences.md — apply user/team preferences silentlydocs/ets/.memory/patterns.md — apply discovered patternsOn finish (after saving artifact, before CLOSING SUMMARY):
project-state.md is updated automatically by the PostToolUse hook — do NOT edit it manually.python3 .claude/hooks/memory-write.py decision "<decision>" "<rationale>" "<this-skill-name>" "<phase>" "<tag1,tag2>"python3 .claude/hooks/memory-write.py preference "<preference>" "<this-skill-name>" "<category>"python3 .claude/hooks/memory-write.py pattern "<pattern>" "<this-skill-name>" "<applies_to>"The .memory/*.md files are read-only views generated automatically from memory.db. Never edit them directly.
Load context in this order of priority:
[context-path], read that file directly.docs/ets/projects/{project-slug}/state/reports/ for upstream implementation artifacts.docs/ets/projects/{project-slug}/implementation/ for implementation-plan.md and quality-checklist.md. Scan docs/ets/projects/{project-slug}/architecture/ for tech-spec.md. Scan docs/ets/projects/{project-slug}/planning/ for prd.md.This interview follows a one-question-at-a-time rhythm. Ask each question alone in one message, wait for the user's answer, then decide whether to ask a follow-up or move forward.
Question 1 (ask alone, one message):
"O que esta sendo released? Descreva o escopo (o que inclui e o que NAO inclui) e compartilhe links para PRD/backlog/epico."
Wait for the answer. Extract: scope, links, risk profile.
Follow-up (ask alone, one message, if risk is unclear):
"Qual o nivel de risco deste release? Considere: (1) impacto em funil/conversao/receita, (2) mudancas em integracoes, (3) alteracoes de schema/dados, (4) impacto operacional. Isso nos ajuda a escolher a estrategia de rollout."
Question 2 (ask alone, one message):
"Qual a estrategia de rollout? Baseado no perfil de risco, sugiro estas opcoes:
- Full release — 100% de uma vez. Mais rapido, maior risco. Bom para mudancas de baixo risco.
- Progressivo (ramp-up) — 5% → 20% → 50% → 100%. Mais seguro, feedback gradual. Bom para mudancas de medio risco.
- Canario — Grupo pequeno (5-10%) por 24h, depois expandir. Bom para validar estabilidade.
- Feature flag — Toggle configuravel, ramp-up por segmento. Mais controle, rollback instantaneo. Bom para mudancas de alto risco.
Recomendo [opcao] porque [razao baseada no risco]. Qual prefere?"
Wait for the answer. Then ask configuration details:
"Para a estrategia escolhida: qual o nome da feature flag (se aplicavel)? Qual segmento inicial? Qual criterio para avancar de etapa?"
Question 3 (ask alone, one message):
"Quais metricas definem sucesso para este release? Pense em 3 categorias: (A) Metricas de sucesso (outcome) — o que esperamos melhorar (baseline → meta → janela) (B) Guardrails — o que NAO pode piorar (com threshold especifico) (C) Metricas operacionais — erros, latencia, tickets"
Wait for the answer. Then ask:
Question 4 (ask alone, one message):
"Quem monitora nas primeiras 24-72h? Precisamos de: responsavel de Produto, Engenharia, Data, e Operacao/CS. Qual o canal de comunicacao (Slack/Teams) e qual o ritual (janela intensiva + acompanhamento diario)?"
Question 5 (ask alone, one message):
"O que dispara rollback? Vamos definir gatilhos especificos:
- Queda de conversao > [X%] por [Y horas]?
- Erros > [X%] ou incidentes criticos?
- p95 > [X ms] por [Y min]?
- Tickets criticos > [N] em [Y horas]?
Quem decide o rollback? (PM + Tech Lead + backup)"
Wait for the answer. Then ask:
"Qual o procedimento de rollback? Sugiro 4 passos: (1) desabilitar flag/reverter deploy, (2) validar estabilizacao, (3) comunicar stakeholders, (4) abrir incidente/post-mortem. Faz sentido ou precisa ajustar?"
Question 6 (ask alone, one message):
"Quem precisa ser comunicado sobre este release? Interno: CS, Suporte, Growth, Vendas, Ops, Lideranca — quais se aplicam? Externo (se aplicavel): usuarios/clientes via in-app, email, changelog?
Para cada publico, precisamos definir: o que mudou, quem e impactado, como agir se houver problema, onde acompanhar metricas."
Question 7 (ask alone, one message):
"Como validamos o sucesso apos o release?
- Curto prazo (24-72h): o que olhamos?
- Medio prazo (1-2 semanas): o que confirma sucesso?
- Criterio para 'considerar sucesso': quais metricas precisam estar ok?
- Acoes apos release: learnings, bugs, docs, comunicar resultados"
The generated docs/ets/projects/{project-slug}/implementation/release-plan.md contains:
SST Rule: Rollout strategy, rollback plan, and monitoring metrics ONLY in this document. No other document should redefine release operations.
IDs: No formal IDs. This is an operational document, not a requirements document.
knowledge/template.md for the release plan document template and structure.implementation-plan.md (BLOCKS):
quality-checklist.md (BLOCKS):
Before marking this document as COMPLETE:
If any check fails → mark document as DRAFT with <!-- STATUS: DRAFT --> at top.
After saving and validating, display:
release-plan.md saved to `docs/ets/projects/{project-slug}/implementation/release-plan.md`
Status: [COMPLETE | DRAFT]
Rollout strategy: [type]
Go/no-go items: [count]
Rollback triggers: [count]
Then present these options using AskUserQuestion (or as a numbered list if AskUserQuestion is unavailable):
Wait for the user to choose before taking any action. Do not auto-proceed to the next skill.
implementation-plan.md (BLOCKS), quality-checklist.md (BLOCKS), optionally tech-spec.md (ENRICHES), prd.md (ENRICHES)Input: Interview notes from Step 2
Action: Generate the document one major section at a time, using the template from knowledge/template.md. For each section:
Section order:
Output: Approved sections assembled into complete release-plan.md
docs/ets/projects/{project-slug}/implementation/ — create if missingdocs/ets/projects/{project-slug}/implementation/release-plan.md using the Write tooldocs/ets/projects/{project-slug}/implementation/release-plan.md) + paths to upstream documents (BLOCKS: docs/ets/projects/{project-slug}/implementation/implementation-plan.md, docs/ets/projects/{project-slug}/implementation/quality-checklist.md)"Document saved to
docs/ets/projects/{project-slug}/implementation/release-plan.md. The spec reviewer approved it. Please review and let me know if you want any changes before we proceed." Wait for the user's response. If they request changes, make them and re-run the spec review. Only proceed to validation after user approval.
| Error | Severity | Recovery | Fallback |
|---|---|---|---|
| BLOCKS dep missing (implementation-plan.md) | Critical | Auto-invoke implementation-plan skill — need to know what's being released | Pause until implementation-plan is available |
| BLOCKS dep missing (quality-checklist.md) | Critical | Auto-invoke quality-checklist skill — quality gates must exist before release | Pause until quality-checklist is available |
| BLOCKS dep is DRAFT | Warning | Proceed with available context, noting scope/quality gaps | Add <!-- ENRICHMENT_MISSING: [doc] is DRAFT --> |
| ENRICHES dep missing (tech-spec.md) | Low | Proceed — ask user for NFR targets directly | Note that monitoring thresholds may need revision |
| ENRICHES dep missing (prd.md) | Low | Proceed — ask user for success metrics directly | Note that post-release validation may need revision |
| Rollback triggers are vague | High | Push for specific numbers: "At exactly what threshold do we rollback?" | Do not proceed until at least 2 triggers have numeric thresholds |
| No monitoring responsible named | High | Push: "Who watches the dashboards after go-live? We need names, not roles." | Mark as DRAFT until people are assigned |
| Output validation fails | High | Address gaps, re-present sections to user | Mark as DRAFT |
This skill supports iterative quality improvement when invoked by the orchestrator or user.
| Condition | Action | Document Status |
|---|---|---|
| Completeness >= 90% | Exit loop | COMPLETE |
| Improvement < 5% between iterations | Exit loop (diminishing returns) | DRAFT + notes |
| Max 3 iterations reached | Exit loop | DRAFT + iteration log |
--quality-loop on any skill invocation--no-quality-loop to disable (generates once, validates once)