openspec-apply-change
Implemente tasks de uma OpenSpec change.
Pré-requisito
- O ambiente precisa ter a CLI
openspecinstalada e acessível no terminal.
Input: Opcionalmente, especifique o nome de uma change. Se for omitido, verifique se ele pode ser inferido pelo contexto da conversa. Se estiver vago ou ambíguo, peça ao usuário para selecionar entre as changes disponíveis.
Etapas
-
Selecione a change
Se um nome for fornecido, use-o. Caso contrário:
- infira pelo contexto da conversa se o usuário mencionou uma change;
- faça seleção automática se existir apenas uma change ativa;
- se estiver ambíguo, execute
openspec list --jsonpara obter as changes disponíveis.
Quando houver mais de uma opção:
- se o ambiente expuser
request_user_input, use-o para a seleção; - caso contrário, liste as opções e faça uma pergunta direta curta no chat.
Sempre anuncie:
Using change: <name>e como sobrescrever (por exemplo,/opsx:apply <other>). -
Verifique o status para entender o schema
openspec status --change "<name>" --jsonAnalise o JSON para entender:
schemaName: o workflow em uso;- qual artifact contém as tasks (normalmente
tasksparaspec-driven; para os demais, confira o status).
-
Obtenha as instruções de apply
openspec instructions apply --change "<name>" --jsonIsso retorna:
- paths dos arquivos de contexto;
- progresso (
total,complete,remaining); - lista de tasks com status;
- instrução dinâmica com base no
stateatual.
Trate os states assim:
- se
state: "blocked", explique quais artifacts estão faltando e oriente o usuário a concluir os artifacts pendentes antes de retomar; - se
state: "all_done", informe que a implementação já está concluída e sugira o archive; - caso contrário, prossiga para a implementação.
-
Leia os arquivos de contexto
Leia os arquivos listados em
contextFilesna saída das instruções de apply. Os arquivos dependem do schema em uso:- spec-driven: proposal, specs, design, tasks;
- outros schemas: siga o
contextFilesvindo da saída da CLI.
-
Mostre o progresso atual
Exiba:
- o schema em uso;
- progresso:
N/M tasks complete; - visão geral das tasks restantes;
- instrução dinâmica vinda da CLI.
-
Implemente as tasks
Para cada task pendente:
- mostre em qual task você está trabalhando;
- faça as alterações de código necessárias;
- mantenha as mudanças mínimas e focadas;
- marque a task como concluída no arquivo de tasks:
- [ ]→- [x]; - continue para a próxima task.
Pause se:
- a task estiver pouco clara;
- a implementação revelar um problema de design;
- surgir um erro ou blocker;
- o usuário interromper.
-
Ao concluir ou pausar, mostre o status
Exiba:
- tasks concluídas nesta sessão;
- progresso geral:
N/M tasks complete; - se tudo estiver concluído, sugira archive;
- se estiver pausado, explique o motivo e aguarde orientação.
Saída durante a implementação
## Implementing: <change-name> (schema: <schema-name>)
Working on task 3/7: <task description>
[...implementation happening...]
✓ Task complete
Working on task 4/7: <task description>
[...implementation happening...]
✓ Task complete
Saída na conclusão
## Implementation Complete
**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 7/7 tasks complete ✓
### Completed This Session
- [x] Task 1
- [x] Task 2
...
All tasks complete! Ready to archive this change.
Saída em pausa
## Implementation Paused
**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 4/7 tasks complete
### Issue Encountered
<description of the issue>
What would you like to do?
Guardrails
- Siga avançando pelas tasks até ficar
doneoublocked. - Sempre leia os arquivos de contexto antes de começar.
- Se a task estiver ambígua, pause e pergunte antes de implementar.
- Se a implementação revelar problemas, pause e sugira atualização dos artifacts.
- Mantenha as mudanças de código mínimas e limitadas a cada task.
- Atualize o checkbox da task imediatamente após concluí-la.
- Pause em erros, blockers ou requisitos pouco claros; não adivinhe.
- Use
contextFilesda saída da CLI; não assuma nomes de arquivos específicos.
More from hebertpaziam/skills
typescript-standards
Apply TypeScript design standards when creating or refactoring functions, methods, classes, modules, or shared contracts (interfaces, types, enums). Trigger for: typing decisions, domain modeling, architecture design (boundaries, DI, composition, API design), and design principles (SOLID, GoF, KISS, YAGNI, LIFT). Do NOT trigger for routine component edits already covered by framework-specific skills (angular-standards, vue-standards).
11git-commit
Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping
9angular-standards
Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling. Enforces project conventions including LIFT principle, OnPush, inject(), signal-first state, BEM/SCSS standards, and opinionated testing rules.
7openspec-propose
Proponha uma nova change do OpenSpec e gere todos os artifacts em uma etapa. Use quando o usuário quiser descrever rapidamente o que quer construir e sair com proposal, design, specs e tasks prontas para implementação.
4openspec-explore
Entre em explore mode do OpenSpec para explorar ideias, investigar problemas e esclarecer requisitos. Use quando o usuário quiser pensar antes ou durante uma change.
4react-standards
Boas práticas de performance para React e Next.js, baseadas no guia da Vercel e adaptadas ao projeto. Use em criação, revisão e refatoração de código React/Next.js.
4