{"id":"b2580d2b-867e-4ff6-8407-5eec3f414308","shortId":"eesjQb","kind":"skill","title":"command-creator","tagline":"This skill should be used when creating a Claude Code slash command. Use when users ask to \"create a command\", \"make a slash command\", \"add a command\", or want to document a workflow as a reusable command. Essential for creating optimized, agent-executable slash commands with pro","description":"# Command Creator\n\nThis skill guides the creation of Claude Code slash commands - reusable workflows that can be invoked with `/command-name` in Claude Code conversations.\n\n## About Slash Commands\n\nSlash commands are markdown files stored in `.claude/commands/` (project-level) or `~/.claude/commands/` (global/user-level) that get expanded into prompts when invoked. They're ideal for:\n\n- Repetitive workflows (code review, PR submission, CI fixing)\n- Multi-step processes that need consistency\n- Agent delegation patterns\n- Project-specific automation\n\n## When to Use This Skill\n\nInvoke this skill when users:\n\n- Ask to \"create a command\" or \"make a slash command\"\n- Want to automate a repetitive workflow\n- Need to document a consistent process for reuse\n- Say \"I keep doing X, can we make a command for it?\"\n- Want to create project-specific or global commands\n\n## Bundled Resources\n\nThis skill includes reference documentation for detailed guidance:\n\n- **references/patterns.md** - Command patterns (workflow automation, iterative fixing, agent delegation, simple execution)\n- **references/examples.md** - Real command examples with full source (submit-stack, ensure-ci, create-implementation-plan)\n- **references/best-practices.md** - Quality checklist, common pitfalls, writing guidelines, template structure\n\nLoad these references as needed when creating commands to understand patterns, see examples, or ensure quality.\n\n## Command Structure Overview\n\nEvery slash command is a markdown file with:\n\n```markdown\n---\ndescription: Brief description shown in /help (required)\nargument-hint: <placeholder> (optional, if command takes arguments)\n---\n\n# Command Title\n\n[Detailed instructions for the agent to execute autonomously]\n```\n\n## Command Creation Workflow\n\n### Step 1: Determine Location\n\n**Auto-detect the appropriate location:**\n\n1. Check git repository status: `git rev-parse --is-inside-work-tree 2>/dev/null`\n2. Default location:\n   - If in git repo → Project-level: `.claude/commands/`\n   - If not in git repo → Global: `~/.claude/commands/`\n3. Allow user override:\n   - If user explicitly mentions \"global\" or \"user-level\" → Use `~/.claude/commands/`\n   - If user explicitly mentions \"project\" or \"project-level\" → Use `.claude/commands/`\n\nReport the chosen location to the user before proceeding.\n\n### Step 2: Show Command Patterns\n\nHelp the user understand different command types. Load **references/patterns.md** to see available patterns:\n\n- **Workflow Automation** - Analyze → Act → Report (e.g., submit-stack)\n- **Iterative Fixing** - Run → Parse → Fix → Repeat (e.g., ensure-ci)\n- **Agent Delegation** - Context → Delegate → Iterate (e.g., create-implementation-plan)\n- **Simple Execution** - Run command with args (e.g., codex-review)\n\nAsk the user: \"Which pattern is closest to what you want to create?\" This helps frame the conversation.\n\n### Step 3: Gather Command Information\n\nAsk the user for key information:\n\n#### A. Command Name and Purpose\n\nAsk:\n\n- \"What should the command be called?\" (for filename)\n- \"What does this command do?\" (for description field)\n\nGuidelines:\n\n- Command names MUST be kebab-case (hyphens, NOT underscores)\n  - ✅ CORRECT: `submit-stack`, `ensure-ci`, `create-from-plan`\n  - ❌ WRONG: `submit_stack`, `ensure_ci`, `create_from_plan`\n- File names match command names: `my-command.md` → invoked as `/my-command`\n- Description should be concise, action-oriented (appears in `/help` output)\n\n#### B. Arguments\n\nAsk:\n\n- \"Does this command take any arguments?\"\n- \"Are arguments required or optional?\"\n- \"What should arguments represent?\"\n\nIf command takes arguments:\n\n- Add `argument-hint: <placeholder>` to frontmatter\n- Use `<angle-brackets>` for required arguments\n- Use `[square-brackets]` for optional arguments\n\n#### C. Workflow Steps\n\nAsk:\n\n- \"What are the specific steps this command should follow?\"\n- \"What order should they happen in?\"\n- \"What tools or commands should be used?\"\n\nGather details about:\n\n- Initial analysis or checks to perform\n- Main actions to take\n- How to handle results\n- Success criteria\n- Error handling approach\n\n#### D. Tool Restrictions and Guidance\n\nAsk:\n\n- \"Should this command use any specific agents or tools?\"\n- \"Are there any tools or operations it should avoid?\"\n- \"Should it read any specific files for context?\"\n\n### Step 4: Generate Optimized Command\n\nCreate the command file with agent-optimized instructions. Load **references/best-practices.md** for:\n\n- Template structure\n- Best practices for agent execution\n- Writing style guidelines\n- Quality checklist\n\nKey principles:\n\n- Use imperative/infinitive form (verb-first instructions)\n- Be explicit and specific\n- Include expected outcomes\n- Provide concrete examples\n- Define clear error handling\n\n### Step 5: Create the Command File\n\n1. Determine full file path:\n   - Project: `.claude/commands/[command-name].md`\n   - Global: `~/.claude/commands/[command-name].md`\n\n2. Ensure directory exists:\n\n   ```bash\n   mkdir -p [directory-path]\n   ```\n\n3. Write the command file using the Write tool\n\n4. Confirm with user:\n   - Report the file location\n   - Summarize what the command does\n   - Explain how to use it: `/command-name [arguments]`\n\n### Step 6: Test and Iterate (Optional)\n\nIf the user wants to test:\n\n1. Suggest testing: `You can test this command by running: /command-name [arguments]`\n2. Be ready to iterate based on feedback\n3. Update the file with improvements as needed\n\n## Quick Tips\n\n**For detailed guidance, load the bundled references:**\n\n- Load **references/patterns.md** when designing the command workflow\n- Load **references/examples.md** to see how existing commands are structured\n- Load **references/best-practices.md** before finalizing to ensure quality\n\n**Common patterns to remember:**\n\n- Use Bash tool for `pytest`, `pyright`, `ruff`, `prettier`, `make`, `gt` commands\n- Use Task tool to invoke subagents for specialized tasks\n- Check for specific files first (e.g., `.PLAN.md`) before proceeding\n- Mark todos complete immediately, not in batches\n- Include explicit error handling instructions\n- Define clear success criteria\n\n## Summary\n\nWhen creating a command:\n\n1. **Detect location** (project vs global)\n2. **Show patterns** to frame the conversation\n3. **Gather information** (name, purpose, arguments, steps, tools)\n4. **Generate optimized command** with agent-executable instructions\n5. **Create file** at appropriate location\n6. **Confirm and iterate** as needed\n\nFocus on creating commands that agents can execute autonomously, with clear steps, explicit tool usage, and proper error handling.","tags":["command","creator","agent","toolkit","softaworks","agent-skills","automation","claude","claude-code","coding-agent","development"],"capabilities":["skill","source-softaworks","skill-command-creator","topic-agent-skills","topic-automation","topic-claude","topic-claude-code","topic-coding-agent","topic-development"],"categories":["agent-toolkit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/softaworks/agent-toolkit/command-creator","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add softaworks/agent-toolkit","source_repo":"https://github.com/softaworks/agent-toolkit","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1847 github stars · SKILL.md body (6,579 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:56.177Z","embedding":null,"createdAt":"2026-04-18T20:27:52.449Z","updatedAt":"2026-05-18T18:52:56.177Z","lastSeenAt":"2026-05-18T18:52:56.177Z","tsv":"'/.claude/commands':91,327,342,710 '/command-name':71,752,776 '/dev/null':309 '/help':261,519 '/my-command':509 '1':285,294,698,766,880 '2':308,310,364,715,778,886 '3':328,439,725,786,893 '4':641,734,901 '5':693,910 '6':755,916 'act':384 'action':515,596 'action-ori':514 'add':28,543 'agent':46,119,198,277,400,620,651,662,907,927 'agent-execut':45,906 'agent-optim':650 'allow':329 'analysi':590 'analyz':383 'appear':517 'approach':607 'appropri':292,914 'arg':415 'argument':264,270,522,529,531,537,542,545,552,559,753,777,898 'argument-hint':263,544 'ask':19,136,420,443,454,523,563,613 'auto':289 'auto-detect':288 'autom':125,148,195,382 'autonom':280,930 'avail':379 'avoid':631 'b':521 'base':783 'bash':719,831 'batch':865 'best':659 'bracket':556 'brief':257 'bundl':181,801 'c':560 'call':460 'case':478 'check':295,592,850 'checklist':221,668 'chosen':356 'ci':110,214,399,488,497 'claud':12,60,73 'claude/commands':86,320,353,704 'clear':689,872,932 'closest':426 'code':13,61,74,106 'codex':418 'codex-review':417 'command':2,15,23,27,30,40,49,52,63,78,80,140,145,169,180,192,204,235,244,249,268,271,281,366,373,413,441,450,458,466,472,504,526,540,570,582,616,644,647,696,706,712,728,745,773,808,816,840,879,904,925 'command-cr':1 'command-nam':705,711 'common':222,826 'complet':861 'concis':513 'concret':686 'confirm':735,917 'consist':118,156 'context':402,639 'convers':75,437,892 'correct':482 'creat':10,21,43,138,174,216,234,407,432,490,498,645,694,877,911,924 'create-from-plan':489 'create-implementation-plan':215,406 'creation':58,282 'creator':3,53 'criteria':604,874 'd':608 'default':311 'defin':688,871 'deleg':120,199,401,403 'descript':256,258,469,510 'design':806 'detail':189,273,587,797 'detect':290,881 'determin':286,699 'differ':372 'directori':717,723 'directory-path':722 'document':34,154,187 'e.g':386,396,405,416,855 'ensur':213,242,398,487,496,716,824 'ensure-ci':212,397,486 'error':605,690,868,939 'essenti':41 'everi':247 'exampl':205,240,687 'execut':47,201,279,411,663,908,929 'exist':718,815 'expand':95 'expect':683 'explain':747 'explicit':334,345,679,867,934 'feedback':785 'field':470 'file':83,253,501,637,648,697,701,729,740,789,853,912 'filenam':462 'final':822 'first':676,854 'fix':111,197,391,394 'focus':922 'follow':572 'form':673 'frame':435,890 'frontmatt':548 'full':207,700 'gather':440,586,894 'generat':642,902 'get':94 'git':296,299,315,324 'global':179,326,336,709,885 'global/user-level':92 'gt':839 'guid':56 'guidanc':190,612,798 'guidelin':225,471,666 'handl':601,606,691,869,940 'happen':577 'help':368,434 'hint':265,546 'hyphen':479 'ideal':102 'immedi':862 'imperative/infinitive':672 'implement':217,408 'improv':791 'includ':185,682,866 'inform':442,448,895 'initi':589 'insid':305 'instruct':274,653,677,870,909 'invok':69,99,131,507,845 'is-inside-work-tre':303 'iter':196,390,404,758,782,919 'kebab':477 'kebab-cas':476 'keep':162 'key':447,669 'level':89,319,340,351 'load':228,375,654,799,803,810,819 'locat':287,293,312,357,741,882,915 'main':595 'make':24,142,167,838 'mark':859 'markdown':82,252,255 'match':503 'md':708,714 'mention':335,346 'mkdir':720 'multi':113 'multi-step':112 'must':474 'my-command.md':506 'name':451,473,502,505,707,713,896 'need':117,152,232,793,921 'oper':628 'optim':44,643,652,903 'option':266,534,558,759 'order':574 'orient':516 'outcom':684 'output':520 'overrid':331 'overview':246 'p':721 'pars':302,393 'path':702,724 'pattern':121,193,238,367,380,424,827,888 'perform':594 'pitfal':223 'plan':218,409,492,500 'plan.md':856 'pr':108 'practic':660 'prettier':837 'principl':670 'pro':51 'proceed':362,858 'process':115,157 'project':88,123,176,318,347,350,703,883 'project-level':87,317,349 'project-specif':122,175 'prompt':97 'proper':938 'provid':685 'purpos':453,897 'pyright':835 'pytest':834 'qualiti':220,243,667,825 'quick':794 're':101 'read':634 'readi':780 'real':203 'refer':186,230,802 'references/best-practices.md':219,655,820 'references/examples.md':202,811 'references/patterns.md':191,376,804 'rememb':829 'repeat':395 'repetit':104,150 'repo':316,325 'report':354,385,738 'repositori':297 'repres':538 'requir':262,532,551 'resourc':182 'restrict':610 'result':602 'reus':159 'reusabl':39,64 'rev':301 'rev-pars':300 'review':107,419 'ruff':836 'run':392,412,775 'say':160 'see':239,378,813 'show':365,887 'shown':259 'simpl':200,410 'skill':5,55,130,133,184 'skill-command-creator' 'slash':14,26,48,62,77,79,144,248 'sourc':208 'source-softaworks' 'special':848 'specif':124,177,567,619,636,681,852 'squar':555 'square-bracket':554 'stack':211,389,485,495 'status':298 'step':114,284,363,438,562,568,640,692,754,899,933 'store':84 'structur':227,245,658,818 'style':665 'subag':846 'submiss':109 'submit':210,388,484,494 'submit-stack':209,387,483 'success':603,873 'suggest':767 'summar':742 'summari':875 'take':269,527,541,598 'task':842,849 'templat':226,657 'test':756,765,768,771 'tip':795 'titl':272 'todo':860 'tool':580,609,622,626,733,832,843,900,935 'topic-agent-skills' 'topic-automation' 'topic-claude' 'topic-claude-code' 'topic-coding-agent' 'topic-development' 'tree':307 'type':374 'underscor':481 'understand':237,371 'updat':787 'usag':936 'use':8,16,128,341,352,549,553,585,617,671,730,750,830,841 'user':18,135,330,333,339,344,360,370,422,445,737,762 'user-level':338 'verb':675 'verb-first':674 'vs':884 'want':32,146,172,430,763 'work':306 'workflow':36,65,105,151,194,283,381,561,809 'write':224,664,726,732 'wrong':493 'x':164","prices":[{"id":"bd29a7f0-aa5b-4139-993a-d25f92168e52","listingId":"b2580d2b-867e-4ff6-8407-5eec3f414308","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"softaworks","category":"agent-toolkit","install_from":"skills.sh"},"createdAt":"2026-04-18T20:27:52.449Z"}],"sources":[{"listingId":"b2580d2b-867e-4ff6-8407-5eec3f414308","source":"github","sourceId":"softaworks/agent-toolkit/command-creator","sourceUrl":"https://github.com/softaworks/agent-toolkit/tree/main/skills/command-creator","isPrimary":false,"firstSeenAt":"2026-04-18T21:54:22.970Z","lastSeenAt":"2026-05-18T18:52:56.177Z"},{"listingId":"b2580d2b-867e-4ff6-8407-5eec3f414308","source":"skills_sh","sourceId":"softaworks/agent-toolkit/command-creator","sourceUrl":"https://skills.sh/softaworks/agent-toolkit/command-creator","isPrimary":true,"firstSeenAt":"2026-04-18T20:27:52.449Z","lastSeenAt":"2026-05-07T22:40:50.880Z"}],"details":{"listingId":"b2580d2b-867e-4ff6-8407-5eec3f414308","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"softaworks","slug":"command-creator","github":{"repo":"softaworks/agent-toolkit","stars":1847,"topics":["agent-skills","ai","automation","claude","claude-code","coding-agent","development"],"license":"mit","html_url":"https://github.com/softaworks/agent-toolkit","pushed_at":"2026-03-05T16:46:24Z","description":"A curated collection of skills for AI coding agents. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.","skill_md_sha":"bd27ac14d0d35967bd021a2b2ba8cad51bc97011","skill_md_path":"skills/command-creator/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/softaworks/agent-toolkit/tree/main/skills/command-creator"},"layout":"multi","source":"github","category":"agent-toolkit","frontmatter":{"name":"command-creator","description":"This skill should be used when creating a Claude Code slash command. Use when users ask to \"create a command\", \"make a slash command\", \"add a command\", or want to document a workflow as a reusable command. Essential for creating optimized, agent-executable slash commands with proper structure and best practices."},"skills_sh_url":"https://skills.sh/softaworks/agent-toolkit/command-creator"},"updatedAt":"2026-05-18T18:52:56.177Z"}}