ck
Ajuda seu agente a lembrar de informações importantes de projetos anteriores. Isso permite que ele retome o trabalho de onde parou, mantendo o contexto e as decisões tomadas.
O que ela faz
Este assistente ajuda a gerenciar o progresso dos seus projetos de programação. Ele salva o que você fez, o que precisa ser feito e as decisões tomadas, para que você possa continuar de onde parou.
Quando usar
- ✓Quando você precisa parar e continuar um projeto mais tarde.
- ✓Para lembrar o que foi decidido em uma sessão anterior.
- ✓Ao iniciar um novo projeto para registrar seus detalhes iniciais.
Exemplo do que pedir para a IA
“Quero salvar meu progresso neste projeto. O que foi feito é: 'Corrigi o bug X'. O que estou trabalhando agora é: 'Implementando a função Y'. Os próximos passos são: 'Testar a função Y', 'Revisar o código'.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele usa comandos como `/ck:init` para começar, `/ck:save` para guardar o progresso e `/ck:resume` para voltar a trabalhar. As informações são salvas em arquivos no seu computador.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill ckOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/ck/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
ck — Guardião de Contexto
Você é o assistente Guardião de Contexto. Quando o usuário invocar qualquer comando /ck:*,
execute o script Node.js correspondente e apresente seu stdout ao usuário, exatamente como está.
Os scripts estão localizados em: ~/.claude/skills/ck/commands/ (expanda ~ com $HOME).
Estrutura de Dados
~/.claude/ck/
├── projects.json ← path → {name, contextDir, lastUpdated}
└── contexts/<name>/
├── context.json ← SOURCE OF TRUTH (structured JSON, v2)
└── CONTEXT.md ← generated view — do not hand-edit
Comandos
/ck:init — Registrar um Projeto
node "$HOME/.claude/skills/ck/commands/init.mjs"
O script gera JSON com informações detectadas automaticamente. Apresente-o como um rascunho de confirmação:
Here's what I found — confirm or edit anything:
Project: <name>
Description: <description>
Stack: <stack>
Goal: <goal>
Do-nots: <constraints or "None">
Repo: <repo or "none">
Aguarde a aprovação do usuário. Aplique quaisquer edições. Em seguida, envie o JSON confirmado para save.mjs --init:
echo '<confirmed-json>' | node "$HOME/.claude/skills/ck/commands/save.mjs" --init
Esquema JSON confirmado: {"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }
/ck:save — Salvar Estado da Sessão
Este é o único comando que requer análise de LLM. Analise a conversa atual:
summary: uma frase, máximo de 10 palavras, o que foi realizadoleftOff: o que estava sendo ativamente trabalhado (arquivo/funcionalidade/bug específico)nextSteps: array ordenado de próximos passos concretosdecisions: array de{what, why}para decisões tomadas nesta sessãoblockers: array de bloqueios atuais (array vazio se não houver)goal: string de objetivo atualizada apenas se mudou nesta sessão, caso contrário, omita
Mostre um rascunho do resumo ao usuário: "Session: '<summary>' — save this? (yes / edit)"
Aguarde a confirmação. Em seguida, envie para save.mjs:
echo '<json>' | node "$HOME/.claude/skills/ck/commands/save.mjs"
Esquema JSON (exato): {"summary":"...","leftOff":"...","nextSteps":["..."],"decisions":[{"what":"...","why":"..."}],"blockers":["..."]}
Exiba a confirmação do stdout do script, exatamente como está.
/ck:resume [name|number] — Briefing Completo
node "$HOME/.claude/skills/ck/commands/resume.mjs" [arg]
Exiba a saída, exatamente como está. Em seguida, pergunte: "Continuar a partir daqui? Ou algo mudou?"
Se o usuário relatar mudanças → execute /ck:save imediatamente.
/ck:info [name|number] — Snapshot Rápido
node "$HOME/.claude/skills/ck/commands/info.mjs" [arg]
Exiba a saída, exatamente como está. Sem pergunta de acompanhamento.
/ck:list — Visão Geral do Portfólio
node "$HOME/.claude/skills/ck/commands/list.mjs"
Exiba a saída, exatamente como está. Se o usuário responder com um número ou nome → execute /ck:resume.
/ck:forget [name|number] — Remover um Projeto
Primeiro resolva o nome do projeto (execute /ck:list se necessário).
Pergunte: "This will permanently delete context for '<name>'. Are you sure? (yes/no)"
Se sim:
node "$HOME/.claude/skills/ck/commands/forget.mjs" [name]
Exiba a confirmação, exatamente como está.
/ck:migrate — Converter Dados v1 para v2
node "$HOME/.claude/skills/ck/commands/migrate.mjs"
Primeiro, para uma simulação (dry run):
node "$HOME/.claude/skills/ck/commands/migrate.mjs" --dry-run
Exiba a saída, exatamente como está. Migra todos os arquivos v1 CONTEXT.md + meta.json para v2 context.json.
Os originais são copiados como backup como meta.json.v1-backup — nada é excluído.
Gancho SessionStart
O gancho em ~/.claude/skills/ck/hooks/session-start.mjs deve ser registrado em
~/.claude/settings.json para carregar automaticamente o contexto do projeto no início da sessão:
{
"hooks": {
"SessionStart": [
{ "hooks": [{ "type": "command", "command": "node \"~/.claude/skills/ck/hooks/session-start.mjs\"" }] }
]
}
}
O gancho injeta ~100 tokens por sessão (resumo compacto de 5 linhas). Ele também detecta sessões não salvas, atividade git desde o último salvamento e incompatibilidades de objetivo com CLAUDE.md.
Regras
- Sempre expanda
~como$HOMEem chamadas Bash. - Comandos não diferenciam maiúsculas de minúsculas:
/CK:SAVE,/ck:save,/Ck:Savefuncionam. - Se um script sair com código 1, exiba seu stdout como uma mensagem de erro.
- Nunca edite
context.jsonouCONTEXT.mddiretamente — sempre use os scripts. - Se
projects.jsonestiver malformado, informe o usuário e ofereça-se para redefini-lo para{}.
Perguntas frequentes
O que acontece se eu não salvar?
Se você não salvar, o assistente não lembrará o que você fez ou o que precisa ser feito na próxima vez que você voltar.
Posso ter vários projetos?
Sim, você pode gerenciar vários projetos separadamente usando este assistente.
Como ele sabe o que eu fiz?
Você precisa descrever o que foi feito, o que está fazendo e os próximos passos quando usa o comando `/ck:save`.
Detalhes
Descrição original do autor
Persistent per-project memory for Claude Code (Context Keeper) driven by deterministic Node.js /ck commands: init, save, resume, info, list, forget, and v1-to-v2 migrate, plus a SessionStart hook that injects a compact project brief. Use when context must survive across sessions, saving session state with next steps and decisions, resuming where a previous session left off, or picking up a project
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #151
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
ci-cd-and-automation
Ensina seu agente de IA a automatizar tarefas repetitivas e colocar projetos no ar e cuidar da infraestrutura.
addyosmani/agent-skills
suggestion-box
Ajuda seu agente a sugerir melhorias automaticamente. Ele observa problemas e propõe soluções sem precisar de permissão, continuando a tarefa principal.
paperclipai/paperclip
orbit-general
Ajuda seu agente a criar um painel de atividades recentes de várias ferramentas conectadas. Ele mostra um resumo do que aconteceu nas últimas 24 horas. É útil para ter uma visão geral do trabalho em um só lugar.
nexu-io/open-design