CommunityPesquisa e Análise de Dadosgithub.com

ARQAWA/cursor-pi

Limpa automaticamente apenas os registros descartáveis do Notebook da tarefa atual concluída; uma invocação pública direta sem escopo exclui todo o Notebook da sessão atual.

O que é cursor-pi?

Este skill fornece uma política de limpeza do Notebook do Cursor, distinguindo entre exclusão de escopo público (sessão inteira) e exclusão limitada de registros da tarefa atual. Ele remove automaticamente registros descartáveis comprovados da tarefa atual, garantindo que registros necessários, originais e links ainda em uso sejam preservados. O skill impõe validações rigorosas de caminho e proprietário para evitar a exclusão de dados de outra sessão ou repositório. Suporta os modos 'scope=current-task' (para limpeza automática de registros da tarefa atual concluída) e 'whole-session public default' (exclusão de todo o diretório da sessão quando invocado publicamente sem escopo explícito).

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/ARQAWA/cursor-pi/tree/HEAD/research/history/codex-harness-cursor/plugins/scope-focus/cursor/skills/cleanup-notebook

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Limpeza do Notebook

A seleção automática pelo Main ou seu proprietário designado sempre usa apenas scope=current-task abaixo, nunca o padrão de sessão inteira. Use quando existirem registros descartáveis comprovados, após o resultado e verificações necessárias e após a limpeza do scratch da tarefa ter sido concluída usando sua propriedade/links. Caso contrário, não inicie um fluxo de limpeza. Instruções de retenção, resultados solicitados do Notebook, originais necessários e links ainda em uso são exclusões. Não mova nem arquive apenas para permitir a exclusão. Pausa, bloqueador, espera de aprovação, fim de turno, parada do agente e cancelamento sem descarte não são conclusão; preserve a continuação necessária. Uma invocação pública direta sem esse escopo autoriza a remoção de todo o diretório do Notebook da Tarefa para esta sessão do Cursor, incluindo registros concluídos. Para esse padrão público, não aguarde a conclusão da tarefa nem peça uma segunda confirmação.

Padrão público de sessão inteira

Pegue o session_id atual somente quando estiver explicitamente disponível no contexto da tarefa do Cursor. Com módulos internos do Node.js, compute sessionKey como Buffer.from(session_id, 'utf8').toString('hex'), depois compute o alvo exato como path.join(os.tmpdir(), 'scope-focus', 'task-notebook', sessionKey). Exija um ID de sessão não vazio. Se ele não estiver disponível, não exclua nada e relate que o notebook da sessão atual não pode ser identificado. Nunca infira uma sessão a partir de uma lista de diretórios, de um notebook antigo ou de outra tarefa.

Se o alvo estiver ausente, relate que nada precisava ser excluído. Se presente, verifique se a raiz do notebook do Scope Focus e o alvo são diretórios reais, não links simbólicos. Quando plan.md existir, exija que seja um arquivo normal, não um link simbólico, e exija que seu cabeçalho Session: corresponda ao ID da sessão atual. Enumere seu conteúdo e reverifique o alvo exato e as exclusões antes da exclusão. Não siga links para fora do alvo e não exclua outros diretórios de sessão, arquivos de repositório ou relatórios HTML armazenados em outro lugar.

Exclua apenas o alvo verificado com fs.rmSync(target, { recursive: true }), sem force ou globs. Confirme que o alvo está ausente depois e relate o resultado. Se a propriedade ou o alvo forem ambíguos, não exclua nada e relate o motivo exato. Não crie um notebook substituto automaticamente.

scope=current-task

Use automaticamente para registros elegíveis da tarefa atual ou em uma solicitação explícita nomeando este escopo. Nunca autoriza a exclusão de sessão inteira. Aguarde o resultado real substantivo, as evidências necessárias e cada CLEAN selecionado ou obrigatório, além do resultado final do notebook com limpeza ainda pendente. Mantenha os registros necessários para continuação enquanto qualquer uma dessas condições não for atendida.

Exija a chave exata da tarefa, seu relacionamento com esta execução concluída, ou um session_id atual explicitamente disponível ou um caminho plan.md do notebook fornecido explicitamente para a mesma tarefa selecionada sob o contrato de continuação manual do Task Notebook. Não pesquise notebooks nem infira a sessão atual a partir de diretórios ou registros antigos. Para uma sessão atual, compute o caminho da chave de sessão existente acima. Para um caminho manual fornecido, valide o cabeçalho original Session: em relação ao seu diretório de chave de sessão e ao relacionamento explícito com esta tarefa; não o reatribua à sessão atual.

Resolva os.tmpdir() real com fs.realpathSync. Exija que o diretório da sessão do notebook do namespace scope-focus/task-notebook. O namespace, a sessão e os diretórios da tarefa devem ser diretórios reais, não links simbólicos; o plano de entrada, quando presente, deve ser um arquivo normal. Valide a contenção canônica e cada componente de caminho afetado antes da mutação. Uma chave de tarefa deve ser um basename seguro para o sistema de arquivos, nunca um separador, . ou ... Verifique Session:, Task:, seleção direta ou seleção automática com sua fonte de ordem e necessidade e a associação de execução exata. O localizador raiz fornecido pelo Main tem prioridade sobre o localizador de hook local de um filho; metadados sozinhos não concedem propriedade. Um caminho manual fornecido deve passar as mesmas verificações de localização e propriedade que um computado.

Enumere apenas os alvos e exclusões exatos. Remova o diretório da chave da tarefa somente quando seu conteúdo for registros comprovados desta execução; preserve originais necessários, resultados, outras tarefas e cada entrada desconhecida ou ambígua. Propriedade desconhecida bloqueia a exclusão desse alvo, não a permissão para excluir seu pai. Remova o plan.md da entrada da sessão apenas se seu cabeçalho ainda nomear esta execução. Se agora pertencer a outra tarefa, preserve-o e use registros de propriedade estabelecidos para o diretório desta tarefa; esse cabeçalho diferente não é autoridade para remover outra tarefa. Prova ausente ou contraditória não autoriza nenhuma exclusão.

Reverifique os caminhos exatos, propriedade, conclusão e exclusões imediatamente antes da exclusão. Use módulos internos do Node.js para os alvos comprovados, sem force, globs ou seguir links simbólicos. Remova os diretórios pai da sessão e do namespace apenas se estiverem realmente vazios; preserve outras chaves de tarefa e sessões. Confirme que os alvos selecionados estão ausentes e que as exclusões permanecem depois. Se já estiverem ausentes, não crie nada. Relate o resultado real ou limitação concreta; não crie um notebook substituto, migração ou arquivo.

Se a exclusão elegível necessária permanecer inacabada, preserve a continuação necessária e relate o trabalho concreto restante. Registros desconhecidos ou retidos são excluídos da exclusão automática, não permissão para remover seu pai. Não reivindique conclusão total enquanto houver trabalho obrigatório restante.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Habilidades Relacionadas