用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/steel-dev/atlas --skill draco-analyze命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Diagnose an atlas run's efficiency — find where wall-clock, model wait, and
Run the local atlas CLI to produce a cited deep-research markdown report. Use when the user explicitly invokes atlas — e.g., `/atlas-research <question>`, "run atlas on X", "use atlas to research Y". Returns the markdown to the conversation along with the run summary. Do NOT use for casual questions Claude can answer from training/web — this spends the user's model-provider + Steel credits and takes 1–4 minutes.
Scaffold a domain-specific deep-research agent on the Atlas SDK. Use when the user wants to build or customize a research agent for a domain — medical, legal, financial, an internal API, a vector store — on top of @steel-dev/atlas, e.g. "build a research agent for X", "add a PubMed source to atlas", "make atlas search our internal docs". Generates a small module (instructions + domain tools + optional output schema) and smoke-tests it. Do NOT use to run a one-off query — that's atlas-research.
基于 SOC 职业分类
| name | draco-analyze |
| description | Diagnose the DRACO benchmark results for an atlas commit — figure out why |
Diagnose a commit's DRACO benchmark runs and connect each finding back to the atlas pipeline so the user gets root causes and concrete fixes, not just scores.
Every run the explorer records is fully visible: the per-criterion judge grades, the produced report, the full claim ledger (with quotes, source provenance, and each verifier's vote), every fetched source's body, the pipeline event timeline, and the byte-exact transcript of every model step (lead, verifiers, leaf sub-agents) — what each model saw and the thinking + tool calls it produced. Runs are append-only, so repeated runs of the same case all survive.
All of this is read through one keyless CLI (evals/explore/query.ts). The data
is large, so the golden rule is progressive disclosure: start from the cheap
overview and descend only as far as a given question needs. Never dump a full
transcript blind — slice it.
test -f evals/explore/query.ts && test -f package.json && echo ok || echo not-atlas
If not-atlas, ask the user to cd into the atlas repo and re-run. The DB
defaults to eval-runs/draco-explore.db; pass --db <path> to every command if
the user names a different one. (Commands print a harmless
ExperimentalWarning: SQLite to stderr — ignore it, or append 2>/dev/null.)
The query CLI is invoked as npx tsx evals/explore/query.ts <command> …. Run it
with no args for the full command list. Output is JSON; parse it, don't just echo
it at the user.
If the user gave a commit SHA, use it. Otherwise default to the checked-out one
(git rev-parse HEAD) and say which you used.
npx tsx evals/explore/query.ts commits # all commits with runs
npx tsx evals/explore/query.ts commit <sha> # per-case grid, Δ vs previous commit
commit <sha> auto-compares against the previous commit; pass
--baseline <otherSha> to compare against a specific one (e.g. a known-good
reference). Read off:
regressions — cases whose score dropped vs the baseline. These are usually
where to start.normalized, passRate, failedCriteria (count), status
(scored / error / unrun), judgeErrors.Pick the highest-value targets: the biggest regressions, hard errors, and unexpectedly low scores. State your shortlist before drilling.
npx tsx evals/explore/query.ts case <sha> <caseId>
This is the richest single view. It fuses the rubric with the judge's grades and the run's evidence:
failedCriteria — exactly which rubric criteria got UNMET, with the judge's
reason. This is your primary signal for what went wrong.score, claimStats (confirmed / refuted / unverified), diagnostics
(fetch/claim health), finishReason (did it run out of budget? time?).runs — every recorded run of this case (append-only). If scores vary across
identical runs, that's variance, not a deterministic bug — note it.runId + artifacts — the run to drill into and what it stored.Map what you see to the likely pipeline stage, then drill the matching evidence.
Symptom in case | Likely cause | Drill with | atlas source |
|---|---|---|---|
| Factual criterion UNMET; few confirmed, many refuted | weak retrieval or over-strict verification | claims --status refuted, sources | verify.ts, fetch-tool.ts |
diagnostics shows many blockedOrThin sources | fetch/extraction failing | sources --blocked, trace --grep fetch | fetch-tool.ts, html-extract.ts |
| Coverage/depth criterion UNMET; report thin | lead stopped early / pursued wrong angles | transcript --role lead | research-loop.ts, recall.ts |
finishReason = budget/timeout | run starved before finishing | transcript summary (step count, in= tokens) | config-resolution.ts, runtime.ts |
Judge reason contradicts the report | possible judge error | rubric cross-check (Step 4) | grading in draco.ts |
| A claim wrongly refuted | a verifier over-refused | transcript --grep <claim text> → role verify:<id> | verify.ts |
Evidence commands (all take a <runId> from Step 2):
npx tsx evals/explore/query.ts claims <runId> [--status refuted] # quotes, sourceId, per-vote evidence
npx tsx evals/explore/query.ts sources <runId> [--blocked] # fetched sources; --id <s> dumps a body
npx tsx evals/explore/query.ts citations <runId> # what the report cited; not-fetched/-confirmed
npx tsx evals/explore/query.ts trace <runId> [--grep RE] # pipeline event timeline
npx tsx evals/explore/query.ts diagnostics <runId> # aggregate health counters
Don't take the judge's word for it. Read the produced report and the rubric and grade the failed criteria independently:
npx tsx evals/explore/query.ts report <runId> # the produced markdown
npx tsx evals/explore/query.ts rubric <caseId> # sections, criteria, weights
For each UNMET criterion decide which it is — the distinction drives a different fix:
Note any place you disagree with the stored verdict — that's a judge-reliability finding in its own right.
The transcript is the heaviest artifact. Always summarize first, then slice:
npx tsx evals/explore/query.ts transcript <runId> # summary: steps per role + seq ranges (no dump)
npx tsx evals/explore/query.ts transcript <runId> --role lead # the lead's reasoning + tool calls
npx tsx evals/explore/query.ts transcript <runId> --grep "<text>" # steps mentioning a claim/query/url
npx tsx evals/explore/query.ts transcript <runId> --role verify:<claimId> # one verifier's investigation
npx tsx evals/explore/query.ts transcript <runId> --seq 8-12 --messages # byte-exact input for a step range
Roles you'll see: recall.scope, recall.triage, lead, extract, cluster,
verify:<claimId>, synthesis.data, synthesis.prose. By default a step shows
its thinking + tool calls (the "why"); add --messages for the exact bytes the
model saw (large — use on a narrow --seq/--step). Use this to answer
questions the aggregates can't: why did the lead stop after N searches? why did
verifier verify:7 refute a true claim? what did synthesis have to work with?
Produce, for the user:
recall.ts, research-loop.ts, fetch-tool.ts, claims.ts,
cluster.ts, verify.ts, synthesize.ts, config-resolution.ts). Read the
relevant file before proposing a change, and cite file:line.commit/case, slice the transcript. If you
truly need a lot, say what and why first.reason, the verifier evidence, the
transcript line, or the file:line you're citing. Don't infer a cause the
stored data doesn't support; if the data can't decide, say what's missing.