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

  1. Run `impeccable --help` as the message instructs and pick a supported top-level command
  2. Restrict `impeccable skills` usage to install/link/update/check
  3. 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

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


AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08). Data as JSON: /api/errors/c199e1df0a4fa650. Report an issue: GitHub.