Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add CrestApps/CrestApps.AgentSkills --skill orchardcore-ai-documents-extractorsgit clone --depth 1 https://github.com/CrestApps/CrestApps.AgentSkillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/crestapps/crestapps.agentskills/orchardcore-ai-documents-extractors)<a href="https://agentmods.dev/skills/crestapps/crestapps.agentskills/orchardcore-ai-documents-extractors"><img src="https://agentmods.dev/badge/skills/crestapps/crestapps.agentskills/orchardcore-ai-documents-extractors/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/crestapps/crestapps.agentskills/orchardcore-ai-documents-extractors"><img src="https://agentmods.dev/badge/skills/crestapps/crestapps.agentskills/orchardcore-ai-documents-extractors.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Prompt Injection · line 138 This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended.Fix: Remove or rewrite any text that instructs the agent to ignore prompts, override safety rules, or trust unverified content. Ensure skill content cannot be injected to alter agent behavior.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00154 | $0.02009 |
| Opus 5.5 | $0.00062 | $0.00804 |
| Sonnet 5.5 | $0.00031 | $0.00402 |
| Haiku 4.5 | $0.00015 | $0.00201 |
Grade A, and why
orchardcore-ai-documents-extractors scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Orchard Core AI Documents PDF and OpenXml Extractors
Configure document text extraction
You are an Orchard Core expert. Add optional PDF and Microsoft Open XML document extractors to the CrestApps AI Documents processing pipeline. Enable only the file format support required by the application, then combine it with a document context and optional vector indexing backend.
Guidelines
- Enable the exact feature IDs
CrestApps.OrchardCore.AI.Documents.PdfandCrestApps.OrchardCore.AI.Documents.OpenXmlfor PDF and Office Open XML support. - These modules intentionally have no manifest dependency on the base AI Documents feature. They can be installed independently, but are useful only when an AI Documents capability processes uploaded files.
- An AI Documents context or backend enables the base capability by dependency. Examples include Chat Interactions, Profiles, Chat Sessions, Azure AI Search, and Elasticsearch.
- PDF registration calls
AddCoreAIPdfDocumentProcessing; OpenXml registration callsAddCoreAIOpenXmlDocumentProcessingandAddCoreAIWordDocumentProcessing. - Install both packages in the web or startup project if users need both PDF and Office files.
- Extracted text is input to the normal pipeline. It does not itself create chunks, embeddings, or vector indexes.
- Use an embedding provider and a configured index profile when the application needs retrieved document context rather than only extraction.
Feature overview
| Feature ID | Registration | File support |
|---|---|---|
CrestApps.OrchardCore.AI.Documents.Pdf |
AddCoreAIPdfDocumentProcessing |
.pdf |
CrestApps.OrchardCore.AI.Documents.OpenXml |
AddCoreAIOpenXmlDocumentProcessing, AddCoreAIWordDocumentProcessing |
.docx, .xlsx, .pptx |
The PDF module uses PdfPig as an IngestionDocumentReader. The OpenXml module uses
the Microsoft DocumentFormat.OpenXml SDK to extract supported Office document text.
Document agents
Both features also bring system agents that work on documents inside a conversation. They are always available to the primary model and do not appear in agent pickers.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed · +13 lines · +17 tokens per session 890e0a1c8093
- 1mo ago First seen · 157 lines · 137 tokens per session scan A 48258bde96d1
orchardcore-ai-documents-extractors is a skill published in the GitHub repository CrestApps/CrestApps.AgentSkills (13 stars, last pushed 6d ago), licensed MIT. It adds 154 tokens to every session and 2,009 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
n8n-binary-and-data
Handle files and binary data in n8n correctly. Use when working with files, images, PDFs, attachments, uploads or downloads, base64, vision/multimodal input, or when an AI agent needs a file as tool input or output — and whenever the user mentions $binary, binaryPropertyName, "read the PDF", "attach the file", "send…
markdown-to-pdf
Convert a markdown file to PDF using mistune + reportlab. Use when the user wants to convert a .md file to PDF, or when another skill needs to produce a PDF from markdown output.
kami
Generate PDFs, resumes, CVs, letters, slide decks, portfolios, one-pagers, white papers, and professional documents. Use when user asks to create a PDF, make a resume, write a letter, design slides, format a document, typeset a report, build a portfolio, make a presentation, or create a one-pager. Warm parchment…
kagen
Convert Kami HTML templates to production-grade PDF via Chromium/Playwright. Complements Kami (design) with PDF rendering. Use when user asks to generate PDF files, render HTML to PDF, or export documents.
pdf-guide
Searches and reads Riksarkivet's archival PDF guides (medieval Sweden, governance 1520-1920, Sami history). Use when user asks about Swedish history, archives, medieval charters, governance, Sami, or wants to open/search PDF guides. Provides section-level references with page numbers for citation.
gewerbe-registration
Prepare a German trade-office registration (Gewerbeanmeldung, form GewA 1) through a guided chat. Use when the user wants to register a trade/business with the Gewerbeamt, file a Gewerbeanmeldung, or asks what to do after founding a GmbH/UG or finishing the tax registration (Fragebogen). Germany only.