Atualiza o backlog — adiciona, conclui ou edita itens seguindo o padrão do projeto
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-framework:backlog-updateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- framework-tag: v2.56.0 framework-file: skills/backlog-update/SKILL.md -->
Atualiza o backlog do projeto seguindo o padrão de classificações e regras definidos no CLAUDE.md.
/spec/execution-plan ou /context-fresh/backlog-update {ID} {ação}
Ações disponíveis:
add — Adicionar novo item pendentedone — Marcar como concluído (mover de Pendentes -> Concluídos)update — Editar campos de um item existenteExemplos:
/backlog-update FEAT2 add/backlog-update SEC7 done/backlog-update T1 updateVerificar se o CLAUDE.md do projeto contém a seção ## Integracao Notion (specs).
CLAUDE.md da raiz — procurar secao ## MonorepoSUB_PROJECT = null. Prosseguir sem perguntas.### Estrutura → extrair tabela de sub-projetos (path, stack, responsabilidade)
b. Ler ### Distribuicao de framework → extrair modelo de backlog:
BACKLOG_DISTRIBUTION = "centralized" (backlog.md unico com subsecoes)BACKLOG_DISTRIBUTION = "distributed" (cada sub-projeto tem seu backlog.md)BACKLOG_DISTRIBUTION = "notion" (property Sub-projeto na database)
c. Para acoes add e update: perguntar ao usuario:"Qual sub-projeto este item afeta?"
- {sub-projeto 1} ({path} — {stack})
- {sub-projeto 2} ({path} — {stack})
- root (cross-cutting / infraestrutura) d. Para acao
done: inferir sub-projeto a partir do item encontrado (header> Sub-projeto:na spec ou subsecao do backlog). Se ambiguo, perguntar. e. GuardarSUB_PROJECT= resposta do usuario f. Se sub-projeto selecionado e git submodule (verificar na tabela### Estrutura) eBACKLOG_DISTRIBUTION = "distributed":
Regras:
add/update, inferir em doneQuando aplica: acoes add e update que toquem o campo Estimativa (em ambos os modos: repo e Notion).
Quando NAO aplica: acao done (nao mexe em Estimativa).
.claude/conventions/estimation.md
.claude/conventions/estimation.md{SUB_PROJECT}/.claude/conventions/estimation.md, dar precedencia a ele."O arquivo .claude/conventions/estimation.md nao existe. Rode /update-framework para criar via wizard, ou crie manualmente." e abortar a acao. Nao prosseguir sem escala definida.## Valores validos. Extrair valores da primeira coluna da tabela markdown que segue. Ignorar linhas de cabecalho (| Valor |, |---|) e linhas com texto entre parenteses ((exemplo), ...).ESTIMATION_SCALE — lista de strings (ex: ["1", "2", "3", "5", "8", "13", "21"] ou ["15min", "30min", "1h", "2h", "4h", "1d", "2d", "1sem"])."O arquivo de convencao ainda tem apenas valores de exemplo. Preencha a tabela em .claude/conventions/estimation.md antes de continuar." e abortar.ESTIMATION_SCALE e usada nas acoes add e update para apresentar opcoes via AskUserQuestion e validar o valor escolhido.
Passo 0 — Bootstrap check:
Determinar path do backlog:
BACKLOG_DISTRIBUTION = "distributed" e SUB_PROJECT != null (nao "root"): BACKLOG_PATH = {SUB_PROJECT}/.claude/specs/backlog.mdBACKLOG_PATH = .claude/specs/backlog.mdSe {BACKLOG_PATH} nao existe, criar com estrutura padrao:
# Backlog — {NOME_DO_PROJETO}
> Última atualização: {data de hoje}
## Pendentes
| ID | Fase | Item | Sev. | Impacto | Tipo | Camadas | Compl. | Est. | Deps | Origem | Spec |
|---|---|---|---|---|---|---|---|---|---|---|---|
## Concluídos
| ID | Item | Concluído em |
|---|---|---|
## Decisões futuras
| ID | Decisão | Gatilho para reavaliar | Recomendação | Ref |
|---|---|---|---|---|
## Notas
{Nenhuma nota por enquanto.}
addFE BE DB IA DOC INF (múltiplas)ESTIMATION_SCALE (carregada no Passo 0b) como opcoes via AskUserQuestion. Validar que o valor escolhido pertence a ESTIMATION_SCALE — se nao bater (ex: usuario respondeu via texto livre), avisar "'{valor}' nao esta na escala do projeto: {ESTIMATION_SCALE}. Escolha um valor valido." e reperguntar. Independente de Complexidade.—Sessão)—{BACKLOG_PATH}### {SUB_PROJECT} dentro de ## PendentesÚltima atualização no headerdone{BACKLOG_PATH} (determinado no bootstrap)| {ID} | {descrição resumida} | {data de hoje YYYY-MM-DD} |
.claude/specs/done/ não existe, criar antes de mover.claude/specs/ para .claude/specs/done/concluídaSPECS_INDEX.mdÚltima atualizaçãoSTATE.md existir (.claude/specs/STATE.md):
.claude/specs/{id}-design.md): atualizar status para implementado.claude/prds/PRDS_INDEX.md) e a spec tiver > PRD pai: {ID} no header: verificar no PRDS_INDEX.md se todas as specs vinculadas ao PRD estão concluídas. Se sim, sugerir marcar o PRD como concluido e mover para .claude/prds/done/. Se o projeto nao usa PRDs, pular esta verificacaoupdate{BACKLOG_PATH}ESTIMATION_SCALE (carregada no Passo 0b) como opcoes e validar o novo valor antes de aplicar. Mesma logica do add.Última atualizaçãoSe existir scripts/backlog-report.cjs, regenerar o relatório HTML:
node scripts/backlog-report.cjs
Quando a seção ## Integracao Notion (specs) existe no CLAUDE.md, o backlog é a própria database do Notion.
Ler configuração do CLAUDE.md:
data_source_id — ID da collection no Notionaddnotion-create-pages:
parent: { data_source_id: "{data_source_id}" }
pages: [{
properties: {
"Título": "{título}",
"Status": "rascunho",
"Fase": "{fase}",
"Severidade": "{severidade}",
"Impacto": "{impacto}",
"Tipo": "{tipo}",
"Camadas": "{camadas}",
"Complexidade": "{⚪ Pequeno|🔵 Médio|🟣 Grande|⬛ Complexo}",
"Estimativa": "{estimativa}",
"Projeto": "{nome do projeto}",
"Spec detail": "sem spec"
// Se monorepo (SUB_PROJECT != null):
// "Sub-projeto": "{SUB_PROJECT}"
}
}]
Nota: não usar template no add do backlog — templates são usados apenas pelo /spec quando a spec vai ser detalhada.
Se monorepo e property "Sub-projeto" nao existe na database: avisar "A database nao tem property 'Sub-projeto'. Recomendo adicionar para filtrar itens por sub-projeto."donenotion-search ou buscar por título/ID na databasenotion-get-users com user_id: "self" para obter o usuário da sessão atualnotion-update-page:
command: "update_properties"
properties: {
"Status": "concluída",
"date:Concluída em:start": "{data de hoje YYYY-MM-DD}",
"date:Concluída em:is_datetime": 0,
"Responsavel": "{user_id obtido no passo 2}"
}
SPECS_INDEX.md herdado de versão anterior, deixar intacto: /update-framework faz o cleanup automático na transição para v2.52.0+.updatenotion-update-page com os campos informadosSe existir scripts/backlog-report.cjs, regenerar o relatório HTML local.
done), atualizar Status, Concluída em e Responsavel (via notion-get-users self) direto na página do Notiondocs/backlog-report.html ao final (se script existir)done/ e status atualizado (se aplicável)docs/backlog-report.html regenerado (se script existir)Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub gabrielferreira/claude-code-framework --plugin claude-code-framework