tobi/qmd · warning · Error
Unknown skills subcommand: ${subcommand}
Error message
Unknown skills subcommand: ${subcommand} What it means
Thrown by the `qmd skills` dispatcher when the first subcommand is not one of list|get|path|help. It's a usage error from the CLI argument router.
Source
Thrown at src/cli/qmd.ts:3471
else paths.forEach((path) => console.log(path));
return;
}
const skill = findSkill(name, true);
if (!skill) {
throw new Error(`Skill not found: ${name}`);
}
if (jsonMode) outputSkillsJson({ success: true, data: { name: skill.name, path: skill.dir } });
else console.log(skill.dir);
return;
}
case "help": {
showSkillsHelp();
return;
}
default:
throw new Error(`Unknown skills subcommand: ${subcommand}`);
}
}
function showSkillsHelp(): void {
console.log("Usage: qmd skills <list|get|path> [options]");
console.log("");
console.log("Commands:");
console.log(" list List bundled runtime skills");
console.log(" get <name> Print a bundled runtime skill");
console.log(" get <name> --full Include references/templates/scripts");
console.log(" get --all Print all bundled runtime skills");
console.log(" path [name] Print runtime skill directory path(s)");
console.log("");
console.log("Options:");
console.log(" --json Print structured JSON");
}
function ensureClaudeSymlink(linkPath: string, targetDir: string, force: boolean): boolean {View on GitHub (pinned to dbfd0b4736)
Solutions
- Run `qmd skills help` to see valid subcommands
- Use one of list, get, path, or help
Example fix
# before qmd skills fetch qmd # after qmd skills get qmd
Defensive patterns
Strategy: try-catch
Validate before calling
const VALID = new Set(["list", "get", "path", "help"]);
const sub = process.argv[3];
if (!VALID.has(sub)) { console.error(`unknown subcommand: ${sub}`); process.exit(1); } Type guard
function isSkillsSubcommand(s: string): s is "list" | "get" | "path" | "help" {
return ["list", "get", "path", "help"].includes(s);
} Try / catch
null
Prevention
- Pin scripts to documented subcommands (list/get/path/help)
- Check `qmd skills help` after upgrading
When it happens
Trigger: Running e.g. `qmd skills fetch`, `qmd skills show`, or any unrecognized subcommand token.
Common situations: Version drift — using a subcommand that existed in another version or was assumed to exist; typos; copy-pasting docs for a different tool.
Related errors
- No skill name provided. Usage: qmd skills get <name>
- Skill not found: ${name}
- Collection not found: ${collection}\n${hint}
- No indexed documents found.\nIndex a collection with 'qmd co
- Refusing to initialize a local index in $HOME. The global in
AI-assisted analysis of tobi/qmd@dbfd0b4736 (2026-08-28).
Data as JSON: /api/errors/aee1ead774cbeec8.
Report an issue: GitHub.