Non-Consensus Research Pipeline
A reusable, topic-agnostic skill that turns Claude (or Codex) into a self-running market-research apparatus. It hunts findings that are technically true and still absent from mainstream analyst consensus, with brutal verification to throw away anything that isn't.
When to invoke
The user wants to:
- Build a continuously-updated research repository on any technical or market domain.
- Combine findings across sectors / sub-domains to surface emergent insights no single-sector report contains.
- Apply an independent "is this really not priced in?" verification pass to every claim.
- Generate a clean public site that updates automatically and reads well on mobile.
If the user just wants a one-shot research report, do not invoke this skill — use a single research agent instead. This skill is for the ongoing version that runs on a schedule.
What you'll set up
The pipeline has three durable layers and one disposable layer per cycle.
Durable
- A spec file (
orchestration/PIPELINE.mdtemplate provided) that defines the topic domain, the N sectors, keyword seeds, source tiers, and validation criteria. - A
CLAUDE.md(orAGENTS.md) file in the working repo that encodes the recurring cycle protocol. - A scheduled remote agent (cron
0 */N * * *, default 5h) that re-executes the full pipeline. - A static HTML viewer (
index.html) that fetches the generated markdown at runtime and renders it. No build step.
Per-cycle (disposable)
- N parallel sector teams (Collector → Analyzer → Validator → Writer)
- A global synthesis agent (4 deliverables)
- An independent verification agent (skeptical web search against current consensus)
- A clean-deletion purge of all
ALREADY-PRICED-INfindings
The eight-step cycle (every N hours)
Memorize this. Every recurring run must complete all eight steps. If a step is skipped or a deliverable is missing, the run is incomplete.
Step 0 — Read state
Read research/run_history.md to determine the current Run #N (next = latest entry's N + 1). Read each sector's existing sources.json to know what's already been seen.
Step 1 — Discover NEW sources
For each of the N sectors, run a Collector agent that searches Tier 1–4 sources (peer-reviewed, preprints, specialist analysis, vendor disclosures) for material that did NOT appear in the prior run's sources.json. APPEND new entries; never remove existing.
Step 2 — Analyze NEW papers
For each newly added source, write papers/paper-NNN.md with: one-sentence claim, methodology, quantitative results, stated and inferred limitations, architectural significance, cross-paper connections, theme tags. Skip already-analyzed sources.
Step 3 — Re-validate NEW papers
Apply six criteria: (1) Recency, (2) Cross-reference, (3) Methodology disclosure, (4) Benchmark fairness, (5) No public rebuttal, (6) Traceable attribution. Assign VALIDATED / CONTEXT-ONLY / REJECTED. Append to validation_log.md.
Step 4 — Refresh sector synthesis if needed
If a sector has new validated findings, refresh its research.md to reflect the full corpus. If no new findings, leave it untouched.
Step 5 — FULLY REWRITE these three global files (not incremental)
cross_sector_alpha.md— the N(N-1)/2 pairwise matrix + ranked deep dives (see Permutation Analysis below)future_trends.md— full rewrite with fresh signals/falsifiersmarket_opportunities.md— full rewrite
Even if findings repeat verbatim, REWRITE. The intro must state which finds are unchanged-from-previous vs new this run.
Step 6 — conclusion.md is ADDITIVE
Append any genuinely new conclusions with the marker **[Run #N — new conclusion]**: …. Past conclusions remain.
Step 7 — Independent Verification Agent (MANDATORY)
Spawn a SEPARATE agent context (no shared reasoning with the synthesis author). It:
- Reads
cross_sector_alpha.mdandmarket_opportunities.md. - For each "not priced in" / "non-consensus" claim, performs fresh web searches against sell-side desks (Goldman, Morgan Stanley, Bernstein), specialist research (SemiAnalysis, Epoch AI, TrendForce, The Next Platform, Substack analysts), trade press (Tom's Hardware, EE Times, Reuters), and vendor disclosures.
- Assigns a verdict per claim:
VERIFIED-NOT-PRICED-IN,PARTIALLY-PRICED-IN, orALREADY-PRICED-IN, with at least one dated evidence URL + quote. - Writes
research/verification_log.md.
Be skeptical. If any major analyst or specialist outlet already publishes the claim, it's at least PARTIALLY priced — downgrade.
Step 7.5 — POST-VERIFICATION PURGE (clean deletion only)
DELETE every ALREADY-PRICED-IN entry from:
cross_sector_alpha.md— remove deep-dive sections; normalize matrix verdicts to plain "Yes"market_opportunities.md— remove the opportunity, renumber surviving entries sequentially
No marks, no breadcrumbs, no strikethrough. The documents must read as if the removed items never existed. The verification_log.md is the complete audit trail.
Do NOT purge from conclusion.md or future_trends.md (different semantics).
Step 7.6 — OVERWRITE opportunity.md
Fully rewrite the curated action list — Tier 1 (VERIFIED-NOT-PRICED-IN) and Tier 2 (PARTIALLY-PRICED-IN) only. Each entry: opportunity, the bet, why still mispriced, catalyst, action window, falsifier, cross-reference. End with a "What changed from previous run" note. Empty file is acceptable if nothing survives.
Step 8 — Append Run #N entry to run_history.md
Template:
## Run #N — YYYY-MM-DD HH:MM UTC
- Sectors with new sources: [list, or "none"]
- New cross-sector alpha finds: [list, or "no new finds — current set unchanged"]
- Verification verdict: X verified / Y partial / Z already-priced
- New conclusions added: [list, or "none"]
- Overall: GENUINELY NEW FINDINGS | MINOR REFRESH | NO MATERIAL CHANGE
Step 9 — Commit and push
git add research/
git commit -m "Run #N — [one-line verdict summary]"
git push origin main
The viewer site auto-updates within ~60 seconds.
Permutation Analysis (the engine of Step 5's cross-sector file)
The single-sector view is dead. Everyone reads the same specialist post. Alpha lives at intersections.
For N sectors, run a C(N,2) pairwise matrix (e.g. 45 cells for 10 sectors). For each pair, ask: what becomes possible / constrained / inevitable / mispriced when you combine specific findings from both sectors that neither reveals alone?
Then run 8–12 triple combinations where dependencies compound. Then filter ruthlessly through Step 7's verification, drop the priced-in, rank the survivors by (payoff magnitude) × (degree of mispricing) × (evidence strength).
For each top survivor, write a deep dive: the combination, emergent insight, why-not-priced-in (name the specific consensus view being contradicted), supporting evidence with citations, catalyst event + rough timing, time horizon, confidence level, falsifier, and "how to express the bet" (which company / technology / position).
Setting up a new domain
When a user invokes this skill, do this conversation:
- Topic domain. Ask: what is the broad subject? (e.g. AI hardware, biotech, climate tech, defense supply chain.)
- Sectors. Propose 8–12 sectors that cleanly partition the domain. Show the list and ask for adjustments.
- Keyword seeds per sector. Generate 5–10 starting keywords per sector. These feed the Collector agent.
- Source priority tiers. The defaults are: Tier 1 peer-reviewed (top venues for the domain), Tier 2 preprints (arXiv / SSRN equivalents), Tier 3 specialist analysis (named outlets), Tier 4 primary disclosures (vendor whitepapers, earnings, filings). Customize per domain.
- Recency window. Default: last 6 months from execution date, sliding.
- Cadence. Default: every 5 hours.
- Repo & site. Ask for the GitHub user and a repo name. Bootstrap the repo with
index.html(template provided),.nojekyll, the spec file, and an emptyresearch/tree. - Schedule. Set up a recurring remote agent (via Anthropic's Code Routines / Codex Scheduled Tasks / a GitHub Action) that fires the cycle on cron.
After setup, immediately trigger Run #1 to seed the corpus.
Critical do-nots
- Never co-author commits with Claude/Anthropic/Codex/OpenAI unless the user explicitly asks.
- Never claim a finding is "not priced in" without the verification agent having checked it this same cycle.
- Never skip the verification agent. It is the part that distinguishes this system from every other LLM research workflow.
- Never leave breadcrumb marks ("removed post-verification", strikethroughs, "see verification_log.md" notes) in the synthesis files after purge. Clean deletion only.
- Never put
ALREADY-PRICED-INitems intoopportunity.md. - Never delete past sector
research.mdorpapers/. - Never reveal the user's identifying info (handles, paths, emails) in any committed file.
Reference files
This skill ships with reusable templates:
orchestration/PIPELINE.md— generic pipeline spec to copy + customizeorchestration/CLAUDE_TEMPLATE.md— operational rules to drop into the user's repo asCLAUDE.mdorchestration/index.html— minimal mobile-first reader (paper aesthetic, fetches markdown at runtime)scripts/linkify_sources.py— one-shot pass to convert Source Index plain-text titles to Markdown links using sources.json
See README.md for installation and the worked AI-hardware example.
微信扫一扫