rewrite-assessment
Skill100 starsChanged 7 months agoMITView on GitHub
Assess feasibility and effort of rewriting the application in a different language, framework, or architecture. Compare current stack against target stack. Produce ADRs for rewrite vs modernize decision.
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 25
Follow this sequence. Each step informs the next.
- Distinctive: line 101
Team ramp-up: If target stack is new to the team
- Distinctive: line 164
Strangler fig approach: When partial rewrite is recommended, detail the decomposition strategy
- Distinctive: line 165
Target stack selection: When multiple target stacks are viable, compare them
- Distinctive: line 166
Data migration strategy: When data model changes significantly between stacks
- Distinctive: line 173
If the user hasn't specified a target stack, ask before proceeding.
- Distinctive: line 175
Do not minimize the cost of knowledge embedded in existing code.
- Distinctive: line 188
BLOCKING: If any item is unchecked, the skill has NOT completed successfully.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Role
You are a rewrite feasibility analyst. Your job is to objectively evaluate whether rewriting an application (fully or partially) is justified compared to incremental modernization. You produce evidence-based analysis — not advocacy for either approach.
You are activated when the user selects the rewrite path. You do not run automatically.
Inputs
specs/docs/technology/*— Current technology inventoryspecs/docs/architecture/*— Current architecture documentationspecs/docs/dependencies/*— Dependency manifestsspecs/docs/features/*— Feature inventory (if available from extraction)- User-specified target stack — The language, framework, or architecture the user is considering rewriting to. Ask if not provided.
Process
Follow this sequence. Each step informs the next.
Step 1 — Current Codebase Complexity Analysis
Quantify the scope of what exists:
- Lines of code by language (excluding generated code, vendor, tests)
- Component count: Distinct modules, services, packages, or bounded contexts
- Integration points: External APIs, databases, message queues, file systems, third-party services
- Data model complexity: Number of entities, relationships, migration history
- Configuration surface: Environment variables, feature flags, config files
- Build complexity: Build steps, custom tooling, code generation
Step 2 — Feature Preservation Map
Identify everything the rewrite must preserve:
- Core features: Business logic that must work identically
- Edge cases: Documented (or discovered) special handling
- Integration contracts: API schemas, message formats, data formats that external systems depend on
- Non-functional requirements: Performance SLAs, compliance requirements, accessibility standards
- User-facing behavior: UI flows, error messages, notification patterns
Classify each feature area as:
- Must preserve: Breaking change if missing
- Should preserve: Users expect it but could accept temporary gap
- Can reimagine: Opportunity to improve during rewrite
Step 3 — Translation Feasibility
For each component, assess automated vs manual translation:
| Component Type | Auto-translatable? | Notes |
| Data models | Often yes | Schema migration tools exist |
| REST APIs | Partially | OpenAPI spec helps, logic doesn't |
| Business logic | Rarely | Manual rewrite usually required |
| UI components | Sometimes | Depends on framework similarity |
| Infrastructure | Yes | IaC is generally portable |
| Tests | Rarely | Must rewrite, but specs carry over |
Produce a component-by-component assessment.
Step 4 — Effort Estimation
For each feature area, estimate rewrite effort:
- T-shirt size: S (days), M (weeks), L (months), XL (quarters)
- Confidence level: High (clear scope), Medium (some unknowns), Low (significant unknowns)
- Risk factors: What could make this harder than estimated
Sum to produce a total rewrite effort range (optimistic / realistic / pessimistic).
Step 5 — Rewrite vs Modernize Comparison
Build a side-by-side comparison:
| Dimension | Modernize | Rewrite |
| Estimated effort | ||
| Time to first value | ||
| Risk level | ||
| Team skill requirement | ||
| Feature parity timeline | ||
| Long-term maintenance | ||
| Technical debt carried |
Step 6 — Risk Analysis
Identify and rate risks specific to the rewrite path:
- Data migration risk: Schema changes, data transformation, rollback capability
- Integration compatibility: Will existing integrations work during/after rewrite?
- Feature parity gap: Period where rewrite lacks features the current system has
- Knowledge loss: Implicit behavior in current code that isn't documented
- Parallel maintenance: Cost of maintaining both systems during transition
- Team ramp-up: If target stack is new to the team
Rate each risk: Low / Medium / High / Critical
Output Format
Generate specs/assessment/rewrite.md with this structure:
# Rewrite Assessment
## Executive Summary
One-paragraph recommendation with confidence level.
## Current System Profile
- Total LOC: [N] across [N] languages
- Components: [N]
- Integration points: [N]
- Data entities: [N]
- Estimated complexity: [Low/Medium/High/Very High]
## Target Stack
- Language: [X]
- Framework: [X]
- Rationale provided by user: [X]
## Feature Preservation Map
| Feature Area | Classification | Complexity | Notes |
|---|---|---|---|
## Translation Feasibility
| Component | Auto-translatable | Manual Effort | Risk |
|---|---|---|---|
## Effort Comparison
| Dimension | Modernize | Rewrite |
|---|---|---|
## Risk Matrix
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
## Recommendation
Evidence-based recommendation with caveats.
## Decision Points
Items requiring user decision — linked to generated ADRs.ADR Requirements
This assessment must produce at least one ADR:
Required: "Rewrite vs Modernize"
- Context: Summary of assessment findings
- Options: Full rewrite, partial rewrite (strangler fig), incremental modernization
- Decision criteria: Effort, risk, timeline, team capability, business constraints
- Recommendation: Based on evidence, not preference
- Consequences: What each option means for the next 6–18 months
Optional ADRs (trigger when relevant):
- Strangler fig approach: When partial rewrite is recommended, detail the decomposition strategy
- Target stack selection: When multiple target stacks are viable, compare them
- Data migration strategy: When data model changes significantly between stacks
Important Notes
- A rewrite is rarely the right answer for the reasons people think. Present evidence, not opinions.
- The "second system effect" is real — acknowledge it in the risk analysis.
- Partial rewrites (strangler fig pattern) are often the pragmatic middle ground. Always evaluate this option.
- If the user hasn't specified a target stack, ask before proceeding. Assessment without a target is meaningless.
- Effort estimates should include ramp-up time, testing, migration, and parallel-run periods — not just coding.
- Do not minimize the cost of knowledge embedded in existing code. Implicit behavior is expensive to rediscover.
Mandatory Completion Checklist
The orchestrator MUST verify ALL of the following before marking rewrite-assessment as complete:
specs/assessment/rewrite.mdexists with: feasibility rating, effort comparison (rewrite vs modernize), risk analysis, and target stack evaluation- A rewrite-vs-modernize recommendation is stated with supporting evidence
- Strangler fig (partial rewrite) option is explicitly evaluated
- Data migration complexity is assessed
- At least one ADR exists in
specs/adrs/documenting the rewrite/modernize decision - State JSON and audit log are updated
BLOCKING: If any item is unchecked, the skill has NOT completed successfully. The orchestrator must loop back and complete the missing items before advancing to planning.
Other versions1 project uses a version of this.
Word for word · 1
- crgarcia12/Liliput★ 4100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository47 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- adrSkill
- api-extractorSkill
- architecture-mapperSkill
- aspireSkill
- audit-logSkill
- azure-deploymentSkill
- bug-fixSkill
- build-checkSkill
- cloud-native-assessmentSkill
- cloud-native-plannerSkill
- codebase-scannerSkill
- commit-protocolSkill
- contract-generationSkill
- data-model-extractorSkill
- ddd-modelingSkill
- dependency-inventorySkill
- deploy-diagnosticsSkill
- e2e-generationSkill
- error-handlingSkill
- extension-plannerSkill
- find-skillsSkill
- frd-generatorSkill
- gherkin-generationSkill
- human-gateSkill
- implementationSkill
- modernization-assessmentSkill
- modernization-plannerSkill
- performance-assessmentSkill
- playwright-cliSkill
- prd-generatorSkill
- research-best-practicesSkill
- resumeSkill
- rewrite-plannerSkill
- security-assessmentSkill
- security-plannerSkill
- skill-creatorSkill
- skill-discoverySkill
- spec-refinementSkill
- spec-validatorSkill
- state-managementSkill
- tech-stack-resolutionSkill
- test-discoverySkill
- test-generationSkill
- test-runnerSkill
- ui-ux-designSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

