Pin Memo: notas fixadas no Claude Code e tarefas acima do prompt
Fixe notas e caixas de tarefas clicáveis acima do prompt do Claude Code com /pin, salvas por sessão.
Permissões
- Altera a interfaceDesenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
- Adiciona comandos/ferramentasRegistra novos comandos de barra ou ferramentas que você ou o Claude podem acionar ($.command.register / $.tool.register).
- Armazena dadosGuarda dados entre sessões no armazenamento privado do plugin ($.store.*).
- testado com
- v2.1.303
- último teste
- requer
- Claude Code ≥ 2.1.287
- superfícies
- acima do prompt
- código-fonte
- YeonwooSung (Apache-2.0)
Instale dentro do Claude Code:
/plugin install pin-memo --marketplace YeonwooSung/my-claude-code-modsO que este mod faz?
Pin Memo é um mod da comunidade criado por YeonwooSung (GitHub), um dos plugins da coleção my-claude-code-mods. Ele dá ao Claude Code notas fixadas: você digita /pin Remember to run tests e a nota permanece numa faixa turquesa com borda acima do prompt, continuando visível mesmo depois que a conversa rola para cima.
As notas também podem ser tarefas. /pin - [ ] Check login flow adiciona um item desmarcado e /pin - [x] Update docs adiciona um já concluído. As tarefas concluídas continuam visíveis, esmaecidas e riscadas, e o título da faixa conta quantos itens estão fixados e quantos foram concluídos. Você marca uma tarefa clicando na caixa [ ], focando a faixa com ctrl+x tab ou usando /pin toggle <id>.
A lista pertence à sessão. Ela é salva no armazenamento próprio do plugin, sob a pasta de trabalho e o ID da sessão, então retomar a mesma sessão na mesma pasta restaura as notas, enquanto uma sessão nova ou /clear começa com a lista vazia. Em espírito, é parecido com o nosso mod After, mas é uma lista simples: não agenda nada e nunca envia uma nota ao Claude. A faixa é desenhada no terminal e no app Desktop; segundo o autor, o chat do VS Code e as sessões headless podem usar o comando e a lista salva.
Demonstração
A gravação inicia o Claude Code com o mod carregado no pequeno projeto de demonstração e executa quatro comandos /pin, sem nenhum turno do modelo. Primeiro, /pin Remember to run tests fixa uma nota simples: o Claude Code confirma "메모 #1 고정" (nota #1 fixada) e a faixa aparece com o título "핀 1 (완료 0)". Depois são adicionadas duas tarefas, - [ ] Check login flow e - [ ] Update docs, e a faixa cresce para três linhas. Por fim, /pin toggle 3 marca a última tarefa: o título muda para "핀 3 (완료 1)" e a linha fica esmaecida e riscada. Na gravação, os botões das caixas são desenhados em uma linha própria acima do texto de cada tarefa.
Instalação
Use qualquer um dos métodos do bloco de instalação; todos instalam direto do marketplace do próprio autor. A faixa aparece assim que você fixa algo, e /pin é registrado quando a sessão começa.
$ install pin-memo
Requer Claude Code ≥ 2.1.287
Instala a partir do marketplace do autor: YeonwooSung/my-claude-code-mods
1.Uma linha, dentro do Claude Code
/plugin install pin-memo --marketplace YeonwooSung/my-claude-code-modsCole em uma sessão em andamento (v2.1.275+). O Claude Code pede primeiro para adicionar o marketplace.
2.Pelo seu shell
claude plugin marketplace add YeonwooSung/my-claude-code-mods claude plugin install pin-memo@my-claude-code-modsDepois execute /reload-plugins em qualquer sessão que já esteja aberta.
3.Experimente sem instalar
git clone https://github.com/YeonwooSung/my-claude-code-mods claude --plugin-dir ./my-claude-code-mods/pin-memoCarrega o mod só para uma sessão. Nada é adicionado às suas configurações.
Como funciona
O adaptador em hooks/register.tsx registra /pin em session.start, responde a ele em command.run e desenha a faixa no ponto AbovePrompt. A chave de armazenamento é montada a partir da pasta e do ID da sessão, em hooks/core/controller.ts:
export function storeKey(cwd: string, id: string): string {
if (!cwd || !id || !/^(?:\/|[A-Za-z]:[\\/])/.test(cwd)) throw new Error('세션 폴더와 ID를 확인할 수 없습니다.')
// ...trailing slashes are trimmed from the folder...
return `pin-memo:v1:${JSON.stringify([folder, id])}`
}Os comandos são interpretados por funções puras em hooks/core/memo.ts e executados um após o outro por uma fila, então comandos digitados em sequência rápida são todos salvos. Uma alteração é gravada no armazenamento antes de ser dada como concluída; se a gravação falhar, o estado anterior é mantido e aparece um aviso de erro. Um documento salvo que não passa na validação é exibido como erro e não é sobrescrito até você executar /pin clear. Os identificadores antigos das caixas são conferidos com a sessão atual, de modo que um clique expirado não consegue alterar a lista de outra sessão. Quando há uma pesquisa aberta acima do prompt, a faixa dá lugar a ela.
Personalize
Não há opções em /config. Os comandos são /pin <memo>, /pin add <memo> (para texto que começa com uma palavra de comando), /pin list, /pin toggle|check|uncheck|remove <id>, /pin edit <id> <memo>, /pin clear e /pin help. Editar uma nota sem marcador de caixa transforma a tarefa de volta em nota simples. Para mudar o visual, edite as cores em register.tsx (#62B8AD para a borda, #1D2029 para o fundo) ou os rótulos em coreano em hooks/core/view.ts e hooks/core/memo.ts.
Permissões e segurança
Antes de executar, lemos todos os arquivos que o plugin pode executar: .claude-plugin/plugin.json, hooks/hooks.json, hooks/register.tsx, hooks/core/controller.ts, memo.ts e view.ts, além dos testes. O plugin não tem package.json, script de instalação, binário nem código empacotado, e nada ficou sem leitura.
Altera a interface refere-se à faixa acima do prompt. Adiciona um comando refere-se a /pin. O mod usa $.session.cwd e $.session.id para montar a chave de armazenamento e $.store para salvar a lista. Ele não usa a rede, não executa processos nem comandos de shell, não grava arquivos, não lê variáveis de ambiente nem segredos, não envia telemetria, não mantém serviço em segundo plano, não bloqueia nem reescreve chamadas de ferramentas ou prompts e não adiciona texto ao contexto do modelo. O único ponto a saber é que suas notas ficam como JSON simples no armazenamento do plugin, então não fixe segredos. O repositório tem uma LICENSE Apache-2.0 na raiz, que permite redistribuição. O claude plugin validate não relatou erros nem avisos, e os 29 testes do autor passaram no Claude Code 2.1.303.
- Altera a interface
- Desenha na interface do Claude Code: faixas, painéis, texto de status, notificações (ui.render / $.ui.*).
- Adiciona comandos/ferramentas
- Registra novos comandos de barra ou ferramentas que você ou o Claude podem acionar ($.command.register / $.tool.register).
- Armazena dados
- Guarda dados entre sessões no armazenamento privado do plugin ($.store.*).
Compatibilidade e solução de problemas
Verificado com o Claude Code 2.1.303 no macOS (validate, testes e gravação da demo); o README do autor cita a 2.1.292. Se algo não funcionar:
- Nada aparece: a faixa só é exibida quando existe pelo menos uma nota; execute
/pin helpe fixe algo. - As notas sumiram: uma sessão nova ou
/cleartem a própria lista; retome a sessão anterior na mesma pasta para recuperar a antiga. Uma pasta acessada por outro link simbólico conta como uma pasta diferente. - A faixa não aparece no chat do VS Code nem em execuções headless;
/pin listcontinua funcionando lá. - Uma mensagem de "sessão alterada" ou de que não foi possível ler a nota salva indica que a pasta ou o ID da sessão não puderam ser lidos, ou que o documento salvo está corrompido. Repita o comando ou execute
/pin clearpara redefinir uma lista corrompida. - Dois processos editando a mesma sessão não têm sincronização ao vivo; vale a última gravação.
Perguntas frequentes
- As notas fixadas são enviadas ao modelo?
- Não. O README do autor diz que as notas não entram automaticamente no contexto do modelo, e não encontramos código que as adicione a um prompt. Elas aparecem apenas na faixa e na saída de /pin list.
- Onde as notas ficam salvas?
- No armazenamento próprio do plugin, via $.store, sob uma chave formada pela pasta de trabalho e pelo ID da sessão. O mod não grava arquivos por conta própria e não tem código de rede nem de shell.
- Minhas notas voltam depois de reiniciar o Claude Code?
- Somente se você retomar a mesma sessão na mesma pasta. Uma sessão nova ou /clear começa com a lista vazia, e retomar a sessão antiga traz suas notas de volta.
- Quantas notas posso fixar?
- Até 100 notas, com no máximo 2.000 caracteres cada. Os IDs não são reutilizados após uma exclusão e não há expiração automática.
- Por que a faixa está em coreano?
- O autor escreveu os textos da interface em coreano, por exemplo o título "핀 3 (완료 1)", que significa "3 fixadas (1 concluída)", e as confirmações após cada comando. Os comandos, o texto das suas notas e as caixas funcionam em qualquer idioma; só esses rótulos são fixos.
# Mods relacionados
DestaqueAfter
Fila de prompts para o Claude Code: /after roda a próxima tarefa quando a atual termina, sem desviá-la.
- acima do prompt
- painel
- notificação
- status
- Chama o modelo (usa sua cota)
- Lê seus prompts
- Altera a interface
- Adiciona comandos/ferramentas
- Armazena dados
testado com v2.1.303
Mais em Timers, tarefas e standups, Comandos slash.