Ask Matt
SkillDev toolsPergunte qual skill ou fluxo encaixa na sua situação. Um router sobre as skills deste repo.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Ask Matt skill
What this skill tells your AI
The instructions your AI receives, as published by leandrocfe/skills in skills/engineering/ask-matt/SKILL.md and read by ahel’s review.
Você não lembra de todas as skills, então pergunte.
Um flow é um caminho através das skills. A maioria dos caminhos segue um main flow, e alguns on-ramps se fundem nele. Todo o resto é standalone, ou uma camada de vocabulário que roda por baixo.
O main flow: ideia → ship
O caminho que a maioria do trabalho percorre. Você tem uma ideia e quer que seja construída.
-
/grill-with-docs— afie a ideia com uma entrevista. Comece aqui sempre que você estiver trabalhando em um working directory: é stateful, retém o que aprende emCONTEXT.mde ADRs. (Sem working directory? Use/grill-me— veja Standalone. Os dois rodam a mesma primitiva/grilling;grill-with-docsé o que deixa rastro em disco, o que faz dele o melhor dos dois sempre que houver um repo onde deixá-lo.) -
Branch — você consegue resolver toda questão na conversa? Se uma questão precisa de uma resposta executável (estado, business logic, uma UI que você precisa ver), desvie por um prototype, conectado por
/handoffem ambas direções (um prototype vive no próprio diretório, que é exatamente para o que/handoffserve — veja Phase boundaries):/handoffpara fora, depois abra uma sessão nova contra aquele arquivo,/prototypepara responder a questão com código descartável,/handoffde volta o que aprendeu, e referencie do thread da ideia original.
-
Branch — isso é um build multi-sessão?
- Sim →
/to-spec(transforme o thread em uma spec), depois/to-ticketspara quebrá-la em tickets tracer-bullet, cada um declarando suas blocking edges. Num tracker local, isso é um arquivo por ticket sob.scratch/<feature>/issues/, trabalhado blockers-primeiro na mão; num tracker de verdade, as edges viram links de blocking nativos, então qualquer ticket cujos blockers estejam prontos pode ser pego — dispare/implementpor ticket, dando/clearno contexto entre cada um. Cada ticket é autocontido, então o contexto do último é descartável. - Não →
/implementdireto aqui, na mesma janela de contexto.
De qualquer forma,
/implementconstrói cada ticket conduzindo/tddinternamente — uma slice red-green por vez — e fecha rodando/code-review, uma revisão em dois eixos (Standards + Spec) do diff, antes de commitar. Recorra a/tddsozinha quando quiser só construir um comportamento concreto test-first, sem uma spec completa, e a/code-reviewsozinha sempre que quiser revisar um branch ou PR contra um ponto fixo. - Sim →
Hygiene de contexto
Mantenha os passos 1–3 em uma única janela de contexto ininterrupta — não compacte ou limpe até depois de /to-tickets — para que a sabatina, a spec e os tickets construam sobre o mesmo pensamento. Cada /implement depois inicia fresco, trabalhando a partir do ticket.
O limite disso é a smart zone: a janela (~150k tokens em modelos state-of-the-art) dentro da qual o modelo ainda raciocina com nitidez. Se uma sessão se aproximar disso antes de /to-tickets, não force em degradado — dê /compact no phase boundary mais próximo e siga (veja Phase boundaries).
On-ramps
Uma situação de partida que gera trabalho, depois se funde no main flow.
-
Bugs e requests se acumulando →
/triage. Move issues através de roles de triage e produz issues agent-ready, que/implementdepois pega.Triage é só para issues que você não criou — bug reports, feature requests que chegam, qualquer coisa que chega crua. Tickets que
/to-ticketsproduziu já são agent-ready, então não os triagem. -
Alguma coisa quebrou →
/diagnosing-bugs. Para os difíceis: o bug que resiste à primeira olhada, o flake intermitente, a regressão que se infiltrou entre dois estados sabidamente bons. Ela se recusa a teorizar até ter um tight feedback loop — um comando que já fica red neste bug — e então corrige com um teste de regressão. Seu post-mortem faz handoff para/improve-codebase-architecturequando a descoberta real é que não existe um bom seam para prender o bug. -
Uma empreitada enorme e enevoada — um projeto greenfield ou um build de feature grande demais para uma sessão →
/wayfinder, o fluxo mais cognitivamente exigente aqui. Quando o caminho daqui até o destino ainda não é visível, ela traça um mapa compartilhado de decision tickets no issue tracker e os resolve um por vez — produzindo decisões, não entregáveis — até a névoa recuar e o caminho ficar claro. Onde/grill-with-docsafia uma ideia que cabe numa sessão, o wayfinder é para a ideia que não cabe — e é mais lento e mais denso, então guarde-o exatamente para isso, nunca para uma feature bem escopada.Quando o mapa clareia, ela faz handoff, não constrói: funda-se ao main flow em
/to-spec, que colapsa as decisões linkadas do mapa num plano construível, depois/to-ticketse/implementcomo de costume. Loopar o mapa direto no/implementpula esse colapso e joga fora o detalhe linkado — vá direto ao/implementsó quando a empreitada se revelou genuinamente pequena.
Saúde da codebase
Não trabalho de feature — manutenção.
/improve-codebase-architecture— rode sempre que tiver um momento livre para manter a codebase boa para agents operarem. Ela expõe deepening opportunities; escolher uma gera uma ideia que você pode levar para o main flow em/grill-with-docs. Ela é o levantamento que acha os candidatos;/codebase-design(abaixo) é a bancada onde você projeta o escolhido.
Vocabulário por baixo
Duas referências model-invoked que rodam por baixo das outras skills — cada uma a single source of truth do seu vocabulário. Recorra a elas direto quando o problema forem as palavras, não o processo; ou deixe que as skills acima as puxem.
/domain-modeling— afia a linguagem de domínio do projeto: questiona um termo difuso, resolve uma palavra sobrecarregada ("conta" fazendo três trabalhos), registra uma decisão difícil de reverter como um ADR. É a disciplina ativa que/grill-with-docsconduz para manter oCONTEXT.mdum glossário limpo./codebase-design— o vocabulário de deep modules (module, interface, depth, seam, adapter, leverage, locality) para projetar o formato de um módulo: muito comportamento atrás de uma interface pequena, num seam limpo./tdde/improve-codebase-architecturefalam essa língua.
Phase boundaries
Uma fase é um pedaço de trabalho dentro de uma sessão — a sabatina, a implementação, o QA. No boundary entre duas delas você tem cinco opções, e escolher entre elas é a decisão mais nebulosa deste mapa inteiro:
- Continue — fique onde está. Não custa nada, não perde nada.
/clear— esvazie a janela, quando nada aqui importa para o que vem a seguir./handoff— escreva um arquivo markdown portável. Estreito: só para um novo harness, um novo diretório, um colega, ou bifurcar uma tarefa lateral no meio da fase. O que ele compra é portabilidade.- Subagent — mande uma tarefa bem escopada para a própria janela e receba um relatório de volta.
/compact— comprima este contexto e semeie uma sessão fresca com ele. O default, no fundo da árvore em vez de a primeira escolha.
Leia PHASE-BOUNDARIES.md para a árvore ordenada — as cinco perguntas, o raciocínio por trás de cada branch, e por que o custo de primary-source faz Continue ser a primeira a descartar. Tome a decisão em um boundary; no meio da fase, continue ou divida o resto em subagents.
Standalone
Fora do main flow completamente.
/grill-me— a mesma entrevista implacável que/grill-with-docs, mas stateless: não salva nada localmente e não constróiCONTEXT.md. Recorra a ela quando você não estiver trabalhando em um working directory — afiando um plano, um design, um texto, qualquer coisa sem um repo por baixo. Se você está em um working directory, use/grill-with-docs: roda a mesma entrevista e deixa rastro, então é estritamente a melhor./grilling— a primitiva da entrevista em si: rodadas, a frontier, fatos são trabalho do agent e decisões são suas./grill-mee/grill-with-docssão as duas portas de entrada nomeadas, e/triage,/wayfindere/improve-codebase-architecturetodas a rodam internamente. Recorra a ela direto só quando quiser a entrevista sem nenhum wrapper em volta./resolving-merge-conflicts— trabalhe um conflito de merge ou rebase em andamento hunk por hunk, resolvendo por intenção rastreada à fonte primária de cada lado em vez de escolher linhas, depois finalize a operação. Nunca roda--abort. Standalone e fora de todo fluxo: recorra a ela quando você já está no meio do conflito./prototype— um programa pequeno e descartável que responde a uma pergunta de design: este modelo de estado faz sentido, ou como esta UI deveria ser. Descartável é uma restrição de como o código é escrito, não uma promessa de destruí-lo: a resposta se dobra no código real, e o próprio prototype é guardado como fonte primária num branchprototype/<name>fora do main, apontado a partir da issue de implementação. É o desvio do passo 2 do main flow, mas recorra a ele sempre que uma pergunta de design for difícil de resolver no papel./research— delegue o trabalho braçal de leitura a um background agent: ele investiga uma pergunta contra fontes primárias e deixa um arquivo Markdown citado no repo. Você segue trabalhando enquanto ele lê. O arquivo que ele produz é algo para levar para dentro do main flow em/grill-with-docs— pesquisa alimenta o pensamento, não o substitui./to-questionnaire— quando o que te trava não está na sua cabeça nem na codebase, mas na de outra pessoa, isso escreve a ela um questionário para preencher. É o inverso de/grill-me: em vez de te entrevistar sobre o assunto, te entrevista sobre o envio — para quem vai, o que você precisa de volta — e mira as perguntas no gap. O que volta é material para/grill-with-docsou/to-spec./wizard— para os passos que só um humano pode dar: provisionar infraestrutura, configurar credenciais ou secrets de CI, clicar por um dashboard de terceiros desconhecido, rodar uma migração/cutover pontual. Ela gera um script bash interativo que abre cada URL, captura cada valor e o escreve em.enve secrets do GitHub — para o procedimento parar de ser algo que você reexplica a um agent toda vez. Model-invoked, então o agent recorre a ela no momento em que bate numa parede que só você pode passar. Se o agent conseguisse fazer sozinho, deveria; isto é para onde um humano está genuinamente no loop./wait-what— o corretivo para uma mensagem que não pegou. Use no meio da conversa, dentro de qualquer outra skill, e o agent repropõe o que acabou de dizer com o contexto que faltava, em português simples, usando o vocabulário doCONTEXT.md. Funciona depois do fato;/grill-with-docsé a cura antecipada, porque uma linguagem compartilhada acordada cedo é o que impede o jargão de chegar./teach— aprenda um conceito ao longo de múltiplas sessões, usando o diretório atual como workspace stateful./writing-for-agents— referência para escrever documentos que agents consomem: skills, AGENTS.md, docs apontadas.
Pré-condição
/setup-leandrocfe-skills — rode antes do seu primeiro fluxo de engineering para configurar o issue tracker, triage labels e layout de docs que as outras skills assumem. Issue trackers customizados também funcionam.
Signals
- GitHub stars
- 36
- Forks
- 1
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
ask-matt-leandrocfe- Source
- github.com/leandrocfe/skills