Agent skill

Ade

by landing-ai in landing-ai/ade-cli

Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI.

Apache-2.0Auto-check passedDocuments & Office

Install Ade

skills CLI
$ npx skills add landing-ai/ade-cli --skill ade -a claude-code

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

GitHub CLI
$ gh skill install landing-ai/ade-cli ade --agent claude-code

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

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

Facts

Skill name
ade
GitHub stars
2.4k
Token cost
~2.4k tokens
SKILL.md length
1,236 words
Files
116 (incl. scripts)
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI.

  • Works in 4 steps: Parse (free if already done) → Discover element ids (local, instant, no… → Extract structured data against a JSON… → …
  • Documents & Office work in your project
  • SKILL.md covers First move, Conventions, The loop and Reuse posture — parse bills once, plus 4 more sections
  • Needs ADE_API_KEY

What it does

Ade is an agent skill from landing-ai/ade-cli. Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI. A local job-item store makes every run idempotent, resumable, and citable — repeat runs are free, interrupted runs resume, and every answer can cite element ids with visual evidence.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 120 other files, including scripts (for example `.github/workflows/ci.yml`, `.github/workflows/integration.yml` and `.github/workflows/notify-docs.yml`).

It sits in Documents & Office. The repository describes itself as: The official CLI for Agentic Document Extraction (ADE) by LandingAI — parse documents and extract schema-shaped data from your terminal. The licence is Apache-2.0.

When your agent uses it

  • Documents & Office work in your project

Example prompts

  • “/ade”

Requirements

  • A credential in ADE_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Parse (free if already done)
  2. Discover element ids (local, instant, no API call)
  3. Extract structured data against a JSON Schema
  4. Cite and show. ade view JOB_ITEM_ID --json builds a

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    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 these keys or tokens, usually read from environment variables:

    • ADE_API_KEY

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

Context cost

Ade loads about 2.4k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 1,236 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from landing-ai/ade-cli at commit d1995ff, republished under its Apache-2.0 licence (© landing-ai). 1,236 words, ~2,353 tokens.

Download SKILL.mdSave it as .claude/skills/ade/SKILL.md (or your agent's skills folder). This skill also uses 115 other files; get the full folder from GitHub.
name
ade
description
Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI. A local job-item store makes every run idempotent, resumable, and citable — repeat runs are free, interrupted runs resume, and every answer can cite element ids with visual evidence.

ade — agent skill

ade drives the ADE (Agentic Document Extraction) v2 document APIs (parse, extract) and persists everything it produces in a local store under ~/.ade. You are the judgment; the CLI is deterministic plumbing: it parses, persists, searches, renders, and totals — it never ranks or selects for you.

First move

ade help --json

One call returns the whole shipped surface: every command and flag, each verb's --json result shape, the exit states, and the store layout. Prefer it over N --help round trips. ade help workflow (also output, credentials, errors) is the conceptual page behind it. Check credentials with ade auth status --json; if logged out, set ADE_API_KEY, or pipe a key in (echo $KEY | ade auth login) — no terminal required either way. An API key acts in the organization it was created in; browser (OAuth) sessions carry their own selection — status reports it, ade auth org list --json shows the memberships, and ade auth org switch <org> --env <env> changes it. If a run must bill to a specific organization, confirm the selection before parsing: re-running the same invocation after a switch joins the recorded run instead of re-billing under the new organization.

Conventions

  • Always pass --json. Every command emits one stable JSON object/array on stdout — errors and pending payloads included. Human text is for terminals, not for parsing. The whole result is on stdout: the extraction, the matches, the paths. Reading the store is a convenience, never a requirement — and ade help --json publishes each verb's shape, so you never have to discover it by running.
  • --id-only when you only need the id. parse, extract, and find take it: the id(s), one per line, nothing else — JOB=$(ade parse -d report.pdf --id-only). Errors go to stderr, so a captured id is never a sentence.
  • Job item ids are the currency. Every parse or extract run is a job item: one folder under ~/.ade/jobs/<job-item-id>/, keyed by the invocation (verb × environment × source × content × params; URL sources are keyed by the URL alone — no content component, so remote drift does not re-key). Commands accept an unambiguous id prefix. Changing the file, its path, or any param mints a sibling item — nothing is silently replaced.
  • Commands are guarantees. parse means "ensure this exact run exists", not "fire a request". Re-running an already-done invocation is free — served from disk with an already parsed notice and "cached": true. Only --force re-bills.

The loop

  1. Parse (free if already done):

    ade parse -d report.pdf --json

    The payload carries job_item_id — hold onto it. Everything else keys off it. The markdown and the elements projection stay on disk unless you ask for them: --include markdown, --include elements.

  2. Discover element ids (local, instant, no API call):

    ade find JOB_ITEM_ID "total revenue" --json
    ade find JOB_ITEM_ID --type table_cell --page 3 --json

    (--job JOB_ITEM_ID is the equivalent flag spelling — repeat it to search several items in one call.)

    Matches are citation records: {job_item_id, element_id, type, page, box, text}. Filters compose (AND); results come in document order, never ranked — selection is your job.

  3. Extract structured data against a JSON Schema:

    ade extract JOB_ITEM_ID --schema schema.json --json

    The result is its own job item. The payload's extraction key is the schema-shaped result itself — read it there, not off disk. Per-field evidence (evidence, persisted as evidence.json) joins extraction spans to element ids, pages, and boxes — non-empty fields the model synthesised rather than quoted are flagged ungroundable; empty-valued fields (blank cells, absent optionals — nothing to ground) are labeled empty. Neither is ever silently dropped.

  4. Cite and show. ade view JOB_ITEM_ID --json builds a self-contained HTML viewer; deep links are the citation contract:

    ade view JOB_ITEM_ID --element-id ELEMENT_ID --json   # emits view.html#element=ELEMENT_ID
    ade crop JOB_ITEM_ID --element-id ELEMENT_ID --json   # PNG of that element's region
    ade crop JOB_ITEM_ID --type figure --json             # every figure, one command

    End answers with one deep link per job item, citing element ids. Use crop when you need to look at evidence mid-reasoning — it takes find's own filters (--type, --page, --all), so a selection crops in one call and returns crops[]; never loop find into crop yourself.

Reuse posture — parse bills once

Every parse the CLI ever runs is a reusable job item. Given a document path, extract -d FILE --schema … reuses the latest completed parse of that path+content (logged in the summary; no parse billed). If none exists, it runs a standalone parse first — a normal, top-level parse item, exactly as if you had run parse -d — then the extraction referencing it: two billable runs, both itemised. Repeat extract -d runs of the same file then reuse that parse, so it bills exactly once.

Prefer the explicit two-step (parse -d, then extract JOB_ITEM_ID) when you want the same parse to feed several schemas — the id makes the reuse visible.

Show full SKILL.md (504 more words)Show less

Pending and resume

Wait expiry is a normal outcome, not an error. If the poll budget (--wait, default 600s) runs out, the command exits with code 3 and a {"status": "pending", "run_id": …, "job_item_id": …} payload while the run continues server-side (submitted work always completes and bills — there is no cancel). The recovery gesture is always the same command, re-run. A re-run joins the recorded run; it never resubmits and never re-bills. Interrupts (Ctrl-C) stop the waiting, not the work — same gesture. --wait 0 submits and returns immediately.

Submit-and-return, then collect later — the pending payload carries the id too, so this works in both steps:

JOB=$(ade parse -d report.pdf --wait 0 --id-only)   # exit 3, run continuing
ade parse -d report.pdf --json                       # re-run: resumes, never re-bills

Exit codes

CodeStateMeaning
0okSuccess — the payload is on stdout.
1failedThe run failed or the target cannot serve the request.
2usageThe invocation itself was wrong; nothing was submitted.
3pendingWait budget expired; the run continues server-side. Re-run the same command to resume.
4rate_limitedSubmit was rate-limited and the wait budget ran out before a run existed; nothing billed. Re-run to retry.

Reading the store directly

Optional, never required: every result is already on stdout. Artifacts are plain files — history list --json gives every item's records, and the summaries print each item's store path.

  • parse.json — raw ParseResponse (ground truth, verbatim)
  • parse.md — the parse markdown extraction spans index
  • elements.json — flat element records with inline grounding; boxes are normalized {xmin, ymin, xmax, ymax} fractions of page size in [0, 1]
  • extract.json — raw extraction result with per-field spans
  • evidence.json — the field→box join (element ids, pages, boxes)

One vocabulary note when reading these files: on-disk records (meta.json, job.json, parse/ref.json) spell the server-side run id as job_id — the wire contract's name for the same value --json payloads report as run_id. Neither is ever the job item id.

Prefer find over loading elements.json into context: it returns joined records, not lines. history clear JOB_ITEM_ID deletes an item; clearing a parse item cascades to the extractions referencing it.

Sharp edges

  • --options is a verbatim ParseOptions pass-through — the server rejects unknown keys with a 422, so consult ade help parse for the accepted keys rather than guessing.
  • Parse variants coexist. The same document parsed with different params is a sibling item, not a replacement. An extraction goes stale only when its exact parse item is re-run in place with --force.
  • Moving or editing a file changes identity — the next parse of it is a new job item that bills. The old item and its evidence stay intact and true of the run they came from.
  • --markdown extractions have no page evidence (there is no parse to join against) — evidence degrades to spans-only, and view renders the markdown pane alone.
  • URL parses have no local bytes, so page imagery renders from an attached copy: parse --document-url … --keep-copy fetches it at parse time (reliable — pre-signed URLs expire); otherwise the first view/crop downloads it automatically (--no-download skips; the payload records downloaded, and on a failed fetch view degrades to an empty preview with download_error while crop errors). Markdown, elements, and extractions work either way.

© landing-ai, Apache-2.0. 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 115 other files (scripts) in the repository root of landing-ai/ade-cli.

  • SKILL.md
  • .claude/skills
  • .gitattributes
  • .github/workflows/ci.yml
  • .github/workflows/integration.yml
  • .github/workflows/notify-docs.yml
  • .github/workflows/release.yml
  • .gitignore
  • CLAUDE.md
  • CONTEXT.md
  • CONTRIBUTING.md
  • LICENSE
  • README.md
  • docs/ade-cli-v2-proposal.md
  • docs/adr/0001-auth-login-selects-logout-per-env.md
  • docs/adr/0002-login-method-menu.md
  • … and 100 more

Open the folder on GitHubat commit d1995ff

Compare with similar skills

Ade 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.

Ade compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ade this skilllanding-ai/ade-cli2.4k—~2.4kAutomated safety check: PassApache-2.0
Markdown Article FormatterJimLiu/baoyu-skills26k6 repos~3.5kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78214 repos~3.2kAutomated safety check: NotesMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
DOCXrvdbreemen/OTGW-firmware20733 repos~4.3kAutomated safety check: PassProprietary
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    26k GitHub starsUsed in 6 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    782 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • DOCX

    rvdbreemen/OTGW-firmware

    A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).

    207 GitHub starsUsed in 33 repos~4.3k tokens
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.

    41k GitHub stars~2.5k tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from landing-ai/ade-cli

  • Verify

    landing-ai/ade-cli

    Verify ade changes end-to-end — seed a store offline, run the CLI, drive generated artifacts in a browser.

    2.4k GitHub stars~383 tokensUpdated 1 mo ago
    Auto-check passed

Questions about Ade

What does Ade do?

Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI. Ade is an agent skill from landing-ai/ade-cli. Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI.

When should I use Ade?

Ade fits situations like: documents & Office work in your project.

How do I install Ade in Claude Code?

Run `npx skills add landing-ai/ade-cli --skill ade -a claude-code`. Or copy the skill folder (the landing-ai/ade-cli repository) into .claude/skills/ade in your project. Claude Code loads it when a task matches its description.

How do I install Ade in Codex?

Run `npx skills add landing-ai/ade-cli --skill ade -a codex`. Or copy the skill folder (the landing-ai/ade-cli repository) into .agents/skills/ade in your project. Codex loads it when a task matches its description.

Can I use Ade 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 landing-ai/ade-cli --skill ade -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ade, .gemini/skills/ade, .github/skills/ade and .opencode/skills/ade in your project.

What does Ade need to run?

Going by SKILL.md and its folder, Ade needs credentials named ADE_API_KEY. Our summary lists: A credential in ADE_API_KEY.

Does Ade 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 Ade 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ade use?

Ade is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ade use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ade?

Skills that share tags, products or a category with Ade: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 782 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and DOCX (rvdbreemen/OTGW-firmware, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ade?

landing-ai (a GitHub organization) maintains it in landing-ai/ade-cli, which has 2,421 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 19, 2026.

Source: landing-ai/ade-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.