dtpr-describe-system
The instance-tier skill. Turns a natural-language description of an AI or automated-decision system — optionally accompanied by attached artifacts (PDFs, URLs) — into a schema-validated DTPR datachain: a structured JSON artifact that names who runs the system, what decisions it makes, what data it uses, and what rights people have in relation to it.
When to fire
- The user asks to describe, document, disclose, or publish how an AI system works.
- The user references a specific system (a chatbot, a camera-based kiosk, a resume screener, a facial-recognition system) and wants a structured artifact.
- The user explicitly mentions DTPR, datachain, or transparency disclosure.
- The user attaches a PDF, AIA, policy URL, or other artifact describing the system.
Trigger phrases
"describe this AI system", "make a DTPR datachain", "document this algorithm", "what would DTPR say about this", "disclose this model", "turn this PDF into a DTPR datachain", "here's a URL to our AI policy — produce a datachain".
Workflow
Phase 0 — Inventory and classify. The skill probes which host tools are available (Read, WebFetch, Task, Write) via trial calls, then classifies each provided artifact into a size band (verbal / inline ≤2k / inline-full 2–10k / chunk-relevant 10–20k / reject >20k). PDF page-to-token heuristic: 300 tokens/page. Budget overflow triggers a structured ask to pre-summarize or pick the most important artifact. Password-protected PDFs, 401/403 URLs, and artifact-vs-verbal contradictions are surfaced explicitly — the skill does not silently pick one.
Phase 1 — Understand the system. Asks up to five clarifying questions covering purpose, deployment, operator, decisions, data.
Phase 2 — Load the schema. Calls list_schema_versions and get_schema with include: "manifest". Captures version and content_hash for the output's provenance trailer.
Research context (optional, between Phase 2 and Phase 3). Reads the research corpus INDEX.md and cites existing entries when their applicability_tags match the scenario. On a miss, dispatches a researcher via the Task tool if available; degrades to a logged gap otherwise.
Phase 3 — Find relevant elements. Uses list_elements (category-scoped + free-text BM25 query) and get_elements (bulk fetch) to pick element IDs that match the scenario. The skill never invents element IDs.
Phase 4 — Construct the datachain. Assembles a JSON object conforming to the DatachainInstance shape with version + one entry per required category.
Phase 5 — Validate and iterate. Calls validate_datachain. On ok: false, applies each fix_hint and retries; capped at 3 retries. Surfaces any warnings[] verbatim.
Output
- The validated datachain JSON (including
versionandcontent_hash). - A short narrative with one paragraph per category explaining why the chosen elements fit.
- An assumptions paragraph listing which artifacts were loaded and which tools were unavailable on this host.
Non-goals
Does not modify DTPR taxonomy — route to dtpr-element-design, dtpr-category-audit, or dtpr-datachain-structure for schema work. Does not translate or localize. Does not grade content for comprehension — route to dtpr-comprehension-audit.
Source
plugin/dtpr/skills/dtpr-describe-system/SKILL.md in the repository.