AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ultra Research

skill-hint-shu-deep-research-ultra-research · by hint-shu

Ultra research (L5) — maximum depth. Runs /academic-research (L4) then adds peer-review simulation, recursive exploration until knowledge saturation, full agent crew (7+), and builds a complete knowledge base with executive summary, glossary, timeline, playbooks, counter-arguments, and open questions. 1+ hour, 150+ sources, 10000+ word main report + full vault structure. Auto-syncs to auto-memory…

No reviews yet
0 installs
25 views
0.0% view→install

Install

$ agentstack add skill-hint-shu-deep-research-ultra-research

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-hint-shu-deep-research-ultra-research)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ultra Research? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Ultra Research — L5 Knowledge Base

Maximum research tier. Composes on top of L4 (/academic-research) by adding:

  • Recursive exploration until saturation — keep expanding until no new facts appear
  • Peer-review simulation — 3 independent critic passes
  • Full 7-agent crew — Coordinator, Planner, 3× Researchers, Fact-checker, Critic, Editor, Synthesizer
  • Knowledge base output — not a single report, but a full vault structure
  • Playbooks — actionable how-tos derived from research
  • Auto-memory sync — long-term knowledge saved to memory system

Position in ladder: L5. Calls L4 (which chains through L3, L2, L1). Top of ladder.

When to Use

  • "хочу знать всё про X"
  • "построй мне базу знаний по Y"
  • "мне нужны playbook'и по Z"
  • Topics you want to become a genuine expert on
  • Strategic domains for your business
  • One-time investment in a knowledge area you'll return to
  • When user says "максимально", "полный ресёрч", "база знаний", "всё что можно найти"

No escalation — this is the top tier.

Budget

  • Time: 1+ hour (L1: 5 + L2: 7 + L3: 8 + L4: 20 + L5: 30+)
  • Tavily credits: 1000+
  • LLM tokens: ~500k–1M (significant cost)
  • Estimated $ cost: $5–20 per session
  • Sub-questions: 20+ recursive
  • Sources: 150+
  • Output: 10000+ word main report + full knowledge base structure

Warn the user before starting:

⚠️ L5 Ultra Research costs ~1000 Tavily credits and ~$10 in LLM tokens per run.
Estimated time: 1-2 hours (runs mostly autonomously with occasional checkpoints).

Continue? (y / n)

Pipeline

STAGE 1: Execute /academic-research (L4)
    → Full L1-L4 artifacts

STAGE 2: L5 Ultra Layer
  1. SATURATION PLANNING       — define stop condition
  2. COORDINATOR SETUP         — spawn the full crew (Codex = parallel fact-checker, added v0.2)
  3. RECURSIVE EXPLORATION     — loop until saturation
     ├─ Planner: next questions
     ├─ Researcher A/B/C: parallel gathering (Researcher C = Codex)
     ├─ Fact-checker: verify claims (Claude + Codex dual-model cross-check)
     ├─ Critic: attack findings
     └─ Loop check: new facts? continue : stop
  4. PEER-REVIEW SIMULATION    — 3 independent critic passes
  5. KNOWLEDGE BASE ASSEMBLY   — vault structure
  6. PLAYBOOK GENERATION       — actionable artifacts
  7. COUNTER-ARGUMENTS         — steel-man opposing views
  8. MEMORY SYNC               — persist to auto-memory
  9. OBSIDIAN EXPORT (v0.7+)   — optional vault export

Step 9: Obsidian Export (v0.7.0+)

After the knowledge vault is fully written to .firecrawl/research/$SLUG/L5/, optionally export it to the user's Obsidian vault with wiki-links, YAML frontmatter, and tags. Entirely opt-in — runs only when OBSIDIAN_VAULT env var points to a real vault.

EXPORT_LIB="$HOME/.claude/scripts/lib/obsidian-export.sh"
[ -f "$EXPORT_LIB" ] || EXPORT_LIB="scripts/lib/obsidian-export.sh"

if [ -f "$EXPORT_LIB" ]; then
    source "$EXPORT_LIB"
    export_l5_to_obsidian "$SLUG"
    # Function returns 0 on success OR skip (no OBSIDIAN_VAULT set)
    # Returns 1 only on actual error (vault path invalid)
    # Check the status file for the detailed outcome:
    cat ".firecrawl/research/$SLUG/L5/obsidian-sync.status" 2>/dev/null
fi

Outcomes:

  • SUCCESS: exported N files to → vault available in Obsidian
  • SKIPPED: OBSIDIAN_VAULT env var not set → user didn't configure, ignored
  • SKIPPED: Obsidian sync disabled via DEEP_RESEARCH_DISABLE_OBSIDIAN → user opted out
  • ERROR: → path invalid or source missing; flag to user, don't block

See [docs/OBSIDIANINTEGRATION.md](../../docs/OBSIDIANINTEGRATION.md) for full setup.

Perplexity Fact-Verifier (v0.6.0+)

At the end of each recursive iteration, run Perplexity as a fast fact-verifier on the iteration's top claims:

# For each top 3-5 claims from iter-N's findings:
mcp__perplexity-ask__perplexity_ask with:
  messages: [{role: "user", content: "Verify: . Confirm or dispute with current sources."}]

Save verdicts to .firecrawl/research/$SLUG/L5/iterations/iter-N/perplexity-verify.json. Feed into the iteration's peer-review-N.md artifact.

Why both Codex AND Perplexity? They measure different things:

  • Codex = "what does a different model think about this?" (challenges Claude's reasoning)
  • Perplexity = "what do current web sources say about this?" (grounds claims in citations)

Runs in parallel with Codex at each iteration's peer-review phase. If either unavailable, skill continues with the available ones.

Exa Deep-Researcher Channel (v0.5.0+)

> Optional per-iteration deep-dive channel. Works alongside Codex (which is cross-model GPT-5.4) and the existing Tavily/Firecrawl. If Exa MCP is not installed, skip.

L5 benefits from Exa's deep_researcher_start + deep_researcher_check async pattern because each L5 iteration can take 10+ minutes. Kick off Exa deep research at the start of each iteration, poll it later:

# Start of iteration N — fire-and-forget
mcp__exa__deep_researcher_start with:
  query: 
  # Returns: research_id

# Later in iteration N (after other work)
mcp__exa__deep_researcher_check with:
  id: 
# Returns: structured grounded answer with citations OR "still running"

Result is a structured JSON answer with every claim tied to a specific source URL — already formatted for RAG. Saves writing the equivalent Claude synthesis work for that sub-question.

Save each response to .firecrawl/research/$SLUG/L5/iterations/iter-N/exa-deep.json for audit trail.

If Exa deep_researcher times out: fall back to Exa's regular web_search_advanced_exa (faster, no multi-step reasoning). If Exa unavailable entirely: iteration proceeds Codex+Tavily only.

Codex Cross-Model Channel (added v0.2)

L5 uses Codex CLI (GPT-5.4 with live web search) in two roles within each recursive iteration:

Role 1: Researcher C — independent parallel research per iteration. Role 2: Dual-model fact-checker — Codex verifies claims Claude made, Claude verifies claims Codex made. Disagreements flag for the critic.

Per-iteration invocation pattern (pseudocode; real skill runs inside the loop):

CODEX_HELPER="$HOME/.claude/scripts/codex-research.sh"
[ -x "$CODEX_HELPER" ] || CODEX_HELPER="scripts/codex-research.sh"

ITER=1
while ! saturated; do
    ITER_DIR=".firecrawl/research/$SLUG/L5/iterations/iter-$ITER"
    mkdir -p "$ITER_DIR"

    if [ -x "$CODEX_HELPER" ]; then
        # Researcher C for this iteration
        bash "$CODEX_HELPER" 420 \
            "$ITER_DIR/codex-researcher-c.md" \
            "" &

        # Fact-check of last iteration's claims
        bash "$CODEX_HELPER" 300 \
            "$ITER_DIR/codex-factcheck.md" \
            "" &

        wait
    fi

    # Claude does its iteration work, then merges Codex outputs if present
    ITER=$((ITER+1))
done

Fault tolerance: if Codex is unavailable in any iteration, that iteration proceeds single-model and the peer-review pass (Step 4) gets a note: Iteration N: Codex unavailable (). Single-model. L5 still reaches saturation, just with Claude-only cross-checking in those iterations.

Artifacts Directory — Full Knowledge Base

.firecrawl/research//
├── L1/ L2/ L3/ L4/                     # from lower levels
└── L5/                                  # KNOWLEDGE BASE VAULT
    ├── 00-executive-summary.md          # 500-word TL;DR
    ├── 01-main-report.md                # 10000+ word comprehensive report
    ├── 02-glossary.md                   # all terms and definitions
    ├── 03-timeline.md                   # extended from L4
    ├── 04-key-players.md                # people, companies, projects, projects
    ├── 05-playbooks/                    # actionable how-tos
    │   ├── how-to-.md
    │   ├── how-to-.md
    │   └── decision-tree.md
    ├── 06-counter-arguments.md          # steel-manned opposition
    ├── 07-open-questions.md             # from L4 + L5 additions
    ├── 08-bibliography.md               # full annotated, 150+ entries
    ├── 09-methodology.md                # full transparency
    ├── 10-recommended-next-reading.md   # curated further learning
    ├── crew/
    │   ├── coordinator-log.md
    │   ├── planner-iterations.md
    │   ├── researcher-a/
    │   ├── researcher-b/
    │   ├── researcher-c/
    │   ├── fact-checker-report.md
    │   ├── peer-review-1.md
    │   ├── peer-review-2.md
    │   ├── peer-review-3.md
    │   └── editor-notes.md
    ├── sources/                          # ALL scraped materials archived
    │   └── 
    ├── saturation-log.md                 # record of saturation checks
    ├── knowledge-base.pdf                # full report as PDF
    └── knowledge-base.epub               # EPUB for reading offline

Stage 0: Warning and Confirmation

Before spending ~$10 and 1 hour, confirm with user:

# ⚠️ L5 Ultra Research — Confirmation

**Query:** 

## Estimated cost
- Tavily: ~1000 credits
- LLM tokens: ~500k-1M (~$5-20)
- Time: 1-2 hours

## Will produce
- Full knowledge base vault (~15 files)
- Main report: 10000+ words
- Playbooks: 3-5 actionable how-tos
- 150+ sources with quality ratings
- Auto-sync to memory system
- PDF + EPUB exports

## Process
1. Executes L4 (~40 min, ~400 credits) as foundation
2. Recursive exploration until saturation (~30-60 min)
3. Peer-review simulation (3 critic passes)
4. Knowledge base assembly
5. Memory sync

**Continue?** (y / n)

If n — abort. If y — proceed. If called from test/dev — skip with --go flag semantic.

Stage 1: Execute L4

Invoke academic-research skill:

Skill: academic-research
Args: 

Wait for L4 completion. This alone takes ~40 min. Verify all L4 artifacts exist.

Stage 2: L5 Ultra Layer

Step 2.1: SATURATION PLANNING

Define the stop condition for recursive exploration:

# L5 Saturation Criteria

## Exploration stops when:
1. **Fact saturation:** Last 2 iterations produced  700 for L5 alone
5. **Time cap:** L5 loop has run for > 45 min

## Iteration budget
- Minimum: 3 iterations
- Maximum: 8 iterations
- Each iteration: Planner → 3 Researchers (parallel) → Fact-checker → Critic → Saturation check

Save to L5/saturation-log.md (will be appended with actual iteration results).

Step 2.2: COORDINATOR SETUP

Unlike lower levels, L5 uses a Coordinator pattern. The Coordinator is a long-running conceptual role (implemented via repeated Agent calls with shared state).

The Coordinator:

  1. Reads current state (all L1-L5 artifacts so far)
  2. Decides what iteration is needed next
  3. Spawns the appropriate sub-agents
  4. Evaluates if saturation is reached
  5. Either continues or proceeds to assembly

Step 2.3: RECURSIVE EXPLORATION LOOP

This is the heart of L5. Loop until saturation:

iteration = 0
while not saturated and iteration = 3 and all_saturation_criteria_met():
        mark_saturated("all criteria met")
        break

    if tavily_credits_used > 700:
        mark_saturated("budget cap")
        break

    if time_elapsed > 45_minutes:
        mark_saturated("time cap")
        break

Implementation note: Claude Code implements this loop as sequential tool calls with the Coordinator reading state from disk between iterations. Use TaskCreate/TaskUpdate to track iteration progress.

Step 2.4: PEER-REVIEW SIMULATION

After recursive exploration stops, run 3 independent peer-review passes. Each reviewer gets a different angle:

Peer Review 1: Academic rigor
Agent(
    description="L5 Peer Review 1 — academic rigor",
    prompt="""
You are peer reviewer 1. Role: academic rigor reviewer.

Read all L5 findings + main report draft.

Check:
- Are citations used correctly?
- Are academic sources weighted appropriately vs blog posts?
- Is methodology sound?
- Are conclusions supported by evidence strength?
- Any cherry-picking?

Write review to: L5/crew/peer-review-1.md

Format:
- Overall verdict: accept / accept with revisions / major revision / reject
- Strengths
- Weaknesses
- Required revisions before publication
- Optional suggestions
"""
)
Peer Review 2: Practical validity
Agent(
    description="L5 Peer Review 2 — practical validity",
    prompt="""
You are peer reviewer 2. Role: practitioner reviewer.

Check:
- Do the findings actually help someone working on this in practice?
- Are the playbooks executable or vague?
- Is the recommendation section actionable?
- Any dangerous advice?
- What would a senior engineer dismiss as theoretical?

Write to: L5/crew/peer-review-2.md
"""
)
Peer Review 3: Completeness
Agent(
    description="L5 Peer Review 3 — completeness",
    prompt="""
You are peer reviewer 3. Role: completeness reviewer.

Check:
- Major topics missed?
- Key authors not cited?
- Recent developments (past 3 months) covered?
- Cross-references to related fields?
- Is the knowledge base actually complete or does it have obvious holes?

Write to: L5/crew/peer-review-3.md
"""
)

After all 3 reviews, integrate findings: address required revisions, add missing content, fix flagged issues.

Step 2.5: KNOWLEDGE BASE ASSEMBLY

Now build the full vault. This is the "editor" role, synthesizing everything.

00-executive-summary.md

500 words. For someone who'll read ONLY this. Covers: what the topic is, why it matters, the key takeaways, the main recommendation.

01-main-report.md

10000+ word comprehensive report. Extended version of L4 report, enriched with L5 iterations. Full academic structure.

02-glossary.md

Every technical term used in the report, with definition and citation. Sorted alphabetically.

03-timeline.md

Extended timeline from L4 with L5 additions.

04-key-players.md
  • People: researchers, authors, founders (with brief bios and contributions)
  • Companies: vendors, startups, established players
  • Projects: open-source, commercial, academic
  • Each entry: 100-200 words + citations
05-playbooks/

Generate 3-5 actionable playbooks. Each is a how-to derived from the research:

Examples:

  • how-to-choose-.md — decision tree with criteria
  • how-to-implement-.md — step-by-step with gotchas
  • how-to-evaluate-.md — evaluation rubric with examples
  • decision-tree.md — when to use approach A vs B vs C

Each playbook:

  • Clear objective
  • Prerequisites
  • Step-by-step with citations
  • Gotchas from research
  • Success criteria
06-counter-arguments.md

Steel-manned opposition. For every major recommendation, write the strongest counter-argument as if you genuinely believed it. Format:

## Recommendation X: [from main report]

### Steel-manned counter-argument
[Most convincing case AGAINST X, as if written by an advocate for the opposite view]

### Which parts of the counter-argument are strong
[Honest acknowledgment]

### Why the main recommendation still holds (or doesn't)
[Response with reasoning]
07-open-questions.md

Extended from L4. Include:

  • Questions the literature doesn't answer
  • Questions L5 tried to answer but couldn't
  • Questions that emerged from L5 findings
  • Speculative questions for future exploration
08-bibliography.md

Full annotated bibliography. All 150+ sources with:

  • Quality rating (A/B/C/D)
  • Type (academic / official / tech-blog / community)
  • Date
  • 1-2 sentence contribution summary
09-methodology.md

Full transparency. Extend L4 methodology with L5 details:

  • Iterations run, facts added per iteration
  • Saturation criteria and when they triggered
  • Peer-review verdicts
  • Biases acknowledged
  • What we deliberately excluded
10-recommended-next-reading.md

Curated further learning:

  • 5 essential papers (with abstracts)
  • 5 essential books / long-form
  • 5 practitioner resources (courses, tutorials)
  • Communities to join
  • People to follow

Step 2.6: EXPORT

cd .firecrawl/research//L5/

# PDF — main report only
pandoc 01-main-report.md -o knowledge-base.pdf \
  --pdf-engine=xelatex

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [hint-shu](https://github.com/hint-shu)
- **Source:** [hint-shu/deep-research](https://github.com/hint-shu/deep-research)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.