projeto
Skill0 starsChanged 3 months agoMITView on GitHub
Amarra o worktree a um projeto do portal (kanban de Projetos) e mantém documento, tarefas e status em dia no ambiente LOCAL. Use ao começar uma frente de trabalho, ao registrar o que foi feito, ao marcar tarefa concluída, ao mover o card de coluna ou ao atualizar o documento markdown do projeto. Gatilhos: 'qual é o projeto deste worktree', 'amarra esse worktree no projeto X', 'atualiza o documento do projeto', 'marca a tarefa como concluída', 'move o projeto para em validação', 'registra no projeto o que fizemos'.
- Reads credentials
3 other projects use a version of this.
Adopted by
Most recently taken up by
- lucasenatm/lucasena-ostheir own version, first seen Sep 13, 2026
- lucasenatm/marketing-workspacetheir own version, first seen Sep 13, 2026
- ImScottDev/brain-scotttheir own version, first seen Mar 31, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- ImScottDev/brain-scott★ 4same name
- lucasenatm/lucasena-os★ 0same name
- lucasenatm/marketing-workspace★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- site-docsSkill
- documentoSkill
- frontend-kickstartSkill
- geojsonSkill
- manual-docSkill
- mrSkill
- novo-projetoSkill
- portal-frontendSkill
- prototipo-apiSkill
- prototipo-portalSkill
- sddSkill
- ui-ricaSkill
- wpvcSkill
The file
Files
/projeto — o projeto do portal que este worktree está construindo
Cada frente de trabalho tem um card no kanban de projetos do portal e um documento markdown que é a memória da decisão. Esta skill liga o worktree a esse card e mantém os dois em dia enquanto o trabalho acontece — sem abrir o portal no meio da sessão.
Adapte ao instalar: o script
scripts/projeto.pyé uma implementação de referência que fala com um app Djangoapps.projetos(modelsProjeto/Tarefa/Workspace+ services). Ajuste os imports e nomes de campos aos do seu portal — a mecânica (resolução híbrida, amarração gitignorada, saída JSON, código 2 = pergunte) é o que vale a pena copiar.
Duas regras que não se negociam
- O alvo é sempre o ambiente LOCAL. Nada aqui escreve em staging ou produção. Produção só recebe pelo fluxo de sincronização do portal (comparação, simulação e confirmação humana).
- Criar projeto é decisão do usuário, nunca da resolução. A busca não achou ou achou
vários: pergunte. Só rode
criarquando pedirem explicitamente — e mesmo assim o comando recusa nome parecido com card existente (código 2 + candidatos), porque um card duplicado no kanban some do radar de todo mundo e leva junto o documento.
A boca única
Toda operação passa pelo script — ele sobe o Django com o .env deste worktree, que
aponta para o banco do slot. O manage.py rodado da pasta errada escreve no banco do vizinho,
e é justamente isso que o script evita:
cd api && uv run python ../.claude/skills/projeto/scripts/projeto.py <comando> [valor] [--projeto <uuid|nome>]| Comando | O que faz |
resolver | acha o projeto deste worktree e imprime a ficha |
criar "<nome>" [--descricao "…"] [--workspace "…"] | cria o card (coluna Planejado, workspace global por padrão) e já amarra o worktree; recusa nome parecido com existente |
amarrar <uuid|nome> | grava a amarração (.orca-projeto, gitignorado) |
soltar | apaga a amarração |
mostrar | ficha + tarefas + tamanho do documento |
documento-ler [arquivo] | imprime o markdown, ou grava num arquivo para editar |
documento-escrever <arquivo> | substitui o markdown pelo conteúdo do arquivo |
tarefa-add "<título>" | acrescenta tarefa no fim da lista |
tarefa-concluir <id|título> | alterna concluída/aberta |
status <status> | move o card (planejado, em_execucao, em_validacao, finalizado) |
Saída é JSON numa linha. Código de saída 2 = não deu para decidir sozinho: a resposta traz
candidatos e você pergunta ao usuário qual é, em vez de escolher.
Resolução híbrida do projeto
Na primeira vez o script tenta, nesta ordem:
- UUID — exato, sem ambiguidade possível;
- nome ou rota — exato primeiro, depois por slug (
Sincronização de projetoscasa comsincronizacao-projetos), depois por pedaço; - nome da branch ou da pasta do worktree — a última pista;
feature/etapa-2viraetapa-2.
Achou um, trabalha direto. Achou vários ou nenhum, sai com 2 e pergunta.
Resolvido o desempate, amarre — daí em diante resolver sem argumento já sabe de quem se trata:
cd api && uv run python ../.claude/skills/projeto/scripts/projeto.py amarrar <uuid-do-projeto>A amarração é do worktree, não do repositório: mora em .orca-projeto, ao lado do
.orca-ports, e é ignorada pelo git.
Fluxo de trabalho
Começando a sessão — resolva e mostre. Se sair 2, pergunte antes de qualquer outra coisa.
Mexendo no documento — o markdown é lido no portal com um vocabulário próprio de marcação
rica (alertas, passos, cards, abas, mermaid) e regras editoriais de estrutura e tom. Não
escreva de cabeça: invoque a skill /documento antes de redigir. Esta skill leva o texto
até o banco; a régua editorial é de lá.
cd api
uv run python ../.claude/skills/projeto/scripts/projeto.py documento-ler /tmp/doc.md # tira uma cópia
# … edita /tmp/doc.md seguindo a skill /documento …
uv run python ../.claude/skills/projeto/scripts/projeto.py documento-escrever /tmp/doc.mddocumento-escrever compara antes de gravar: texto idêntico responde "alterado": false e não
toca no banco (nem na trilha de auditoria).
Fechando uma etapa — marque a tarefa e, quando a frente inteira sair, mova o card:
uv run python ../.claude/skills/projeto/scripts/projeto.py tarefa-concluir "importar geometria"
uv run python ../.claude/skills/projeto/scripts/projeto.py status em_validacaoCuidados
- A porta da API não é a padrão num worktree. Ela está no
.orca-ports(API_PORT). O script não usa HTTP — vai direto ao banco do slot — mas se você for testar a API na mão, leia o arquivo antes;curl localhost:8000pode falar com o checkout principal. - Escrita passa por
save(update_fields=…)e pelos services do domínio, nunca porqueryset.update(): é o que mantém os signals e a trilha de auditoria. - A autoria da tarefa nova segue a do projeto. O worktree não tem sessão de usuário, e inventar um autor sujaria a trilha.
- Não abra o shell do Django para "só dar uma olhada": banco de dev costuma ter dados
reais de teste. Se precisar mesmo, use
transaction.atomic()+set_rollback(True). - Levar para produção não é trabalho desta skill. Terminou aqui? O fluxo de sincronização do portal faz o resto, com diff e confirmação.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

