Skip to content

fix(pstack): preload poteto-mode in Claude agent - #50

Open
RomiSinghio wants to merge 1 commit into
ericlitman:mainfrom
RomiSinghio:fix/preload-poteto-mode
Open

fix(pstack): preload poteto-mode in Claude agent#50
RomiSinghio wants to merge 1 commit into
ericlitman:mainfrom
RomiSinghio:fix/preload-poteto-mode

Conversation

@RomiSinghio

Copy link
Copy Markdown

Closes #49

Why

Claude subagents start with isolated context and do not inherit skills loaded by their parent. The poteto-agent prompt named the skill, but the skill body was unavailable unless the child independently invoked Skill or read plugin files.

What changed

  • Add pstack:poteto-mode to the Claude agent skills frontmatter.
  • Add a static invariant that protects the binding.
  • Add a behavioral regression check that spawns the packaged agent through the real Claude Agent tool and verifies knowledge from the preloaded skill.
  • Update the port reference, change log, and notice.

Blast radius

This changes only the Claude-native pstack:poteto-agent. The shared skill tree, Codex path, other agents, and external provider lanes are unchanged.

Verification

  • Bun tests, strict typecheck, static invariants, and plugin validation pass.
  • The exact candidate is installed in every affected harness.
  • The changed behavior passes from each real user surface.
  • The installed version, action, and observed result appear below.

Live evidence:

  • Candidate: commit 42a6814, loaded with --plugin-dir plugins/pstack
  • Harness: Claude Code 2.1.258
  • Baseline: the installed 1.3.0 agent returned NOT PRELOADED when asked without Skill or file reads
  • Action: a parent Claude session invoked Agent once with subagent_type pstack:poteto-agent
  • Result: the child returned Laziness Protocol, the first Core principle from the preloaded skill
  • Regression command: bash tests/skill-collision-repro.sh
  • Additional checks: 158 Bun tests passed; bun run typecheck; claude plugin validate plugins/pstack; git diff --check

@mergify

mergify Bot commented Sep 4, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@greptile-apps

greptile-apps Bot commented Sep 4, 2026

Copy link
Copy Markdown

Greptile Summary

This PR preloads the existing pstack:poteto-mode skill into the Claude-native poteto-agent, documents that host-specific behavior, and adds static and live regression coverage.

  • Adds the namespaced skill to the agent’s Claude frontmatter.
  • Extends the package invariant script to enforce the binding.
  • Adds a live Agent-tool check for access to a poteto-mode principle.
  • Updates the reference, changelog, and notice.

Confidence Score: 4/5

The production change appears safe to merge, with a non-blocking weakness in how the new live regression proves preload behavior.

The frontmatter binding and static invariant are consistent with the package’s naming and delivery model; the only accepted concern is that the behavioral check can pass through an alternate skill-loading path because it asserts only the returned phrase.

Files Needing Attention: tests/skill-collision-repro.sh

Important Files Changed

Filename Overview
plugins/pstack/agents/poteto-agent.md Adds the canonical pstack:poteto-mode skill to the Claude agent’s preload frontmatter.
tests/skill-collision-repro.sh Adds a sound static binding invariant, but the live check verifies only output text rather than whether the skill was actually preloaded.
docs/reference.md Documents why the Claude-specific preload is required while preserving the existing agent invocation guidance.

Fix all with Greploop Fix All in Codex Fix All in Cursor

Reviews (1): Last reviewed commit: "fix(pstack): preload poteto-mode in Clau..." | Re-trigger Greptile

--tools Agent \
< /dev/null 2>&1
)"
check "poteto-agent preloaded skill" "Laziness Protocol" "$preloaded_agent_output"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Preload Check Is Indirect

This regression only checks the child’s final text for Laziness Protocol. Asking the model not to invoke Skill or read files does not verify that restriction, especially because the agent description itself tells the child to read the poteto-mode skill. If the child obtains the phrase through that alternate path, the test passes without proving that frontmatter preloading worked. Consider asserting the child’s tool activity or making the expected value unavailable without the preload.

Knowledge Base Used: Testing and CI quality gates

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Codex Fix in Cursor

@RomiSinghio

Copy link
Copy Markdown
Author

@ericlitman This prerequisite is ready and blocks #52. The exact head still has the recorded live Claude preload evidence. I re-ran the repository suite today: 157 passed with only the already-documented baseline runner deadline test failing; static/plugin validation remains clean. Please merge #50 when ready so #52 can be rebased onto main and complete its Conductor acceptance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Preload poteto-mode in the Claude poteto-agent

1 participant