Repository navigation
Conversation
The Playbooks section said to open a playbook at `playbooks/<title>.md` without a base, while the head of the file gives bundled skills as `../<name>/SKILL.md` from this file. Codex agents that read a playbook in one shell call with sibling skills gave it that skills/ base and opened skills/playbooks/<title>.md, which does not exist (#71). An anchored substitution now says the path is from this file and spells out skills/poteto-mode/playbooks/<title>.md. poteto-mode's SKILL.md is a declared fork, so its copy carries the substitution's text, and its own lines against derived upstream are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A Codex agent following poteto-mode should open the playbook it matched on the first try. The Playbooks section says to open a playbook's steps at
playbooks/<title>.mdand names no base, while line 8 gives bundled skills as../<name>/SKILL.mdfrom this file. A Codex agent that reads a playbook in one shell call with sibling skills gives the playbook thatskills/base too, as incat <plugin>/skills/how/SKILL.md <plugin>/skills/playbooks/investigation.md. That read fails withNo such file or directory, and the agent spends a turn findingskills/poteto-mode/playbooks/. @adryanev reported it and diagnosed it in #71.What changed
tools/substitutions.json. The sentence now reads "open its full steps atplaybooks/<title>.mdfrom this file (skills/poteto-mode/playbooks/<title>.md)". "From this file" is how line 8 states its base, and the parenthetical is a suffix that holds in the plugin cache and in a repo checkout. Lauren's sentence is the same at the pin and at cursor/pluginsmain6b03002, so the rule will keep matching after the next sync.SKILL.mdcarries the rule's text.tools/forks.jsondeclares poteto-mode'sSKILL.mda fork, and the sync keeps a fork's copy, so the copy needs the same words. Deriving upstream at the pin with the new rules and diffing it against the copy gives the same fork lines as onmain, byte for byte, line 132's.audit/<task-slug>.todo.mdsentence included.VERSION, theCHANGES.mdentry with the evidence below, the stamped manifests, and the README's two tag examples.Evidence
skills/playbooks/<title>.md, in 3 sessions, on 2.0.0-rc.5, rc.9, rc.15, rc.17, 2.1.0, and 2.2.0. 5 of the 6 ran ongpt-6.1-soland 1 ongpt-6-astra, and 5 of the 6 read the playbook in the same call as a sibling skill. Each was followed by a read of the right path 5 to 29 seconds later. In each case Codex had handed the model the whole SKILL.md, Playbooks sentence included, a few seconds before, so a cut read does not explain it. A plain grep finds 17 lines in 10 rollout files, because Codex logs a command's output twice and forked or compacted rollouts copy their parent's history.playbooks/<title>.md, from poteto-mode's directory rather than their own, and Babysit and Multi-phase plan name../references/bugbot-triage.md. No session on this Mac shows a failed read of either kind, so this PR leaves them. The plugin's other failed reads on this Mac are of a release directory that a later update had removed (2.0.0-rc.16), which no wording fixes.Proof
These runs used T3 0.1.8-nightly.20261108.4367 on this Mac. There were 12 fresh Codex threads, each in its own throwaway git repository, asked why a small duration parser returns 60000 for
1m30s, a question for the Investigation playbook. Each was told to read and follow poteto-mode from a checkout of this branch, or ofmain(2.2.8) as the control, and that the installed plugin is 2.2.8. Each was also told to change no file, start no subagent, and write no MISTAKES, LEARNINGS, or DESIRES file. Three ran per arm on each model. The counts come from each thread's Codex rollout, not from its reply.codex/gpt-6-astraxhighcodex/gpt-6.1-solxhigh/private/tmp/pb229/plugins/pstack/skills/poteto-mode/playbooks/investigation.mdfirst trycataswhyandunslopThe control did not reproduce the failure. That fits the logs' rate of 6 in 93, at which six runs see no failure about two times in three. So these runs show that the new sentence resolves to the right file, including in the batched read where the failures happened. They do not measure the rate drop, which would take hundreds of runs per arm. No thread changed a file, and the repositories, projects, and threads are deleted.
Verification
bun install --frozen-lockfileandbun tools/generate.mjs --checkpass, with 17 generated files current.GIT_CONFIG_GLOBAL=/dev/null bun test tests/ --timeout 30000gives 561 pass, 56 skip, 0 fail.bun tools/sync.mjs <component> <pin> --dry-runforpstack,cursor-team-kit, andthermosatc742dd6exits 0, and its report matchesmain's line for line, so there is no undeclared fork and no rule that matches nothing.Closes #71
Note
Low Risk
Documentation-only skill instruction and release metadata; no runtime, auth, or installer logic changes beyond version bumps.
Overview
Release 2.2.9 clarifies where poteto-mode playbooks live so Codex agents do not resolve
playbooks/<title>.mdunder the wrongskills/base when they batch-read sibling skills.The Playbooks line in
poteto-mode/SKILL.mdnow says paths are from this file and adds the concrete suffixskills/poteto-mode/playbooks/<title>.md, matching how bundled skills are described. The same wording is anchored intools/substitutions.jsonso forked copies stay correct on sync. Version stamps and README install-tag examples are updated to 2.2.9;CHANGES.mddocuments the #71 diagnosis and release notes.Reviewed by Cursor Bugbot for commit de942f0. Bugbot is set up for automated code reviews on this repo. Configure here.