Claude-skill-registry export-skills
Export SpecWeave skills to Agent Skills open standard format (agentskills.io) for cross-platform portability. Use when converting skills to GitHub Copilot, VS Code, Gemini CLI, or Cursor format. Creates portable SKILL.md files compatible with any Agent Skills-supported tool.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/export-skills" ~/.claude/skills/majiayu000-claude-skill-registry-export-skills && rm -rf "$T"
skills/data/export-skills/SKILL.mdExport 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 directory (default: ) |
| Export specific plugin (default: all) |
| Export specific skill (default: all) |
| Preview without writing files |
| 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 |
|---|---|---|
| | Direct mapping |
| | Direct mapping (max 1024 chars) |
| | Convert comma to space-delimited |
| N/A | | Add by default |
| N/A | | Add |
| N/A | | Use plugin manifest author |
| N/A | | Add |
| (not mapped) | Agent Skills uses file placement |
| (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:
- Parse YAML frontmatter
- Extract description (truncate to 1024 chars if needed)
- Convert
from comma to space-delimitedallowed-tools - Generate Agent Skills-compliant frontmatter
- Preserve markdown body content
Step 3: Validate Output
Each exported skill must:
- Have
matching directory namename - Have
between 1-1024 charactersdescription - Have
using onlyname
anda-z- - 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:
- Commit to repo: Skills can be discovered from any subdirectory
- Push to GitHub: Enable Copilot skill discovery
- Publish: Consider publishing to skill registries
Limitations
- SpecWeave-specific fields (
,context
,model
) are not exportedinvocableBy - Progressive disclosure phases (sub-files) are not included
- Skill memory files are not exported (they're runtime state)
Project-Specific Learnings
Before starting work, check for project-specific learnings:
# Check if skill memory exists for this skill cat .specweave/skill-memories/export-skills.md 2>/dev/null || echo "No project learnings yet"
Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.