Skip to content

capture.mjs --paginate fences spell {page} unquoted — PowerShell eats it #10

Closed

Description

@BradleyDB

Every capture.mjs --paginate fence in the skills spells the output placeholder unquoted:

--out .gs-superadmin/tmp/audit-rules-{page}.json

Windows PowerShell consumes the braces, so the command fails until the argument is single-quoted. The surrounding prose explains that {page} is literal and the script substitutes it, one file per page — but never mentions the shell.

The project already documents this hazard class elsewhere. skills/setup/SKILL.md:188 reads:

Windows PowerShell re-parses -e strings and errors on [, || and }.

So the knowledge exists in the repo and is simply absent from the fences. Found live on Windows, on the first capture command of a fresh workspace setup.

Locations

Five skills, eight fences:

  • plugins/gs-superadmin/skills/audit/SKILL.md — 2
  • plugins/gs-superadmin/skills/deprecate/SKILL.md — 3
  • plugins/gs-superadmin/skills/email-report/SKILL.md — 1
  • plugins/gs-superadmin/skills/refresh/SKILL.md — 1
  • plugins/gs-superadmin/skills/setup/SKILL.md — Phase 4

Fix

Quote the placeholder in each fence, or state the PowerShell requirement in the prose beside it. Whichever is chosen should be applied uniformly: this is one fact living in eight places, and a fix that reaches only some of them leaves the same trap for the next reader.

Verifying

Run any one of the fences verbatim in PowerShell before and after the change. Before, the file is written with the placeholder consumed; after, pagination produces one file per page as documented.

Note that npm run build and the doc gates pass either way — no CI suite executes skill prose, so this is verified by running the command, not by a green check.

Activity

  1. BradleyDB commented on Sep 15, 2026

    @BradleyDB
    OwnerAuthor

    Fixed on dev by #19 (merge d23f890, 2026-09-14) as part of plugin 0.39.0, which is staged on dev and reaches main at the next release. Verified live by the tester round @ hb-20260914-01 (dev/FEEDBACK.md on dev): the changed paginate fences ran verbatim on Windows PowerShell 5.1 in audit, deprecate, refresh and email-report, each writing correctly named page files; the setup canon states why the value is quoted, capture.mjs names the shell cause when the placeholder is missing, and check-doc-drift check 14 now holds every paginate fence quoted.

  2. added a commit that references this issue on Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomers

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions