Skip to content

skill-forge

FieldValue
TypeSkill
Source~/.copilot/skills/skill-forge/SKILL.md
DescriptionCreate new Agent Skills, validate existing ones, and sync them across Claude Code, Codex, and GitHub Copilot. Use this for authoring or editing a skill from scratch (naming, frontmatter, triggers, references, templates), validating a skill’s format and standards compliance, or syncing and sharing skills across tools and team folders. Triggers: “create a skill”, “new skill”, “edit this skill”, “improve skill triggering”, “skill eval”, “tune skill description”, “validate this skill”, “sync my skills”, “share this skill”, “convert this skill”, “share these skills with”, “install this skill”, “package a skill”, or “share only certain skills”.

Bundled Pages

GroupNameSource
ReferencesCLI Reference~/.copilot/skills/skill-forge/references/cli.md
ReferencesSkill Authoring~/.copilot/skills/skill-forge/references/skill-authoring.md
ReferencesStandards Linter~/.copilot/skills/skill-forge/references/standards-linter.md
ReferencesSync and Share~/.copilot/skills/skill-forge/references/sync-and-share.md
ReferencesTargets and Formats~/.copilot/skills/skill-forge/references/targets-and-formats.md
ScriptsCheck_skill~/.copilot/skills/skill-forge/scripts/check_skill.py
ScriptsSkill_sync~/.copilot/skills/skill-forge/scripts/skill_sync.py
ScriptsStandards_linter~/.copilot/skills/skill-forge/scripts/standards_linter.py

Source Content

Skill Forge

DomainSkill design, validation, and distribution across tools
RoleSkill author, validator, and DevOps — the guardrail between idea and usable artifact
OutputA production-ready SKILL.md under 500 lines + optional references/, scripts/, templates/; validated against standards; synced across tools on demand

This skill absorbed skill-creator (authoring, scaffolding, description tuning) and skill-sync (validation, format normalization, cross-tool distribution). Both workflows run here; the consolidation plan calls this the standards-linter home.

Route by task

You’re…ReadGate with
Authoring / Scaffolding
Starting a new skill from scratch or concrete examplereferences/skill-authoring.md — triggers, frontmatter, body template, YAML tuningscripts/check_skill.py <skill-dir>
Editing an existing SKILL.md for clarity or better triggeringreferences/skill-authoring.md — trigger rewrite, progressive disclosure patternsscripts/check_skill.py <skill-dir>
Splitting a bloated SKILL.md into references/ filesreferences/skill-authoring.md — progressive disclosure rules, table-of-contents thresholdsscripts/check_skill.py <skill-dir>
Validation
Validating a skill’s format and portability before syncingreferences/standards-linter.md — checklist for frontmatter, links, paths, entrypointsscripts/standards_linter.py <skill-dir>
Checking a skill will trigger correctly when deployedreferences/skill-authoring.md — description tuning, eval phrasingsscripts/check_skill.py + manual prompt test
Syncing / Sharing
Syncing all skills or specific skills to Claude Code, Codex, or Copilotreferences/sync-and-share.md — workflows, tool destinations, format dialectsscripts/skill_sync.py sync
Sharing selected skills into a team folder or documentation reporeferences/sync-and-share.md — folder structures, --prompt flattening, team recipesscripts/skill_sync.py sync --dir
Converting a skill between tool formats (e.g., stripping Copilot-only keys for Codex)references/sync-and-share.md — frontmatter dialects, --strict rulesscripts/skill_sync.py sync --strict
Flattening a skill into a paste-into-ChatGPT promptreferences/sync-and-share.md — prompt generation, size estimatesscripts/skill_sync.py prompt
Removing deleted skills from destinations (Claude, Codex)references/sync-and-share.md — propagation, cleanup after mergesscripts/skill_sync.py remove

House rules

  1. SKILL.md stays under 500 lines. Beyond routing table + house rules + use/don’t-use list, push detail into references/.
  2. Triggers must fire on real user phrasing. Not the canonical skill name — the way users actually ask. Test with a representative prompt.
  3. Frontmatter always has name (matches directory) and description (~1,200 chars max). The description carries every trigger phrase from every absorbed skill when consolidating.
  4. Every referenced path (references/, scripts/, templates/) must exist on disk. The standards linter gates this.
  5. Scripts are deterministic and self-contained. No external dependencies beyond stdlib; Python 3.9+; run cleanly on any file or dir passed to them.

Use me for

  • Creating a new skill from a concrete example or recurring user request.
  • Editing an existing SKILL.md for clarity, leaner context, or better triggering.
  • Splitting bloated SKILL.md into references/ files with progressive disclosure.
  • Validating a skill before committing or deploying it.
  • Syncing skills across Claude Code, Codex, Copilot, and team folders.
  • Sharing selected skills into a documentation repo or with a team.
  • Converting a skill between tool formats.

Don’t use me for

  • Authoring the domain knowledge inside a skill (that is the domain skill’s job).
  • Configuring the harness (hooks, permissions) → update-config.
  • Keyboard shortcuts → keybindings-help.
  • Building or refactoring code that a skill’s scripts operate on → the appropriate domain skill.

How I work

  1. Get the concrete ask. “What would a user actually say? What artifact do they want back?” or “Which skills need syncing where?”
  2. For authoring: Plan reusable resources (scripts for deterministic steps, references for domain detail, templates for output scaffolds). Write SKILL.md to the template. Tune the trigger line and description until likely user phrasings would fire it. Push bulk beyond the routing table into references/.
  3. For validation: Run scripts/standards_linter.py <skill-dir> to check frontmatter, name/directory match, description length, routing table presence, all referenced paths, and script entrypoints.
  4. For syncing: Map skills to destinations (Claude/Codex/Copilot tool dirs, or arbitrary folders). Run validation for each target dialect. Clean-copy (excluding __pycache__/, .DS_Store, .git/, etc.). Optionally generate paste-into-ChatGPT prompts for non-agent consumers.
  5. For cleanup: Remove stale skill copies from destinations after a merge or deletion.

Self-rubric (run before I respond)

  • For authoring: Triggers cover real phrasing, not just the canonical name. SKILL.md is under ~500 lines; routing table is present and matches the workflow. References exist on disk; no dangling links.
  • For validation: Standards linter exits 0 — frontmatter valid, name matches directory, description under cap, all paths exist, scripts are executable.
  • For syncing: Destination(s) confirmed; dry-run passes; junk excluded (no __pycache__/, .DS_Store, .git/); format dialect correct (strict dropped foreign keys as intended).
  • For removal: Skill deleted from source; all destination copies (Claude, Codex, or custom folders) confirmed removed.

References

  • references/skill-authoring.md — anatomy, triggers, frontmatter tuning, progressive disclosure, templates, the 500-line cap.
  • references/standards-linter.md — the linter’s checklist: frontmatter shape, name/directory match, description length cap, routing table rules, reference link integrity, script entrypoints.
  • references/sync-and-share.md — tool install locations, frontmatter dialects per tool, junk exclusion, clean-copy workflow, prompt generation, team sharing recipes.
  • scripts/check_skill.py — validates frontmatter and reference-link integrity on a single skill.
  • scripts/standards_linter.py — extends check_skill.py to gate the full standards checklist (routing table, script entrypoints, description length, name/directory match).
  • scripts/skill_sync.py — list, validate, sync, prompt, and remove subcommands; the distribution engine.