{"record":{"id":"457439acb57f3b31","repo":"pbakaus/impeccable","slug":"impeccable-verb-not-implemented-yet-in-this-bui","errorCode":null,"errorMessage":"impeccable {verb}: not implemented yet in this build. Use `npx impeccable {verb}` (the Node CLI) for now.\n","messagePattern":"impeccable (.+?): not implemented yet in this build\\. Use `npx impeccable (.+?)` \\(the Node CLI\\) for now\\.\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/detect/src/skills.rs","lineNumber":26,"sourceCode":"\nuse impeccable_common::Io;\n\n/// JS: skills.mjs#run\npub fn run(args: &[String], io: &mut Io) -> i32 {\n    let sub = args.first().map(String::as_str).unwrap_or(\"\");\n    match sub {\n        \"\" | \"help\" | \"--help\" | \"-h\" => not_implemented(\"help\", io),\n        \"install\" | \"link\" | \"update\" | \"check\" => not_implemented(sub, io),\n        other => {\n            io.err(&format!(\"Unknown skills command: {other}\\n\"));\n            io.err(\"Run 'impeccable --help' for available commands.\\n\");\n            1\n        }\n    }\n}\n\nfn not_implemented(verb: &str, io: &mut Io) -> i32 {\n    io.err(&format!(\n        \"impeccable {verb}: not implemented yet in this build. Use `npx impeccable {verb}` (the Node CLI) for now.\\n\"\n    ));\n    1\n}\n","sourceCodeStart":8,"sourceCodeEnd":31,"githubUrl":"https://github.com/pbakaus/impeccable/blob/2bc2879276c1f321a53c4ca99d3371e411329b52/crates/detect/src/skills.rs#L8-L31","documentation":"not_implemented() is the stub handler for the skills verbs install/link/update/check in this native build. It prints \"impeccable <verb>: not implemented yet in this build. Use `npx impeccable <verb>` (the Node CLI) for now.\" to stderr and returns exit code 1, signaling that the verb is recognized but intentionally unimplemented in the Rust binary.","triggerScenarios":"Running `impeccable skills install`, `link`, `update`, or `check` against the native engine binary instead of the Node CLI — the verbs dispatch to not_implemented() by design.","commonSituations":"Running the compiled binary directly (or via the engine launcher) where the Node CLI shim is expected; automation scripts invoking skills management verbs after switching from npx to the native binary; a partially-ported CLI where some verbs lag behind.","solutions":["Run the same verb through the Node CLI: `npx impeccable skills <verb>` as the message suggests","Install/upgrade the npm package (cli/) and route skills verbs through it","Skip skills verbs in native-binary scripts until the verb is implemented in this build"],"exampleFix":"// before\n$ impeccable skills install\nimpeccable install: not implemented yet in this build...\n\n// after\n$ npx impeccable skills install","handlingStrategy":"fallback","validationCode":"const NOT_IMPLEMENTED = ['install','link','update','check'];\nif (NOT_IMPLEMENTED.includes(verb) && usingNativeBinary) {\n  // route through the Node CLI instead\n  cmd = ['npx', 'impeccable', 'skills', verb];\n}","typeGuard":null,"tryCatchPattern":"const res = spawnSync('impeccable', ['skills', verb]);\nif (res.status !== 0 && /not implemented yet in this build/.test(res.stderr.toString())) {\n  const fallback = spawnSync('npx', ['impeccable', 'skills', verb], { stdio: 'inherit' });\n  process.exit(fallback.status ?? 1);\n}","preventionTips":["Route skills management verbs through npx/impeccable (Node CLI), not the native binary","Check the build's supported verbs before switching automation from npx to the compiled engine","Track CLI parity notes when upgrading between the npm shim and native binary"],"tags":["cli","not-implemented","node"],"backgroundTag":"method-not-implemented","analyzedSha":"2bc2879276c1f321a53c4ca99d3371e411329b52","analyzedAt":"2026-09-08T04:51:14.109Z","contentChangedAt":"2026-09-08T04:51:14.109Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}