.\n- Do not use `_template` for real skills (scaffold only).\n- List siblings: `ls skills/` — avoid collisions and confusing names (`helper`, `utils`).\n\n### 3. Scaffold the directory\n\n```bash\nSKILL_LABEL=\"your-skill-label\"\ncp -R skills/_template \"skills/${SKILL_LABEL}\"\n```\n\nRemove HTML comment placeholders as you replace content.\n\n### 4. Author `SKILL.md`\n\n**Frontmatter** (required):\n\n```yaml\n---\nname: your-skill-label # must equal directory name\ndescription: ... # capability + when to use; ≥20 chars; routing-friendly\n---\n```\n\n**Body** — include the sections that matter for this skill (see `skill.instruction.md`). At minimum aim for:\n\n- Purpose, When to Use, When NOT to Use, Expected Outcome\n- Inputs to Gather, Workflow, Tool Availability Rules\n- Output Format, Quality Bar, Safety and Boundaries\n\n**Authoring principles:**\n\n- **Concise, high-signal** — the agent is capable; add only non-obvious domain knowledge.\n- **Progressive disclosure** — move long checklists, examples, and specs to `references/`; link one level deep from `SKILL.md`.\n- **Concrete workflows** — numbered steps the agent can follow; avoid fake precision.\n- **Explicit tool behavior** — read-only vs write vs dispatch; never fabricate tool results.\n- **Verbatim user text** — if the user supplies exact wording for the skill, preserve it.\n\n### 5. Author `meta.yaml`\n\nFollow `meta.instructions.md`. Required shape:\n\n```yaml\nname: Human Readable Name\nversion: \"1.0.0\"\ntype: methodical # pick one allowed type\n\ndescription:\n capability: ...\n trigger_conditions: Use when ...\n scope_boundaries: ...\n key_domain_words:\n - ...\n\ntags:\n - your-skill-label # include the skill label\n - ...\n\nrelationships:\n skills: []\n tool_sets: []\n```\n\n- Tags: lowercase kebab-case only.\n- `description` fields: short, router-facing; no long procedures.\n- Relationship `name` values: kebab-case skill ids (not display names).\n- Do not invent relationship types outside the schema.\n\n### 6. Add optional directories only when needed\n\n| Directory | Use for |\n|-------------|---------|\n| `references/` | Long examples, checklists, specs |\n| `assets/` | Images, audio, PDFs |\n| `scripts/` | Skill-scoped helpers |\n\nNo other top-level folders under the skill directory.\n\n### 7. Review and fix\n\nCheck the skill against `skills/meta.schema.json` and the required sections in `skills/skill.instruction.md` (frontmatter `name` matches `\u003cskill-label>`, kebab-case id, triggers, boundaries, recommended `SKILL.md` headings).\n\nFix all structural and schema **errors** before considering the skill done. Review **warnings** (missing recommended sections, size, metadata alignment).\n\nRepeat edit → review until ready for **publish-skill**.\n\n### 8. Hand off to publish (if requested)\n\nIf the user wants the skill on `main`, switch to **publish-skill** after validation passes.\n\n## Tool Availability Rules\n\n| Access | Behavior |\n|--------|----------|\n| Shell + write | Scaffold, edit files, run validation, report command output. |\n| Read-only | Produce full file contents and exact shell commands; do not claim files were written. |\n| No shell | Output planned paths and draft `SKILL.md` / `meta.yaml`; ask for dispatch or shell access. |\n\nAlways run or show real validation output—never invent pass/fail.\n\n## Review / Decision / Execution Criteria\n\nA skill is ready when:\n\n- Label, frontmatter `name`, and directory name match.\n- `meta.yaml` validates against `meta.schema.json`.\n- Triggers and anti-triggers are explicit enough for routing.\n- Workflow is actionable without this chat’s context.\n- Safety and tool rules are stated.\n- `SKILL.md` stays focused; large content is in `references/`.\n\n**Anti-patterns:** vague descriptions, marketing language, Windows paths, time-sensitive “before date X” rules, mixing terminology, bloated monolithic `SKILL.md`, secrets in examples.\n\n## Output Format\n\nReport to the user:\n\n1. **Skill label** and path `skills/\u003cskill-label>/`.\n2. **Files created/updated** (list).\n3. **Validation** — command run and result (pass or errors to fix).\n4. **Follow-ups** — optional `references/`, relationship updates, or publish-skill next step.\n\n## Quality Bar\n\n- Description states **what** the skill does and **when** to use it (third person, specific trigger terms).\n- Purpose explains operational value, not “helps with X.”\n- Boundaries prevent misuse and wrong routing.\n- Evidence-based: cite repo paths and validation output when relevant.\n- Substance over length; target well under 500 lines in `SKILL.md`.\n\n## Safety and Boundaries\n\n- Do not commit secrets, tokens, or internal URLs into skills.\n- Do not fabricate validation results or repository state.\n- Do not modify unrelated skills or global schema unless the user explicitly requests it.\n- State assumptions when requirements are incomplete; ask before large scope expansion.\n\n## Escalation / Dispatch Rules\n\n- **Too broad** — split into multiple focused skills with `relationships.skills` instead of one mega-skill.\n- **Publish to GitHub** — use **publish-skill**; do not push or open PRs unless the user asked.\n- **Schema/instruction changes** — if conventions must change, update `skill.instruction.md` / `meta.instructions.md` / `meta.schema.json` together per repo rules.\n\n## References\n\n- `skills/skill.instruction.md`\n- `skills/meta.instructions.md`\n- `skills/meta.schema.json`\n- `skills/_template/`\n- `skills/meta.schema.json` — metadata validation rules\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

create-skill

create-skill

Authors new Syncolab skills in a cloned skills repository using shell, template, and validation. Use when adding or improving a skill under skills/, writing SKILL.md or meta.yaml, or preparing a skill package before publish.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: create-skill description: Authors new Syncolab skills in a cloned skills repository using shell, template, and validation. Use when adding or improving a skill under skills/, writing SKILL.md or meta.yaml, or preparing a skill package before publish.

Create Skill

Purpose

Guides agents through authoring a new Syncolab skill in a cloned skills repository: a reusable operational capability with clear routing, metadata, and validation—not a one-off prompt.

Assume syncolab-skills is cloned locally and the agent has shell access to edit files under skills/.

When to Use

  • User asks to create, add, scaffold, or improve a Syncolab skill.
  • User wants a new directory under skills/<skill-label>/.
  • User needs help with SKILL.md, meta.yaml, structure, or validation errors.
  • A skill exists locally but fails validation or lacks required sections.

When NOT to Use

  • User only wants to open a GitHub PR or merge to main → use publish-skill.
  • User wants a personal Cursor skill under ~/.cursor/skills/ (different product; not this repo).
  • Task is unrelated to skill authoring (general coding, unrelated repo work).

Expected Outcome

  • New or updated skills/<skill-label>/ with SKILL.md and meta.yaml.
  • <skill-label> is lowercase kebab-case and matches name in SKILL.md frontmatter.
  • SKILL.md and meta.yaml conform to skills/skill.instruction.md, skills/meta.instructions.md, and skills/meta.schema.json (errors fixed; warnings reviewed).
  • Metadata aligns with the skill body; procedural detail lives in SKILL.md, not duplicated in meta.yaml.

Inputs to Gather

Before writing files, collect:

  1. Skill label — stable kebab-case id (directory name), e.g. code-review.
  2. Purpose — what operational capability the skill provides.
  3. Triggers — when routers/agents should select it (synonyms, situations).
  4. Boundaries — what it must not do.
  5. Type — one value from meta.instructions.md (methodical, operational, etc.).
  6. Relationships — related skills or tool sets (github, etc.) if any.
  7. Optional assets — whether references/, assets/, or scripts/ are needed.

Read these repo sources (do not guess conventions):

  • skills/skill.instruction.md — SKILL.md standards and sections.
  • skills/meta.instructions.md — meta.yaml authoring rules.
  • skills/meta.schema.json — strict metadata validation.
  • skills/_template/ — canonical starter layout.
  • Existing skills under skills/ for naming and relationship patterns.

Workflow

1. Confirm environment

From syncolab-skills root:

test -d skills && echo OK

2. Choose and validate the label

  • Use lowercase kebab-case: ^[a-z][a-z0-9]*(-[a-z0-9]+)*$.
  • Do not use _template for real skills (scaffold only).
  • List siblings: ls skills/ — avoid collisions and confusing names (helper, utils).

3. Scaffold the directory

SKILL_LABEL="your-skill-label"
cp -R skills/_template "skills/${SKILL_LABEL}"

Remove HTML comment placeholders as you replace content.

4. Author SKILL.md

Frontmatter (required):

---
name: your-skill-label   # must equal directory name
description: ...         # capability + when to use; ≥20 chars; routing-friendly
---

Body — include the sections that matter for this skill (see skill.instruction.md). At minimum aim for:

  • Purpose, When to Use, When NOT to Use, Expected Outcome
  • Inputs to Gather, Workflow, Tool Availability Rules
  • Output Format, Quality Bar, Safety and Boundaries

Authoring principles:

  • Concise, high-signal — the agent is capable; add only non-obvious domain knowledge.
  • Progressive disclosure — move long checklists, examples, and specs to references/; link one level deep from SKILL.md.
  • Concrete workflows — numbered steps the agent can follow; avoid fake precision.
  • Explicit tool behavior — read-only vs write vs dispatch; never fabricate tool results.
  • Verbatim user text — if the user supplies exact wording for the skill, preserve it.

5. Author meta.yaml

Follow meta.instructions.md. Required shape:

name: Human Readable Name
version: "1.0.0"
type: methodical   # pick one allowed type

description:
  capability: ...
  trigger_conditions: Use when ...
  scope_boundaries: ...
  key_domain_words:
    - ...

tags:
  - your-skill-label   # include the skill label
  - ...

relationships:
  skills: []
  tool_sets: []
  • Tags: lowercase kebab-case only.
  • description fields: short, router-facing; no long procedures.
  • Relationship name values: kebab-case skill ids (not display names).
  • Do not invent relationship types outside the schema.

6. Add optional directories only when needed

DirectoryUse for
references/Long examples, checklists, specs
assets/Images, audio, PDFs
scripts/Skill-scoped helpers

No other top-level folders under the skill directory.

7. Review and fix

Check the skill against skills/meta.schema.json and the required sections in skills/skill.instruction.md (frontmatter name matches <skill-label>, kebab-case id, triggers, boundaries, recommended SKILL.md headings).

Fix all structural and schema errors before considering the skill done. Review warnings (missing recommended sections, size, metadata alignment).

Repeat edit → review until ready for publish-skill.

8. Hand off to publish (if requested)

If the user wants the skill on main, switch to publish-skill after validation passes.

Tool Availability Rules

AccessBehavior
Shell + writeScaffold, edit files, run validation, report command output.
Read-onlyProduce full file contents and exact shell commands; do not claim files were written.
No shellOutput planned paths and draft SKILL.md / meta.yaml; ask for dispatch or shell access.

Always run or show real validation output—never invent pass/fail.

Review / Decision / Execution Criteria

A skill is ready when:

  • Label, frontmatter name, and directory name match.
  • meta.yaml validates against meta.schema.json.
  • Triggers and anti-triggers are explicit enough for routing.
  • Workflow is actionable without this chat’s context.
  • Safety and tool rules are stated.
  • SKILL.md stays focused; large content is in references/.

Anti-patterns: vague descriptions, marketing language, Windows paths, time-sensitive “before date X” rules, mixing terminology, bloated monolithic SKILL.md, secrets in examples.

Output Format

Report to the user:

  1. Skill label and path skills/<skill-label>/.
  2. Files created/updated (list).
  3. Validation — command run and result (pass or errors to fix).
  4. Follow-ups — optional references/, relationship updates, or publish-skill next step.

Quality Bar

  • Description states what the skill does and when to use it (third person, specific trigger terms).
  • Purpose explains operational value, not “helps with X.”
  • Boundaries prevent misuse and wrong routing.
  • Evidence-based: cite repo paths and validation output when relevant.
  • Substance over length; target well under 500 lines in SKILL.md.

Safety and Boundaries

  • Do not commit secrets, tokens, or internal URLs into skills.
  • Do not fabricate validation results or repository state.
  • Do not modify unrelated skills or global schema unless the user explicitly requests it.
  • State assumptions when requirements are incomplete; ask before large scope expansion.

Escalation / Dispatch Rules

  • Too broad — split into multiple focused skills with relationships.skills instead of one mega-skill.
  • Publish to GitHub — use publish-skill; do not push or open PRs unless the user asked.
  • Schema/instruction changes — if conventions must change, update skill.instruction.md / meta.instructions.md / meta.schema.json together per repo rules.

References

  • skills/skill.instruction.md
  • skills/meta.instructions.md
  • skills/meta.schema.json
  • skills/_template/
  • skills/meta.schema.json — metadata validation rules
Skills enregistrées