skill - Install agent skills

Install, remove, or upgrade ConTree agent skills for Codex and Claude Code.

Spec format

Commands accept specs – a kind:hint URI that identifies the skill type and target path:

Spec

Resolves to

Skill type

claude:

.claude/skills/contree (project)

ClaudeSkill

claude:~

~/.claude/skills/contree (global)

ClaudeSkill

codex:

.codex/skills/contree (project)

CodexSkill

codex:~

~/.codex/skills/contree (global)

CodexSkill

opencode:

.opencode/skills/contree (project)

OpenCodeSkill

opencode:~

$OPENCODE_HOME/skills/contree (or ~/.config/opencode/skills/contree)

OpenCodeSkill

amp:

.amp/skills/contree (project)

AmpSkill

amp:~

~/.config/agents/skills/contree (global)

AmpSkill

cline:

.cline/skills/contree (project)

ClineSkill

cline:~

$CLINE_DIR/skills/contree (or ~/.cline/skills/contree)

ClineSkill

claude-subagent:

.claude/agents/contree-subagent.md (project)

ClaudeSubagentSkill

claude-subagent:~

~/.claude/agents/contree-subagent.md (global)

ClaudeSubagentSkill

claude-agent:

.claude/agents/contree.md (project)

ClaudeAgentSkill

claude-agent:~

~/.claude/agents/contree.md (global)

ClaudeAgentSkill

./path

./path (skill type guessed from path)

auto

When no specs are given, install targets the global (:~) variant of every known kind. The Claude-based kinds (claude, claude-agent, claude-subagent) are skipped unless ~/.claude already exists, so a machine without Claude Code installed will not have empty directories created for it.

Examples

# Install globally to every known kind (Claude kinds gated on ~/.claude)
contree skill install

# Install into project-level .claude/skills/contree
contree skill install claude:

# Install globally into ~/.claude/skills/contree
contree skill install claude:~

# Install both globally
contree skill install codex:~ claude:~

# Install to explicit path (class guessed from path)
contree skill install ./my/custom/path

# Upgrade all remembered installs
contree skill upgrade

# Upgrade specific target
contree skill upgrade claude:~

# Remove by spec
contree skill remove -y claude:~

# Remove by full path
contree skill remove -y /path/to/skills/contree

# List installs with version and outdated status
contree skill list
contree skill ls

Help output

$ contree skill --help usage: contree skill [-h] {list,ls,install,i,remove,r,rm,del,upgrade,u,update} ... Install, remove, or upgrade ConTree agent skills. contree skill install              # autodetect agent homes contree skill install claude:~     # global ~/.claude contree skill install codex:       # project-level .codex contree skill install ./path       # raw path, class guessed positional arguments:   {list,ls,install,i,remove,r,rm,del,upgrade,u,update}     list (ls)           List remembered skill installs     install (i)         Install ConTree skill files     remove (r, rm, del)                         Remove installed skill files     upgrade (u, update)                         Upgrade installed skill files options:   -h, --help            show this help message and exit agent note:   Before using this command in an automated workflow, read:     contree agent

Subcommands

skill install

contree skill install [SPEC ...] (alias i) installs skill directories. Each spec resolves to a skill class and a filesystem path, both of which are persisted in skills.db so future list and upgrade calls can find the install without re-specifying it. With no specs the command targets the global (:~) variant of every known kind – Claude-based kinds are skipped automatically when ~/.claude does not exist. Pass -y to overwrite an existing install non-interactively.

$ contree skill install --help usage: contree skill install [-h] [-y] [SPEC ...] positional arguments:   SPEC         claude:~ codex:~ or raw path options:   -h, --help   show this help message and exit   -y, --force  Overwrite existing

skill list

contree skill list (alias ls) shows every remembered install with its kind, installed version (read from .version), the version bundled with this CLI, an outdated flag, and whether the install path still exists on disk. Stale entries whose path was deleted externally are pruned from the registry automatically when this command runs.

$ contree skill list --help usage: contree skill list [-h] options:   -h, --help  show this help message and exit

skill upgrade

contree skill upgrade [SPEC ...] overwrites existing installs with the version bundled in the current CLI. With no specs it upgrades every remembered location, which is the normal post-pip install -U maintenance step. Targets that are already at the bundled version are rewritten anyway so any local edits to skill files are reverted.

$ contree skill upgrade --help usage: contree skill upgrade [-h] [SPEC ...] positional arguments:   SPEC        claude:~ codex:~ or raw path options:   -h, --help  show this help message and exit

skill remove

contree skill remove SPEC [...] (aliases r, rm, del) deletes installed skill files and forgets the path from the registry. Specs may be the same URI form accepted by install, or a literal filesystem path. Pass -y to skip the confirmation prompt.

$ contree skill remove --help usage: contree skill remove [-h] [-y] [SPEC ...] positional arguments:   SPEC         claude:~ codex:~ or raw path options:   -h, --help   show this help message and exit   -y, --force  Do not ask for confirmation

Install contents

Skill directories contain:

  • .version — installed package version

  • SKILL.md — skill prompt with allowed-tools frontmatter

  • agents/openai.yaml — OpenAI-compatible skill config

Skills require contree in PATH. If missing, ask the user to install it.

Skill classes

Class

Kind

Description

ClaudeSkill

claude

Bundled skill directory for Claude Code

CodexSkill

codex

Bundled skill directory for Codex

OpenCodeSkill

opencode

Bundled skill directory for OpenCode

AmpSkill

amp

Bundled skill directory for Amp

ClineSkill

cline

Bundled skill directory for Cline

ClaudeSubagentSkill

claude-subagent

Standalone .md subagent file

ClaudeAgentSkill

claude-agent

Custom agent .md with skills: [contree]