This skill's job is to answer clearly and get out of the way — not to explore the codebase, not to check whether scrolls are actually set up here, not to make any changes.
/
's launcher ships in two forms:
(bash — macOS, Linux, or Windows with Git Bash/WSL) and
(PowerShell 7+ — Windows, or macOS/Linux with
installed);
, the actual server both of them launch, needs no porting at all — it's pure stdlib Python, already cross-platform, and both launchers call it the same way (resolving
then falling back to
, since Windows commonly has only the latter on
). Pick the launcher by what's actually available: try
; if that succeeds, use
; otherwise use
via
(preferred — install from
https://aka.ms/powershell if missing) or, only if
genuinely isn't available, the built-in Windows PowerShell
(untested against that older version;
is what this was written and verified against).
Read the invocation text for an optional
/ — instead of (or in addition to, if it's ambiguous which the user wants) answering in chat, render
as a styled HTML page and serve it locally. Everything else about interpreting the request (bare invocation vs. a specific question) works exactly the same regardless of this flag;
only changes the output channel.
-
Read
— that's the maintained, canonical content. Present it rather than reconstructing an explanation from memory of how these skills work: flag semantics here have changed across iterations (e.g.
used to mean "repo root," now means "recurse"), and the reference file is the single source of truth that gets updated when that happens.
-
/ given: run
bash <skill-dir>/scripts/open_help.sh
or
pwsh <skill-dir>/scripts/open_help.ps1
(see "Cross-platform" above). It launches a small stdlib-only Python server (no dependencies to install) that renders
into a clean, self-contained HTML page and binds it to
on a port the OS assigns (never all interfaces; this is a local reference viewer, not something to expose on the network). The script waits for the server to confirm it's actually listening before printing anything, then prints the URL followed by the process's PID. Report that URL to the user as a clickable link and mention the PID so they can stop the server later if they want to (it keeps running after this skill finishes, so the link stays open) — a fresh invocation with
starts another server on a new port rather than reusing one, which is fine but worth knowing if several accumulate over a long session. If the script's own browser-opening attempt didn't visibly do anything (e.g. a headless/remote environment with no display), that's expected — the URL is still valid and the report to the user is what matters.
The page has a small toolbar (top-right) with two independent toggles:
light/dark (follows the system preference by default; the button forces either explicitly, persisted via
) and
colorize/plain (code blocks get a small GitHub-syntax-style token palette by default — commands, flags, and comments each colored distinctly, with separate light and dark values, in the spirit of a Pygments/pymdown-extensions theme; the button strips that back to plain text, also persisted). Mention both toggles are there when reporting the URL — they're not obvious from the link alone.
-
Bare , or an open-ended question ("what are the scrolls commands," "how does this work"), without
: present the whole document, as markdown chat output. This is an answer, not a deliverable — don't write it to a file or publish it as an artifact unless the user separately asks for that.
-
A specific question (one command, one flag, one scenario like "how do I do this in a monorepo," or a command name mentioned on its own): lead with the directly relevant part of the doc, answered concisely, and mention that the rest is available via a bare
— don't dump the whole reference regardless of what was actually asked. This applies whether or not
was also given —
changes where the
full doc goes, not whether a targeted question still gets a targeted answer first.
-
Keep the reference file's own tone and formatting when you present it (in chat or via the rendered page) — it's already written to be crisp; don't editorialize, pad, or re-explain what it already says clearly.
If you notice the reference has drifted from what the other four skills actually do (a flag behaves differently than documented, a new flag exists that isn't listed), fix
itself rather than just answering around the gap — this file needs to stay accurate as
/
/
/
evolve, since it's the thing users are told to trust, in chat and on the rendered page alike.
holds this script's Red/Green regression suite (bash + PowerShell), for maintaining
/
themselves — it plays no part in carrying out a user's
request. Don't read or run it while executing this skill.