Evaluate existing solutions (libraries, SaaS, open source) before custom development to avoid reinventing the wheel. Use when considering building new features, asking "should I build or use existing", or need build vs buy cost analysis with token estimates.
Evaluates existing solutions and provides build-vs-buy analysis to avoid reinventing the wheel.
/plugin marketplace add rjmurillo/ai-agents/plugin install project-toolkit@ai-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
| Trigger Phrase | Action |
|---|---|
| "should I build X or use a library" | Search existing solutions, provide comparison |
| "find existing solutions for X" | Web search, categorize findings |
| "is there a package for X" | Search npm/pip/cargo/etc |
| "build vs buy for X" | Generate cost comparison table |
| "check if X exists before building" | Run full wheel detection workflow |
Before writing a single line of code, determine if the wheel already exists. Vibe coding burns tokens, time, and creates maintenance burden. Existing solutions often provide better quality, security patches, and community support.
Extract from user request:
Search strategy (use web_search):
"{functionality} library {language}""{functionality} open source""{functionality} SaaS tool""best {functionality} solution 2024""{functionality} npm/pip/cargo package" (based on ecosystem)Categorize findings:
Use the token estimation reference: references/token-estimates.md
Factors to estimate:
| Factor | Low | Medium | High |
|---|---|---|---|
| Lines of Code | <200 | 200-1000 | >1000 |
| Token Burn (est.) | 5-20K | 20-100K | 100K+ |
| Development Iterations | 1-3 | 4-10 | 10+ |
| Debugging Sessions | Minimal | Moderate | Extensive |
| Maintenance Burden | Low | Medium | High |
Always present a decision table:
| Option | Type | Cost | Setup Time | Maintenance | Token Burn | Verdict |
|--------|------|------|------------|-------------|------------|---------|
| [Solution A] | Library | Free | 5 min | Updates only | 0 | ✅ Recommended |
| [Solution B] | SaaS | $X/mo | Instant | None | 0 | ⚡ Fastest |
| Vibe Code | Custom | Free | X hrs | You own it | ~XK tokens | 🔧 Full control |
| Factor | Build | Buy | Weight | Score |
|---|---|---|---|---|
| Core competency | [Evidence] | [Evidence] | 30% | [Weighted score] |
| Time to value | [Evidence] | [Evidence] | 25% | [Weighted score] |
| Total cost (5 years) | [Evidence] | [Evidence] | 20% | [Weighted score] |
| Customization needs | [Evidence] | [Evidence] | 15% | [Weighted score] |
| Team expertise | [Evidence] | [Evidence] | 10% | [Weighted score] |
| Total Score | 100% | [Sum] |
Build Hidden Costs:
Buy Hidden Costs:
Use Geoffrey Moore's framework to prioritize investment:
| Capability | Type | Rationale | Strategy |
|---|---|---|---|
| [Capability 1] | Core | [Differentiates business] | Build, own, invest |
| [Capability 2] | Context | [Necessary but commodity] | Buy, outsource |
Key Insight: Building context is a distraction from core. Buy context, build core.
Evaluate technology maturity:
## Buy vs Build Recommendation: [Capability]
**Verdict**: [BUILD | BUY | HYBRID]
### Core Rationale
[Primary reason in 2-3 sentences]
### Evaluation Scores
- Build score: [X/100]
- Buy score: [Y/100]
### Core vs Context
[Core/Context classification with justification]
### Hidden Costs Accepted
**If Build**: [Maintenance burden, opportunity cost, expertise]
**If Buy**: [Lock-in level, integration complexity, licensing]
### Decision Confidence
[High | Medium | Low] - [Why]
### Review Trigger
Revisit if: [Conditions that would change this decision]
Recommend existing solutions when:
Recommend vibe coding when:
If user chooses to build after seeing alternatives:
When the user accepts a recommended solution, provide a complete integration plan:
Before generating the plan, analyze the user's project:
package.json (npm/yarn/pnpm), requirements.txt/pyproject.toml (pip/poetry), Cargo.toml (cargo), go.mod (go)Provide ready-to-run commands for the detected package manager:
# npm
npm install <package>
# yarn
yarn add <package>
# pnpm
pnpm add <package>
# pip
pip install <package>
# poetry
poetry add <package>
Create a numbered action plan:
Provide code scaffolding that:
Flag any concerns:
For features with meaningful cost implications (auth, payments, email, infrastructure), provide a Total Cost of Ownership (TCO) comparison.
Include cost table when:
Use the pricing reference: references/pricing-data.md
Formula:
Year N Cost = Setup Cost + (Monthly × 12 × N) + (Maintenance × N)
Where:
- Setup Cost (DIY) = Token Estimate × $0.015/1K tokens
- Maintenance (DIY) = 20% of Setup Cost annually
- Maintenance (SaaS) = $0
## 💰 Cost Analysis
| Option | Setup | Monthly | Year 1 | Year 3 | Notes |
|--------|-------|---------|--------|--------|-------|
| [SaaS A] | 10min | $25 | $300 | $900 | Free tier: 10K MAU |
| [SaaS B] | 15min | $35 | $420 | $1,260 | More features |
| [Free/OSS] | 1hr | $0 | $0 | $0 | Self-host required |
| DIY | Xhrs | $0 | ~$Y | ~$Z | + maintenance burden |
💡 **Break-even:** [When DIY becomes cheaper, if ever]
⚠️ **Hidden costs:** [Security audits, compliance, on-call burden]
Always mention relevant hidden costs:
Warn users when they say:
## 🔍 Existing Solutions Found
I found [N] existing solutions before we write custom code:
### Libraries/Packages
- **[Name]**: [one-line description] | [stars/downloads] | [link]
### Open Source Tools
- **[Name]**: [one-line description] | [stars] | [link]
### SaaS Options
- **[Name]**: [one-line description] | [pricing] | [link]
## 📊 Build vs Buy Comparison
| Option | Type | Cost | Setup | Maintenance | Est. Tokens |
|--------|------|------|-------|-------------|-------------|
| ... | ... | ... | ... | ... | ... |
## 💰 Cost Analysis (for significant decisions)
| Option | Setup | Monthly | Year 1 | Year 3 | Notes |
|--------|-------|---------|--------|--------|-------|
| ... | ... | ... | ... | ... | ... |
💡 **Break-even:** [analysis]
⚠️ **Hidden costs:** [security, compliance, maintenance]
## 💡 Recommendation
[Clear recommendation with reasoning]
## 🔧 If You Still Want to Build
[Only if user wants custom solution - suggest hybrid approach]
When the user says "let's use [recommended solution]" or "how do I add this?", respond with:
## 🚀 Integration Plan: [Solution Name]
### Your Project Context
- **Detected**: [framework], [package manager], [language]
- **Project structure**: [src/app/lib layout]
### Step 1: Install Dependencies
\`\`\`bash
[exact install command for their package manager]
\`\`\`
### Step 2: Configuration (if needed)
[Any config file changes needed]
### Step 3: Create New Files
📁 `[suggested/file/path.ts]`
\`\`\`typescript
[starter code matching their project style]
\`\`\`
### Step 4: Update Existing Files
📝 `[existing/file/to/modify.ts]`
\`\`\`typescript
// Add this import
import { X } from '[package]'
// Use it like this
[integration code]
\`\`\`
### ⚠️ Notes
- [Any warnings about versions, conflicts, or requirements]
### 📚 Resources
- [Official docs link]
- [Relevant examples]
Alert users when they're about to reinvent:
| Task Complexity | Typical Token Burn | Time Equivalent |
|---|---|---|
| Simple script (<100 LOC) | 5-15K | 30min-1hr |
| Utility module (100-500 LOC) | 15-50K | 2-4hrs |
| Feature component (500-2K LOC) | 50-150K | 1-2 days |
| Full application | 150K-500K+ | Days-weeks |
See references/token-estimates.md for detailed breakdowns.
See references/common-solutions.md for exhaustive list of commonly reinvented wheels.
See references/integration-patterns.md for project detection and starter code patterns.
See references/pricing-data.md for SaaS pricing and cost calculation data.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.