logo
0
0
WeChat Login

ai-skills

A multi-platform repository for reusable agent skills.

What this repo does

  • Author skills once under skills-src/
  • Generate platform projections for:
    • Claude Code: .claude/skills/
    • Codex: .agents/skills/
    • OpenCode: .opencode/skills/
    • WorkBuddy: .workbuddy/skills/

Commands

npm run sync # Sync all skills to all platforms npm run sync:watch # Watch mode (requires: npm install chokidar) npm run sync:skill -- <name> # Sync specific skill (incremental) npm run validate # Validate all meta.json files npm run test # Run tests

CLI Options

node tools/sync-skills.mjs [options] Options: --skill, -s <name> Sync only the specified skill --watch, -w Watch for changes and auto-sync --validate, -v Validate all meta.json files without syncing --help, -h Show help message

Skill Structure

skills-src/<skill-name>/ ├── meta.json # Required: metadata and platform configs ├── SKILL.md # Required: skill instructions ├── scripts/ # Optional: executable scripts ├── assets/ # Optional: static resources ├── references/ # Optional: reference documents ├── prompts/ # Optional: prompt templates └── config.json # Optional: skill configuration

meta.json Fields

FieldRequiredDescription
nameLowercase kebab-case identifier (1-64 chars)
descriptionBrief description (10-500 chars)
versionSemantic version (e.g., "1.0.0")
authorAuthor name or handle (max 100 chars)
tagsArray of tags for discovery (max 10 items)
entryPath to executable script relative to skill directory
platformsPlatform-specific configurations

Platform Configurations

{ "platforms": { "claude": { "argument_hint": "--file <path> or --text <content>", "allowed_tools": ["read_file", "write_to_file"], "user_invocable": true, "disable_model_invocation": false }, "codex": { "display_name": "My Skill", "short_description": "A brief description", "allow_implicit_invocation": true }, "opencode": { "use_claude_projection": true }, "bolt": { "use_claude_projection": true } } }

Workflow

  1. Edit a skill in skills-src/<skill-name>/
  2. Run npm run sync (or npm run sync:watch for auto-sync)
  3. Use the generated skill folders in your target platform

Notes

  • Do not manually edit generated files under .claude/, .agents/, .opencode/, .workbuddy/
  • Keep each skill focused on one task
  • Prefer source edits under skills-src/
  • All meta.json files are validated against skills-src/schema.json
  • Incremental sync is used when syncing a specific skill (skips unchanged files)

About

No description, topics, or website provided.
Language
Python93.7%
JavaScript6.3%