Expand description
Where a skill can execute, and why it cannot.
THE SPLIT THAT MAKES THIS WORK
Of 140 canonical skills in the Prometheus pack, only 37 ship scripts/.
The other ~103 are pure knowledge: the SKILL.md body is handed to the model
as prompt context and nothing is ever spawned. That is why a phone can carry
the whole catalog offline — the majority need no runner at all.
THE PLATFORM CONSTRAINT IS NOT NEGOTIABLE
iOS cannot spawn child processes or JIT (the same constraint that keeps
pglite off mobile — see gen_ui_agent/Cargo.toml). So an executable skill
on iOS is not “slow” or “degraded”, it is impossible locally, and the only
honest options are to run it on a server through RemoteRunner or to say
clearly that it cannot run.
REPORTING BEATS FAILING
A skill that cannot run should say so BEFORE it is invoked, with a reason a
user can act on. Returning a command not found from the middle of a bash
script is the same defect as an empty array with no explanation: the caller
cannot tell “misconfigured” from “impossible here”.
Enums§
- Exec
Host - Where the runtime is hosted. Decides which execution paths exist at all.
- Exec
Plan - How a given skill can run on a given host.
Constants§
- COMMON_
TOOLCHAINS - Binaries the pack’s scripts actually rely on, in frequency order.
Functions§
- missing_
toolchains - Which of
COMMON_TOOLCHAINSare missing fromPATH. - plan
- Convenience wrapper using the detected host.
- plan_
with_ host - Decide how a skill runs, given the host and whether a remote runner exists.