Synthèse automatique
Formalise les corrections ponctuelles après merge, sans PRD ni TRD, tout en conservant le TDD, la revue de code et un rattachement à une issue GitHub.
Points forts
- Pose un gate explicite : aucune branche de hotfix ne doit être créée sans issue GitHub associée.
- Relie la correction à la spec concernée et ajoute une entrée d'historique de type hotfix-<date>.
- Maintient les pratiques de TDD et les revues proportionnées au risque, même sans documents produit ou architecture.
- Prévoit explicitement de basculer vers le flux SDD complet si le périmètre ou le risque augmente.
Limites
- Exige un dépôt GitHub configuré et authentifié via gh ; le flux s'arrête si ce n'est pas le cas.
- Ne convient pas aux nouvelles fonctionnalités, aux nouveaux critères d'acceptation ou aux décisions d'architecture significatives.
- Le texte fourni s'interrompt en pleine phrase et ne décrit pas l'intégralité des étapes d'exécution.
À utiliser lorsqu'un bug est constaté après le merge d'une spec, ou pour une petite amélioration sans spec d'origine qui ne justifie pas un PRD ou un TRD.
À ne pas utiliser pour une nouvelle fonctionnalité, un changement d'architecture important ou lorsque l'accès GitHub nécessaire n'est pas disponible.
Analyse de sécurité
PrudenceThis is a process runbook for a post-merge hotfix flow, not an executable payload. Its risk profile is 'caution' rather than 'safe' because it deliberately drives privileged tooling — git history/branches, authenticated GitHub CLI calls (issue/label/milestone creation, PR opening), working-tree isolation, and subagent invocation — for entirely legitimate engineering purposes. Nothing exfiltrates data or performs destructive operations, but the empty allowed-tools declaration understates the shell and network capabilities it expects.
- •Declared allowed-tools is empty, but the workflow requires shell execution: git (branch/working tree), `gh auth status`, `gh issue create`, `gh label create`, `gh api repos/<owner>/<repo>/milestones`, plus spawning implementation/review subagents via the Agent tool — a tool-permission mismatch auditors/installers should reconcile.
- •Instructs execution of repository-local helper scripts (`skills/status/scripts/sdd-status.sh` / `.ps1`) whose contents are not shown, so their behavior cannot be verified from this file.
- •Depends on and delegates authority to external files not included in the package (`.claude/agents/backend-developer.md`, `frontend-developer.md`, `architect.md`, `docs/QUALITY-GATES.md`, `docs/GIT-WORKFLOW.md`), so the effective instructions may differ from what is reviewed here.
- •No destructive, exfiltration, obfuscation, or safety-disabling content found; no secrets, no curl|sh, no base64 payloads. Git/GitHub operations are scoped to opening issues, branches, and draft PRs.
- •No prompt-injection or role-override attempt detected inside the skill body.
- •No allowed-tools are declared, yet the skill instructs the agent to run shell/CLI commands (git remote -v, gh auth status, gh issue create, gh api repos/.../milestones, gh label create, git branch/PR creation) and to invoke the Agent tool and AskUserQuestion. The declared capability surface does not match the operations described.
- •Instructs authenticated GitHub writes (issue creation, labels, milestones, branch/PR). These are non-destructive and legitimate for the described workflow, but they mutate shared remote state and depend on the user's gh credentials.
- •Step 3 discusses operations 'typically blocked by the auto-mode session classifier' (real infrastructure mutation in production, deliberate load/traffic generation) and requires that they be surfaced in the AskUserQuestion plan and executed manually by the user or under an explicit permission rule. This is a disclosure/handoff, not a request to bypass the classifier, but it is the most safety-adjacent text in the file and should be reviewed in context.
- •No instructions to exfiltrate data, disable safeguards, or run obfuscated/unpinned remote code (no curl|sh, no base64 payloads, no rm -rf). All commands reference repo-local paths and standard git/gh subcommands.
Exemples
Encontrei um bug em produção no cálculo de frete do checkout e a spec 0042 já foi mergeada. Rode /sdd-hotfix com issue no GitHub, branch e TDD.Preciso ajustar o texto do e-mail de confirmação; é uma melhoria pontual de baixo risco e não existe spec de origem. Use o fluxo de hotfix, sem PRD/TRD.Durante a validação pós-merge da spec de autenticação achei um erro 500 no refresh token. Aplique o /sdd-hotfix e registre o histórico como hotfix-2026-09-01.name: sdd-hotfix description: Correção pontual pós-merge, fora do ciclo normal de fatias do pipeline SDD. Use quando um bug é encontrado em produção (ou numa validação manual) depois que a spec relacionada já foi mergeada, ou para uma melhoria pontual sem spec de origem — sem PRD/TRD, mas ainda com TDD e as revisões relevantes (code review sempre; QA/segurança/SRE conforme o critério desta skill).
/sdd-hotfix
Formaliza o processo de correção pontual pós-merge: um bug encontrado em produção (ou numa
validação manual) depois que a spec relacionada já concluiu o pipeline e foi mergeada, ou uma
melhoria pontual sem spec de origem nenhuma. Diferente das 7 etapas normais (docs/SDD-WORKFLOW.md),
esta skill não gera PRD nem TRD — o pedido já é concreto o suficiente (um bug específico, um
ajuste pontual) para não justificar o levantamento de produto/arquitetura completo. Isso não é uma
saída para pular rigor: TDD, code review, e as revisões que se aplicarem continuam obrigatórias.
Quando usar
- Um bug foi encontrado em produção (ou durante
docs/POST-MERGE-VALIDATION.md) numa feature cuja spec já está com todas as fatias mergeadas — não é o caso de "fatia ainda em andamento" (isso volta para/sdd-implementnormalmente, achados de revisão da própria fatia). - Uma melhoria pontual e de baixo risco é pedida sem nenhuma spec de origem (nunca passou por
/sdd-prd). - Não use para uma mudança que na prática é uma feature nova (critério de aceite novo,
decisão de arquitetura relevante, mais de uma fatia de esforço) — isso é
/sdd-prdnormalmente, mesmo que o pedido pareça pequeno à primeira vista. Se a correção crescer em escopo/risco no meio da execução desta skill, pare e migre para o fluxo completo em vez de continuar aqui (mesmo espírito despecs/_template/oneshot.template.md).
Passos
- Identifique a spec relacionada, se houver. Se o bug está numa área de código que uma spec
existente em
specs/introduziu ou alterou por último, essa é a spec relacionada — os artefatos desta rodada (code-review.md/qa-report.md/security-review.md/sre-review.md) são editados in-place nela, com uma linha nova na respectiva "Histórico de aprovações por fatia" usandohotfix-<data>(ex.:hotfix-2026-09-01) no lugar do identificador de fatia (F-N). Se não há nenhuma spec relacionada (melhoria pontual sem origem), crie um diretório dedicadospecs/<NNNN>-<slug-curto>/(próximo número sequencial livre emspecs/) contendo só os artefatos de revisão que se aplicarem — semprd.md/trd.md. 1b. Gate obrigatório: confirme/crie a Issue GitHub deste hotfix antes de criar a branch. Verifique remote GitHub configurado e autenticado (git remote -v,gh auth status).- Se houver: se o bug/ajuste já tem uma issue aberta (o usuário citou o número, ou ela
existe no repositório), use-a; senão crie uma via
gh issue createdescrevendo o bug/ajuste, com o label de tipo apropriado (bugouenhancement). Nenhum hotfix começa sem essa issue — sem exceção, mesmo para uma correção de uma linha. Se o passo 1 identificou uma spec relacionada, identifique essa issue estruturadamente contra ela (docs/QUALITY-GATES.md, seção "TRD"): reaproveite o milestone da spec se ele já existir (gh api repos/<owner>/<repo>/milestonesfiltrando por título<slug>— o mesmo milestone quearchitectcria por spec,.claude/agents/architect.md); se ainda não existir nenhum milestone para essa spec/projeto (spec sem decomposição de tarefas em issues), aplique em vez disso um labelspec:<slug>(crie comgh label createse faltar). Sem spec relacionada (melhoria pontual sem origem), não há identificação de spec a aplicar. - Se não houver remote GitHub configurado/autenticado: pare aqui, não crie a branch —
peça ao usuário para configurar
git remote+gh auth loginantes de prosseguir. Não há alternativa "sem GitHub" para hotfix (diferente do PRD, que dispensa GitHub).
- Se houver: se o bug/ajuste já tem uma issue aberta (o usuário citou o número, ou ela
existe no repositório), use-a; senão crie uma via
- Nomeie a branch seguindo a tabela de prefixos de
docs/GIT-WORKFLOW.md(seção "Mudanças no próprio pipeline", mesma tabela vale para hotfix de qualquer projeto):hotfix/<slug>se algo já quebrado em produção/mainprecisa de correção urgente;fix/<slug>se é uma correção sem urgência de produção, ou a melhoria pontual sem spec de origem.<slug>curto em kebab-case descrevendo a correção. Crie a branch a partir demainatualizada. - Implemente com TDD estrito, mesmo rigor de
.claude/agents/backend-developer.md/.claude/agents/frontend-developer.md(teste que falha primeiro, código mínimo, refactor) — invoque o agente correspondente à trilha afetada (Agent tool) passando esta instrução: sem TRD/PRD desta vez, o "plano" é a descrição do bug/ajuste desta rodada e o escopo do passo 1. Se a correção se aplica a múltiplos pontos de entrada estruturalmente equivalentes (mesmo padrão de UI/lógica duplicado em N lugares — ex.: N formulários de upload usando o mesmo hook compartilhado, N validações idênticas em rotas irmãs), inclua explicitamente na instrução: "aplique a correção com paridade de teste em todos os N pontos, não só paridade de implementação" — já aconteceu de a implementação sair correta nos N pontos, mas só alguns ganharem teste de integração dedicado ao novo caminho, achado só pelocode-reviewernuma rodada extra de correção evitável. Ainda assim, apresente esse plano mínimo ao usuário viaAskUserQuestionantes do primeiro commit (mesmo gate de aprovação de sempre, só que sobre um escopo bem menor). Se o plano envolve mutação real de infraestrutura/config vars de produção ou geração deliberada de tráfego/carga (ex.: múltiplos logins concorrentes para validar esgotamento de conexão), sinalize isso no próprio texto apresentado nestaAskUserQuestion— essas duas categorias são tipicamente bloqueadas pelo classificador de modo automático desta sessão para orquestrador e subagentes, exigindo execução manual do usuário ou uma regra de permissão explícita; já aconteceu de um hotfix de infra só descobrir esse bloqueio durante a execução, depois de comandos já terem falhado, em vez de antecipado no plano. Abra o PR cedo, em modo draft, comCloses #Nreferenciando a issue do passo 1b (sempre existe, é o gate obrigatório). Se outra tarefa desta sessão pode estar ativa no mesmo repositório, use isolamento de working tree (docs/GIT-WORKFLOW.md, seção "Isolamento de working tree entre agentes concorrentes"). - Rode a suíte completa com cobertura (e o comando de build/empacotamento real, se a trilha
afetada tiver um —
docs/TESTING.md) ao final, gravando o resumo emspecs/<slug-da-spec-relacionada-ou-dedicada>/coverage/hotfix-<data>-<trilha>.md, mesmo padrão de qualquer fatia. - Decida as revisões desta rodada — critério objetivo, não uma decisão manual reavaliada a
cada vez:
- Code review: sempre. Toda correção pontual passa por
/sdd-code-reviewcontra o PR desta rodada antes do merge — sem exceção, mesmo para uma mudança de uma linha. - QA: se há um critério de aceite concreto a validar. Se a correção reafirma um
comportamento que já tinha um critério de aceite no PRD/TRD original (ele estava quebrado, ou
um novo critério pontual surge do próprio bug), rode
/sdd-qacontra esse critério. Uma correção puramente técnica sem critério de aceite de produto associado (ex.: corrigir uma falha de performance sem mudança de comportamento observável) pode pular o QA — registre essa decisão com o heading padronizado## Decisão: QA pulado (justificado)noqa-report.mddesta rodada (crie o arquivo a partir do template se ainda não existir, só com essa seção — não é um relatório de execução de QA), com a justificativa completa logo abaixo. Nunca registre essa decisão em texto livre sem esse heading — é o que permite a/sdd-status//sdd-pending(skills/status/scripts/sdd-status.sh/.ps1) reconhecerem isso como um estado terminal válido em vez de "veredito não identificado", evitando que o usuário seja questionado à toa sobre algo já decidido e justificado. - Segurança: sempre que o diff tocar qualquer item do critério objetivo de
docs/QUALITY-GATES.md(seção "Segurança (security-engineer)") — autenticação, autorização, gestão de sessão, dados pessoais/sensíveis, ou qualquer ponto de entrada aceitando identificador externo (e-mail, identidade SSO, token) — independente do tamanho da mudança. Fora desses casos, decisão do orquestrador, mas registrada no artefato desta rodada (nunca implícita). - SRE: só se houver impacto de infraestrutura, CI/CD, ou dependência (mudança em
infra/,.github/workflows/, Dockerfile, ou manifesto de dependências). Uma correção isolada em código de aplicação sem tocar nada disso pula o SRE. Apresente essa decisão (quais revisões rodam e por quê) ao usuário viaAskUserQuestionantes de prosseguir, oferecendo a opção de rodar uma revisão adicional mesmo que o critério acima não a exija.
- Code review: sempre. Toda correção pontual passa por
- Rode cada revisão decidida no passo 5 normalmente (
/sdd-code-review,/sdd-qa,/sdd-security,/sdd-sre), contra o PR desta rodada — cada uma edita in-place o artefato identificado no passo 1, com a linhahotfix-<data>no histórico de aprovações. Mesma regra de "Auto-aprovação nunca é o gate real" (.claude/skills/sdd-implement/SKILL.md) — nenhum agente que implementou a correção escreve o próprio veredito. 6b. Antes de informar que o merge fica a critério do usuário, confirme explicitamente que toda revisão decidida como aplicável no passo 5 já rodou com veredito aprovado — não confie em lembrar de tê-las rodado todas. Releia a decisão do passo 5 contra o estado real dos artefatos (code-review.md/qa-report.md/security-review.md/sre-review.md, seção "Histórico de aprovações por fatia", linhahotfix-<data>): se qualquer revisão marcada como aplicável ainda não tem veredito aprovado para esta rodada, não prossiga para o passo 7 — rode a revisão faltante agora, ou, se por algum motivo ela não puder rodar ainda, avise isso em destaque ao usuário antes de qualquer menção a merge, nunca como nota de rodapé. Já aconteceu de verdade: um hotfix teve seu PR de código mergeado sem que SRE tivesse sido acionado — code review, QA e segurança rodaram normalmente, SRE simplesmente não foi lembrado antes do merge, e a lacuna só foi descoberta ~9 dias depois./sdd-statusjá sinaliza esse tipo de gap corretamente quando consultado — este passo existe para que o gap seja visto antes do merge, não só depois. - Merge é decisão do usuário, nunca automática — mesma regra de GitHub Flow de qualquer PR
deste pipeline. Depois do merge, se a correção resolve algo que
docs/POST-MERGE-VALIDATION.mdou um item "VALIDAR DEPOIS" esperava, feche esse ciclo (/sdd-amend).
Registro do processo
Ao final, resuma ao usuário: spec relacionada (ou diretório dedicado), branch/PR, quais revisões
rodaram e por quê (critério do passo 5), e onde ficou registrado o resultado — para que o próximo
/sdd-status já reflita esta correção.
Quando usar sem os agentes
Se o Agent tool não estiver disponível, siga .claude/agents/backend-developer.md/
.claude/agents/frontend-developer.md para a implementação e os agentes de revisão
correspondentes diretamente, mantendo o mesmo rigor de TDD e os mesmos critérios do passo 5.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/post-merge-hotfix-workflow-sdd-mu3lxm53/download' --output '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md.part' && mv '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md.part' '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md' && test -s '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/sdd-hotfix' && cp -R '.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53' '.claude/skills/sdd-hotfix'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53'openskills read 'post-merge-hotfix-workflow-sdd-mu3lxm53'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/post-merge-hotfix-workflow-sdd-mu3lxm53/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.