원클릭으로
migrate
Migrate a docent v0.9 project to v1.0 skills-based architecture
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Migrate a docent v0.9 project to v1.0 skills-based architecture
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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
| 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"