Vibe
Skill th3vib3coder/vibe-science/archive/vibe-science-legacy-pre-v5.0/vibe
Adversarial agent loops for verifiable vibe researching. Claude Code plugin. Falsification-first, not production-first.
npx -y skills add th3vib3coder/vibe-science --skill vibeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scientific research in serendipity mode. Infinite loops until discovery, rigorous tracking, adversarial review.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
14.3 KB, as published. Nobody here has run it
Vibe Science
Scientific research in serendipity mode. Infinite loops until discovery, rigorous tracking, adversarial review.
When to Use
Use this skill when:
- Exploring a scientific hypothesis that needs literature validation
- Searching for research gaps ("buchi") in a domain
- Validating theoretical ideas against existing data
- Finding unexpected connections (serendipity)
Core Principle: "Biologia teorica + validazione con dati. Senza conferme numeriche, si lascia perdere." (Theoretical biology validated by data. Without numerical confirmation, abandon it.)
Announce at Start
"I'm using the vibe-science skill to explore [RESEARCH QUESTION]. I'll search literature, track findings, and validate with data. Reviewer 2 will challenge major discoveries."
The Loop
┌─────────────────────────────────────────────────────────────┐
│ VIBE SCIENCE LOOP │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. CRYSTALLIZE STATE │
│ └─ Write current understanding to .md files │
│ │
│ 2. SEARCH LITERATURE │
│ └─ Scopus → PubMed → OpenAlex │
│ └─ Track: query, results, gaps found │
│ │
│ 3. ANALYZE FINDINGS │
│ ├─ Major finding? → REVIEWER 2 IMMEDIATE │
│ └─ Minor finding? → Accumulate (batch review @ 3) │
│ │
│ 4. EXTRACT DATA │
│ └─ Download supplementary materials (NO TRUNCATION) │
│ └─ Parse tables, methods, datasets │
│ │
│ 5. VALIDATE │
│ └─ Data exists? → Continue │
│ └─ No data? → ABANDON THIS PATH │
│ │
│ 6. CHECK STOP CONDITIONS │
│ ├─ Goal achieved? → EXIT with SYNTHESIS │
│ ├─ Dead end confirmed? → EXIT with NEGATIVE RESULT │
│ ├─ Serendipity found? → PIVOT (new RQ, new folder) │
│ └─ None? → LOOP BACK TO 1 │
│ │
└─────────────────────────────────────────────────────────────┘
Folder Structure
.vibe-science/
├── STATE.md # Current session state (max 100 lines)
├── PROGRESS.md # Append-only log of all actions
├── SERENDIPITY.md # Unexpected discoveries log
│
└── RQ-001-[slug]/ # Per Research Question
├── RQ.md # Research question definition
├── FINDINGS.md # Accumulated findings
│
├── 01-discovery/ # Phase: Literature discovery
│ ├── 2025-01-30-scopus-crispr-ot.md
│ ├── 2025-01-30-pubmed-guide-seq.md
│ └── queries.log # All queries run
│
├── 02-analysis/ # Phase: Pattern analysis
│ ├── 2025-01-30-gap-analysis.md
│ └── 2025-01-30-connection-map.md
│
├── 03-data/ # Phase: Data extraction
│ ├── supplementary/ # Downloaded files
│ └── 2025-01-30-dataset-inventory.md
│
├── 04-validation/ # Phase: Numerical validation
│ ├── 2025-01-30-statistical-tests.md
│ └── 2025-01-30-replication.md
│
└── 05-reviewer2/ # Adversarial reviews
├── 2025-01-30-review-major-001.md
└── batch-minor-001.md
File Templates
STATE.md (max 100 lines)
---
rq: RQ-001
phase: discovery
cycle: 7
last_updated: 2025-01-30T14:30:00Z
minor_findings_pending: 2
---
## Current Focus
[What we're investigating right now - 2-3 sentences]
## Key Findings This Session
- [Finding 1 with source]
- [Finding 2 with source]
## Open Questions
1. [Question needing resolution]
## Next Action
[Exact next step to take]
## Blockers
- [If any]
PROGRESS.md (append-only)
# Progress Log
## 2025-01-30
### Cycle 7 - 14:30
- **Action:** Scopus search "unbalanced optimal transport" AND biology
- **Result:** 16 papers found - potential gap!
- **Decision:** Deep dive on Schiebinger 2019 (Waddington-OT)
- **Serendipity:** None
### Cycle 6 - 14:15
- **Action:** Abstract retrieval 10.1016/j.cell.2019.01.006
- **Result:** Full methodology extracted, uses standard OT not unbalanced
- **Decision:** Check if UOT variant exists in literature
- **Serendipity:** Found reference to scRNA-seq trajectory inference
RQ.md
---
id: RQ-001
created: 2025-01-30
status: active
priority: high
serendipity_origin: null # or "RQ-000" if branched
---
# Research Question
## Question
[Precise research question]
## Hypothesis
[Testable hypothesis]
## Success Criteria
- [ ] [Measurable criterion 1]
- [ ] [Measurable criterion 2]
## Data Requirements
- [What data is needed to validate]
- [Where it might come from]
## Kill Conditions
- [When to abandon this RQ]
Finding Document
---
type: major|minor
confidence: HIGH|MEDIUM|LOW
reviewed: false
reviewer2_id: null
---
# [Finding Title]
## Summary
[2-3 sentences]
## Evidence
### Source 1
- **Paper:** [Title]
- **DOI:** [doi]
- **Relevant quote:** "[exact quote]"
- **Page/Section:** [location]
### Source 2
...
## Implications
[What this means for the RQ]
## Counter-evidence
[Any contradicting findings - be honest]
## Confidence Justification
[Why HIGH/MEDIUM/LOW]
Reviewer 2 Protocol
Reviewer 2 is an adversarial agent spawned to challenge findings.
When to Invoke
| Trigger | Action |
|---|---|
| Major finding | Immediate review |
| 3 minor findings accumulated | Batch review |
| Before concluding RQ | Final review |
| Serendipity pivot | Review pivot justification |
Reviewer 2 System Prompt
You are Reviewer 2 - the harshest, most skeptical reviewer in scientific publishing.
Your job is NOT to be helpful. Your job is to DESTROY weak claims.
For each finding presented:
1. DEMAND COUNTER-ANALYSIS
- What would disprove this?
- Has the researcher looked for contradicting evidence?
- What's the null hypothesis?
2. ATTACK METHODOLOGY
- Is the search strategy complete?
- Are there obvious databases/keywords missed?
- Is the sample biased?
3. QUESTION CONFIDENCE
- Is HIGH confidence justified?
- What would need to be true for this to be wrong?
- Are there alternative explanations?
4. DEMAND FALSIFICATION
- What experiment would falsify this hypothesis?
- Has anyone tried and failed?
- Is this even testable?
5. CHECK FOR HALLUCINATION
- Is every claim tied to a specific source?
- Are quotes accurate?
- Are DOIs valid and accessible?
Output format:
- FATAL FLAW: [if finding should be rejected]
- MAJOR CONCERN: [serious issues requiring response]
- MINOR CONCERN: [nice to address]
- APPROVED: [only if finding survives scrutiny]
Be harsh. Be unfair. Real Reviewer 2s are.
Invoking Reviewer 2
## Reviewer 2 Session
**Finding under review:** [link to finding document]
**Review type:** Major finding / Batch minor / Final / Pivot
---
[Spawn subagent with Reviewer 2 system prompt]
[Provide finding document(s)]
[Receive critique]
[Document response in finding document]
[Update reviewed: true, reviewer2_id: [id]]
Literature Search Protocol
Source Priority
- Scopus (via API) - Comprehensive, citation data
- PubMed (via API) - Biomedical focus, free
- OpenAlex (via API) - Open, good for connections
Search Strategy
## Search Log Entry
**Query:** TITLE-ABS-KEY("unbalanced optimal transport") AND TITLE-ABS-KEY(biology OR genomics)
**Database:** Scopus
**Date:** 2025-01-30
**Results:** 16
**Relevant:** 4
**Gap identified:** Yes - no UOT applications to CRISPR off-target
**Papers to deep-dive:**
1. DOI: 10.xxx - [reason]
2. DOI: 10.xxx - [reason]
Anti-Hallucination Rules
- NEVER present information without a source
- ALWAYS include DOI or PMID
- QUOTE exact text, don't paraphrase claims
- VERIFY DOIs are accessible before citing
- MARK confidence level on every finding
Confidence Levels
| Level | Criteria |
|---|---|
| HIGH | Multiple sources confirm, data accessible, methodology clear |
| MEDIUM | Single authoritative source, or multiple weak sources |
| LOW | Training knowledge only, or unverified web source |
Data Extraction Protocol
Supplementary Materials
## Supplementary Material Log
**Paper:** [Title]
**DOI:** [doi]
**Files downloaded:**
- [ ] Table S1 - Gene list (CSV)
- [ ] Table S2 - Statistical results (XLSX)
- [ ] Methods S1 - Protocol details (PDF)
- [ ] Data S1 - Raw sequencing (link to GEO/SRA)
**Extraction notes:**
- Table S1: 2,847 genes, columns: gene_id, log2FC, padj
- Table S2: Contains the exact statistical test parameters needed
NO TRUNCATION Rule
When reading supplementary files:
- Read ENTIRE file, not first N lines
- If file too large, process in chunks but cover ALL
- Log: "Read lines 1-1000 of 5000" → "Read lines 1001-2000..." → complete
- Never summarize without reading complete data
Stop Conditions
Successful Exit
## Research Conclusion: SUCCESS
**RQ:** [question]
**Answer:** [validated answer]
**Key evidence:**
1. [Finding 1 with source]
2. [Finding 2 with source]
**Data validation:**
- [Numerical confirmation obtained]
- [Statistical test results]
**Reviewer 2 clearance:** [link to final review]
**Next steps:**
- [ ] Write up for publication
- [ ] Identify target journal
Negative Exit
## Research Conclusion: NEGATIVE
**RQ:** [question]
**Conclusion:** Hypothesis not supported
**Reasons:**
1. [Why it failed]
2. [What was missing]
**Effort summary:**
- Cycles: 23
- Papers reviewed: 47
- Data sources checked: 12
**What would change this:**
- [Conditions under which to revisit]
Serendipity Pivot
## Serendipity Discovery
**Original RQ:** [what we were looking for]
**Discovery:** [what we found instead]
**Why this matters:**
[Explanation]
**Evidence:**
- [Source 1]
- [Source 2]
**Action:** Creating RQ-002 to pursue this
**Link:** ./RQ-002-[new-slug]/RQ.md
Deviation Rules
From research plan:
| Situation | Action |
|---|---|
| Bug in search query | Auto-fix, log |
| Missing database | Add search, log |
| Minor finding | Accumulate, continue |
| Major finding | Stop, invoke Reviewer 2 |
| Serendipity | Log, decide: pivot or note |
| Dead end | Document, try alternative |
| No data available | STOP THIS PATH |
| Architectural change needed | STOP, ask human |
Integration with Tools
Required MCP Servers
- Scopus API - Literature search (requires institutional access)
- PubMed API - Biomedical literature (free)
- OpenAlex API - Open scholarly data
Scopus Query Examples
# Basic search
TITLE-ABS-KEY(CRISPR) AND TITLE-ABS-KEY("off-target")
# Author search
AU-ID(37064674600) # Lazzarotto
# Citation search
REFEID(2-s2.0-85060123456)
# Recent + sorted
TITLE-ABS-KEY("optimal transport") AND PUBYEAR > 2020
&sort=citedby-count
Session Initialization
At the start of each session:
- Read STATE.md
- Read last 20 lines of PROGRESS.md
- Check pending minor findings count
- Resume from "Next Action" in STATE.md
Quality Checklist
Before concluding any finding:
- All claims have sources with DOIs
- Confidence level justified
- Counter-evidence searched for
- Data availability confirmed
- Reviewer 2 approved (if major)
Before concluding RQ:
- All success criteria addressed
- Numerical validation obtained
- Final Reviewer 2 clearance
- PROGRESS.md complete
- Serendipity logged if any
Example Session
Cycle 1:
- Crystallize: "Investigating UOT for CRISPR off-target prediction"
- Search: Scopus "unbalanced optimal transport" + CRISPR → 0 results
- Search: Scopus "optimal transport" + CRISPR → 57 results
- Analyze: Gap identified! No one using UOT variant
- Decision: Check if UOT has advantages that apply here
Cycle 2:
- Search: Scopus "unbalanced optimal transport" applications → 200 results
- Analyze: UOT handles mass differences (cells dying, proliferating)
- Finding (minor): UOT useful when populations have different total mass
- Accumulate (1/3 for batch review)
Cycle 3:
- Search: Scopus CRISPR off-target + "mass spectrometry" → find cell death data
- Extract: Supplementary Table S3 has cell viability percentages
- Finding (minor): Off-target effects correlate with cell death
- Accumulate (2/3 for batch review)
Cycle 4:
- Search: PubMed GUIDE-seq methodology
- Extract: Full protocol from Tsai 2015
- Finding (major): GUIDE-seq produces count data that could be OT input!
- STOP → Invoke Reviewer 2
[Reviewer 2 session]
- Challenge: Is count data suitable for OT formulation?
- Response: Yes, OT works on discrete measures, counts are valid
- Challenge: Why UOT specifically?
- Response: Cell death means unequal totals pre/post editing
- Verdict: APPROVED with minor concern (need to verify count normalization)
Cycle 5:
- Continue with validated direction...