# Adding A Skill

> extending yourself with a new reusable skill by interviewing the user

- Skill: `stellar/adding-a-skill` (Agent Skill)
- Install (CLI): `npx skillmds@latest add stellar/adding-a-skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/stellar/adding-a-skill/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: stellar (https://skillmd.com/u/stellar)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/stellar/adding-a-skill

---


If the user wants to add a new skill, you can help them with this:

1. Ask the user for a short name and description of the skill. The name should be
   something that can be rendered as a short (10-30 character) descriptive sequence
   of words separated by hyphens. The description should be a line of text that is
   focused on conveying to a future agent when the skill would be appropriate to
   use and roughly what it does.

2. Ask the user for details. You can build up an idea of what the skill should do
   over multiple rounds of questioning. You want to find out:

    - If the skill should involve any key thoughts or considerations.
    - If the skill has an order of steps, or is an unordered set of tasks.
    - If the skill involves running sub-agents and if so how many.
    - **If the skill involves a lot of work** that might benefit from splitting
      into subagent tasks (see below for considerations).
    - If the skill should include commands to run.
    - If the skill should include code to write.
    - If for code or commands to there is specific text or more of a
      sketch or template of text _like_ some example to include. 
    - Any hard rules that an agent doing the skill should ALWAYS or NEVER do.
    - A set of conditions for stopping, looping/extending, or resetting/restarting.
    - How the result of applying the skill should be conveyed to the user.

   **Subagent considerations**
   
   Skills that involve a lot of work may benefit from splitting into pieces and
   running each piece as a subagent. This keeps each subagent focused on a
   moderate amount of work so it doesn't get lost or wander off track. If the
   skill might use subagents, identify:
   
    - How the work could be split into moderate-sized pieces
    - What information each subagent needs to do its piece
    - The skill file should have an "Inputs" section listing what's needed
    - The skill should suggest a format for the subagent prompt 

3. Once you have learned this information from the user, assemble it into a
   file in the repository. Add a file named `.claude/skills/<skill-name>/SKILL.md`
   with the following structure:

    - YAML frontmatter with the fields `name` and `description` drawn from
      the name and description.
    - An introductory paragraph or two describing the goal of the skill and
      any thoughts or special considerations to perform, as well as any
      description of the meta-parameters like how to split work among subagents
      and how to stop/loop/restart. If the skill involves a lot of work,
      suggest how it might be split into moderate-sized subagent tasks.
    - **If the skill might use subagents**: An "Inputs" section that lists
      what information is needed for each piece, and suggests a format for the
      subagent prompt. This section comes right after the overview.
    - Either a sequential list of steps or an unordered list of tasks.
    - Any code or commands in either specific or example form.
    - Any of the ALWAYS/NEVER conditions.
    - A "Completion" section describing how to summarize the work, noting that
      if invoked as a subagent, the summary should be passed back to the
      invoking agent.

When you're done, save that file and then present the user with a link to it
so they can open it and review it.
