and is 1–64 chars.\n2. Create `.opencode/skill/\u003cname>/SKILL.md` and ensure the folder matches the name.\n3. Add YAML frontmatter with `name` and `description` (optional: `license`, `compatibility`, `metadata`).\n4. Write the body with clear sections (Purpose/What I do, When to use, Workflow, Completion criteria).\n5. Confirm discovery: run OpenCode in the repo and check `skill` tool list.\n6. If permissions block it, update `opencode.json` with `permission.skill` rules.\n\n## Placement rules (from opencode.ai docs)\n\n- Project: `.opencode/skill/\u003cname>/SKILL.md`\n- Project (Claude compatible): `.claude/skills/\u003cname>/SKILL.md`\n- Global: `~/.config/opencode/skill/\u003cname>/SKILL.md`\n- Global (Claude compatible): `~/.claude/skills/\u003cname>/SKILL.md`\n\n## Validation checklist\n\n- `SKILL.md` is all caps and contains YAML frontmatter\n- `name` matches folder name\n- `description` is 1–1024 characters\n- No duplicate skill names in the repo\n\n## Example\n\n```\n---\nname: git-release\ndescription: Create consistent releases and changelogs\ncompatibility: opencode\n---\n\n## What I do\n\n- Draft release notes from merged PRs\n- Propose a version bump\n- Provide a `gh release create` command\n```\n\n## Completion criteria\n\n- Skill appears in `skill` tool list\n- `skill({ name })` loads without errors\n- Instructions are clear enough to execute without extra context\n","licenseDocuments":[]}}
L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

skill-authoring

skill-authoring

Create and register new OpenCode skills in this repo

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: skill-authoring description: Create and register new OpenCode skills in this repo compatibility: opencode metadata: scope: repo format: skill-md

What I do

  • Define the steps and checks for adding a new OpenCode skill
  • Ensure the skill is discoverable by the skill tool
  • Validate naming, frontmatter, and placement rules

When to use

  • Adding a new reusable workflow or playbook as a skill
  • Updating skill metadata to meet OpenCode discovery requirements

Workflow

  1. Pick a skill name that matches ^[a-z0-9]+(-[a-z0-9]+)*$ and is 1–64 chars.
  2. Create .opencode/skill/<name>/SKILL.md and ensure the folder matches the name.
  3. Add YAML frontmatter with name and description (optional: license, compatibility, metadata).
  4. Write the body with clear sections (Purpose/What I do, When to use, Workflow, Completion criteria).
  5. Confirm discovery: run OpenCode in the repo and check skill tool list.
  6. If permissions block it, update opencode.json with permission.skill rules.

Placement rules (from opencode.ai docs)

  • Project: .opencode/skill/<name>/SKILL.md
  • Project (Claude compatible): .claude/skills/<name>/SKILL.md
  • Global: ~/.config/opencode/skill/<name>/SKILL.md
  • Global (Claude compatible): ~/.claude/skills/<name>/SKILL.md

Validation checklist

  • SKILL.md is all caps and contains YAML frontmatter
  • name matches folder name
  • description is 1–1024 characters
  • No duplicate skill names in the repo

Example

---
name: git-release
description: Create consistent releases and changelogs
compatibility: opencode
---

## What I do

- Draft release notes from merged PRs
- Propose a version bump
- Provide a `gh release create` command

Completion criteria

  • Skill appears in skill tool list
  • skill({ name }) loads without errors
  • Instructions are clear enough to execute without extra context
Skills enregistrées