
ecosystem-migration
Migrate existing repositories to use Personal GitHub Ecosystem templates and patterns. USE THIS SKIL
作者 zircote|オープンソース
Ecosystem Migration Skill
Purpose
Migrate existing repositories to use Personal GitHub Ecosystem templates and patterns, including workflow conversion and AI integration adoption.
Triggers
- "migrate this repo to the ecosystem"
- "adopt the python template"
- "convert to reusable workflows"
- "upgrade my CI to ecosystem standards"
- "add ecosystem AI integration"
Usage
Point this skill at an existing repository to assess its current state and receive a migration plan. Choose from full adoption, workflow-only, or incremental strategies based on project complexity.
Migration Assessment
# Detect project type
[ -f "pyproject.toml" ] && echo "Python"
[ -f "package.json" ] && echo "Node.js"
[ -f "go.mod" ] && echo "Go"
[ -f "Cargo.toml" ] && echo "Rust"
[ -f "build.gradle.kts" ] && echo "Java"
# Check existing config
ls -la .github/workflows/ 2>/dev/null
[ -f "CLAUDE.md" ] && echo "Has CLAUDE.md"
[ -f ".github/copilot-instructions.md" ] && echo "Has Copilot"
Migration Strategies
Strategy 1: Full Template Adoption
Best for: New-ish projects with minimal customization
# 1. Backup existing config
mkdir -p .migration-backup
cp -r .github .migration-backup/
# 2. Copy template files
cp -r ~/ecosystem/templates/python-template/.github ./
cp ~/ecosystem/templates/python-template/CLAUDE.md ./
mkdir -p .vscode
cp ~/ecosystem/templates/python-template/.vscode/mcp.json .vscode/
# 3. Merge configurations (manual review)
Strategy 2: Workflow-Only Migration
Best for: Established projects wanting CI standardization
# Replace existing CI with reusable workflow
name: CI
on: [push, pull_request]
jobs:
ci:
uses: zircote/.github/.github/workflows/reusable-ci-python.yml@2192c47863886d7a867b5042fb08de414f948f49 # main
with:
python-version: '3.12'
secrets: inherit
Strategy 3: Incremental Adoption
Best for: Large projects requiring careful migration
Phase 1: AI Integration
- Add CLAUDE.md
- Add copilot-instructions.md
- Add mcp.json
Phase 2: Standardize Tooling
- Update linter/formatter configs
Phase 3: Migrate Workflows
- Add reusable workflow alongside existing
- Test and validate
- Remove old workflow
Phase 4: Security Baseline
- Add pre-commit hooks
- Configure gitleaks
- Enable Dependabot
Adding AI Integration
# Create CLAUDE.md
cat > CLAUDE.md << 'EOF'
# CLAUDE.md
## Project Overview
[Describe project]
## Build Commands
```bash
[relevant commands]
```
## Code Style
[Document standards]
EOF
# Create copilot-instructions.md
mkdir -p .github
cat > .github/copilot-instructions.md << 'EOF'
# GitHub Copilot Instructions
## Project Context
[Describe for Copilot]
## Code Guidelines
[Language patterns]
EOF
Converting to Reusable Workflows
Before:
name: CI
on: [push]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- run: pip install ruff && ruff check .
After:
name: CI
on: [push]
jobs:
ci:
uses: zircote/.github/.github/workflows/reusable-ci-python.yml@2192c47863886d7a867b5042fb08de414f948f49 # main
Validation After Migration
# Check required files
for f in CLAUDE.md .github/copilot-instructions.md; do
[ -f "$f" ] && echo "✓ $f" || echo "✗ $f"
done
# Validate workflows
actionlint .github/workflows/*.yml
grep -rnE "uses:.*@(main|master|v[0-9])" .github/workflows/ || echo "all pinned"
# Test CI (if possible)
# Run linting, tests locally
Rollback Procedure
# Quick rollback
cp -r .migration-backup/.github ./
rm CLAUDE.md .github/copilot-instructions.md
# Or selective
git checkout HEAD~1 -- .github/workflows/
Migration Checklist
Pre-Migration
- Document current CI behavior
- Create backup branch
- Identify custom configs to preserve
During Migration
- Copy/adapt template files
- Merge configs (don't overwrite)
- Update project-specific values
Post-Migration
- CI passes
- Existing features work
- AI integration functional
- Team approval