Automated summary
A three-phase framework (archaeology, resurrection, rejuvenation) for understanding, getting running, and modernizing an undocumented legacy codebase.
Strengths
- Breaks inherited-codebase work into explicit phases with named deliverables (repo inventory, dependency graph, dependency audit, blocker list)
- Spans the full lifecycle, from initial mapping through security recommendations and a prioritized modernization roadmap
- Ships concrete commands (gh repo list, npm audit, pip list --outdated, env-var greps) and guardrails against anti-patterns like premature resurrection
- Explicitly surfaces missing secrets, environment variables, and cloud infrastructure before any attempt to launch
Limitations
- Depends on external reference files (archaeology-guide, integration-test-patterns, infrastructure-mapping) that are not included in the SKILL.md
- Rejuvenation is described only as three recommendation documents, with no step-by-step modernization procedure
- Assumes access to GitHub org and cloud tooling (gh CLI, WebFetch) for inventory and mapping
Use it when inheriting several poorly documented repositories, reviving a product dormant for years, or running due diligence on an acquired codebase.
Avoid it on greenfield projects, well-documented active codebases, or for a simple bug fix in a maintained system.
Security analysis
CautionThe skill grants Bash, WebFetch, Write and Edit and directs package-manager installs, network calls (gh, WebFetch), and cloud/infra mapping, which are powerful tools used for legitimate legacy-modernization purposes. There is no malicious, destructive, or exfiltrating content, but the combination of shell/network access and secret documentation means it should be treated as a powerful tool requiring normal caution rather than a purely passive read-only skill.
- •Declares Bash and WebFetch alongside Write/Edit, giving a broad blast radius: the skill can run package managers (npm install/audit, pip), git/gh, and arbitrary shell while also modifying files.
- •Instructs discovery and documentation of secrets (secrets-needed.md) and environment variables, which could cause credentials to be written to plaintext files if the agent is not careful.
- •References cloud infrastructure discovery and containerization/CI-CD changes without explicit guardrails distinguishing read-only reconnaissance from mutating production resources.
- •No destructive, exfiltration, obfuscation, or safety-disabling instructions are present; commands shown (gh repo list, npm audit, go mod graph, grep) are legitimate read/analysis operations.
Examples
I just joined a company and inherited 8 repos with no documentation and no one who remembers how they fit together. Use code-necromancer to map the whole system before I touch anything.This SaaS product has been offline for three years. Walk me through the resurrection phase: dependency audit, required env vars and secrets, and what infrastructure is missing, then list the blockers preventing a local dev launch.We're acquiring a company and need a technical assessment of their legacy codebase: architecture topology, tech stack versions per repo, test coverage, and a prioritized modernization roadmap with effort estimates.name: code-necromancer description: Systematic framework for resurrecting and modernizing legacy codebases through archaeology, resurrection, and rejuvenation phases. Activate on "legacy code", "inherited codebase", "no documentation", "technical debt", "resurrect", "modernize". NOT for greenfield projects or well-documented active codebases. allowed-tools: Read,Write,Edit,Bash,WebFetch,Grep,Glob category: Code Quality & Testing tags:
- legacy
- modernization
- technical-debt
- archaeology
- refactoring pairs-with:
- skill: refactoring-surgeon reason: Clean up discovered legacy code
- skill: technical-writer reason: Document resurrected codebases
Code Necromancer
Tagline: Raise dead codebases from the grave
Systematic framework for understanding, resurrecting, and modernizing legacy codebases.
When to Activate
✅ Use when:
- Inheriting a codebase with 5+ repos and no documentation
- Resurrecting a product dormant for 2+ years
- Joining a company with significant technical debt and tribal knowledge loss
- Performing due diligence on acquired codebases
- Modernizing legacy systems without breaking existing functionality
❌ NOT for:
- Greenfield projects (start fresh instead)
- Well-documented active codebases
- Simple bug fixes in maintained systems
The Three Phases
Phase 1: ARCHAEOLOGY
Objective: Create a complete map before touching anything.
| Output | Description |
|--------|-------------|
| repo-inventory.json | All repos with metadata, languages, activity |
| dependency-graph.mmd | Inter-repo and external dependencies |
| architecture-diagram.mmd | Visual system topology |
| tech-stack-matrix.md | Language/framework versions per repo |
| maturity-assessment.md | Code quality, test coverage, docs quality |
| missing-pieces.md | Gaps, orphaned repos, broken integrations |
Process: Inventory → Deep Scan → Cross-Reference → Visualize → Assess
→ See references/archaeology-guide.md for detailed techniques.
Phase 2: RESURRECTION
Objective: Get the system running in development.
| Output | Description |
|--------|-------------|
| dependency-audit.md | Outdated packages, vulnerabilities, breaking changes |
| environment-variables.md | All required env vars with defaults |
| secrets-needed.md | API keys, certs, OAuth credentials |
| infrastructure-status.md | Cloud resources, what exists vs deleted |
| resurrection-blockers.md | Critical issues preventing launch |
| integration-tests/ | Tests verifying components work and communicate |
Process: Audit Dependencies → Map Environment → Check Infrastructure → Write Tests → Document Blockers
→ See references/integration-test-patterns.md for resurrection test patterns.
Phase 3: REJUVENATION
Objective: Modernize while maintaining feature parity.
| Output | Description |
|--------|-------------|
| security-recommendations.md | Vulnerability fixes, compliance |
| modernization-roadmap.md | Prioritized upgrades with effort estimates |
| architecture-improvements.md | Scalability, performance, maintainability |
Process: Security First → Infrastructure (containerize, CI/CD) → Code Quality → Architecture
Key Commands
# List all repos in org
gh repo list ORG --limit 1000 --json name,primaryLanguage,pushedAt
# Dependency analysis
npm audit && npm outdated # Node.js
pip list --outdated && safety check # Python
go mod graph # Go
# Find env vars in code
grep -rn 'process\.env\|os\.environ' --include="*.js" --include="*.py"
→ See references/framework-detection.md for framework/stack identification.
→ See references/infrastructure-mapping.md for cloud resource discovery.
→ See references/dependency-patterns.md for dependency detection.
Anti-Patterns to Avoid
1. Premature Resurrection
What it looks like: Running npm install before reading any code
Why it's wrong: You'll fix the same bug 5 times; dependencies have changed
Fix: Complete archaeology first; understand before touching
2. Scope Creep
What it looks like: "Let's also refactor while we're here" Why it's wrong: Scope explosion; never actually resurrect Fix: Strict phase separation; refactoring is Phase 3
3. Big Bang Updates
What it looks like: Update all dependencies in one commit Why it's wrong: Something breaks, no idea what Fix: Update incrementally; test after each
4. Ignoring Tests
What it looks like: "It runs, ship it" Why it's wrong: Regression city; no baseline for changes Fix: Write resurrection tests as you go; they prove progress
5. Undocumented Changes
What it looks like: "I fixed it but forgot what I changed" Why it's wrong: Tribal knowledge returns; next person is you in 6 months Fix: Document everything you learn and change
6. Trusting Old Documentation
What it looks like: Following README from 2019 Why it's wrong: APIs change, services get deprecated Fix: Verify every instruction; documentation lies
Success Metrics
Archaeology Complete When:
- [ ] All repos cataloged with metadata
- [ ] Dependency graph visualized
- [ ] Architecture diagram created
- [ ] Core vs peripheral repos identified
- [ ] Missing pieces documented
Resurrection Complete When:
- [ ] All services start locally
- [ ] Services can communicate with each other
- [ ] Integration tests pass
- [ ] At least one full user flow works
Rejuvenation Complete When:
- [ ] No critical security vulnerabilities
- [ ] All dependencies reasonably current
- [ ] CI/CD pipeline working
- [ ] Documentation current
- [ ] Team can develop new features
References
→ references/archaeology-guide.md - Deep code archaeology techniques
→ references/dependency-patterns.md - Dependency detection across ecosystems
→ references/framework-detection.md - Framework/stack identification
→ references/infrastructure-mapping.md - Cloud resource discovery
→ references/integration-test-patterns.md - Resurrection test patterns
Templates
→ templates/repo-inventory.json - Repository catalog
→ templates/archaeology-report.md - Phase 1 output
→ templates/resurrection-plan.md - Phase 2 output
→ templates/rejuvenation-roadmap.md - Phase 3 output
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/code-necromancer-mrwakb2b/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/code-necromancer-mrwakb2b' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/code-necromancer-mrwakb2b/download' --output '.skill-downloads/code-necromancer-mrwakb2b/SKILL.md.part' && mv '.skill-downloads/code-necromancer-mrwakb2b/SKILL.md.part' '.skill-downloads/code-necromancer-mrwakb2b/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Read,Write,Edit,Bash,WebFetch,Grep,Glob
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/code-necromancer-mrwakb2b/SKILL.md' && test -s '.skill-downloads/code-necromancer-mrwakb2b/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/code-necromancer' && cp -R '.skill-downloads/code-necromancer-mrwakb2b' '.claude/skills/code-necromancer'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/code-necromancer-mrwakb2b'openskills read 'code-necromancer-mrwakb2b'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/code-necromancer-mrwakb2b/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.