pstack: in Claude Code, poteto-mode cites principles without reading their SKILL.md files
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 65/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript
- Domínio
- developer-experience
Direção de pesquisa
Comece pelas instruções de poteto-mode SKILL.md descritas na issue, especialmente as seções Non-negotiables e Principles, e compare-as com a redação proposta. Atualize as instruções para exigir explicitamente a leitura do adaptador e do leaf skill relevante antes da primeira resposta. Confira se a leitura do adaptador continua restrita ao Claude Code e se a leitura do leaf skill se aplica ao Cursor; o trabalho estará concluído quando as instruções exigirem essas etapas e preservarem a regra de citação.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
In Claude Code, /pstack:poteto-mode runs almost never read the files that the skill tells the agent to read. SKILL.md line 11 says to read docs/harness/claude-code.md once per session. Line 17 says to cite only principles whose leaf SKILL.md the agent read this session. The agent skips both reads. It then does one of two things:
- It names principles from the inline index without reading them. That breaks the "cite only what you read" rule.
- It names no principles at all, so the Principles section has no visible effect.
From the user's side, poteto-mode follows its principles on some days and ignores them on others.
Evidence
I audited 18 poteto-mode runs across 4 Claude Code sessions (pstack 0.15.25 and 0.15.27, Claude Code 2.1.304, Opus 5.5):
- Every run injected the full skill body, so the skill loaded correctly.
- The agent read
docs/harness/claude-code.mdin 1 run. - The agent read a
principle-*/SKILL.mdfile in 0 runs and a playbook file in 0 runs. - One session named principles in its replies anyway. The other three named none.
- One run spawned
general-purposewhere the adapter maps delegates topstack:poteto-agent.
poteto-mode, poteto-agent, and the principle-* skills are identical in 0.15.25 and 0.15.27, so the version change did not cause this.
All 24 principle-* skills set disable-model-invocation: true, so the Skill tool refuses them. The only way to load a principle file is to Read it by path. The current wording states the citation rule but never makes the read a step, so the agent treats the inline index as enough.
Proposed fix
Make the reads an explicit first step in the Non-negotiables:
-The Principles section below grounds every trigger. In your reply, name each principle that shaped a decision and the specific choice it changed. Cite only principles whose leaf SKILL.md you read this session.
+The Principles section below grounds every trigger. Before your first reply in a run, `Read` the adapter above if you have not this session, then `Read` `../principle-<name>/SKILL.md` for each principle you expect to shape a decision. The index below is a pointer, not a substitute. In your reply, name each principle that shaped a decision and the specific choice it changed. Cite only principles whose leaf SKILL.md you read this session.
The adapter clause applies only in Claude Code, because line 11 scopes the adapter to Claude Code. In Cursor the change adds only the leaf read, which line 17 already requires.
Test
I applied the patch locally to 0.15.27 and ran:
claude -p "/pstack:poteto-mode avg() in stats.py crashes on an empty list. Propose a fix, don't edit files."
The agent read docs/harness/claude-code.md, then principle-fix-root-causes/SKILL.md and principle-boundary-discipline/SKILL.md. Its reply named both principles and said what each one changed. That is one run, not a benchmark.
Related
- #629 adds Claude Code support but does not change line 17.
- I haven't tested whether
poteto-agentdelegates have the same gap. Their fallback search forSKILL.mdlooks only in~/.cursor/plugins/.
- Linguagem predominante
- TypeScript
- Estrelas
- 12.5k
- Forks
- 1.2k
- Merge médio
- 10h 48min
- PRs com merge (30d)
- 128
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de cursor/plugins
-
Poteto Mode Claude CodeAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
cursor/plugins#701 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
create-plugin README documents a /create-plugin command that does not existTalvez já em andamento @lab1207 assumiu há 19 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
cursor/plugins#475 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
principle-test-behavior-not-implementation: listed matchers do not all pass when imports return undefinedTalvez já em andamento @Yi-111-a assumiu há 19 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
cursor/plugins#474 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
cursor-sdk auth.md: non-null assertion described as a runtime missing-variable checkTalvez já em andamento @lab1207 assumiu há 19 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
cursor/plugins#473 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
check-agent-compatibility: SKILL.md description has an unquoted colon, YAML parse failsTalvez já em andamento @rufushsu9987 assumiu há 33 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
cursor/plugins#381 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de cursor/plugins
Issues semelhantes
-
skillopt: success-reflect prompt omits the edit schema, so every success-only edit is droppedAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Workspace secrets/constants containing "$" are corrupted when resolved in data source optionsAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
mobile-next/mobile-mcp#526 ·
Mantenedores costumam responder em até 1 dia
-
e2e-failure ready-to-code
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 73/100
redhat-developer/rhdh-plugin-export-overlays#4470 · 1 comentário ·
Mantenedores costumam responder em até 1 dia