Install
$ agentstack add skill-adeerkhan-vitruvius-artifact-reading ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Engineering Artifact Reading
Read and extract from engineering documents accurately. This is the reading half of the research loop, made explicit: most research failures are reading failures — answering from one page, from a title, or from memory.
Workflow
- Map the document first. Before answering, parse enough to know the
structure: title, revision/edition, table of contents, sections, tables, figures, appendices, and where the normative (required) content lives vs the informative (guidance) content.
- Anchor every extract to a location. Page/section/table/figure numbers
for PDFs and standards; sheet + zone for drawings; clause + line for code. Keep table values, figure labels, part numbers, and quoted snippets tied to their location so they can be re-checked.
- Read the pages the answer depends on. Do not answer from a single
visible page when the question spans methods, tables, notes, or appendices. For a datasheet, read the notes under the tables — that is where the limits live.
- Cross-check — when a conclusion depends on multiple parts of a document
(a value in a table, a note, a referenced section), verify they agree. Check normative references when the source points at another document.
- Record provenance — save extracted notes with their source locations as
artifacts for the research run. Never strip the location when handing findings to synthesis.
Reading by artifact type
- Standard/code: section + edition + table/figure number; distinguish
normative (shall) from informative (should/may) and commentary.
- Datasheet: the part number and revision; table notes; absolute maximum
ratings vs recommended operating conditions; test conditions behind specs.
- Drawing: title block (revision, scale), sheet layout, zone grid,
dimension units and tolerances, general notes.
- Paper/report: abstract, methods, results, limitations — do not infer
results from the abstract.
- Specification: scope, referenced documents, requirement clauses, and the
verification method each requirement is measured against.
Subagent Dispatch Mode
When dispatched as an isolated subagent for document parsing (e.g., by /proposal):
- Receive file paths — one or more document paths to parse
- Extract content — for each file, run:
``bash node scripts/extract-document.mjs ``
- Parse the JSON result — extract:
markdown— full document content in markdown formatpages— page countmethod— extraction method used (text, pdf-parse, vision)warnings— any quality issues (scanned PDF, missing optional dependency, etc.)
- Return structured content with:
- Full text (markdown format)
- Page count
- Extraction method used
- Source locations for key sections (page numbers)
- Warnings and quality notes
- Record provenance — document what was extracted, how, and any limitations
Output format for subagent return:
{
"source": "path/to/file.pdf",
"method": "pdf-parse",
"pages": 5,
"content": "full markdown content...",
"sections": [
{"title": "Research Areas", "page": 1, "text": "..."},
{"title": "Requirements", "page": 2, "text": "..."}
],
"warnings": []
}
If extraction method is vision: general artifact-reading may use the host's explicit read_file or vision capability, but /proposal deterministic intake must stop and require a separately recorded text transcription; it must not silently feed vision output into the binder.
Boundaries
- Never fill a gap you could not read. Mark it
blockedand say what was
unreadable and why (paywall, missing page, unreadable scan, binary format).
- Do not answer from a title, filename, or snippet when a direct read is
possible — that is the integrity commandment, applied to reading.
- Research-only, not for final engineering sign-off. Outputs support engineering research but must be reviewed by a licensed engineer for any design application.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: adeerkhan
- Source: adeerkhan/vitruvius
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.