From core-skills
Interview, stress-test, and author new skills for the skills-i-use repo — or improve existing ones. Asks hard questions, runs reviewer subagents, writes design briefs, generates SKILL.md and supporting files, validates conventions, and registers in README and OUTPUT.md. Triggers on "create a skill", "new skill", "add a skill", "improve this skill", "author a skill", "skill for X workflow", "build a skill".
How this skill is triggered — by the user, by Claude, or both
Slash command
/core-skills:create-a-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
End-to-end skill authoring for [skills-i-use](https://github.com/hiteshbandhu/skills-i-use):
End-to-end skill authoring for skills-i-use: collect → challenge → review → write → validate → register in repo.
Works with any coding agent that can run subagents. Follows CONTRIBUTING.md.
Supporting files:
Scripts: read scripts/validate-skill.sh before running. Double-check paths and flags every time.
Output: {SKILL_OUTPUT_DIR}/create-a-skill/ — see ../OUTPUT.md
| Mode | When |
|---|---|
| new | User wants a skill that doesn't exist |
| improve | User names an existing skill in skills/ to extend or fix |
| from conversation | Infer workflow from current chat — confirm before building |
Locate repo root: skills-i-use/ (this repo) or ask user for path.
Read questions.md. Ask required + hard questions in one message.
Do not proceed until required items are answered. Push back on weak answers — use follow-ups from the red-flag table.
Scan existing skills before intake completes:
ls skills/
For each existing skill, read description in frontmatter (first 20 lines of SKILL.md).
Note overlap in the brief.
If user provided verbatim wording for the skill, preserve it exactly in output files.
Compile answers into:
WORKFLOW: [repeatable steps]
FREQUENCY: [how often used]
TRIGGERS: [phrases]
OUTPUTS: [artifacts + skill-outputs path]
STOP_CONDITION: [done when]
MODE: [new | improve]
TARGET: [skill name or existing folder]
OVERLAP: [existing skills]
OUT_OF_SCOPE_V1: [explicit]
TRUST_BOUNDARY: [commit/push/delete/spend — yes/no]
VERBATIM: [any exact copy from user]
Read reviewers.md. Run Skeptic, Maintainer, and Practitioner in parallel with the skill brief.
Then run Synthesis (fourth subagent or orchestrator) → DECISION: BUILD NEW | EXTEND | REJECT.
If REJECT — explain why and suggest alternative (script, rule, extend X). Stop.
If EXTEND — read existing skill folder fully before writing. Prefer minimal diff.
Fill design-brief-template.md.
Path: {output_dir}/design-YYYY-MM-DD-[skill-name].md
Present brief to user. Ask: "Proceed to write files?" — stop on no.
Create skills/[skill-name]/ using templates/ as starters. Replace {{placeholders}}.
Typical layout per CONTRIBUTING.md:
skills/[skill-name]/
├── SKILL.md
├── README.md
├── [principles.md | scripts/ | templates/ as needed]
Rules while writing:
{SKILL_OUTPUT_DIR}/[skill-name]/description with what + whenbash skills/create-a-skill/scripts/validate-skill.sh skills/[skill-name]
Fix all FAIL| items. Address WARN| items or document why waived in design brief.
Update registry files (skip if improving and row already exists):
Update {output_dir}/index.md:
# Create-a-Skill Designs
| Date | Skill | Decision | Brief |
|------|-------|----------|-------|
@ship-check if scripts were addedgit add skills/[skill-name]/ README.md skills/OUTPUT.md
git commit -m "feat: add [skill-name] skill"
Ask separately before push. Never push without explicit request.
@create-a-skill I want a skill for retrieval benchmarks
improve ship-check — add Python project support
create a skill from this conversation
new skill: legal contract review with persona debate
author a skill, ask me hard questions first
npx claudepluginhub hiteshbandhu/skills-i-use --plugin core-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.