co skills
Scan skill files across your AI coding agents (Claude Code, Codex, Cursor, Kiro) and import the ones you want into ~/.co/skills/ so ConnectOnion can use them.
Quick Start
Why
Skills you've written for one tool (for example Claude Code) are usually stored in that tool's own directory, such as ~/.claude/skills/. co skills gives ConnectOnion a normal import path — co ai loads skills from .co/skills/ and ~/.co/skills/, and importing makes publishing and manifest generation consistent.
~/.claude/skills/<name>/SKILL.md ─┐
~/.codex/skills/<name>/SKILL.md ─┤
~/.cursor/rules/<name>.mdc ─┼─→ co skills discover → ~/.co/skills/index.json
~/.kiro/steering/<name>.md ─┤ │
~/.co/skills/<name>/SKILL.md ─┘ ▼
co skills copy <name>
│
▼
~/.co/skills/<name>/SKILL.md
(now visible to co ai, skills plugin, publishing)Commands
co skills discover
Walks every known skill root, parses YAML frontmatter (name, description), and writes an index to ~/.co/skills/index.json. Plugin-namespaced entries (names containing :) are filtered out by default (--include-namespaced keeps them). --no-save prints without writing; --json prints the raw index.
The index is a cache, not a database — regenerated on every run, so stale entries disappear automatically.
co skills copy <name>
Copy a discovered skill into ~/.co/skills/<name>/ — sibling files alongside SKILL.md (READMEs, helper scripts) come with it.
If the same skill name exists in multiple sources, a single copy refuses and asks you to disambiguate with --source. With --all, collisions resolve automatically by priority: co-project > co-user > claude > codex > cursor > kiro.
co skills manifest
Build skill metadata from a skills directory and merge it into agent.json["skills"] — the shape publishing needs.
Defaults: --path ~/.co/skills/, merges into ~/.co/agent.json. When merging, any prior signature / signer fields are removed (content changed, must re-sign). Each entry gets publish: false by default; existing values are preserved on refresh.
co skills list
List skills currently installed in ~/.co/skills/. Runs by default if you type co skills with no subcommand.
Sources
| Source ID | Root | Layout |
|---|---|---|
| co-project | ./.co/skills/ | <name>/SKILL.md |
| co-user | ~/.co/skills/ | <name>/SKILL.md |
| claude | ~/.claude/skills/ | <name>/SKILL.md |
| codex | ~/.codex/skills/ | <name>/SKILL.md |
| cursor | ~/.cursor/rules/ | <name>.mdc |
| kiro | ~/.kiro/steering/ | <name>.md |
Missing roots are silently skipped.
How It Composes
co skills discover ← scan agent dirs → index.json co skills copy --all ← materialize ~/.co/skills/ co skills manifest ← merge skill metadata into ~/.co/agent.json co ai ← auto-loads .co/skills/ and ~/.co/skills/ co setup ← runs the full setup sequence publish workflow ← sign + announce ~/.co/agent.json
ConnectOnion