tobi/qmd · warning · Error

No skill name provided. Usage: qmd skills get <name>

Error message

No skill name provided. Usage: qmd skills get <name>

What it means

Thrown by `qmd skills get` when no arguments remain after filtering out --full/--all, and --all was not provided. The command needs at least one skill name (or --all) to know what to fetch.

Source

Thrown at src/cli/qmd.ts:3419

        console.log(`  ${skill.name.padEnd(maxName)}  ${skill.description}`);
      }
      return;
    }

    case "get": {
      const full = fullOption || args.includes("--full");
      const getAll = allOption || args.includes("--all");
      const names = args.slice(1).filter((arg) => arg !== "--full" && arg !== "--all");
      const targets = getAll ? runtimeSkills() : names.map((name) => {
        const skill = findSkill(name, true);
        if (!skill) {
          throw new Error(`Skill not found: ${name}`);
        }
        return skill;
      });

      if (targets.length === 0) {
        throw new Error("No skill name provided. Usage: qmd skills get <name>");
      }

      if (jsonMode) {
        outputSkillsJson({
          success: true,
          data: targets.map((skill) => ({
            name: skill.name,
            content: readSkillContent(skill),
            ...(full ? { files: collectSkillFiles(skill).map((file) => ({ path: file.relativePath, content: file.content })) } : {}),
          })),
        });
        return;
      }

      targets.forEach((skill, index) => {
        if (index > 0) console.log("\n---\n");
        const content = readSkillContent(skill);
        process.stdout.write(content.endsWith("\n") ? content : content + "\n");

View on GitHub (pinned to dbfd0b4736)

Solutions

  1. Pass a skill name: `qmd skills get <name>`
  2. Or use `qmd skills get --all` to fetch every runtime skill

Example fix

# before
qmd skills get
# after
qmd skills get --all
Defensive patterns

Strategy: validation

Validate before calling

const args = process.argv.slice(2);
const names = args.filter((a) => !a.startsWith("--"));
if (names.length === 0 && !args.includes("--all")) { console.error("provide a skill name or --all"); process.exit(1); }

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: Running `qmd skills get` with no arguments, or with only flags like `qmd skills get --full`, and without --all.

Common situations: Forgetting the skill name; assuming bare `get` lists everything (it needs --all).

Understand the failure class

Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.

Related errors


AI-assisted analysis of tobi/qmd@dbfd0b4736 (2026-08-28). Data as JSON: /api/errors/680057f1426b0577. Report an issue: GitHub.