Shift gears in your codebase with complete control.
StackShift transforms reverse engineering into an interactive, guided experience for Claude Code users. Like a manual transmission gives you control over your drive, StackShift gives you control over your codebase transformation - whether shifting to a new tech stack or taking the wheel on existing code.
# In Claude Code
> /plugin marketplace add jschulte/claude-plugins
> /plugin install stackshiftRestart Claude Code. Shift into gear!
# Clone the repository
git clone https://github.com/jschulte/stackshift.git
cd stackshift
# Link to local plugin directory for testing
ln -s $(pwd) ~/.claude/plugins/local/stackshiftThe plugin provides 6 interactive skills corresponding to the 6-step process:
Initial Analysis - Auto-detect tech stack, analyze directory structure, assess completeness.
Trigger phrases:
- "Analyze this codebase"
- "What tech stack is this using?"
- "Run initial analysis"
Output: analysis-report.md
Reverse Engineer - Deep codebase analysis to generate 8 comprehensive documentation files.
Trigger phrases:
- "Reverse engineer the codebase"
- "Generate comprehensive documentation"
- "Extract all API endpoints"
Output: docs/reverse-engineering/ (8 files)
Create Specifications - Transform documentation into formal GitHub Spec Kit specifications.
Trigger phrases:
- "Create specifications"
- "Transform docs into formal specs"
- "Generate feature specs"
Output: specs/ directory with feature specs, OpenAPI, JSON Schemas
Gap Analysis - Compare specs against implementation to identify what's missing.
Trigger phrases:
- "Analyze gaps"
- "What's missing from the application?"
- "Identify incomplete features"
Output: specs/gap-analysis.md
Complete Specification - Interactive Q&A to resolve ambiguities and finalize specs.
Trigger phrases:
- "Complete the specification"
- "Resolve clarifications"
- "Let's clarify the missing details"
Output: Updated specs with all [NEEDS CLARIFICATION] markers resolved
Implement from Spec - Systematically build missing features from finalized specs.
Trigger phrases:
- "Implement missing features"
- "Build from specifications"
- "Complete the implementation"
Output: Fully implemented application with all specs marked ✅ COMPLETE
The plugin automatically tracks your progress through the 6 steps.
Created in project root as .stackshift-state.json:
{
"version": "1.0.0",
"created": "2024-01-15T10:00:00.000Z",
"updated": "2024-01-15T11:30:00.000Z",
"currentStep": "create-specs",
"completedSteps": ["analyze", "reverse-engineer"],
"metadata": {
"projectName": "my-app",
"projectPath": "/path/to/my-app"
},
"stepDetails": {
"analyze": {
"started": "2024-01-15T10:00:00.000Z",
"completed": "2024-01-15T10:05:00.000Z",
"status": "completed"
}
}
}# Initialize state tracking
node plugin/scripts/state-manager.js init
# Start a step
node plugin/scripts/state-manager.js start analyze
# Complete a step
node plugin/scripts/state-manager.js complete analyze
# Check current status
node plugin/scripts/state-manager.js status
# Show detailed progress
node plugin/scripts/state-manager.js progress
# Reset state (start over)
node plugin/scripts/state-manager.js resetNote: Skills automatically update state, so manual CLI use is optional.
plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin metadata
├── skills/
│ ├── analyze/
│ │ ├── SKILL.md # Skill definition with frontmatter
│ │ └── operations/ # Sub-operations documentation
│ │ ├── detect-stack.md
│ │ ├── directory-analysis.md
│ │ ├── documentation-scan.md
│ │ ├── completeness-assessment.md
│ │ └── generate-report.md
│ ├── reverse-engineer/
│ │ ├── SKILL.md
│ │ └── operations/
│ ├── create-specs/
│ ├── gap-analysis/
│ ├── complete-spec/
│ └── implement/
├── templates/ # Spec templates
│ ├── feature-spec-template.md
│ ├── constitution-template.md
│ └── implementation-status-template.md
└── scripts/
└── state-manager.js # Workflow state tracking
Each skill has a SKILL.md with YAML frontmatter:
---
name: analyze
description: Perform initial analysis of a codebase - detect tech stack, directory structure, and completeness. This is Step 1 of 6...
---
# Initial Analysis
[Skill documentation...]Frontmatter fields:
name- Skill identifier (must match directory name)description- Detailed description (used for auto-activation)
Skills auto-activate based on:
- Trigger phrases in description (e.g., "analyze codebase")
- Workflow context (e.g., after completing step N, suggest step N+1)
- User intent (natural language understanding)
Each skill can have operations/ directory with detailed guides for sub-tasks:
operations/detect-stack.md- Tech stack detection commandsoperations/directory-analysis.md- Directory structure analysis- etc.
These are referenced from the main SKILL.md and provide reusable documentation.
Templates are included in plugin/templates/ and accessible to all skills:
Template for creating feature specifications (F001-F0XX format)
Template for project constitution (principles, decisions, standards)
Template for tracking implementation status across all features
# Link plugin to local Claude plugins directory
ln -s $(pwd) ~/.claude/plugins/local/reverse-engineering-toolkit
# Restart Claude Code
# Test skills
> "Analyze this codebase" # Should activate analyze skill-
Create skill directory
mkdir -p plugin/skills/my-skill/operations
-
Create SKILL.md
--- name: my-skill description: What this skill does and when to use it --- # My Skill [Documentation...]
-
Add operations (optional)
touch plugin/skills/my-skill/operations/operation-1.md
-
Test skill
- Restart Claude Code
- Trigger skill via natural language
Skills can integrate with state manager:
// In skill logic (conceptual)
const StateManager = require('${CLAUDE_PLUGIN_ROOT}/scripts/state-manager.js');
const manager = new StateManager();
// When skill starts
manager.startStep('my-skill');
// When skill completes
manager.completeStep('my-skill', {
filesCreated: ['output.md']
});- Clear description - Include trigger phrases and use cases
- Step-by-step process - Break down complex tasks
- Success criteria - Define what "complete" means
- Next steps - Guide user to the next skill
- Error handling - Handle missing prerequisites gracefully
- Check prerequisites - Verify previous steps completed
- Update state - Mark steps as started/completed
- Validate output - Ensure expected files were created
- Guide next step - Tell user what to do next
- Main SKILL.md - High-level overview and process
- operations/ - Detailed sub-task guides
- Examples - Show expected input/output
- Common issues - Troubleshooting section
- Hooks integration - Auto-track file changes, update specs
- MCP integration - Expose state and progress as MCP resources
- Slash commands -
/re-toolkit:status,/re-toolkit:next - Progress visualization - Visual workflow diagram in Claude Code
- Multi-project support - Track multiple projects simultaneously
- Team collaboration - Share state across team members
- Templates customization - Project-specific template variants
migrate-framework- Guide framework migration using specsaudit-specs- Verify specs match implementationgenerate-tests- Auto-generate tests from specssync-docs- Keep docs in sync with code changes
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Add/improve skills or operations
- Test thoroughly with local plugin
- Submit a Pull Request
MIT
- Repository: https://github.com/jschulte/stackshift
- Issues: https://github.com/jschulte/stackshift/issues
- Documentation: See README.md and individual SKILL.md files
Built for Claude Code | Powered by Skills | Spec-Driven Development | 🚗 Shift with Confidence