Agent Skill

The Vulgate agent skill teaches an AI agent to drive the full ingest lifecycle over this API — upload a file, wait for extraction, spot-check what came out, correct it, and publish it to the library — without you having to explain the endpoints each time.

It is a single Markdown file in the Agent Skills format, so it works in Claude Code, the Claude Agent SDK, and any agent that can read instructions from a file.

Download

https://vulgate.ai/skills/vulgate-ingest/SKILL.md

Install

For Claude Code, drop the file into your skills directory. Use ~/.claude/skills/ to make it available everywhere, or .claude/skills/ inside a repository to share it with your team:

mkdir -p ~/.claude/skills/vulgate-ingest
curl -fsSL https://vulgate.ai/skills/vulgate-ingest/SKILL.md \
  -o ~/.claude/skills/vulgate-ingest/SKILL.md

Then set your API key in the environment the agent runs in:

export VULGATE_API_KEY=vu_...

The agent picks the skill up automatically when a request involves ingesting, editing, or publishing a Vulgate document. You can also ask for it by name.

For other agent frameworks, load the file’s contents into the system prompt, or register it as a tool description — it is plain Markdown with no framework-specific syntax.

What it covers

StageEndpoints
UploadGET /api/uploads, signed-URL PUT, and the multipart flow for large files
IngestPOST /api/jobs, including how to choose a processing tier
WaitGET /api/jobs with a backoff and a deadline
ReviewGET /api/documents/{id}/content, sliced by page and read as Markdown
EditPATCH /api/documents/{id}/content and PATCH /api/documents/{id}
PublishPOST /api/documents/{id}/publish
ConfirmGET /api/search
Hand offthe app URL of the document’s review page, built from your team slug, so a person can open what the agent produced

Alongside the mechanics, the skill carries the operating rules that keep unattended edits safe: read before you publish, always send If-Match, slice large reads, widen a failed match instead of forcing it, correct transcription errors but never rewrite the text, report every change, and end with a link.

Why a draft step exists

Ingestion is draft-by-default. A document created by POST /api/jobs has status pending, no parts, and is invisible to the library and to search until it is published. That window is what makes an autonomous agent workable: it can read exactly what extraction produced, fix the OCR damage a scan always carries, and only then make the document live.

The skill is built around that window. If you would rather implement the loop yourself, Reviewing and Editing Documents documents the same endpoints in full.

Keeping it current

The hosted file is updated whenever the ingest endpoints change. Re-run the install command to pick up the latest version.