vibe-research-before-design
Researches real projects, papers, and documented failures before proposing a new feature, architecture, or technology choice. Use for design decisions with multiple valid approaches, not for implement
Files1
View on GitHubSKILL.mdplugins/vibe-engineering/skills/vibe-research-before-design/SKILL.md
GitHubvibe-research-before-design
Other people's documented failures count as observed failure. Before proposing a design, find out how others solved the same problem and where it broke for them.
When to Use This Skill
- Designing a new feature, subsystem, or architecture
- Choosing between technologies, frameworks, or patterns
- Making a decision with long-term consequences that is expensive to reverse
- The user asks "how should we build X?"
- You're about to say "I recommend..." for a design choice
When NOT to Use This Skill
- Implementing an already-designed spec (the research was done at design time)
- Fixing a bug with a known approach
- Routine or mechanical changes with one obvious correct solution
- The user has already chosen the technology and wants implementation
- The decision was already researched and recorded (check
vibe-decision-journalfirst)
Steps
Frame the question — What exactly is being decided? What are the hard constraints (scale, latency, cost, team skills, existing stack)?
Decompose into sub-problems that can be researched independently.
Research each sub-problem using whatever web search or research tool the harness provides. Run sub-problems in parallel (subagents) when the harness supports it. For each, find:
Requirement Minimum Real projects or production systems 2+, with a link Paper, post-mortem, or engineering write-up 1+, with a link and year Mechanism How it actually works, not marketing copy Known failures What went wrong for others, and under what conditions Fit How it maps to our constraints, specifically Verify before citing — Every source must be something you actually opened in this session. Don't quote adoption numbers (stars, downloads, users) from memory; either read them from the source or leave them out. If search is unavailable, say so and label the output "from prior knowledge, unverified."
Synthesize — Compare the options side by side, with the imported failures up front.
Recommend — Base the recommendation on the evidence and state your confidence. Name the condition that would change your mind.
Record — Log the decision and the rejected alternatives with
vibe-decision-journal.
Red Flags
| Thought | Reality |
|---|---|
| "I already know the best approach" | You know one approach. Research finds the others. |
| "This is too niche for research" | If someone built it, someone documented where it failed. |
| "Research will slow us down" | A rewrite is slower. |
| "Everyone uses X" | Popularity is not fitness for your constraints. |
| "I'll cite what I remember" | Unverified citations are the most common way research output goes wrong. |
Output Format
Research Summary
- Decision: [what we're deciding]
- Constraints: [key constraints]
- Options evaluated: X
Comparison
| Criteria | Option A | Option B | Option C |
|---|---|---|---|
| Mechanism | |||
| Known failures | |||
| Fit with constraints |
Recommendation
[Evidence-based recommendation, confidence level, and what would change it]
Sources
[Links actually opened, one line each on what they showed]