`skill-enhance` is an advanced skill for creating, improving, reviewing, and locally customizing other skills. It is designed for users who want a high-quality skill package rather than a minimal draft. It can help create new skills, strengthen existing ones, complete artifacts such as README and evals, improve trigger boundaries and workflows, and safely refine locally available skills after access and editability checks.
---
name: skill-enhance
description: Create, improve, review, and locally customize skills with a quality-first workflow. Use this skill when the user wants to build a new skill, strengthen an existing one, improve trigger accuracy or execution clarity, fill missing artifacts such as README, evals, metadata, or references, review publish readiness, or safely modify a locally available skill package. When local modification is requested, verify access and writeability first, report blockers clearly, and confirm the target path and edit intent before editing. Do not use it for ordinary prose editing, unrelated code refactors, or simple skill discovery or installation.
---
# Skill Enhance
Use this skill to produce high-quality skills that are not only structurally valid, but also clear, triggerable, executable, testable, and publishable.
This skill is intentionally heavier than a lightweight skill scaffolder. Favor quality over speed when the user is creating or enhancing a skill that other agents or users will depend on.
## Trigger Boundary
Use this skill when the task is primarily about skill quality, including:
- creating a new skill from scratch
- enhancing an existing skill
- improving a locally stored or installed skill
- improving skill trigger accuracy
- strengthening a skill's output contract
- adding or refining README, evals, references, metadata, or release notes
- reviewing whether a skill can reliably guide an LLM
- checking whether a skill is ready to publish
Do not use this skill as the main path for:
- ordinary prose editing unrelated to skills
- general code refactoring unrelated to skills
- simple skill discovery or installation
- platform-specific publishing steps that do not affect the skill package itself
If the request is mixed, use this skill only for the skill-quality slice.
## Core Principle
Do not stop at "here is a draft."
The goal is to deliver a skill package or a concrete enhancement plan that closes the gap between:
- a loosely defined skill idea
- and a dependable skill another LLM can actually use well
Treat these as first-class quality dimensions:
1. trigger quality
2. execution clarity
3. output contract quality
4. artifact completeness
5. validation coverage
6. publish readiness
7. local edit safety
## Canonical Workflow
`SKILL.md` is the source of truth for the workflow.
`README.md` should keep only a concise human-facing summary.
`references/workflows.md` should extend or explain the workflow, but should not redefine it as a competing source.
Unless the user requests a lighter path, run this workflow in order:
### Phase 1: Identify mode
Decide whether the task is:
- new skill creation
- existing skill enhancement
- local skill modification
- trigger optimization
- artifact completion
- quality review
- publish-readiness review
## Mode Selection Rule
Choose the primary mode using this priority:
1. If the user wants to change a locally available skill package, use **Local skill modification**.
2. If the user asks whether a skill is ready for release or what is still missing before release, use **Publish-readiness review**.
3. If the user mainly wants to improve when the skill triggers or stops triggering, use **Trigger optimization**.
4. If the user mainly wants to add or fix missing files such as README, evals, metadata, or references, use **Artifact completion**.
5. If the user already has a skill and wants broader quality improvements, use **Existing skill enhancement**.
6. If the user wants a new skill from scratch, use **New skill creation**.
7. If the request is mostly diagnostic and no concrete package changes are yet requested, use **Quality review**.
If several modes apply, pick the highest-priority primary mode and treat the others as supporting concerns.
### Phase 2: Check local editability when relevant
If the task involves a local skill package:
- identify the target skill
- identify or confirm the target path
- determine whether the environment can access the path
- determine whether the environment can write to the path
- determine whether the user wants analysis only or actual edits
### Phase 3: Define the contract
Lock down:
- skill purpose
- positive trigger cases
- negative trigger cases
- output contract
- required artifacts
- validation expectations
### Phase 4: Build or revise artifacts
Create or update the package files that are required for the current goal.
### Phase 5: Run review gates
Always review:
- trigger boundary
- output contract
- execution reliability
- artifact completeness
- publish readiness
Also review local modification safety when the target is a local installed skill.
### Phase 6: Report status
State:
- what was changed
- what still needs work
- whether the package is draft, internally usable, release-candidate, or publish-ready
## Canonical Package Layout
Use this as the default package layout for a reusable skill:
```text
skill-name/
├── SKILL.md
├── README.md
├── agents/
│ └── openai.yaml
├── evals/
│ └── evals.json
└── references/
├── trigger-design.md
├── output-contracts.md
├── review-checklist.md
├── publish-readiness.md
├── artifact-matrix.md
├── skill-packaging.md
├── workflows.md
└── package-layout.md
```
Interpretation:
- `SKILL.md`: required
- `README.md`: strongly recommended for reusable or published skills
- `agents/openai.yaml`: recommended metadata entry point
- `evals/evals.json`: strongly recommended when the skill should be reviewable
- `references/`: selected support docs, not a dump of unrelated material
If the skill is only a tiny local experiment, the package may be lighter, but reusable skills should default to this structure.
## Task Modes
Classify the request into one primary mode:
1. **New skill creation**
2. **Existing skill enhancement**
3. **Local skill modification**
4. **Trigger optimization**
5. **Artifact completion**
6. **Quality review**
7. **Publish-readiness review**
If several modes are present, use this sequence:
1. summarize the current state and target
2. identify the quality gaps
3. decide what the skill must do and when it should trigger
4. if local modification is requested, verify access and confirm the target path
5. define or rewrite the output contract
6. produce or revise the package artifacts
7. run the review gates
8. state whether the skill is publish-ready
## Workflow
### 1. Capture the real objective
Before writing anything, determine:
- is the user creating a new skill or enhancing an existing one
- is the user asking to modify a local skill package
- who the skill is for
- what user requests should trigger it
- what the skill must produce when triggered
- whether the target is project-local, shareable, or release-ready
If an existing skill already exists, read it first and extract:
- current capability
- current trigger wording
- bundled artifacts
- gaps or inconsistencies
### 1.5 Check local editability before modifying an existing local skill
If the request involves changing a locally available skill, do not jump straight into edits.
First determine:
- whether the target skill path is known
- whether the current environment can access that path
- whether the current environment can write to that path
- whether the user is asking for analysis only or actual modification
If the path is unclear, ask the user to confirm the target path or clearly identify the skill.
If the path is known but the environment cannot modify it, say so clearly and stop short of claiming the change can be applied.
If the path is writable, confirm the target path and edit intent before making changes.
Treat these as separate states:
- **analyzable but not editable**
- **editable after confirmation**
- **ready to modify now**
### 1.6 Local modification decision table
Use this decision table whenever the target is a local skill package:
- **If the target path is unknown**: ask the user to identify or confirm the path before planning edits.
- **If the target path is known but the environment cannot access it**: explain that the skill can review the request conceptually but cannot inspect or modify that package from the current environment.
- **If the target path is accessible but not writable**: stay in analysis mode, describe the recommended changes, and say clearly that edits cannot be applied from the current environment.
- **If the target path is writable but the user has not confirmed edit intent**: summarize the planned changes and ask for confirmation before editing.
- **If the target path is writable and the user has confirmed edit intent**: apply the changes and report exactly what was modified.
## Mode-Specific Playbooks
### Playbook A: New skill creation
Use this when the user wants a new skill.
1. Identify the target capability and audience.
2. Define trigger boundary and output contract.
3. Create the canonical package layout.
4. Write `SKILL.md` first, then supporting artifacts.
5. Add eval prompts.
6. Run review gates and report readiness.
### Playbook B: Existing skill enhancement
Use this when the user already has a skill package.
1. Read the current package first.
2. Identify capability gaps, trigger problems, artifact gaps, and unclear instructions.
3. Decide which files need revision.
4. Apply targeted improvements instead of rewriting blindly.
5. Re-run review gates and summarize what improved.
### Playbook C: Local skill modification
Use this when the target skill exists on the local machine.
1. Identify the target skill and path.
2. Check accessibility and writeability.
3. Apply the local modification decision table.
4. If the path is not writable, stay in analysis mode and say so clearly.
5. If the path is writable, confirm the edit intent before changing files.
6. Apply changes only after confirmation.
7. Report exactly what was changed in the local package.
### Playbook D: Publish-readiness review
Use this when the user wants release confidence.
1. Review package naming and description quality.
2. Review README, metadata, evals, and references.
3. Review trigger boundary and output contract.
4. Review whether the package is understandable to a new user.
5. Report readiness level and the remaining gaps.
### 2. Define the skill contract
Do not write `SKILL.md` before the contract is clear.
At minimum, define:
- the skill's purpose
- positive trigger cases
- negative trigger cases
- expected output structure
- required artifacts
- validation expectations
Use `references/trigger-design.md` and `references/output-contracts.md`.
Use `references/workflows.md` and `references/package-layout.md` when the user needs a fixed process or a standard file tree.
### 3. Build or revise the package
By default, a strong skill package should include:
- `SKILL.md`
- `README.md`
- `agents/openai.yaml`
- `evals/evals.json`
- relevant `references/`
Use `references/artifact-matrix.md` to decide which artifacts are required and which are optional.
Do not assume a valid `SKILL.md` alone is enough for a publish-quality skill.
### 4. Strengthen trigger quality
Review the trigger description for:
- under-triggering
- over-triggering
- ambiguous phrasing
- missing common request patterns
- missing exclusions
If needed, rewrite the description so the skill is more likely to trigger when useful, but less likely to hijack unrelated tasks.
### 5. Strengthen execution reliability
Check whether the skill instructions are actually actionable.
Specifically review:
- whether the workflow is clear
- whether decision points are explicit
- whether outputs are well specified
- whether the skill asks for real deliverables, not just abstract advice
- whether references are discoverable and scoped correctly
Use `references/review-checklist.md`.
### 6. Add validation coverage
Create realistic eval prompts whenever the skill is expected to produce repeatable, reviewable outputs.
Use `evals/evals.json` to cover:
- core happy-path creation or enhancement
- trigger-boundary cases
- artifact-completion cases
- publish-readiness cases
- at least one non-trigger or out-of-scope case
If the skill is subjective, the evals can still define expected output qualities rather than strict assertions.
### 7. Review publish readiness
Use `references/publish-readiness.md` and `references/skill-packaging.md`.
Before calling the work done, check:
- does the skill name make sense publicly
- does the description help discovery
- are human-facing docs separate from agent-facing instructions
- are bundled artifacts sufficient
- is the skill understandable without extra hidden context
- is there enough validation material for release review
State clearly whether the skill is:
- draft
- internally usable
- release-candidate
- publish-ready
### 8. Handle local-skill modification safely
When the target is a local skill package, explicitly report:
- the target skill name
- the target path
- whether the path was user-provided or inferred
- whether the environment can edit it
- whether user confirmation was received before edits
Never silently modify a local installed skill on assumption alone.
## Output Contract
Default to this structure unless the user requests another format:
### 1. Task mode
State whether this is new creation, enhancement, local skill modification, trigger optimization, artifact completion, quality review, or publish-readiness review.
### 2. Current-state summary
Describe the current package or the requested target in 2-4 lines.
### 3. Local target status
If a local skill is involved, state:
- target skill
- target path
- whether the path is confirmed
- whether the environment appears able to modify it
- whether user confirmation is still required
If no local skill is involved, say that this section is not applicable.
### 4. Key quality gaps or design goals
List the highest-impact issues or goals.
### 5. Recommended changes
Describe what to create, rewrite, or add.
### 6. Artifact plan
State which files are required, optional, missing, or already strong.
### 7. Review findings
Summarize trigger quality, execution reliability, output-contract quality, and publish-readiness findings.
### 8. Validation
State what was validated, what still needs validation, and whether the package is publish-ready.
## Quality Gates
The skill must explicitly check these gates when relevant:
### Trigger Boundary Review
Check whether:
- the description contains concrete usage contexts
- the skill would likely trigger when useful
- the skill excludes obvious false positives
- the trigger boundary is neither too broad nor too narrow
### Output Contract Review
Check whether:
- the skill tells the agent what to produce
- output structure is explicit
- required content is clear
- execution steps are not vague or purely advisory
### LLM Reliability Review
Check whether:
- the instructions are actionable
- the workflow has clear transitions
- important decisions are surfaced
- the skill drives toward delivery, not endless analysis
### Artifact Completeness Check
Check whether the package needs:
- `README.md`
- `agents/openai.yaml`
- `evals/evals.json`
- key references
- release notes or changelog copy
### Publish-Readiness Check
Check whether the package is understandable, verifiable, and suitable for public or team-wide use.
### Local Modification Check
Check whether:
- the target local skill is clearly identified
- the path is known or confirmed
- the environment appears able to edit it
- the user has confirmed the path and edit intent before modification
- the response clearly distinguishes analysis from applied edits
## Constraints
- Do not treat a valid frontmatter block as proof of a good skill.
- Do not produce a skill that only contains abstract theory.
- Do not skip trigger-boundary review when the skill is meant to be reused.
- Do not skip artifact completion if the user is aiming for release.
- Do not force heavyweight benchmarking when lightweight validation is enough.
- Do not claim publish readiness without checking docs, evals, and packaging materials.
- Do not claim a local skill was modified unless the target path was accessible and the user confirmed the edit.
- Do not infer write access from mere path existence.
- Do not silently edit a downloaded or installed local skill without path confirmation.
## References
- `references/trigger-design.md`: how to design strong trigger boundaries
- `references/output-contracts.md`: how to define reliable skill outputs
- `references/review-checklist.md`: quality review checklist for skill reliability
- `references/publish-readiness.md`: release-oriented review criteria
- `references/artifact-matrix.md`: which artifacts are required or optional
- `references/skill-packaging.md`: packaging guidance for local, Git, and release contexts
- `references/workflows.md`: fixed process for create, enhance, modify, and release-review tasks
- `references/package-layout.md`: canonical skill package layout and file responsibilities
don't have the plugin yet? install it then click "run inline in claude" again.