Universal ARA Compiler. An agent skill from ARA-Labs/Agent-Native-Research-Artifact.

MITAuto-check passedDocuments & Office

Install Compiler

skills CLI
$ npx skills add ARA-Labs/Agent-Native-Research-Artifact --skill compiler -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ARA-Labs/Agent-Native-Research-Artifact compiler --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ARA-Labs/Agent-Native-Research-Artifact.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/compiler .claude/skills/compiler && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
compiler
GitHub stars
692
Token cost
~6.4k tokens
SKILL.md length
3,260 words
Files
5 (incl. references)
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Universal ARA Compiler. An agent skill from ARA-Labs/Agent-Native-Research-Artifact.

  • Works in 7 steps: Read Inputs → 4-Stage Epistemic Chain-of-Thought → Generate Files → …
  • Tasks that involve Fine-tuning
  • SKILL.md covers Input Philosophy, Workflow, Critical Rules and Reference Files
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Compiler is an agent skill from ARA-Labs/Agent-Native-Research-Artifact. Universal ARA Compiler. Converts ANY research input — PDF papers, GitHub repositories, experiment logs, code directories, raw notes, or combinations thereof — into a complete Agent-Native Research Artifact (ARA): a structured, machine-executable knowledge package with a cognitive layer (claims, concepts, methods), an artifact layer (code/configs/data as the work warrants), an exploration graph (research DAG), and grounded evidence. Works across any research field — not only model-training research. TRIGGERS…

Its SKILL.md is about 6.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/ara-schema.md`, `references/exploration-tree-spec.md` and `references/figure-extraction-guide.md`).

It sits in Documents & Office, covering Fine-tuning and PDF. It works with GitHub. The repository describes itself as: Research Artifact Protocol for Rigorous and Trustworthy AI Scientists. The licence is MIT.

When your agent uses it

  • Tasks that involve Fine-tuning
  • Tasks that involve PDF

Example prompts

  • “/compiler”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(python *|git clone *|ls *|mkdir *), Glob, Grep, Task

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Read Inputs
  2. 4-Stage Epistemic Chain-of-Thought
  3. Generate Files
  4. Coverage Check Loop (max 3 rounds)
  5. Validate
  6. Fix & Iterate
  7. Report

What it can do on your machine

Read from SKILL.md and the folder at commit e52a925. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(python *|git clone *|ls *|mkdir *)
    • Glob
    • Grep
    • Task

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Compiler loads about 6.4k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 189 tokens; SKILL.md has 3,260 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~189
When it runs · the whole SKILL.md, loaded when a task matches
~6.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~20k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ARA-Labs/Agent-Native-Research-Artifact at commit e52a925, republished under its MIT licence (© ARA-Labs). 3,260 words, ~6,381 tokens.

Download SKILL.mdSave it as .claude/skills/compiler/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
compiler
description
Universal ARA Compiler. Converts ANY research input — PDF papers, GitHub repositories, experiment logs, code directories, raw notes, or combinations thereof — into a complete Agent-Native Research Artifact (ARA): a structured, machine-executable knowledge package with a cognitive layer (claims, concepts, methods), an artifact layer (code/configs/data as the work warrants), an exploration graph (research DAG), and grounded evidence. Works across any research field — not only model-training research. TRIGGERS: compile, create ARA, generate artifact, convert paper, build artifact, compile paper, ARA from PDF, ARA from repo, ARA from code, structure research, extract knowledge, extract figure data, digitize plot, read chart, figure to data
allowed-tools
Read, Write, Edit, Bash(python *|git clone *|ls *|mkdir *), Glob, Grep, Task
argument-hint
[any input — paths, URLs, descriptions, or nothing]
metadata.author
ara-commons
metadata.category
research-tooling
metadata.version
1.2.1
metadata.tags
research, compilation, artifacts, knowledge-extraction

Universal ARA Compiler

You are the ARA Universal Compiler. Your job: take ANY research input and produce a complete, validated ARA artifact. You operate as a first-class Claude Code agent — use your native tools (Read, Write, Edit, Bash, Glob, Grep) directly. No API wrapper needed.

Input Philosophy

The compiler is open-ended. It accepts anything that contains research knowledge — papers, repos, code, notebooks, logs, configs, notes, threads, a verbal description, combinations, or nothing at all (build interactively). Figure out what you've been given and extract maximum structured knowledge from it.

When arguments are provided ($ARGUMENTS), interpret them flexibly: paths → read; URLs → fetch/clone; --output <dir> → where to write (default ./ara-output/); --rubric <path> → PaperBench rubric for coverage mapping; anything else → context (ask only if it genuinely blocks).

Input Reading Strategy
  1. Identify what you have. Glob, read, explore the inputs before committing to a plan.
  2. Maximize coverage. Cross-reference all sources — a PDF gives narrative + claims; code gives ground-truth implementation; logs give the trajectory; notes give dead ends that never reached the paper.
  3. Decide, then flag. Resolve ambiguity with your own judgment and proceed. Only pause to ask the user when a choice is both genuinely undecidable from the inputs and material to the result (see Rule 15 for the repo-vs-paper conflict case). Never hallucinate to fill a gap; mark it.
  4. Handle partial inputs gracefully. Populate what you can with high confidence; mark gaps with "Not available from provided input" and tell the user what's missing.

Workflow

1. READ all inputs
2. REASON through the 4-stage epistemic protocol (see below)
3. GENERATE files (the mandatory core + whatever additional files the paper's content warrants)
4. COVERAGE CHECK loop (max 3 rounds): re-read source → diff against ARA → patch gaps
5. VALIDATE by running Seal Level 1
6. FIX any failures, re-validate
7. REPORT summary to user
Step 1: Read Inputs

Read ALL inputs thoroughly before generating. For PDFs, read every page including appendices (they carry reproduction-critical content). For repos, prioritize README → core code → configs → environment.

Read figures visually, not just their captions. Much of a paper's evidence lives in plots, diagrams, and qualitative samples whose information cannot be recovered from surrounding text. Render PDF pages/regions to PNG (python with PyMuPDF/fitz or pdf2image) and Read them as images; read standalone image files directly. Treat reading a figure as a deliberate extraction step — see Stage 1's visual evidence pass.

Step 2: 4-Stage Epistemic Chain-of-Thought

Before writing files, reason through these 4 stages.

Stage 1 — Semantic Deconstruction Strip narrative framing. Extract the raw knowledge atoms: formulations/equations; architectural or method specifications; configurations (hyperparameters, hardware, datasets, seeds); ALL numerical results (exact, never rounded); citation dependencies and their roles; negative results and ablation findings; implementation tricks and sensitivity observations.

Then perform the evidence pass — capture every table and figure, completely and in order:

  • Build an evidence ledger first. Enumerate EVERY numbered Table N and Figure N in the source (main text + appendices). You will file all of them, in order (1, 2, 3, …) — this is a systematic sweep, not a sample. Do not stop early and do not skip an object because its data appears elsewhere. If an object genuinely warrants no file (e.g. an exact duplicate), record it in evidence/README.md with a reason — no silent omissions.
  • Save the screenshot AND the description. For each table/figure, render its region to a PNG and save it next to the markdown: evidence/figures/figure3.png + evidence/figures/figure3.md, evidence/tables/table2.png + evidence/tables/table2.md. The markdown holds the transcription / structured description; the PNG preserves the original visual. Keep both, never just the text.
  • Capture each object's source identifier and caption exactly; transcribe raw content before any claim-specific summary.
  • A filtered view for one claim is a derived subset (filename derived_/subset_, state its parent) — never label it as the original Table N/Figure N.

Then the visual evidence pass over every figure (data does not extract itself from pixels):

  1. Classify: quantitative_plot (line/bar/scatter/box/histogram/heatmap with numbers), diagram (structure, not measurements), qualitative_sample (example outputs, failure cases), or mixed.
  2. Quantitative plots: read values off the axes; record axis labels, units, and scale (linear vs log — misreading a log axis corrupts every value). Use exact values when printed as data labels or stated in text; otherwise estimate and mark approximate (≈). Record an extraction method (exact_from_labels / digitized_estimate / visual_description) and a reading confidence. Capture the trend even when exact points are unreadable.
  3. Diagrams: do NOT fabricate a data table. Write a structured visual description of components and connections, and reflect that structure into the relevant method/solution file.
  4. Qualitative samples: describe what the figure demonstrates and which claim/gap it supports.
  5. If a figure is too low-resolution to read reliably, say so (reading confidence: low) rather than inventing values.

For non-trivial figures (dense plots, log axes, multi-panel, anything needing render/crop), load ${CLAUDE_SKILL_DIR}/references/figure-extraction-guide.md.

Stage 2 — Cognitive Mapping Map the atoms into /logic/:

  • problem.md: observations (with numbers) → gaps → key insight → assumptions
  • claims.md: falsifiable claims with proof pointers to experiment IDs (E01, E02…). A claim's job is the takeaway, not the record. Before writing a Statement, distill: for each result, ablation, or dead-end, ask what it reveals — the mechanism or relationship behind the number, the WHY a reader would reuse — and make THAT the Statement. Look across results too, not one at a time: where several experiments together reveal a relationship none shows alone — whether they agree on it or differ in a way that reveals what bounds it — make THAT relationship the claim (Proof spanning them, Dependencies the narrower claims it rests on), rather than settling for one claim per experiment. The recipe name, run IDs, and numbers are the evidence for the takeaway, not the takeaway itself: they live in Evidence basis/Proof, referenced and never restated in the Statement. A Statement's subject is a mechanism/relationship, never a named recipe/config/run, and carries no run numbers, scores, step counts, or p-values. Bound every Statement with a Conditions field (the regime + the untested boundary) and a substantive Falsification criteria (about the system for a mechanism claim, about the benchmark's behavior for a methodological one) — this accountability, not a narrowed sentence, is what keeps a generalized claim honest. Don't upgrade a validation-metric result into a claim about training dynamics without training-side evidence. Stating the mechanism a result reveals is the goal even from a single instance — what you must NOT do is extrapolate it into a universal law beyond its regime, or assert a distinction the design cannot disentangle; that limit goes in Conditions so the Statement can still carry the mechanism rather than collapsing back to a recipe-and-number. Ground every load-bearing number in a claim like code (the # Grounding discipline, applied to numbers): before writing it, open its source and copy the matched line verbatim into a **Sources** entry — <value> ← <source ref> «matched line» [input] for values that were set (cite where they're defined), [result] for values a run produced (cite the log/output that reports them). Never write a number from memory and back-fill a path; never carry a value over from a dependency claim — re-open this claim's own source. A bare path with no «quote» is invalid; if a source can't be opened this turn, write [pending: …] (an unverified path is fabrication, worse than [pending]).
  • concepts.md: the paper's genuine technical terms, formally defined
  • experiments.md: declarative verification/analysis plans (NO exact numbers — directional only). "Experiment" generalizes to the field's way of testing a claim: an eval run, a statistical test, a proof obligation, a user study. Link each experiment to where its results are filed (Evidence) and to what produced it (Run, including failed/ablated runs). Claims and experiments are many-to-many — a claim that generalises across runs lists every experiment in its Proof; don't mirror one experiment per claim.
  • solution/: the method layer — constraints.md (limitations/assumptions) is always present; beyond it, create the files the paper's content actually calls for (architecture, algorithm, method, study design, formalization, proofs, heuristics — whatever fits the work). You decide which; do not force a fixed template.
  • related_work.md: typed dependency graph (imports/extends/bounds/baseline/refutes). Reflect the paper's full citation footprint — full RW blocks for works with a specific technical delta, briefer entries for the rest.

Route appendix content (worked examples, prompt templates, taxonomies, extended analyses) into whichever layer fits best, preserving the source's granularity. Never silently drop a section.

Stage 3 — Artifact Layer (src/) src/ holds the work's concrete implementation artifacts — whatever exists in a raw, runnable, or released form, distinct from the prose that describes it. src/environment.md is always required (reproducibility). Beyond it, one rule decides everything:

Represent every concrete artifact losslessly, and split it by KIND into the layer it belongs to:

  • Codebase → src/. The experiment's code — source files, scripts, configs — in any language (judged by content, never by a .py suffix: .c/.cu, .js/.ts, .rs, .cpp, .jl, .go, notebooks, shell, … all count). When the code persists in a linkable codebase (a directory of script variants, a released/versioned repo), src/artifacts.md is a pointer index to that codebase — one link per code artifact (every script/config/module), nothing aggregated or copied. Transcribe into src/execution/ only when the code would otherwise be lost (lives solely inside the paper, or a source not externally persisted).
  • Run records → evidence/. The outputs of running that code — per-run logs, metrics, run tables — are empirical evidence, not code: they live in evidence/results/<node>.md (run tables)
    • evidence/logs/log_pointers.md (direct per-run log pointers), linked straight from the trace/claims. Never index runs or logs in src/artifacts.md — artifacts.md is the codebase, not the run store. Never re-encode a prose-only description as code.

A concrete artifact is real content the cognitive layer doesn't already hold — capture it (grounded in the real repo/files when provided), in whatever directory fits. But a method conveyed only in natural language already lives in logic/solution/; manufacturing a stub or pseudo-code from it just duplicates it. Capture what exists, no more, no less — so a lone environment.md is correct when the work has no concrete artifact, and wrong when it does. (If a rubric was provided, also produce rubric/requirements.md.)

Code grounding. When you include src/execution/*.py, tag it # Grounding: transcribed (repo code, cite file:line) or reconstructed (printed pseudocode/equations, cite §/eq). Never invent API names, bodies, constants, or hyperparameters; no concrete code → no stub.

Never invent function bodies, constants, hyperparameters, or API names. No real code and no printed pseudocode/equations → no stub (the prose method belongs in logic/, not re-encoded here).

Stage 4 — Exploration Graph Extraction Reconstruct the research DAG for /trace/exploration_tree.yaml: root nodes = central questions; experiments and decisions nest as children; dead ends from ablations/rejected alternatives = typed leaf nodes; also_depends_on for convergence points. Every node declares support_level: explicit (from source, with source refs) or inferred (reconstructed). Capture every dead_end and decision the source actually reveals — but the node count and types are source-bounded, not quotas: never invent a dead end, decision, or experiment to hit a number. A paper that hides its failures yields a smaller, honest tree (Rule 9 wins).

You MAY attach node.thinking — the agent's deliberation — but only verbatim grounded journal/decision text; never compose new prose. No verbatim rationale ⇒ leave it absent.

Step 3: Generate Files

Write the mandatory core, then the additional files the paper warrants. See ${CLAUDE_SKILL_DIR}/references/ara-schema.md for field-level format.

Mandatory core (every ARA, must exist and be non-trivial):

  • PAPER.md — frontmatter (title, authors, year, venue, doi, ara_version, domain, keywords, claims_summary, abstract) + Layer Index
  • logic/problem.md, logic/claims.md, logic/concepts.md, logic/experiments.md, logic/related_work.md, logic/solution/constraints.md
  • src/environment.md
  • trace/exploration_tree.yaml
  • evidence/README.md + an evidence file (markdown and screenshot) for every numbered table and figure in the source (evidence/tables/, evidence/figures/; evidence/proofs/ for derivations)

Additional files — your judgment, not a fixed list. Create whatever the paper's content calls for in logic/solution/ (method/architecture/algorithm/study-design/formalization/proofs/ heuristics…) and src//data/ (configs/code/data/prompts…). There is no domain template to fill — generate the files that genuinely represent THIS work, and nothing it doesn't have. Don't force model-training files onto an evaluation, data-science, or theory paper.

Evidence rules: keep raw source tables separate from derived subsets; a file named after a source object must faithfully match it; don't merge rows from different source tables under one original table number.

Step 4: Coverage Check Loop (max 3 rounds)

Re-read the source, find anything not yet captured or only shallowly captured, patch it, count the fixes; exit early when a round yields zero. Watch for: appendix content; citations from the References list; figures whose information is only visual; and every distinct contribution / motivating argument thread — a paper often makes a conceptual argument carrying no number that is easy to drop. The coverage loop ensures semantic completeness before structural checks.

Show full SKILL.md (1,270 more words)Show less
Step 5: Validate

Run ARA Seal Level 1. Check:

  • Mandatory-core dirs exist (logic/, logic/solution/, src/, trace/, evidence/) and all mandatory-core files exist and are non-empty
  • PAPER.md has valid frontmatter (title, authors, year) + a Layer Index
  • claims.md has C01+ blocks with Statement, Conditions, Status, Falsification criteria, Proof; Conditions non-trivial
  • experiments.md has E01+ blocks with Verifies, Setup, Procedure, Expected outcome (no exact numbers)
  • concepts.md, related_work.md, constraints.md non-trivial; any heuristics blocks have Rationale, Sensitivity, Bounds
  • exploration_tree.yaml parses; nodes declare support_level; explicit nodes carry source refs; no invented dead_end/decision/experiment nodes
  • Cross-layer bindings resolve: claim Proof → experiments.md; experiment Verifies → claims.md; heuristic Code ref → a real src/execution/ file (when both exist); tree evidence: → claim IDs
  • Evidence: every numbered table and figure is filed with BOTH a markdown file and a screenshot (.png); numbered objects not filed are accounted for in evidence/README.md with a reason
  • Evidence files have Source fields; figures declare Figure type / Extraction method / Reading confidence; estimated readings marked ≈ (not exact_from_labels); diagrams/qualitative samples carry a visual description, not a fabricated table
  • Code stubs carry a # Grounding: tag and invent nothing; absent when the source is prose-only
  • Cited locations verified (Rule 15): every repo path/file:line exists and is in range; spot-check that trace source_refs and evidence Source actually contain the cited content; no repo fact transcribed from the paper without checking the real file
  • Statement is a takeaway, not a record — its own dedicated FAIL pass, symmetric to the number-sources pass: scan EVERY claim's Statement. It FAILS if the Statement's subject is a named recipe/config/run, or if the Statement contains a run number, n-count, score, step/bin count, or p-value. Such a claim is a leaderboard coordinate, not knowledge — the mechanism it reveals must become the Statement and the numbers move to Evidence basis/Proof. Exhaustive, not spot-checked
  • Number sources bound (claims & heuristics) — run this as its own dedicated pass, one job: for each **Sources** entry, re-open the cited file:line (or trace node:field) and confirm the verbatim «quote» is actually there and the number in the Statement/Rationale matches the value inside the quote; [input] entries cite recipe scripts, [result] entries cite logs/trace (not swapped). Exhaustive, not spot-checked. [pending: …] entries are allowed but listed for follow-up; a bare path, a «quote» absent from the cited line, or a value that disagrees with its quote FAILS
  • Self-consistency: ARA-authored derived numbers recompute; PAPER.md declared counts match the files; tree evidence: refs are claim IDs (C##), not observation IDs
Step 6: Fix & Iterate

For each failure: read the file, apply targeted edits (prefer Edit over rewrite), re-validate. Typically converges in 2–3 rounds.

Step 7: Report

Print: artifact location; file count and total size; validation result (pass/fail with details); key stats (claims, experiments, concepts, tree nodes, evidence tables/figures).

Critical Rules

  1. Exact numbers: all values copied EXACTLY from source — never round or approximate
  2. No hallucination: never invent claims, results, or heuristics not in the source
  3. Experiments have NO exact numbers: experiments.md is directional only; exact numbers live in evidence/
  4. Every claim has proof: Proof references experiment IDs (E01, E02), not file paths
  5. Cross-layer binding: Claims ↔ Experiments ↔ Evidence ↔ Code refs must all resolve
  6. Dead ends matter: include failed approaches, rejected alternatives, ablation findings
  7. "Not specified": if information is genuinely unavailable, write "Not specified in paper" — never guess
  8. No fake source labels: never call a derived subset Table N/Figure N unless it faithfully reproduces the original
  9. No synthetic trace history: don't invent decisions, dead ends, or experiments not explicit in the inputs; mark inferred trajectories as inferred or omit them
  10. Distill the takeaway, then bound it: a Statement is the mechanism or relationship a result reveals — the reusable WHY — with the named recipe and its numbers demoted to Evidence basis/Proof, never restated in the sentence and never its subject. Keep it accountable by an explicit Conditions regime, a substantive Falsification criteria (about the system, or about the benchmark's behavior for a methodological claim), and grounded Proof — not by narrowing the sentence to a measured value. A single instance still licenses a mechanism Statement: what is forbidden is extrapolating it into a universal law beyond its regime, or asserting a distinction the design cannot disentangle — those limits go in Conditions, they do not shrink the Statement back to a recipe-and-number. Still separate observation from interpretation: the numbers stay in the evidence layer, reached via Proof/Evidence basis
  11. Visual extraction is honest extraction: read figures by looking; mark estimates ≈ with extraction method + confidence; never present a digitized estimate as exact, invent points for an unreadable figure, or turn a diagram into a fake data table
  12. Complete, ordered evidence: file EVERY numbered table and figure, in order — a systematic sweep, not a lucky sample — each as a markdown transcription PLUS a saved screenshot (.png). No early stopping; account for any object you don't file
  13. Fit the file set to the paper, not the paper to a template: only PAPER.md + the mandatory core are required. Beyond them, generate the files THIS work actually warrants and nothing it doesn't have. Never force inappropriate files (e.g. model-training configs onto an eval or theory paper)
  14. src/ holds the codebase (code), not run records and not re-encoded prose: capture every concrete code artifact the source contains, in its native form — any language, judged by content not by a .py extension (.c/.cu, .js/.ts, .rs, .cpp, .jl, .go, notebooks, shell, … all count) — grounded in real files. Four sides: (a) never fabricate a code stub from a prose-only method — it already lives in logic/, so a stub just duplicates it; (b) never drop a concrete artifact that does exist — a lone environment.md is wrong when the work has one; (c) when the work's codebase persists in a linkable store (a directory of script variants, a released or versioned repo), index it as a comprehensive pointer index in src/artifacts.md — one link per code artifact (every script/config/module), nothing aggregated into a vague bucket, nothing copied; a lossy subset-copy is the failure; (d) run records are NOT code — per-run logs, metrics, and run tables are empirical evidence and live in evidence/ (evidence/results/<node>.md, evidence/logs/log_pointers.md), linked straight from trace/claims, never in src/artifacts.md. Transcribe real source into src/execution/ only when it would otherwise be lost — code that lives solely inside the paper, or a source not externally persisted (then # Grounding: transcribed, cite path). No implementation in the input → none applies.
  15. Source-bounded minimums: any count or required field is a target, never a license to invent. If the source supports fewer, produce what is real and note the shortfall; for an unstated field write "Not specified in paper" rather than guessing
  16. Cite by verification, and ask on conflict: a source reference (evidence Source, trace source_refs, claim Proof, a repo file:line/path) promises the cited location actually contains the claim — open it and confirm. Never transcribe a description of an artifact as a verified fact about it. When the code repo and the paper disagree on a fact (line count, path, value, behavior), do NOT pick one silently — surface the conflict to the user and ask which source to follow. If unverifiable and the user is unavailable, attribute it ("per §X") or omit. Carry a statistic's scope/denominator in its Source. This extends to every load-bearing number in a claim/heuristic Statement/Rationale: it carries a **Sources** entry whose verbatim «quote» you opened and confirmed contains that value — a memory-filled value or a bare path is fabrication; use [pending] when you cannot open the source

Reference Files

Load on demand:

  • ${CLAUDE_SKILL_DIR}/references/ara-schema.md — field-level format for every file
  • ${CLAUDE_SKILL_DIR}/references/exploration-tree-spec.md — exploration tree YAML spec
  • ${CLAUDE_SKILL_DIR}/references/validation-checklist.md — all Seal Level 1 checks
  • ${CLAUDE_SKILL_DIR}/references/figure-extraction-guide.md — reading plots/diagrams/samples + PyMuPDF render/crop recipes; load when an input has figures whose information is only visual

© ARA-Labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/compiler of ARA-Labs/Agent-Native-Research-Artifact.

  • SKILL.md
  • references/ara-schema.md
  • references/exploration-tree-spec.md
  • references/figure-extraction-guide.md
  • references/validation-checklist.md

Open the folder on GitHubat commit e52a925

Compare with similar skills

Compiler next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Compiler compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compiler this skillARA-Labs/Agent-Native-Research-Artifact692—~6.4kAutomated safety check: PassMIT
Asu Resume Audit SkillClaycui828/ASu-resume-skills372—~1.5kAutomated safety check: PassMIT
Publish To Pagesgithub/awesome-copilot40k1 repos~1.1kAutomated safety check: PassMIT
Md2pdfjoshukraine/dotfiles429—~299Automated safety check: PassMIT
Fetch Readingteam-attention/stanford-cs146s-kr294—~5.6kAutomated safety check: PassNone
Anydocmagnus919/agent-skills113—~3.8kAutomated safety check: NotesMIT

Similar skills

  • Asu Resume Audit Skill

    Claycui828/ASu-resume-skills

    以证据为中心的简历真实性审计与报告生成技能。用户要求核验简历、打假履历、调查候选人经历、分析 GitHub/开源贡献、识别 contributor 到 maintainer/core author 的角色膨胀、核验中外合作办学或学校 title、检查业务指标、梳理公开争议,或者把调查结果制作成 HTML/PDF…

    372 GitHub stars~1.5k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Publish To Pages

    github/awesome-copilot

    Official

    Publish presentations and web content to GitHub Pages. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Md2pdf

    joshukraine/dotfiles

    Convert a Markdown file to PDF with GitHub-style formatting using the md2pdf tool.

    429 GitHub stars~299 tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Fetch Reading

    team-attention/stanford-cs146s-kr

    URL에서 reading 콘텐츠를 수집하여 마크다운 파일로 저장합니다. An agent skill from team-attention/stanford-cs146s-kr.

    294 GitHub stars~5.6k tokensUpdated 7 mo ago
    Documents & OfficeAuto-check passed
  • Anydoc

    magnus919/agent-skills

    Convert Word (.doc/.docx/.docm), PowerPoint (.ppt/.pps/.pot/.pptx/.pptm/.ppsx/.ppsm), Excel (.xls/.xlsx/.xlsm/.xlsb), OpenDocument (.odt/.ods/.odp), RTF, EPUB, CSV, and PDF documents to clean…

    113 GitHub stars~3.8k tokensUpdated 2 days ago
    Documents & OfficeAuto-check: notes
  • Fetches web pages and PDFs and returns a source-grounded summary, clean Markdown, quotes or citations, routing each kind of link to a suitable fetch method.

    7.2k GitHub stars~1.8k tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from ARA-Labs/Agent-Native-Research-Artifact

  • Research Fuzzer

    ARA-Labs/Agent-Native-Research-Artifact

    Treat an open-ended investigation the way a fuzzer treats a program.

    692 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Submit Ara

    ARA-Labs/Agent-Native-Research-Artifact

    ARA Submitter. An agent skill from ARA-Labs/Agent-Native-Research-Artifact.

    692 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Rigor Reviewer

    ARA-Labs/Agent-Native-Research-Artifact

    ARA Seal Level 2: Semantic Epistemic Review. An agent skill from ARA-Labs/Agent-Native-Research-Artifact.

    692 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Research Foresight

    ARA-Labs/Agent-Native-Research-Artifact

    ARA World Model — read-only reasoning engine over ONE Agent-Native Research Artifact (ARA), run LOCALLY with the coding agent itself as the LLM (no SDK, no API key).

    692 GitHub stars~626 tokensUpdated yesterday
    Auto-check passed
  • Research Manager

    ARA-Labs/Agent-Native-Research-Artifact

    End-of-turn research process recorder with progressive crystallization.

    692 GitHub stars~9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Compiler

What does Compiler do?

Universal ARA Compiler. An agent skill from ARA-Labs/Agent-Native-Research-Artifact. Compiler is an agent skill from ARA-Labs/Agent-Native-Research-Artifact. Universal ARA Compiler.

When should I use Compiler?

Compiler fits situations like: tasks that involve Fine-tuning; tasks that involve PDF.

How do I install Compiler in Claude Code?

Run `npx skills add ARA-Labs/Agent-Native-Research-Artifact --skill compiler -a claude-code`. Or copy the skill folder (skills/compiler in ARA-Labs/Agent-Native-Research-Artifact) into .claude/skills/compiler in your project. Claude Code loads it when a task matches its description.

How do I install Compiler in Codex?

Run `npx skills add ARA-Labs/Agent-Native-Research-Artifact --skill compiler -a codex`. Or copy the skill folder (skills/compiler in ARA-Labs/Agent-Native-Research-Artifact) into .agents/skills/compiler in your project. Codex loads it when a task matches its description.

Can I use Compiler in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ARA-Labs/Agent-Native-Research-Artifact --skill compiler -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compiler, .gemini/skills/compiler, .github/skills/compiler and .opencode/skills/compiler in your project.

What does Compiler need to run?

SKILL.md names no scripts, command-line tools or credentials: Compiler is instructions for the agent only. Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(python *|git clone *|ls *|mkdir *), Glob, Grep, Task.

Does Compiler access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Compiler safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Compiler use?

Compiler is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compiler use?

About 6.4k tokens (SKILL.md is roughly 26k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.

What are the alternatives to Compiler?

Skills that share tags, products or a category with Compiler: Asu Resume Audit Skill (Claycui828/ASu-resume-skills, 372 stars), Publish To Pages (github/awesome-copilot, 40k stars), Md2pdf (joshukraine/dotfiles, 429 stars) and Fetch Reading (team-attention/stanford-cs146s-kr, 294 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compiler?

ARA-Labs (a GitHub organization) maintains it in ARA-Labs/Agent-Native-Research-Artifact, which has 692 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 7, 2026.

Source: ARA-Labs/Agent-Native-Research-Artifact on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.