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

Claim Extractor

skill-leventilo-mobius-claim-extractor · by leventilo

Activate when the orchestrator needs the paper's verifiable claims separated from prose so each can be tested against the simulator.

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

Install

$ agentstack add skill-leventilo-mobius-claim-extractor

✓ 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-leventilo-mobius-claim-extractor)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo 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 Claim Extractor? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

claim-extractor

Purpose and scope

This skill walks the paper body, the figure captions, and the surrounding context of every equation, and returns a list of paper-anchored numerical claims that downstream skills (simspec-author, science-integrity, paper-diff) can compare against simulation telemetry.

The skill does NOT extract equations (that is paper-parser), does not classify regimes (physics-interpreter), and does not generate code (primitive-generator). It is a typed-extract stage: paper-parser artifacts in, validated numerical_claims[] out, every claim traceable to a verbatim source quote.

Input

The skill expects two artifacts on disk in the current working directory:

  • paper.json from paper-parser — the full structured paper record with

equations[], figures[], body text, and the paper-level metadata.

  • text_body.json (optional) — the segmented paper body keyed by section

anchor. When absent, the skill reads paper.json body text inline.

Algorithm

  1. Concatenate body text (skipping References / Bibliography), all figure

captions, and the surrounding context of every equation.

  1. Chunk into ~4000-token segments with 500-token overlap.
  2. For each chunk, call Opus 4.7 with a strict extraction prompt (no formula

symbols, no page numbers, no years).

  1. Merge chunk results, deduplicate by (value, unit_ucum, source_quote[:50]).
  2. Normalize units via Pint loaded with UCUM-compatible definitions. When a

unit cannot be parsed, keep the raw string and lower the confidence.

  1. Assign a stable id to every claim (snake-case derived from the symbol or

the description; collisions resolved with a numeric suffix).

Output format (mandatory)

You MUST emit your final output as a single fenced ``json block at the END of your reply, with NO prose after the closing fence. The orchestrator parses that block by regex (/``(?:json)?\s*\n([\s\S]*?)\n\s*`/) and ignores everything else in your text content.

The canonical artifact for claim-extractor (consumed downstream as ClaimsJson in server/src/types.ts):

{
  "numerical_claims": [
    {
      "id": "delta_y",
      "symbol": "\\Delta y",
      "description": "fringe spacing on the screen",
      "value": 1.96,
      "unit_ucum": "mm",
      "tolerance": 0.05,
      "formula": "\\lambda L / d",
      "figure_ref": "Fig. 3",
      "source_quote": "the measured fringe spacing was 1.96 mm at L = 1 m",
      "section": "Results",
      "confidence": 0.92
    }
  ]
}

The required fields per claim are id, value, unit_ucum, and source_quote (consumed by server/src/types.ts:ClaimsJson). The other fields (symbol, description, tolerance, formula, figure_ref, section, confidence) are recommended and consumed by downstream skills (narration bijection, science-integrity claim_match, paper-diff). When the paper has zero numerical claims, emit { "numerical_claims": [] } — an empty array is a valid, honest output and downstream skills tolerate it.

If the input is degenerate (paper.json missing, body text empty, model context exceeded), emit a fenced JSON block carrying a single error field:

{ "error": "paper.json missing; cannot extract claims without parsed body" }

DO NOT emit narration, summaries, or follow-up questions after the closing fence — they break the orchestrator's downstream consumption and get silently dropped.

Hand-off

simspec-author reads numerical_claims[] into paper.numerical_claims[]. science-integrity (check_claim_match) compares each value to a measured quantity in the simulation telemetry. narration (R5 bijection) requires that every claim id appear either in narration.claims_referenced[] or be acknowledged inline by its numerical value within 5 % tolerance.

Red flags

Never invent a claim. If the body text contains no recognisable numerical assertion, emit { "numerical_claims": [] } and stop — fabrication is the single most catastrophic failure mode for downstream verification.

Never strip the verbatim source_quote. The user must be able to trace each claim back to the paper.

Never reuse a claim id across two distinct claims. Collisions get a numeric suffix.

Never emit a value without a unit. If the paper truly cites a dimensionless quantity, mark it "unit_ucum": "1".

Source & license

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

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.