001tmf/blatant-why/by-hypothesis-debate
Claude Code and agent skill by 001tmf/blatant-why
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install 001tmf/blatant-why/by-hypothesis-debateSKILL.md
BY Hypothesis-Debate Skill
Picking the wrong design strategy on a novel target wastes a GPU day. This skill forces an explicit, structured debate before any compute is spent: three hypothesis agents propose competing strategies in parallel, then a reflection agent ranks them against a fixed rubric. The winner becomes the campaign config.
The pattern is borrowed from adversarial ML and red-team review — it works because three independently-constrained agents will surface failure modes that a single planner misses, and the reflection step exposes hidden assumptions that would otherwise propagate into the campaign plan.
When to Use This Skill
✅ Use this skill when:
- Starting a campaign against a novel target (0–1 PDB structures, no SAbDab antibodies, <10 papers)
- Research findings have
CONTRADICTEDconfidence (sources disagree on epitope, modality, or scaffold) - Multiple viable modalities are on the table (VHH vs scFv vs de novo binder) and the user has not pinned one
- The user explicitly says "compare approaches", "explore options", "which strategy would you pick"
- Target difficulty is rated
novelorexploratorybyby-research - A previous campaign against the same target failed with hit rate < 5% (this skill helps replan, not retry)
❌ Do NOT use this skill when:
- Target is well-studied with a clear precedent (e.g., TNF-alpha, PD-L1, HER2) → use
by-campaign-managerdirectly - The user has already specified modality, scaffolds, and tier — debating wastes turns
- Running a preview / feasibility campaign — overhead of 3-agent debate is not worth it for 5–10 designs
- Iterating on a previously-approved campaign (round 2, 3, … reuse the prior strategy)
- The campaign is gated on lab submission — debate occurs upstream of
/by:approve-lab, not after
Quick Start
Invoke from the orchestrator (main session) after by-research has written research.md and recommended_hotspots.json to the campaign directory:
Expected runtime: 4–8 minutes (3 hypothesis agents run in parallel ~3 min each, reflection agent runs sequentially ~2 min). Expected output: debate/proposals/ with three strategy_proposal.json files, debate/ranking.json, and an updated campaign_config.yaml reflecting the winning strategy.
Inputs
Required:
- Research report directory — must contain
research.md,recommended_hotspots.json,design_recommendation.json, andvalidated_findings.jsonfromby-research(8-phase pipeline) - Campaign config skeleton — a YAML file with
target,pdb_id,computeblock, butmodality,scaffolds,tierare TBD
Alternative inputs:
- `campaign_context.json` — if present (from
/by:plan-campaign), the user's preferences seed the agents but do NOT override the debate. Agents see the preference as a prior, not a constraint - `previous_debate.json` — if rerunning after a failed campaign, prior debate gives historical signal to the reflection agent
Optional:
- Debate budget — number of hypothesis agents (default 3; 2 acceptable for tight token budgets, 4–5 for high-stakes campaigns)
- Reflection temperature — default 0.2 for ranking stability; raise to 0.5 for genuinely novel targets to encourage challenging the rubric
- Tie-break mode —
merge(default),aggressive_wins,user_decides
See references/agent-profiles.md for full input specifications including agent-specific directive templates.
Outputs
All outputs land under <campaign_dir>/debate/:
| File | Description | Written By | |
|---|---|---|---|
proposals/conservative.json | Strategy proposal from Conservative agent | hypothesis agent 1 | |
proposals/aggressive.json | Strategy proposal from Aggressive agent | hypothesis agent 2 | |
proposals/diverse.json | Strategy proposal from Diverse agent | hypothesis agent 3 | |
ranking.json | Reflection agent's scoring, winner, and rationale | reflection agent | |
debate_log.jsonl | Append-only audit trail of every agent dispatch | orchestrator | |
campaign_config.yaml | Updated config — modality, scaffolds, tier filled in from winner | orchestrator | |
decision_summary.md | Human-readable recap (target, candidates, choice, why) | reflection agent |
strategy_proposal.json Schema
Every hypothesis agent writes one of these. Validation: scripts/validate_proposal.py.
ranking.json Schema
The reflection agent writes one per debate.
For the full schema with field-by-field type constraints, see references/ranking-rubric.md.
Clarification Questions
⚠️ CRITICAL: ASK THIS FIRST — confirm research is complete before debating.
- Research output present? (ASK THIS FIRST)
- Does
<campaign_dir>/research/research.mdexist? If not → runby-researchfirst; debate is pointless without target context - Are there
recommended_hotspots.jsonANDdesign_recommendation.json? If not → debate has no input - If
validated_findings.jsonshows zero HIGH confidence findings → tell user; the debate will likely produce low-confidence proposals
- Has the user pinned a modality?
- If
campaign_context.jsonspecifiesmodality→ seed the agents but allow them to challenge it - If user said "use VHH" in conversation → still run debate; agents may surface a reason VHH is wrong here
- If user said "VHH only, do not consider alternatives" → SKIP debate, go straight to
by-campaign-manager
- What is the compute budget?
- Local GPU available? → all proposals can use
compute_provider: local - HPC (RunPod) only? → agents must size designs against HPC time budget
- Tamarind only? → agents must consider per-design cost in feasibility scoring
- How novel is the target really?
- 0 PDB, 0 SAbDab, <5 papers → use full 3-agent debate, raise reflection temperature
- 0 PDB, 0 SAbDab, but has homologs with known binders → run debate; the Conservative agent will lean on homologs
- Has PDB but no antibodies → likely doesn't need debate; consider skipping
- Tie-break preference?
- Default
merge— winner gets best ideas folded in from runners-up aggressive_wins— when user explicitly wants the highest-novelty option to break tiesuser_decides— escalate to user when top 2 scores differ by < 5%
- Is this a replan after failure?
- If yes, point to
campaigns/<target>/.../previous_debate.json. Reflection agent will downrank strategies similar to the failed one - Add the failure mode (e.g., "all designs had ipSAE < 0.4") to the orchestration prompt so agents avoid it
- What is the primary goal of this campaign?
- Hit rate → favors Conservative (well-trodden paths)
- Diversity → favors Diverse (broad epitope/scaffold coverage)
- Novelty / first-in-class → favors Aggressive (high-novelty hypotheses)
- Balanced → reflection rubric weights all four dimensions equally
For decision detail and example transcripts, see references/agent-profiles.md §2.
Standard Workflow
🚨 MANDATORY: USE `scripts/orchestrate_debate.py` — DO NOT INLINE THE TASK() CALLS 🚨
The orchestrator script wraps Task() dispatch, agent prompt construction, JSON validation, and writes the debate log. Inlining the calls breaks the audit trail and skips proposal schema validation.
Step 1: Verify Research Inputs
✅ VERIFICATION: All four files exist and validated_findings.json has at least 1 finding with confidence HIGH or MEDIUM.
❌ DON'T: Start the debate if research is incomplete — agents will hallucinate.
Step 2: Run the Orchestrator
Expected stdout:
Step 3: Validate Proposals (Automatic)
The orchestrator calls scripts/validate_proposal.py on each proposal before passing to the reflection agent. If a proposal fails validation, it is dropped and reported. The reflection agent never sees malformed proposals.
Step 4: Review the Decision
Read <campaign_dir>/debate/decision_summary.md. Present the winner to the user with the dissenting notes from runners-up.
Step 5: Hand Off to by-campaign-manager
Once the user approves the winner, the updated campaign_config.yaml flows directly into by-campaign-manager for execution. No re-planning needed.
Script Failure Hierarchy
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingtemplates/.claude/skills/by-hypothesis-debate/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/001tmf/blatant-why/by-hypothesis-debate)