From ccimprove
Analyze recent work and propose how to make it repeatable. Use when the user says "make this repeatable", "automate this", "I want to do this again", "turn this into a command", or discusses creating reusable workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ccimprove:make-repeatableThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze the current conversation to identify what work should be made repeatable, then recommend whether to implement it as a **skill** or a **plugin**, and build it upon user approval.
Analyze the current conversation to identify what work should be made repeatable, then recommend whether to implement it as a skill or a plugin, and build it upon user approval.
Review the conversation history to identify:
| Complexity | Characteristics |
|---|---|
| Simple | Single task, no external tools, just instructions |
| Moderate | Multi-step workflow, uses standard tools (Read, Edit, Bash) |
| Complex | Requires external APIs, custom tools, or persistent state |
Recommend a SKILL when:
Recommend a PLUGIN when:
Determine where the skill/plugin should live based on who benefits and what it touches:
| Scope | Location | Format | Namespacing |
|---|---|---|---|
| Project | .claude/commands/ in the repo | Single .md file per command | Subdirectories → namespace:command (e.g., myteam/deploy.md → /myteam:deploy) |
| User | ~/.claude/skills/ | skill-name/SKILL.md directory | Flat only — no colon namespacing (use hyphen prefixes like myteam-deploy) |
| Plugin | ~/.claude/plugins/ | Plugin manifest + skills | Plugin name is the namespace |
IMPORTANT: Project-level .claude/skills/ exists but does NOT support colon-based namespacing via subdirectories. Use .claude/commands/ for project-scoped commands that need namespace:name format.
Recommend PROJECT scope when:
.claude/commands/namespace/command.md for namespaced commandsRecommend USER scope when:
~/.claude/skills/skill-name/SKILL.md (no colon namespacing — use hyphens)Recommend PLUGIN scope when:
~/.claude/plugins/Present this format and ask user to confirm or adjust:
## Repeatability Analysis
### What You Did
[Summary of the work performed in this conversation]
### Key Steps
1. [Step 1]
2. [Step 2]
...
### Inputs Required
- [Input 1]: [Description]
- [Input 2]: [Description]
### Recommendation: [SKILL / PLUGIN]
**Why [Skill/Plugin]:**
[2-3 bullet points explaining the choice]
### Scope: [PROJECT / USER / PLUGIN]
**Why [scope]:**
[1-2 bullet points explaining why this scope fits]
**Location:** `[exact path where the file will be created]`
### Proposed Implementation
**Name:** `[suggested-name]`
**Trigger:** `/[command-name] [arguments]`
**What it will do:**
[Brief description]
---
Ready to build this? (Yes / Adjust name / Change scope / Switch to [skill/plugin])
| Factor | Skill | Plugin |
|---|---|---|
| Just prompt/instructions | Yes | Overkill |
| Needs new tools | No | Yes |
| External API integration | No | Yes (MCP) |
| Multiple related commands | Consider bundling | Yes |
| Needs hooks | No | Yes |
| Needs agents | No | Yes |
| Needs settings UI | No | Yes |
| One-off automation | Yes | No |
| Sharable with others | Possible | Better |
Once the user confirms, proceed to build.
Create at the path determined by the recommended scope:
.claude/commands/[namespace]/[command-name].md (in the repo root)
myteam/deploy.md → /myteam:deploy$ARGUMENTS for user-provided arguments~/.claude/skills/[skill-name]/SKILL.md (in the home directory)
myteam-deploy)name and description, then markdown body---
name: [skill-name]
description: [One sentence describing when this skill applies. Include trigger phrases like "Use when the user says X, Y, or Z".]
---
# [Skill Title]
[Brief description of what this skill does]
## When This Skill Applies
- [Trigger phrase 1]
- [Trigger phrase 2]
- [Context when this is useful]
## Inputs
This skill accepts arguments: `/[skill-name] [arg1] [arg2]`
- **$ARGUMENTS**: [What the arguments represent]
Or if specific named inputs:
- **arg1**: [Description]
- **arg2**: [Description]
## Process
### Step 1: [First Action]
[Instructions for Claude]
### Step 2: [Second Action]
[Instructions for Claude]
...
## Output Format
[What the skill should produce - files, messages, etc.]
## Tools to Use
- **[Tool1]**: [When/why to use it]
- **[Tool2]**: [When/why to use it]
## Examples
### Example 1
Input: `/[skill-name] example-input`
Result: [What happens]
After creating the skill:
ls ~/.claude/skills/[skill-name]//[skill-name] or say '[trigger phrase]'"Use the Skill tool to invoke plugin-dev:create-plugin with context about what to build:
/plugin-dev:create-plugin
Context from conversation:
- Goal: [What the plugin should accomplish]
- Components needed:
- Skills: [List skills if any]
- Agents: [List agents if any]
- Hooks: [List hooks if any]
- MCP servers: [List MCP integrations if any]
- Key workflows: [The steps identified earlier]
- Inputs: [What the user provides]
- Outputs: [What gets produced]
The plugin-dev:create-plugin skill will handle:
Skills go in: ~/.claude/skills/[skill-name]/SKILL.md
Required frontmatter:
---
name: skill-name
description: Description including trigger phrases
---
The description in frontmatter is critical - it tells Claude when to use this skill.
npx claudepluginhub mayank-io/mstack --plugin ccimproveGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.