Skip to content

docs: say where an agent can do harm, and add a Claude Code skill - #5

Merged
trevin-lee merged 2 commits into
trevin-lee:mainfrom
ynezz:pr/agent-guidance
Oct 10, 2026
Merged

trevin-lee merged 2 commits into
trevin-lee:mainfrom
ynezz:pr/agent-guidance

Conversation

@ynezz

@ynezz ynezz commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

hi, my clankers found this nice project during research, I liked it so decided to make you aware about the changes I've made for my use cases, so everyone can profit from that, but feel free to close it or implement it differently, happy to help with testing, cheers, Petr


Depends on #1, #2, #3 and #4. Until they are merged, this PR also shows their commits. Please review only the last commit.

The MCP instructions and tool descriptions said what each tool does. They did not say where a tool can cause harm. Now they say it where it matters:

  • plate_clear and set_ready are the claim of the agent, and nothing checks them. The agent must look at a fresh snapshot or ask the user. It must never set them only to pass a refusal.
  • run_gcode overwrites /usb/prusactl-macro.gcode and starts it as a real print job.
  • api_request has no safety checks.
  • Deletes of printer files, Connect files and queue entries are permanent.
  • If a print looks wrong, pause first. Stop is final. Use it for a clear failure or when the user says so.

skills/prusactl/SKILL.md is a Claude Code skill. It covers these workflows, with the same hazards:

  • status checks
  • starting a print
  • watching for failures
  • login --manual for agents
  • firmware updates

Testing

  • go test ./.... The changes are descriptions and docs only.

@trevin-lee

Copy link
Copy Markdown
Owner

The text is good. The plate_clear wording ("your own assertion, nothing checks it, never set it to get past the refusal") is better than what's there, and the pause-before-stop and list-before-delete rules match how I want agents to behave.

This depends on #1 through #4, so I'll rebase it once those land. If #4 takes longer, the firmware section splits out so the rest isn't held up.

One change I'm making: I'm leaving "you are expected to act, not to ask permission for every step" out of the MCP instructions. Everything else in the project leans the other way, and the two places where an agent acts on the account or the firmware already say "only when the user asks". The skill file can keep its version of the sentence, since someone installs that deliberately.

ynezz and others added 2 commits October 10, 2026 01:26
Depends on `pr/status-timing`, `pr/rtsp-camera`, `pr/connect-firmware`
and `pr/manual-login`. They are merged below this commit. The skill
describes their commands, and this commit edits the camera and firmware
tool descriptions. When those four have landed, review only this
commit.

The MCP instructions and tool descriptions said what each tool does.
They did not say where a tool can cause harm. Now they say it where it
matters:

- `plate_clear` and `set_ready` are the claim of the agent, and nothing
  checks them. Look at a fresh `get_camera_snapshot` or ask the user.
  Never set the flag only to pass a refusal.
- `run_gcode` is not a console. It overwrites `/usb/prusactl-macro.gcode`
  and starts it as a real print job. It does not check the content.
- `api_request` is a raw escape hatch. It has no safety checks.
- Deletes of printer files, Connect files and queue entries are
  permanent.
- If a print looks wrong, pause first. Stop is final. Use it for a clear
  failure or when the user says so.

`skills/prusactl/SKILL.md` is a Claude Code skill. It covers the status,
start, monitoring, login and firmware workflows, with the same hazards.
The README points to the skill and lists the limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
The agent guidance added "You are expected to act, not to ask permission
for every step" to the instructions every MCP client reads. Everything
else in prusactl leans the other way: the plate question, the camera
look before a start, and "only when the user asks" for sign-in and
firmware. The sentence stays in the skill file, which someone installs
on purpose; the server's own instructions keep to the cautions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@trevin-lee
trevin-lee marked this pull request as ready for review October 10, 2026 08:26
@trevin-lee
trevin-lee merged commit a2961ab into trevin-lee:main Oct 10, 2026
4 checks passed
@trevin-lee

Copy link
Copy Markdown
Owner

Merged in v0.3.0. As said, I dropped "you are expected to act, not to ask permission for every step" from the server instructions and left it in the skill, which people install on purpose. The rest went in as you wrote it. Thanks for all five.

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.

2 participants