Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
skill-syncer - Skill - OpenSmartRoute
Skillv1.0.0
skill-syncer
Sync skills from `.claude/skills` and `.codex/skills` into `.gemini/skills`. Use when the user wants to import other agents' skills, detect newer upstream skill folders, or rewrite agent-specific skil
Imported from yuiseki/ai-secretary (.gemini/skills/skill-syncer/SKILL.md). Install upstream with npx skills add yuiseki/ai-secretary --skill skill-syncer. Copyright stays with the author.
Copy one of these into your project. Installing also returns the manifest and these snippets.
Installed into a catalogue, chosen by a router
Install skill-syncer and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slot
curl -s -X POST https://api.opensmartroute.ai/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.
yuiseki-ai-secretary-skill-syncer.ocm.jsonjson
{
"ocm": "1",
"id": "yuiseki-ai-secretary-skill-syncer",
"kind": "skill",
"name": "skill-syncer",
"description": "Sync skills from `.claude/skills` and `.codex/skills` into `.gemini/skills`. Use when the user wants to import other agents' skills, detect newer upstream skill folders, or rewrite agent-specific skill paths for Gemini.",
"publisher": "yuiseki",
"version": "1.0.0",
"capabilities": {
"domains": [
"coding"
],
"tags": [
"skill-md",
"github"
],
"languages": [
"en"
]
},
"quality_prior": 0.6,
"examples": [
"Sync skills from `.claude/skills` and `.codex/skills` into `.gemini/skills`. Use when the user wants to import other agents' skills, detect newer upstream skill folders, or rewrite agent-specific skill paths for Gemini."
],
"primary": false,
"metadata": {
"source": {
"provider": "github",
"repository": "https://github.com/yuiseki/ai-secretary",
"path": ".gemini/skills/skill-syncer/SKILL.md",
"ref": "e07cecef6b0bfc2cde2b4e85e2f1af4742eb6ea7",
"url": "https://github.com/yuiseki/ai-secretary/blob/e07cecef6b0bfc2cde2b4e85e2f1af4742eb6ea7/.gemini/skills/skill-syncer/SKILL.md",
"key": "yuiseki/ai-secretary/.gemini/skills/skill-syncer/SKILL.md"
}
},
"instructions": "# skill-syncer\n\n`.claude/skills` と `.codex/skills` を見て、`.gemini/skills` へ不足分を取り込み、source 側のほうが新しい同名スキルだけ更新する。\n\n## Workflow\n\n1. まず dry-run を実行して、`copied` / `updated` / `skipped` を確認する。\n\n```bash\npython3 .gemini/skills/skill-syncer/scripts/sync_skills.py --json\n```\n\n2. `updated` がある場合は、必要なら対象スキルだけ中身を開いて差分を確認する。\n 特に絶対パスや `.claude/skills` / `.codex/skills` 参照が `.gemini/skills` に正しく寄っているかを見る。\n\n3. 問題なければ apply を実行する。\n\n```bash\npython3 .gemini/skills/skill-syncer/scripts/sync_skills.py --apply\n```\n\n4. 実行後に `git diff -- .gemini/skills` で結果を確認する。\n\n## Notes\n\n- source が 2 つにまたがる同名スキルは、より新しい mtime のほうを採用す",
"cost": {
"context_tokens": 197
}
}
Fetch it by URL: GET /api/v1/registry/yuiseki-ai-secretary-skill-syncer/manifest?version=1.0.0
Reviews
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.