pbakaus/impeccable · info
Run 'impeccable --help' for available commands.
Error message
Run 'impeccable --help' for available commands.
What it means
Companion message to the unknown-skills-command error: when skills::run hits its catch-all arm it prints a second stderr line, "Run 'impeccable --help' for available commands.", to direct the user to the valid command surface, then exits 1. It is emitted together with "Unknown skills command: <arg>" and never appears alone.
Source
Thrown at crates/detect/src/skills.rs:19
//! `impeccable help|install|link|update|check` and the legacy
//! `impeccable skills <verb>` namespace (`cli/bin/commands/skills.mjs`).
//!
//! Only the dispatch surface is ported for now: the contract's exact
//! unknown-command text, and a clear not-implemented message for the verbs
//! that need the network or a bundle (help fetches the command list from
//! impeccable.style; install/update/link/check read or download bundles).
use impeccable_common::Io;
/// JS: skills.mjs#run
pub fn run(args: &[String], io: &mut Io) -> i32 {
let sub = args.first().map(String::as_str).unwrap_or("");
match sub {
"" | "help" | "--help" | "-h" => not_implemented("help", io),
"install" | "link" | "update" | "check" => not_implemented(sub, io),
other => {
io.err(&format!("Unknown skills command: {other}\n"));
io.err("Run 'impeccable --help' for available commands.\n");
1
}
}
}
fn not_implemented(verb: &str, io: &mut Io) -> i32 {
io.err(&format!(
"impeccable {verb}: not implemented yet in this build. Use `npx impeccable {verb}` (the Node CLI) for now.\n"
));
1
}
View on GitHub (pinned to 2bc2879276)
Solutions
- Run `impeccable --help` as the message instructs and pick a supported top-level command
- Restrict `impeccable skills` usage to install/link/update/check
- Fall back to `npx impeccable <verb>` for verbs this build does not implement
Example fix
// before $ impeccable skills foo Unknown skills command: foo Run 'impeccable --help' for available commands. // after $ impeccable --help # then choose a valid command
Defensive patterns
Strategy: fallback
Try / catch
// This line is advisory, printed alongside 'Unknown skills command'
const res = spawnSync('impeccable', ['skills', sub]);
if (res.status !== 0) {
// parse both stderr lines; follow the --help pointer programmatically if needed
} Prevention
- Treat any `impeccable skills` non-zero exit as a signal to consult `impeccable --help`
- Keep scripts limited to the documented skills verbs
When it happens
Trigger: Always co-emitted with error 125: `impeccable skills <arg>` where <arg> is outside {install, link, update, check, help, --help, -h, ""}.
Common situations: Same as the unknown skills command case — invalid subcommand guesses, typo'd verbs, stale scripts referencing removed subcommands.
Related errors
- usage: build-phase.mjs start --comp <png> [--breakpoint WxH]
- concept-seed: --candidate-count must be an integer from 5 to
- Unknown ignore-rule flag: ${arg}
- Pass a rule id, e.g. ${IMPECCABLE_COMMAND} hooks ignore-rule
- overused-font is value-specific by default. Use ${IMPECCABLE
AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08).
Data as JSON: /api/errors/c199e1df0a4fa650.
Report an issue: GitHub.