Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Manage Agent Skills across Codex, Claude Code, local/global/project roots, Skill Hubs, GitHub, skills.sh, and managed plugin caches. Use when searching, installing, updating, upgrading, syncing, merging, auditing, deduplicating, cleaning, packaging, publishing, validating, resolving upstream sources, choosing runtime or scope, or working with skill-upgrade, check_upstreams.ps1, Claude Code plugins, skills-lock.json, or skill-upstreams.json. Do not use for ordinary software-package upgrades or no
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 145% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 190% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 240% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 411% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 91% | 0% |
Orchestrate skill work as one evidence-backed lifecycle. Keep source, installation, and ownership separate so an update to one copy does not silently overwrite another.
Maintain three boundaries throughout the task:
checkout, or a local repository.
root or project root.
system/plugin-managed.
an Agent Skills-compatible host, or more than one runtime.
Do not treat a Skill Hub checkout, _repos source, plugin cache, and global install as interchangeable even when their skill names match.
When evidence is incomplete, report known facts, candidate hypotheses, verification paths, and temporary mitigation. Do not present an unverified hypothesis as a cause or completed fix.
Create a compact internal task card before acting:
package, publish, validate, or create/edit.
the runtime executing this skill is the runtime whose skills are being managed.
change.
find-skills, skill-installer, skill-creator, or nocompanion.
Proceed without asking when target, scope, and ownership are clear. Ask a short question only when a reasonable assumption could modify the wrong skill or cross an ownership boundary.
Read the complete relevant reference before performing that operation:
| Operation | Required reference | | --- | --- | | Skill Hub pull, push, new-skill sync, junction, or index rebuild | references/skill-hub-operations.md | | Upstream comparison, skill-upgrade, check_upstreams.ps1, mirror, or local fast-forward | references/upstream-audit.md | | Runtime roots, Claude Code skills/plugins, scope precedence, cache ownership, or reload behavior | references/runtime-adapters.md | | Discovery, recommendation, install scope, quality audit, usage cleanup, package, publish, or report format | references/governance-and-reporting.md |
Read more than one reference when the task crosses those boundaries. Do not load unrelated operational detail for a simple task.
Discover actual roots before editing. Common roots include:
~/.agents/skills, ~/.codex/skills, or configured$CODEX_HOME/skills; Claude Code personal skills live under ${CLAUDE_CONFIG_DIR:-~/.claude}/skills.
.codex/skillsand Claude Code .claude/skills roots. Claude Code can also discover nested .claude/skills directories in a monorepo.
_repos, Skill Hub clones, submodules, or manual clones..system skills and plugin caches. Claude Code marketplaceplugins are managed through claude plugin, not by editing ~/.claude/plugins/cache.
_meta/skill-upstreams.json or a localsource index such as ~/.skill-lifecycle/skill-upstreams.json; legacy ~/.agents/skill-upstreams.json remains supported. skills-lock.json is an inventory, not proof of upstream identity.
CLAUDE_CONFIG_DIR relocates Claude Code's configuration and personal skills; it does not relocate the runtime-neutral source index. Keep the default index under the operating-system user home unless -IndexPath is explicit. Likewise, ~/.agents/skills is a shared Agent Skills root, not proof that Codex owns or loads every contained skill. Never label an .agents install as Codex-owned without loader or configuration evidence.
Treat managed roots as read-only unless the user explicitly authorizes an override. Treat source checkouts as source evidence, not automatically as the active install target.
Keep an internal inventory:
| Skill | Runtime/scope | Source | Active install | Owner | Intended action | | --- | --- | --- | --- | --- | --- |
Use this sequence for any operation that can change state:
items.
A path equal to the allowed root is not a valid child target. A path that only shares the root's text prefix is also not inside that root.
Use skill-creator for SKILL.md design, progressive disclosure, scripts, references, and evals. This manager owns placement and lifecycle decisions:
Skill Hub path when repository publication is intended.
project root.
wants scope-specific variants.
installed hashes.
.claude/skills for standaloneskills and a plugin only when namespaced distribution, versioned updates, or bundled agents/hooks/MCP are actually needed.
Use find-skills or the ecosystem's discovery command instead of inventing a new search process. Use skill-installer when the requested installation flow matches it.
Before recommending or installing:
reputation; mark unavailable evidence as unavailable.
Read references/governance-and-reporting.md for detailed evidence thresholds, quality checks, and report formats.
Never upgrade by name alone. Separate source updates from active-install updates:
exists, run the source-discovery workflow and persist the result before deciding whether an upgrade exists.
comparison commit. A GitHub URL mentioned as a dependency or example is only a candidate, not source proof.
Treat source mapping as reusable lifecycle state, not one-off research. Key local mappings by canonical installed path so two same-name skills cannot inherit each other's upstream. On each later audit, refresh the verified ref, record the observed commit, and compare the complete skill directory. Read references/upstream-audit.md for the bootstrap, verification, index, and repeat-audit workflow.
For Claude Code marketplace plugins, the plugin manager is the lifecycle authority. Inventory with claude plugin list --json, compare the declared marketplace/version/source, preserve the installed scope in claude plugin update <plugin> --scope <scope>, and follow the CLI's restart instruction; never mirror files into the versioned plugin cache. Read references/runtime-adapters.md before acting.
Do not invent lifecycle metadata or policy. source, repository, version, or similar frontmatter fields are useful only when actually present and remain candidate evidence until verified. Do not assume semantic versions, automatic polling, retry-count downgrades, a stale classification, or time-based thresholds unless the source index or user policy defines them.
When both versions changed, summarize behavior-level differences before merging:
Read references/upstream-audit.md before using the bundled audit helper or applying a mirror.
For quality audits, check frontmatter, trigger specificity, progressive disclosure, referenced resources, script safety, dependencies, secrets, absolute-path leakage, and objective eval coverage.
For usage cleanup, do not use filesystem LastAccessTime as proof. Prefer explicit invocation evidence, session/tool logs, loadability metadata, then filesystem presence. Quarantine uncertain candidates instead of deleting them.
For publishing, complete and save the quality and secret/privacy audit before creating or copying the package. Scan file contents as well as names, including quoted JSON/YAML credential keys, environment assignments, tokens, private keys, personal paths, and identifiers. Treat an unreadable file or an unclassified finding as a failed gate; do not package first and repair the audit afterward. Then keep only allowlisted runtime-relevant skill files, remove generated outputs and private data, record provenance, update indexes, and deliberately synchronize source and installed copies.
Read references/governance-and-reporting.md for the full gates, evidence labels, and output templates.
Use the strongest relevant validation:
skill-creator validation.git diff --check and inspect the intended file list.evals/evals.json and forward-testrepresentative cases against the prior version.
If tooling is unavailable, state that fact and perform a manual static check. Do not convert missing validation into a pass.
Use a concise report proportional to the operation:
textIntent: Runtime and scope: Source: Target and scope: Ownership: Dry run or comparison: Backup: Changed files: Validation: Unverified: Restart needed:
Use the operation-specific templates in references/governance-and-reporting.md when more detail materially helps.
Stop and request direction when:
authentication are required.
Report facts, hypotheses, validation paths, and temporary mitigation instead of guessing past a stop condition.
Other measured skills in the registry, with their headline benchmark lift.