Search

PythonReactSEOPDF
GitHub Skill

export-skills

Export SpecWeave skills to Agent Skills open standard format (agentskills.io). Converts Claude Code plugin skills to portable SKILL.md files compatible with GitHub Copilot, VS Code, Gemini CLI, Cursor, and other Agent Skills-compatible tools. Activates for export skills, agent skills, github skills, skills.md, agentskills, portable skills, convert skills, skill export, cross-platform skills.

anton-abyzov☆ 28 Repository stars3 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Export Skills to Agent Skills Standard

Overview

Export SpecWeave skills to the Agent Skills open standard format. This enables skill portability across:

  • GitHub Copilot (VS Code integration)
  • Gemini CLI
  • Cursor
  • Claude Code
  • Other Agent Skills-compatible tools

Usage

/sw:export-skills [options]
Options
Option Description
--output <dir> Output directory (default: .agent-skills/)
--plugin <name> Export specific plugin (default: all)
--skill <name> Export specific skill (default: all)
--dry-run Preview without writing files
--validate Validate output against Agent Skills spec

Output Structure

.agent-skills/
├── architect/
│   └── SKILL.md
├── security/
│   └── SKILL.md
├── qa-lead/
│   └── SKILL.md
└── pm/
    └── SKILL.md

Field Mapping

SpecWeave Field Agent Skills Field Notes
name name Direct mapping
description description Direct mapping (max 1024 chars)
allowed-tools allowed-tools Convert comma to space-delimited
N/A license Add Apache-2.0 by default
N/A compatibility Add "Designed for Claude Code"
N/A metadata.author Use plugin manifest author
N/A metadata.source Add "SpecWeave"
visibility (not mapped) Agent Skills uses file placement
invocableBy (not mapped) Agent Skills discovery is implicit

Execution Steps

Step 1: Discover Skills
# Find all SKILL.md files in plugins
find plugins -name "SKILL.md" -type f
Step 2: Convert Each Skill

For each SKILL.md:

  1. Parse YAML frontmatter
  2. Extract description (truncate to 1024 chars if needed)
  3. Convert allowed-tools from comma to space-delimited
  4. Generate Agent Skills-compliant frontmatter
  5. Preserve markdown body content
Step 3: Validate Output

Each exported skill must:

  • Have name matching directory name
  • Have description between 1-1024 characters
  • Have name using only a-z and -
  • Not have -- in name
  • Not start/end with -
Step 4: Write Files

Write to output directory with structure:

{output}/{skill-name}/SKILL.md

Conversion Script

interface SpecWeaveSkill {
  name: string;
  description: string;
  'allowed-tools'?: string;
  visibility?: string;
  invocableBy?: string[];
  context?: string;
  model?: string;
}

interface AgentSkill {
  name: string;
  description: string;
  license?: string;
  compatibility?: string;
  metadata?: Record<string, string>;
  'allowed-tools'?: string;
}

function convertSkill(specweave: SpecWeaveSkill, pluginName: string): AgentSkill {
  return {
    name: specweave.name,
    description: specweave.description.slice(0, 1024),
    license: 'Apache-2.0',
    compatibility: 'Designed for Claude Code (or similar products)',
    metadata: {
      author: 'specweave',
      source: 'SpecWeave',
      plugin: pluginName
    },
    'allowed-tools': specweave['allowed-tools']?.replace(/,\s*/g, ' ')
  };
}

Example Output

Input (plugins/specweave/skills/architect/SKILL.md):

---
name: architect
description: System Architect expert...
allowed-tools: Read, Write, Edit
context: fork
model: opus
---

Output (.agent-skills/architect/SKILL.md):

---
name: architect
description: System Architect expert...
license: Apache-2.0
compatibility: Designed for Claude Code (or similar products)
metadata:
  author: specweave
  source: SpecWeave
  plugin: sw
allowed-tools: Read Write Edit
---

Post-Export Actions

After exporting:

  1. Commit to repo: Skills can be discovered from any subdirectory
  2. Push to GitHub: Enable Copilot skill discovery
  3. Publish: Consider publishing to skill registries

Limitations

  • SpecWeave-specific fields (context, model, invocableBy) are not exported
  • Progressive disclosure phases (sub-files) are not included
  • Skill memory files are not exported (they're runtime state)

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-28
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!