migrate-skill
Use when consolidating a skill from a claude-toolkit plugin or local .claude/skills into the dogfooded-skills library.
How do I install this agent skill?
npx skills add https://github.com/fellowship-dev/dogfooded-skills --skill migrate-skillIs this agent skill safe to install?
- Gen Agent Trust Hubwarn
This skill facilitates the migration of agent skills between local directories. It includes instructions to generate and execute a temporary bash script specifically designed to circumvent environment sandbox restrictions on the agent's configuration folders.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
migrate-skill
Move an agent skill from a local source (toolkit plugin, .claude/skills/, or .claude/commands/) into dogfooded-skills, then import it back as a standalone local skill.
When to Use
- Consolidating a battle-tested skill from claude-toolkit into dogfooded-skills
- Moving a local-only skill into the shared library for reuse across projects
- Replacing a toolkit symlink with a dogfooded-skills copy
Prerequisites
ls ~/Projects/fellowship-dev/dogfooded-skills/skills/ # repo cloned
gh auth status # can push
Workflow
Given <skill-name> as argument:
-
Find all sources for the skill
# Toolkit plugin skill ls .claude/plugins/claude-toolkit/skills/<skill-name>/SKILL.md 2>/dev/null # Toolkit command ls .claude/plugins/claude-toolkit/commands/<skill-name>.md 2>/dev/null # Local skill (may be symlink) ls -la .claude/skills/<skill-name>/ 2>/dev/null -
Read all sources — merge the command (thin wrapper) and skill (full content) into a single SKILL.md. Follow the
skill-builderstandard: frontmatter, one-line purpose, When to Use, Prerequisites, Workflow with real commands, Decision Tables, Error Handling, Critical Rules. -
Write to dogfooded-skills
mkdir -p ~/Projects/fellowship-dev/dogfooded-skills/skills/<namespace>/<skill-name>Write the merged
SKILL.mdto~/Projects/fellowship-dev/dogfooded-skills/skills/<namespace>/<skill-name>/SKILL.md. -
Update dogfooded-skills README — add a row to the appropriate category table in
README.md. -
Commit and push
cd ~/Projects/fellowship-dev/dogfooded-skills git add skills/<namespace>/<skill-name>/SKILL.md README.md git commit -m "feat: add <skill-name> skill — migrated from claude-toolkit" git push origin main -
Write a cleanup script to
/tmp/migrate-<skill-name>.shand execute it. This bypasses sandbox restrictions on.claude/paths.#!/usr/bin/env bash set -e BUDDY=<project-root> TOOLKIT="$BUDDY/.claude/plugins/claude-toolkit" DOGFOOD=~/Projects/fellowship-dev/dogfooded-skills # Remove from toolkit rm -rf "$TOOLKIT/skills/<skill-name>" rm -f "$TOOLKIT/commands/<skill-name>.md" # Remove stale symlink or old local copy rm -rf "$BUDDY/.claude/skills/<skill-name>" # Import from dogfooded-skills mkdir -p "$BUDDY/.claude/skills/<skill-name>" cp "$DOGFOOD/skills/<namespace>/<skill-name>/SKILL.md" "$BUDDY/.claude/skills/<skill-name>/SKILL.md" echo "Done: <skill-name> migrated"bash /tmp/migrate-<skill-name>.sh -
Verify — confirm the skill loads:
ls -la .claude/skills/<skill-name>/SKILL.md head -6 .claude/skills/<skill-name>/SKILL.md
Critical Rules
- Always read the skill-builder standard first — the merged skill must meet dogfooded-skills quality bar
- Cleanup script in /tmp — only way to bypass sandbox on
.claude/paths - Never leave orphan symlinks — remove before creating the new directory
- Commit toolkit changes separately if the toolkit is a submodule with its own remote
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/fellowship-dev/dogfooded-skills/migrate-skill">View migrate-skill on skillZs</a>