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.
Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI.
$ npx skills add landing-ai/ade-cli --skill ade -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install landing-ai/ade-cli ade --agent claude-codeProject 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/
Install the "ade" agent skill from https://github.com/landing-ai/ade-cli/tree/main into .claude/skills/ade/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ade", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add landing-ai/ade-cli --skill ade -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install landing-ai/ade-cli ade --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ade" agent skill from https://github.com/landing-ai/ade-cli/tree/main into .agents/skills/ade/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ade", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add landing-ai/ade-cli --skill ade -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install landing-ai/ade-cli ade --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ade" agent skill from https://github.com/landing-ai/ade-cli/tree/main into .cursor/skills/ade/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ade", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add landing-ai/ade-cli --skill ade -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install landing-ai/ade-cli ade --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ade" agent skill from https://github.com/landing-ai/ade-cli/tree/main into .gemini/skills/ade/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ade", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install landing-ai/ade-cli adeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add landing-ai/ade-cli --skill ade -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ade" agent skill from https://github.com/landing-ai/ade-cli/tree/main into .github/skills/ade/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ade", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add landing-ai/ade-cli --skill ade -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install landing-ai/ade-cli ade --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ade" agent skill from https://github.com/landing-ai/ade-cli/tree/main into .opencode/skills/ade/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ade", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
adeParse 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d1995ff. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ADE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
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.
.claude/skills/ade/SKILL.md (or your agent's skills folder). This skill also uses 115 other files; get the full folder from GitHub.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.
ade help --jsonOne 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.
--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.~/.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.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.Parse (free if already done):
ade parse -d report.pdf --jsonThe 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.
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.
Extract structured data against a JSON Schema:
ade extract JOB_ITEM_ID --schema schema.json --jsonThe 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.
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 commandEnd 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.
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.
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| Code | State | Meaning |
|---|---|---|
| 0 | ok | Success — the payload is on stdout. |
| 1 | failed | The run failed or the target cannot serve the request. |
| 2 | usage | The invocation itself was wrong; nothing was submitted. |
| 3 | pending | Wait budget expired; the run continues server-side. Re-run the same command to resume. |
| 4 | rate_limited | Submit was rate-limited and the wait budget ran out before a run existed; nothing billed. Re-run to retry. |
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 indexelements.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 spansevidence.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.
--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.--force.--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.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
SKILL.md and 115 other files (scripts) in the repository root of landing-ai/ade-cli.
Open the folder on GitHubat commit d1995ff
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ade this skilllanding-ai/ade-cli | 2.4k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Markdown Article FormatterJimLiu/baoyu-skills | 26k | 6 repos | ~3.5k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 782 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Obsidian MarkdownAtmosphere/atmosphere | 3.8k | 20 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| DOCXrvdbreemen/OTGW-firmware | 207 | 33 repos | ~4.3k | Automated safety check: Pass | Proprietary | |
| Gzh Designisjiamu/gzh-design-skill | 3.9k | 1 repos | ~2.2k | Automated safety check: Pass | AGPL-3.0 |
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.
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Atmosphere/atmosphere
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.
rvdbreemen/OTGW-firmware
A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).
isjiamu/gzh-design-skill
微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…
HKUDS/DeepTutor
Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.
landing-ai/ade-cli
Verify ade changes end-to-end — seed a store offline, run the CLI, drive generated artifacts in a browser.
Categories
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.
Ade fits situations like: documents & Office work in your project.
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.
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.
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.
Going by SKILL.md and its folder, Ade needs credentials named ADE_API_KEY. Our summary lists: A credential in ADE_API_KEY.
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.
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.
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.
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.
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.
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.