Template
Skill fruafr/skills/template
Agent AI skills developed by frua.fr: incus-doc
npx -y skills add fruafr/skills --skill templateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
[Description. Required. Must be 1-1024 characters. Should describe both what the skill does and when to use it. Should include specific keywords that help agents identify relevant tasks.
The file declares its own license as [Optional. Specifies the license applied to the skill. Name of a license (use SPDX e.g. 'Apache-2.0'). Path to a bundled license file if provided]. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.2 KB, as published. Nobody here has run it
Skill: [Name]
- Purpose: [One sentence]
- Use when: [Trigger]
- Don't use when: [Out of scope]
- Success looks like: [Observable outcome]
Inputs
| Name | Type | Required | Default | Constraints | Description |
|---|---|---|---|---|---|
[input] | string | Yes/No | — | [format/length] | [What it is] |
Assumptions: [What must be true for this skill to work]
Output
Format: [Markdown / JSON / code / plain text] Template:
[Literal structure with placeholders]
Reasoning
- Understand — [verify/extract]
- Plan — [decide/decompose]
- Generate — [produce]
- Verify — [check before submitting]
Expose reasoning? Yes / No When uncertain: Ask / Proceed with assumption / Refuse
Decision Rules
| If | Then |
|---|---|
| [condition] | [action] |
| [condition] | [action] |
| Otherwise | [default] |
Guardrails
Must: [non-negotiable] · [non-negotiable] Must not: [prohibited + why] · [prohibited + why]
Priority order when conflict: [1] > [2] > [3] > [4]
Style
- Voice/Formality: [e.g., imperative, formal]
- Audience: [Who reads this]
- Length: [Target or "as needed, no longer"]
- Format/Language: [Markdown / specific terminology to use or avoid]
Edge Cases
| Situation | Response |
|---|---|
| [Missing/invalid input] | [action] |
| [Out of scope] | [refuse / redirect] |
| [Conflicting constraints] | [which wins] |
| [Adversarial input] | [refuse / sanitize] |
Self-Check (run before returning)
- Correctness — [criterion]
- Format — [criterion]
- Style — [criterion]
- Safety — [no PII/fabrication/harm]
- Completeness — [all parts addressed]
If a check fails after 2 attempts: [fallback — partial result / ask / refuse]
Examples
✅ Good: Input → Output (1–2 lines on why it works)
❌ Bad: Output → corrected version (1 line on what failed)
Change log
- v1.0.0 — initial: [description]