{"record":{"id":"680057f1426b0577","repo":"tobi/qmd","slug":"no-skill-name-provided-usage-qmd-skills-get-nam","errorCode":null,"errorMessage":"No skill name provided. Usage: qmd skills get <name>","messagePattern":"No skill name provided\\. Usage: qmd skills get <name>","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"src/cli/qmd.ts","lineNumber":3419,"sourceCode":"        console.log(`  ${skill.name.padEnd(maxName)}  ${skill.description}`);\n      }\n      return;\n    }\n\n    case \"get\": {\n      const full = fullOption || args.includes(\"--full\");\n      const getAll = allOption || args.includes(\"--all\");\n      const names = args.slice(1).filter((arg) => arg !== \"--full\" && arg !== \"--all\");\n      const targets = getAll ? runtimeSkills() : names.map((name) => {\n        const skill = findSkill(name, true);\n        if (!skill) {\n          throw new Error(`Skill not found: ${name}`);\n        }\n        return skill;\n      });\n\n      if (targets.length === 0) {\n        throw new Error(\"No skill name provided. Usage: qmd skills get <name>\");\n      }\n\n      if (jsonMode) {\n        outputSkillsJson({\n          success: true,\n          data: targets.map((skill) => ({\n            name: skill.name,\n            content: readSkillContent(skill),\n            ...(full ? { files: collectSkillFiles(skill).map((file) => ({ path: file.relativePath, content: file.content })) } : {}),\n          })),\n        });\n        return;\n      }\n\n      targets.forEach((skill, index) => {\n        if (index > 0) console.log(\"\\n---\\n\");\n        const content = readSkillContent(skill);\n        process.stdout.write(content.endsWith(\"\\n\") ? content : content + \"\\n\");","sourceCodeStart":3401,"sourceCodeEnd":3437,"githubUrl":"https://github.com/tobi/qmd/blob/dbfd0b4736aeaf761d1a16ca8e424f071df8feb9/src/cli/qmd.ts#L3401-L3437","documentation":"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.","triggerScenarios":"Running `qmd skills get` with no arguments, or with only flags like `qmd skills get --full`, and without --all.","commonSituations":"Forgetting the skill name; assuming bare `get` lists everything (it needs --all).","solutions":["Pass a skill name: `qmd skills get <name>`","Or use `qmd skills get --all` to fetch every runtime skill"],"exampleFix":"# before\nqmd skills get\n# after\nqmd skills get --all","handlingStrategy":"validation","validationCode":"const args = process.argv.slice(2);\nconst names = args.filter((a) => !a.startsWith(\"--\"));\nif (names.length === 0 && !args.includes(\"--all\")) { console.error(\"provide a skill name or --all\"); process.exit(1); }","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Pass at least one skill name or --all to `qmd skills get`"],"tags":["cli","usage","skills"],"backgroundTag":"missing-required-argument","analyzedSha":"dbfd0b4736aeaf761d1a16ca8e424f071df8feb9","analyzedAt":"2026-08-28T18:07:46.628Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}