Skip to content

feature/Scaffold-reading-fixes · L-260916-4eb1b3 — skill args clobber $1 $9 - #26

Merged
lchoquel merged 2 commits into
devfrom
feature/Scaffold-reading-fixes
Sep 17, 2026
Merged

lchoquel merged 2 commits into
devfrom
feature/Scaffold-reading-fixes

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 17, 2026

Copy link
Copy Markdown
Member

Claude Code replaces $ARGUMENTS and $<digit> tokens in a skill body with the invocation's arguments, so pipelex-scaffold's shell recipes are now written without them, and make check fails on any SKILL.md that carries one. The scaffold also now relays every warning make create printed, with the template's LICENSE holder first, and a trap removes the acquisition's temporary clone however the chain ends, including when the harness interrupts it.

Closes L-260916-4eb1b3
Closes L-260916-bd2870
Closes L-260916-cac79b

🤖 Generated with Claude Code

https://claude.ai/code/session_013DQGXP7o1q5tm6LJLfSsRE


Summary by cubic

Rewrites pipelex-scaffold's skill recipes to avoid $ARGUMENTS and $<digit> placeholders, since Claude Code replaces them with the invocation's arguments before the model reads the skill. Adds a make check rule that fails on any SKILL.md carrying such a token.

Also fixes the scaffold's cleanup and reporting:

  • The temporary clone is now removed via trap on EXIT, INT, and TERM, even when the harness interrupts the run.
  • make create warnings are relayed in full, with the LICENSE holder first.

Closes L-260916-4eb1b3, L-260916-bd2870, L-260916-cac79b.

Written for commit 85657ba. Summary will update on new commits.

Review in cubic

lchoquel and others added 2 commits September 17, 2026 01:14
Claude Code replaces $ARGUMENTS and $0, $1, … in a SKILL.md with the
words the skill was invoked with, so pipelex-scaffold's dev-server block
reached the model as a different command: its process-tree helper
signalled "me" and the listener check printed "The", which would have
stopped a loopback-bound server and reported no URL.

The helper now loops over its arguments with a local variable, and the
listener's address is read with lsof -Fn rather than by column, since
lsof prints the socket state after the address. make check now fails
when any target's rendered SKILL.md carries $ARGUMENTS or $<digit>.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DQGXP7o1q5tm6LJLfSsRE
The scaffold's create block showed only the last lines of make create's
log, which are make all's, so the warnings the gesture prints earlier
never reached the report: a created MIT project kept the template's
copyright line and nobody was told. The block now lists each distinct
warning from the whole log, and the report relays each with what
answers it, the LICENSE holder first.

Both acquisition chains now remove their temporary clone with one trap
set right after mktemp, trapping INT and TERM as well as EXIT, because
zsh and dash run no EXIT trap when a signal kills them. A session
cleared or a command stopped mid-clone no longer leaves a
.pipelex-method-apps-… or .pipelex-starter-… directory beside the
project.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013DQGXP7o1q5tm6LJLfSsRE
@lchoquel
lchoquel merged commit 3fff61c into dev Sep 17, 2026
2 checks passed
@lchoquel
lchoquel deleted the feature/Scaffold-reading-fixes branch September 17, 2026 07:45
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.

1 participant