danieldekay/ai-ops/skill-management
- community
Checking that the SKILL.md file is still in the repository.
Manage this user's AI agent skills across harnesses. Use when deciding where a skill lives (global vs project), installing/updating/removing a global skill, adding a newly authored skill to the danieldekay/ai-ops registry, or consolidating the ~/.agents/skills global directory. Active harnesses: pi, GitHub Copilot, Cursor, OpenAI Codex (NOT Claude Code, NOT OpenCode). Model: author once in ai-ops, then scope at install time (global user-scope vs per-project apm.yml).
Install
npx vskill@latest install danieldekay/ai-ops/skill-managementSKILL.md
Skill Management
Operating model for authoring, global vs project placement, and installation of agent skills across the active harnesses. Applies the model captured in the wiki note concepts/multi-harness-agent-config-management (Sept 2026).
When to Use
- Deciding whether a skill is global (user-scope) or project-scoped.
- Adding a newly authored skill to
danieldekay/ai-ops. - Installing / updating / removing a global skill.
- Consolidating
~/.agents/skills(dedup and curate the global library). - Auditing which skills are installed, where, and from which source.
Active harnesses (scope of this skill)
- IN: pi, GitHub Copilot, Cursor, OpenAI Codex.
- OUT: Claude Code, OpenCode — do not create
.claude/skillsor
.opencode bridges for them.
The three buckets (author once, scope at install)
- Authored IP → ONE canonical origin:
danieldekay/ai-ops
(skills/, agents/, instructions/, prompts/).
- Global vs project → a deployment decision at install time, not an
authorship decision.
- Third-party (APM-pulled) → dependencies: installed into
apm_modules/, pinned by apm.lock.yaml + content hashes, provenance attached. Never commit third-party skills into ai-ops as authored IP.
Canonical paths
- GLOBAL origin:
danieldekay/ai-ops/skills/<name>/SKILL.md - GLOBAL canonical (installed):
~/.agents/skills/<name>/SKILL.md— read
by pi, Copilot/VS Code, Cursor, Codex (no Claude/OpenCode bridge needed).
- PROJECT:
<repo>/.agents/skills/<name>/SKILL.md, declared in
<repo>/apm.yml (version-pinned).
Decision rules
- Always-want everywhere (voice, general writing, thinking tools) → GLOBAL
(user-scope APM install).
- Domain / project-specific (tango, limesurvey, django, wordpress) →
PROJECT (declare in that repo's apm.yml, pinned).
- Keep the global set SMALL and curated — every installed skill adds
session-start trigger-selection cost (per the Agent Skills progressive disclosure model).
- Never copy a skill into a project — install it from the registry.
Manage global skills (APM, user scope)
- Preview:
apm install -g -t copilot,codex,cursor --skill <name> danieldekay/ai-ops --dry-run - Install:
apm install -g -t copilot,codex,cursor --skill <name> danieldekay/ai-ops
(writes ~/.agents/skills/<name>/). Confirm pi sees it there.
- Inspect:
apm targets --global,apm list --global,apm view <pkg>. - Update:
apm update --global(CLI itself:brew upgrade apm). - Audit / drift / security:
apm audit(hidden-Unicode scan, drift replay);
apm audit --ci (lockfile-consistency + SARIF for CI gates).
- Fallback (if an APM global target is unavailable): `gh skill install
danieldekay/ai-ops <name> --scope user`.
Add a new authored skill
- Write it at
danieldekay/ai-ops/skills/<slug>/SKILL.md(open Agent Skills
format: name + description frontmatter, progressive disclosure).
- Decide global vs project.
- Global →
apm install -g ...(above). Project → add to that repo's
apm.yml + apm install.
Publishing flow (canonical → APM → installed)
The exact command sequence for publishing or patching a skill lives in the skill-publish-flow skill — use it whenever a skill change needs to reach the installed layer. Short version: edit canonical ~/coding/ai-ops/skills/<name>, git add <paths> (never -A), commit, push, then apm update --global --yes followed by apm install -g --force.
Third-party skills get OVERLAYS, never in-place edits. A skill pulled by APM as a dependency (e.g. obra/superpowers/...) is not ours to patch in the installed layer — reinstall overwrites it and authoring hygiene forbids editing a dependency as if it were our IP. Author an owned overlay with metadata.overlay_of pointing at the vendor skill, with a header note stating why it exists. See skill-publish-flow for the full policy and drift triage.
Consolidating ~/.agents/skills (sprawl → curated)
Automated script (Option B): skill_management/scripts/consolidate-skills.sh in the ai-ops skill dir — dedupes redundant real copies in ~/.pi/agent/skills, moves stray non-skill files out, and (opt-in) archives an explicit --archive-file list. Always dry-run first, always backs up to ~/.agents/.skill-mgmt-backup-<stamp>/.
Background (Sept 2026): npx multi-agent installs triplicate skills into ~/.agents/skills, ~/.pi/agent/skills, ~/.claude/skills (real copies, no symlinks). Goal: ONE canonical copy in ~/.agents/skills, redundant copies removed, a small curated global set.
Consolidation ALWAYS follows this protocol:
- Dry-run — show the map, change nothing.
- Backup — move removals to a backup dir first, never delete outright.
- Classify — each entry is canonical | redundant-in-other-agent-dir |
stray (non-skill file) | project-scoped (should not be global).
- Apply — symlink away other agent dirs (not copies); stage bulk globals
into _archive; install only the curated global subset from ai-ops.
- Report — what changed, where; record provenance.
Strategy options for the script (pick one):
- A. APM-managed migration — move authored skills into ai-ops, pin
third-party deps in apm.yml, deploy from the registry. Cleanest, most work.
- B. Single-canonical-dir — keep
~/.agents/skillsas the one real copy;
symlink the pi/other agent dirs to it; move non-curated skills into _archive; install curated globals from ai-ops. Simplest to operate.
- C. Dedupe-only — remove redundant real copies across agent dirs, leave
curation for later. Least effort; still leaves a 100+ global set.
Pitfalls
- APM only manages DECLARED targets — verify with
apm targetsbefore
relying on a deploy path.
- Two lockfiles (
apm.lock.yaml+skills-lock.json) drift — consolidate
on APM.
- Stray files (
.mdnot in a dir,.DS_Store) inside~/.agents/skills
are not valid skills — remove them.
- Never hand-edit `apm.lock.yaml`; edit
apm.ymland re-install.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/skill-management/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/danieldekay/ai-ops/skill-management)