s-hiraoku/harnesses-factory
Overview
This skill guides creating slash commands for Claude Code—reusable Markdown-based prompts with YAML configuration. It explains file structure, locations, frontmatter fields, dynamic features (arguments, file references, inline bash), naming conventions, and organization patterns. Use it to design, extend, and maintain reliable Claude Code commands for projects or plugins.
How this skill works
The skill inspects command Markdown files that include optional YAML frontmatter and a body with Claude instructions. It validates and recommends frontmatter fields like description, allowed-tools, model, and argument-hint, and it shows how to reference files, use positional arguments, and run inline bash to capture context. It also maps file locations to command scopes and suggests naming and organization conventions for predictable CLI-style command names.
When to use it
- Creating a new Claude Code command for a project or plugin
- Designing command workflows that accept arguments and reference project files
- Auditing or refactoring an existing set of commands for clarity and safety
- Restricting tool access or specifying models for particular commands
- Documenting expected arguments and help text for /help listings
Best practices
- Keep each command single-responsibility — one task per file
- Always include description and argument-hint in frontmatter
- Restrict tool access via allowed-tools to minimize risk
- Validate and sanitize inputs before processing arguments
- Use verb-noun file names and namespace folders when commands exceed a flat list
Example use cases
- review-pr.md that inspects a pull request diff and suggests changes using @src/main.ts references
- generate-tests.md that accepts a file path argument and produces unit tests based on its contents
- fix-issue.md that runs quick diagnostics with inline git commands and returns a remediation plan
- plugin-distributed commands placed under plugin/commands/ to ship functionality with an extension
- personal tools in ~/.claude/commands/ for repetitive local workflows
FAQ
Positional arguments map to $1, $2, $3 in the command body. Use $ARGUMENTS to capture the entire input string when you need to parse differently.
Where should I put commands I want to share with a team?
Put shared commands in .claude/commands/ at the project root so they are tracked by git and available to collaborators.
4 skills
This skill helps you create robust slash commands for Claude Code using Markdown prompts and YAML configuration to streamline workflows.
This skill helps you connect MCP servers to Claude Code plugins to expose external service capabilities as tools.
This skill helps you design, implement, and optimize Jotai atom-based state in React apps, boosting performance and maintainability.
This skill helps you design autonomous agents for Claude Code plugins by guiding markdown YAML frontmatter setup and system prompts.