Writing skills
Overview
Writing skills is documentation design for agent behavior. The goal is to capture proven techniques, patterns, and tools so future agents can apply them consistently.
Priority
Use this skill for creating new skills and for extending existing ones. Prefer this skill over skill-creator unless the user explicitly asks to use skill-creator.
What is a Skill?
A skill is a reusable reference guide for techniques, patterns, or tools that help an agent solve tasks reliably.
Skills are:
- Reusable techniques, patterns, tools, reference guides.
Skills are not:
- Narratives about a one-off solution.
Quick start
- Clarify the skill purpose and 3-5 typical requests that should trigger it.
- Propose structure and any resources (scripts, references, assets).
- Create or update the skill folder and write SKILL.md using the structure below.
- Check quality and consistency (frontmatter, naming, clear steps).
Intake questions
- Which specific requests or phrases should trigger the skill?
- Should the skill create or use scripts, references, or assets?
- What is the target output and level of detail?
When to create a skill
Create when:
- The technique is not obvious and requires judgement.
- You would reuse it across tasks or projects.
- The pattern is broadly applicable, not project-specific.
- It prevents recurring errors or rationalizations.
Do not create when:
- It is a one-off solution.
- It is project-specific (put it in the project instructions like
AGENTS.md or CLAUDE.md).
- It is a mechanical constraint that can be enforced by tooling.
- It is already well documented elsewhere and you can link to it.
Skill types
- Technique: concrete method with steps to follow.
- Pattern: way of thinking about a class of problems.
- Reference: API docs, syntax guides, tool documentation.
- Discipline: rules that enforce a process or guardrails.
Directory structure
Each skill is a folder with a required SKILL.md. Keep the namespace flat and searchable.
Required:
SKILL.md with YAML frontmatter name and description.
Optional:
agents/openai.yaml only if the project uses UI metadata for skill lists.
scripts/ for deterministic actions that repeat often.
references/ for long or specialized instructions outside SKILL.md.
assets/ for templates, icons, documents, or boilerplate.
Do not add:
README.md, CHANGELOG.md, INSTALLATION_GUIDE.md, or other auxiliary docs.
Naming rules
- Use the skill name in both
name and the folder name.
- Use only lowercase letters, digits, and hyphens.
- Prefer short, action-oriented names, e.g.
writing-skills.
Frontmatter rules
name: exact skill name.
description: the primary trigger. Describe when to use it, not what it does.
- Do not add extra fields.
- Start with "Use when..." and keep it short and concrete.
SKILL.md structure
Use concise sections. Prefer inline content for principles and short patterns. Move heavy reference or tools into separate files.
Recommended sections:
- Overview or Goal (1-2 sentences).
- When to use / When not to use.
- Quick start (3-5 steps).
- Procedure or Core pattern.
- Examples (one strong example beats many weak ones).
- Common mistakes.
- Quality checks.
SKILL.md template
---
name: example-skill
description: Use when [specific triggering conditions and symptoms].
---
# Skill title
## Overview
One sentence with a clear purpose.
## When to use
- ...
## When not to use
- ...
## Quick start
1. ...
2. ...
3. ...
## Procedure
1. ...
2. ...
3. ...
## Common mistakes
- ...
## Quality checks
- ...
- ...
Skill creation procedure
- Collect requirements and usage examples from the user.
- Define scope and choose the level of detail.
- Decide whether
scripts/, references/, or assets/ are needed.
- Create the skill folder and SKILL.md.
- Write SKILL.md in imperative form with clear steps and checks.
- Manually verify that
description truly triggers the skill in relevant cases.
- If the skill enforces discipline or process, test it with a baseline scenario and refine to close loopholes.
Instruction writing rules
- Use short, unambiguous sentences.
- Avoid generic filler, focus on actionable steps.
- When multiple variants exist, state decision criteria.
- Move long details into
references/.
JetBrains AI Chat context
- Work with the local repository and use PowerShell.
- Use
rg for search and Get-ChildItem for listing.
- Use
apply_patch for edits; do not rewrite full files.
- Use absolute paths when referencing files.
Quality checks
SKILL.md contains only name and description in frontmatter.
description clearly describes when to use the skill (trigger-focused).
- The procedure is understandable without additional files.
- No extra files beyond SKILL.md.
Done
After creating the skill, ask whether the user wants to add resources or refine the triggers in description.
Language
- Respond in Czech per the
communication-standard skill.
1---2name: writing-skills3description: Use when creating, extending, updating, or reviewing Codex skills, especially to define triggers, structure, and supporting resources.4---5# Writing skills67## Overview8Writing skills is documentation design for agent behavior. The goal is to capture proven techniques, patterns, and tools so future agents can apply them consistently.910## Priority11Use this skill for creating new skills and for extending existing ones. Prefer this skill over `skill-creator` unless the user explicitly asks to use `skill-creator`.1213## What is a Skill?14A skill is a reusable reference guide for techniques, patterns, or tools that help an agent solve tasks reliably.1516Skills are:17- Reusable techniques, patterns, tools, reference guides.1819Skills are not:20- Narratives about a one-off solution.2122## Quick start231. Clarify the skill purpose and 3-5 typical requests that should trigger it.242. Propose structure and any resources (scripts, references, assets).253. Create or update the skill folder and write SKILL.md using the structure below.264. Check quality and consistency (frontmatter, naming, clear steps).2728## Intake questions29- Which specific requests or phrases should trigger the skill?30- Should the skill create or use scripts, references, or assets?31- What is the target output and level of detail?3233## When to create a skill34Create when:35- The technique is not obvious and requires judgement.36- You would reuse it across tasks or projects.37- The pattern is broadly applicable, not project-specific.38- It prevents recurring errors or rationalizations.3940Do not create when:41- It is a one-off solution.42- It is project-specific (put it in the project instructions like `AGENTS.md` or `CLAUDE.md`).43- It is a mechanical constraint that can be enforced by tooling.44- It is already well documented elsewhere and you can link to it.4546## Skill types47- Technique: concrete method with steps to follow.48- Pattern: way of thinking about a class of problems.49- Reference: API docs, syntax guides, tool documentation.50- Discipline: rules that enforce a process or guardrails.5152## Directory structure53Each skill is a folder with a required `SKILL.md`. Keep the namespace flat and searchable.5455Required:56- `SKILL.md` with YAML frontmatter `name` and `description`.5758Optional:59- `agents/openai.yaml` only if the project uses UI metadata for skill lists.60- `scripts/` for deterministic actions that repeat often.61- `references/` for long or specialized instructions outside SKILL.md.62- `assets/` for templates, icons, documents, or boilerplate.6364Do not add:65- `README.md`, `CHANGELOG.md`, `INSTALLATION_GUIDE.md`, or other auxiliary docs.6667## Naming rules68- Use the skill name in both `name` and the folder name.69- Use only lowercase letters, digits, and hyphens.70- Prefer short, action-oriented names, e.g. `writing-skills`.7172## Frontmatter rules73- `name`: exact skill name.74- `description`: the primary trigger. Describe when to use it, not what it does.75- Do not add extra fields.76- Start with "Use when..." and keep it short and concrete.7778## SKILL.md structure79Use concise sections. Prefer inline content for principles and short patterns. Move heavy reference or tools into separate files.8081Recommended sections:82- Overview or Goal (1-2 sentences).83- When to use / When not to use.84- Quick start (3-5 steps).85- Procedure or Core pattern.86- Examples (one strong example beats many weak ones).87- Common mistakes.88- Quality checks.8990## SKILL.md template91```markdown92---93name: example-skill94description: Use when [specific triggering conditions and symptoms].95---96# Skill title9798## Overview99One sentence with a clear purpose.100101## When to use102- ...103104## When not to use105- ...106107## Quick start1081. ...1092. ...1103. ...111112## Procedure1131. ...1142. ...1153. ...116117## Common mistakes118- ...119120## Quality checks121- ...122- ...123```124125## Skill creation procedure1261. Collect requirements and usage examples from the user.1272. Define scope and choose the level of detail.1283. Decide whether `scripts/`, `references/`, or `assets/` are needed.1294. Create the skill folder and SKILL.md.1305. Write SKILL.md in imperative form with clear steps and checks.1316. Manually verify that `description` truly triggers the skill in relevant cases.1327. If the skill enforces discipline or process, test it with a baseline scenario and refine to close loopholes.133134## Instruction writing rules135- Use short, unambiguous sentences.136- Avoid generic filler, focus on actionable steps.137- When multiple variants exist, state decision criteria.138- Move long details into `references/`.139140## JetBrains AI Chat context141- Work with the local repository and use PowerShell.142- Use `rg` for search and `Get-ChildItem` for listing.143- Use `apply_patch` for edits; do not rewrite full files.144- Use absolute paths when referencing files.145146## Quality checks147- `SKILL.md` contains only `name` and `description` in frontmatter.148- `description` clearly describes when to use the skill (trigger-focused).149- The procedure is understandable without additional files.150- No extra files beyond SKILL.md.151152## Done153After creating the skill, ask whether the user wants to add resources or refine the triggers in `description`.154155## Language156- Respond in Czech per the `communication-standard` skill.