Install
$ agentstack add skill-willinvest-claudex-ultra-research ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
About
ultra-research
$SKILL_DIR is this skill's directory. The Python helper is scripts/vault.py; prompts are in prompts/. Read each prompt when you reach its stage.
When to use (routing)
Prefer plain claudex:deep-research by default. Use ultra-research only when: the question is high-stakes (policy/financial/factual gravity); the user explicitly asks for dual-model or cross-verified research; or a prior deep-research run on the topic returned mixed/unreliable citation integrity.
Setup
- Disambiguate like deep-research: if the question is underspecified, ask 2–3
clarifying questions, then proceed; else state one interpretation and proceed. Never block mid-run after this point.
- Resolve paths and the run id:
``bash VAULT="$(python3 "$SKILL_DIR/scripts/vault.py" vaultpath)" REFINED_QUESTION="$(cat EOF )" RUN="$(python3 "$SKILL_DIR/scripts/vault.py" runid --date "$(date +%F)" --question "$REFINED_QUESTION")" RUNDIR="$VAULT/$RUN" mkdir -p "$RUNDIR" `` The question must be passed as one safely quoted shell argument; do not inline it inside double quotes where embedded quotes can break the command.
Stage 1 — independent research (parallel)
- Codex (background): dispatch
Agent(subagent_type: codex:codex-rescue)with the
text of prompts/codex-research.md, placeholders filled, including --write and the absolute target $RUNDIR/20-report-codex.md. Prefer background.
- Claude (inline): run
claudex:deep-researchyourself on the same refined
question. When it finishes, write its verified report to $RUNDIR/10-report-claude.md with the report frontmatter (author-model: claude, note-type: report, degraded: false, tags: [ultra-research, report]).
- Join: poll for the Codex file until ready or the deadline. Resolve the
per-stage timeout via the helper (handles scalar or object codexTimeoutMs): ``bash # Stage-1 research default: 20 min (1,200,000 ms) unless config overrides it. DEADLINE=$(( $(date +%s%3N) + $(python3 "$SKILL_DIR/scripts/vault.py" timeout --stage research) )) until python3 "$SKILL_DIR/scripts/vault.py" ready "$RUNDIR/20-report-codex.md"; do [ "$(date +%s%3N)" -ge "$DEADLINE" ] && break sleep 10 done if ! python3 "$SKILL_DIR/scripts/vault.py" ready "$RUNDIR/20-report-codex.md"; then # Execute DEGRADED branch A. fi ` If the post-loop ready` check fails → DEGRADED branch A (below).
Stage 2 — adversarial cross-audit (parallel)
Each report is audited by the OTHER model; auditors are blind to each other.
- Codex audits Claude (background): dispatch
codex:codex-rescue--writewith
the prompts/audit.md contract + the absolute path $RUNDIR/10-report-claude.md, writing $RUNDIR/30-audit-of-claude-by-codex.md (author-model: codex, audited-report-model: claude).
- Claude audits Codex (inline
Task): dispatch aTask(general-purpose)
subagent and explicitly instruct it to use WebFetch for every cited URL. Give it the prompts/audit.md contract assembled inline and the path $RUNDIR/20-report-codex.md; it writes $RUNDIR/31-audit-of-codex-by-claude.md (author-model: claude, audited-report-model: codex). Joined by the subagent's return.
- Join Codex audit: recompute the deadline from a fresh clock read and the
Stage-2 audit timeout (default 10 min): ``bash DEADLINE=$(( $(date +%s%3N) + $(python3 "$SKILL_DIR/scripts/vault.py" timeout --stage audit) )) until python3 "$SKILL_DIR/scripts/vault.py" ready "$RUNDIR/30-audit-of-claude-by-codex.md"; do [ "$(date +%s%3N)" -ge "$DEADLINE" ] && break sleep 10 done if ! python3 "$SKILL_DIR/scripts/vault.py" ready "$RUNDIR/30-audit-of-claude-by-codex.md"; then # Execute DEGRADED branch B. fi ` If the post-loop ready` check fails → DEGRADED branch B.
Stage 3 — trust-weighted final synthesis
Dispatch codex:codex-rescue --write with prompts/final-synthesis.md, the four absolute paths filled in. It writes $RUNDIR/90-final-report.md and prints a bullet summary to stdout.
- Poll with a freshly recomputed Stage-3 synthesis timeout (default 10 min):
``bash DEADLINE=$(( $(date +%s%3N) + $(python3 "$SKILL_DIR/scripts/vault.py" timeout --stage synthesis) )) until python3 "$SKILL_DIR/scripts/vault.py" ready "$RUNDIR/90-final-report.md"; do [ "$(date +%s%3N)" -ge "$DEADLINE" ] && break sleep 10 done if ! python3 "$SKILL_DIR/scripts/vault.py" ready "$RUNDIR/90-final-report.md"; then # Execute DEGRADED branch C. fi ` If the post-loop ready` check fails → DEGRADED branch C.
- The file is canonical; the rescue stdout is display-only.
Index + present
- Assemble
$RUNDIR/00-index.mdfromprompts/index.md. Read audit verdicts for
the status table with: ``bash python3 "$SKILL_DIR/scripts/vault.py" get "$RUNDIR/30-audit-of-claude-by-codex.md" trust-verdict python3 "$SKILL_DIR/scripts/vault.py" get "$RUNDIR/30-audit-of-claude-by-codex.md" trust-score python3 "$SKILL_DIR/scripts/vault.py" get "$RUNDIR/31-audit-of-codex-by-claude.md" trust-verdict python3 "$SKILL_DIR/scripts/vault.py" get "$RUNDIR/31-audit-of-codex-by-claude.md" trust-score ``
- Present to the user: the bullet summary, the two trust-verdicts, and the vault
path $RUNDIR.
Degraded branches (never hard-fail; always label)
Degraded notes get degraded: true in frontmatter AND a first-line banner: > **⚠️ DEGRADED — single-model run; adversarial cross-audit merit absent.**
- A — no Codex report: do NOT fake adversarial merit. Base the final on Claude's
deep-research report (already deterministically verified). Optionally attach a Claude self-audit ONLY if labeled self-audit — NOT adversarial; equivalent to plain deep-research integrity. Write a degraded 90-final-report.md and a degraded 00-index.md.
- B — Codex audit failed: Claude audits Codex's report normally (adversarial in
that direction) AND self-audits its own report under the explicit self-audit — NOT adversarial; equivalent to plain deep-research integrity label; proceed to Stage 3; mark the run partially degraded.
- C — Codex synthesis failed: Claude writes
90-final-report.mdfrom the four
inputs using the Stage-3 merge algorithm; set both author-model: claude and synthesized-by: claude. Not full DEGRADED (all four inputs exist) — just note the synthesis fallback.
Hard rules
- Each side's own deterministic citation verification still runs inside its own
report; the cross-audit is an ADDITIONAL adversarial layer.
- An auditor never audits its own report (except the explicitly-labelled degraded
self-audit, which never counts as adversarial merit).
- The
90-final-report.mdfile — not any stdout — is the canonical final report. - Always deliver a labeled result; never stop to ask permission mid-run.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: WillInvest
- Source: WillInvest/ClaudeX
- License: MIT
- Homepage: https://github.com/WillInvest/ClaudeX
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.