Skip to content

fix: unescape pipes in Router commands - #2

Open
JayOfTheKeyboard wants to merge 1 commit into
aicodeking:mainfrom
JayOfTheKeyboard:fix/router-unescaped-pipes
Open

JayOfTheKeyboard wants to merge 1 commit into
aicodeking:mainfrom
JayOfTheKeyboard:fix/router-unescaped-pipes

Conversation

@JayOfTheKeyboard

Copy link
Copy Markdown

Closes #1

The Router table escapes the pipes in its commands as \|. Agents read SKILL.md raw, copy the backslash, and nine commands in six rows fail: shell pipes turn into arguments, regex alternations match nothing, and jq rejects its filter. Details and transcripts are in the issue.

The Router table is now a list, one - **Target**: path line per row, with plain |. A Markdown table can't hold a raw pipe inside a code span, so the commands can only be paste-and-run outside a table. The list also fixes the Electron row, whose unescaped pipes break the rendered table on GitHub.

Nothing else changes. With the table syntax and the escapes taken out, the old and new text are identical, apart from "route each extracted binary through this table" now saying "list". The file shrinks from 8,374 to 8,331 bytes.

Checked by running the fixed commands on real binaries: the Rust strings | rg | sort -u line prints the rustc commit hash, rg 'bl|call|literal|cmp' finds 79 lines where the escaped form found 0, LC_(RPATH|BUILD_VERSION) matches both load commands, and the HAR jq filter prints GET https://example.com/a.

The Router was a Markdown table, so pipes inside its commands were written as \| to keep the cells apart. Agents read SKILL.md as raw text and copy the backslash: a shell pipe becomes a literal argument (strings -a T \| rg ... fails), a regex alternation becomes a literal | that never matches, and jq rejects the filter. The Electron row had the opposite problem: its unescaped pipes split the cell when GitHub renders the table.

The Router is now a list with the same text and plain pipes.
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.

Router commands with \| fail when an agent runs them

1 participant