plugins/affinda/skills/affinda/SKILL.md
Process and extract structured data from documents (invoices, resumes, contracts, custom document types) using the Affinda MCP server and Document JSON:API.
npx skillsauth add affinda/skills affindaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill teaches the agent how to use the Affinda MCP server end-to-end — beyond what's in individual tool descriptions.
The MCP server itself ships with self-contained tool docstrings, plus a small set of MCP prompts and resources for the most common flows. This skill complements those with longer-form workflow guides, worked examples, and reference material that's too verbose for tool descriptions.
If the user has only loaded the MCP server, they can still complete the basic flows. Loading this skill in addition is the difference between "can call tools" and "can sequence tools fluently for real-world tasks".
The agent should consult this skill (or its individual files via progressive disclosure) when:
workflows/.workflows/debug-low-confidence-results.md.workflows/human-review-queue.md.reference/concepts.md.reference/common-errors.md.For clean tool-selection guidance the MCP tool descriptions are the primary source; consult this skill only when the user's intent requires multi-step reasoning the descriptions don't fully cover.
plugin root/
└── skills/
└── affinda/
├── SKILL.md # this file
├── workflows/ # end-to-end flows
│ ├── setup-invoice-extractor.md
│ ├── setup-resume-extractor.md
│ ├── debug-low-confidence-results.md
│ ├── connect-validation-data.md
│ ├── setup-integration-endpoint.md
│ └── human-review-queue.md
├── examples/ # worked examples
│ ├── invoice-end-to-end.md
│ └── resume-end-to-end.md
└── reference/ # focused operational references
├── concepts.md # domain glossary
├── common-errors.md # error codes + remediation
├── field-schemas.md # starter field schemas + types + slug rules
├── workspace-settings.md # OCR / splitting / classification / model memory / email
├── document-types-and-fields.md # field settings, validation rules, auto-populate
├── data-sources.md # default schema, single vs bulk rows, matching criteria
├── extraction-review.md # how to inspect a document or spot-check a field
└── integration-runtime.md # integration code primitives + service-specific recipes
create_workspace, create_field,
delete_validation_rule). Some hosts may surface aliases — the
canonical names always work.list_organizations returns
empty, surface that — there's nothing this skill can do until an
org exists upstream.bulk_create_* call to a loop of single-row
creates. The bulk variants are dramatically faster and surface
per-row errors more usefully.The MCP server hosts five static resources at affinda:// URIs that
this skill mirrors and extends:
affinda://concepts ↔ reference/concepts.mdaffinda://errors ↔ reference/common-errors.mdaffinda://schemas/{invoice,resume,contract} ↔
reference/field-schemas.mdIf the agent's MCP client supports resources, fetch the affinda://
versions for the canonical (server-validated) text. Otherwise, the
local copies in reference/ are equivalent.
tools
Process and extract structured data from documents (invoices, resumes, contracts, custom document types) using the Affinda MCP server and Document JSON:API.
tools
Process and extract structured data from documents (invoices, resumes, contracts, custom document types) using the Affinda MCP server and Document JSON:API.
tools
Integrate with Affinda's document AI API to extract structured data from documents (invoices, resumes, receipts, contracts, and custom types). Covers authentication, client libraries (Python, TypeScript), structured outputs with Pydantic models and TypeScript interfaces, webhooks, upload patterns, and the full documentation map. Use when building integrations that parse, classify, or extract data from documents using Affinda.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.