with one click
migrate
Migrate a docent v0.9 project to v1.0 skills-based architecture
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Migrate a docent v0.9 project to v1.0 skills-based architecture
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | migrate |
| description | Migrate a docent v0.9 project to v1.0 skills-based architecture |
| group | docent |
| keywords | ["migration","upgrade","v0.9","v1.0","migrate docent","upgrade docent"] |
| version | 1.0.0 |
| author | docent |
This skill guides you through migrating an existing docent v0.9 project to the new v1.0 skills-based architecture.
Convert legacy runbooks and templates to the new skills format, update configuration, and maintain backward compatibility.
.docent/ directory (v0.9 format)What changes:
runbooks/*.md → skills/{group}/{name}/SKILL.mdtemplates/*.md → Skills can still use bundled templatesconfig.yaml → Add version and skills fieldsWhat stays the same:
.docent/ root directory locationAction: Check if migration is needed
# Check for version field in config
if grep -q "^version:" .docent/config.yaml 2>/dev/null; then
echo "Already on v1.0 or later"
exit 0
fi
# Check for legacy structure
if [ -d ".docent/runbooks" ] || [ -d ".docent/templates" ]; then
echo "v0.9 detected - migration needed"
fi
Decision Point:
Action: Create timestamped backup before making changes
# Create backup directory with timestamp
BACKUP_DIR=".docent/.backup-$(date +%Y-%m-%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"
# Backup runbooks if they exist
if [ -d ".docent/runbooks" ]; then
cp -r .docent/runbooks "$BACKUP_DIR/"
echo "Backed up runbooks to $BACKUP_DIR/runbooks/"
fi
# Backup templates if they exist
if [ -d ".docent/templates" ]; then
cp -r .docent/templates "$BACKUP_DIR/"
echo "Backed up templates to $BACKUP_DIR/templates/"
fi
# Backup config
if [ -f ".docent/config.yaml" ]; then
cp .docent/config.yaml "$BACKUP_DIR/config.yaml.bak"
echo "Backed up config to $BACKUP_DIR/config.yaml.bak"
fi
Validation:
Action: Inventory what needs to be migrated
# Count runbooks
RUNBOOK_COUNT=$(find .docent/runbooks -name "*.md" 2>/dev/null | wc -l)
# Count templates
TEMPLATE_COUNT=$(find .docent/templates -name "*.md" 2>/dev/null | wc -l)
echo "Found:"
echo " - $RUNBOOK_COUNT custom runbooks"
echo " - $TEMPLATE_COUNT custom templates"
Report to user:
Action: Transform each runbook into a skill
For each runbook in .docent/runbooks/*.md:
git-* → git/github-* → github/health-*, bootstrap, doctor → project/docent/.docent/skills/{group}/{name}/type: runbook → group: {detected_group}tags: [...] → keywords: [...]version: 1.0.0 if not presentExample conversion:
Before (.docent/runbooks/git-commit.md):
---
name: git-commit
description: Create professional git commits
type: runbook
tags: [git, commit]
---
After (.docent/skills/git/git-commit/SKILL.md):
---
name: git-commit
description: Create professional git commits
group: git
keywords: [git, commit, commits]
version: 1.0.0
---
Implementation:
For each runbook file:
Action: Add v1.0 fields to config.yaml
Read existing config, then add/update:
# Add version field at top
version: "1.0.0"
# Keep existing root and search_paths unchanged
# Add skills section based on what was migrated
skills:
- docent/* # Always include
- project/* # Always include
- git/* # If git runbooks found
- github/* # If github runbooks found
Smart skill detection:
Implementation:
version: "1.0.0" at topskills: section with appropriate patternsAction: Confirm all content was migrated successfully
Checklist:
.docent/config.yaml has version: "1.0.0".docent/config.yaml has skills: array.docent/skills/{group}/{name}/SKILL.md.docent/.backup-*/Test skill loading:
# Test that skills load correctly
# Agent should be able to discover migrated skills
Validation commands:
# Count skills created
find .docent/skills -name "SKILL.md" | wc -l
# Verify config is valid YAML
cat .docent/config.yaml
Action: Show migration summary to user
Success Message:
✅ Migration to v1.0 complete!
Migrated:
- {N} runbooks → skills
- Config updated with version and skills
Created:
.docent/skills/
├── git/ {N} skills
├── github/ {N} skills
├── project/ {N} skills
└── docent/ {N} skills
Backup:
- Original files preserved in .docent/.backup-{timestamp}/
- Safe to delete after verifying migration
Next steps:
1. Test skill discovery: "how do I commit changes?"
2. Verify migrated skills work correctly
3. Delete .docent/runbooks/ when confident (optional)
4. Delete .docent/templates/ when confident (optional - bundled still work)
5. Commit migration: git add .docent/ && git commit -m "chore: migrate to docent v1.0"
Note: Legacy runbooks and templates are NOT deleted automatically.
You can keep them for reference or delete manually after testing.
If: Project doesn't have .docent/ directory
Fix: Use bootstrap instead:
Agent should run: docent act bootstrap
If: Config already has version: "1.0.0"
Fix: Report already migrated, show current config
If: Runbook has malformed frontmatter
Fix:
If: Cannot create backup directory
Fix:
Only update config, keep using bundled skills:
skills:
- docent/*
- git/*
- github/*
- project/*
Migrated custom runbooks go to .docent/skills/ and override bundled.
Migrate only specific runbooks:
After verifying migration:
# Delete legacy directories
rm -rf .docent/runbooks
rm -rf .docent/templates
# Delete backup (only after thorough testing!)
rm -rf .docent/.backup-*
.docent/.backup-*/ if neededAutomatic group assignment based on filename:
git-* → git/
github-* → github/
bootstrap → project/
health-* → project/
doctor → project/
commit → git/
issue → github/
pr-* → github/
pull-* → github/
default → docent/
Can override with frontmatter:
---
name: custom-workflow
group: git # Explicitly set group
---
After migration:
/docent:ask "upgrade docent"Conduct thorough code reviews for pull requests and pre-commit changes
Run comprehensive project health checks including code quality, documentation, git status, and project structure
Check CI/CD workflow status and troubleshoot failing checks in GitHub Actions
Initialize .docent/ directory structure and configuration for a new project
Comprehensive guide for AI agents on proactive documentation capture using /docent:tell
Review journal entries and extract valuable knowledge into formal documentation