From dtpr
Brainstorms and critiques DTPR schema structure for AI datachain categories, elements, variables, locale coverage; proposes taxonomy edits and beta draft shell commands.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dtpr:dtpr-schema-brainstormThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill is a working partner for iterating on DTPR itself. Given a scenario the schema may not cover well, it loads the current taxonomy, stress-tests it against the scenario, and produces a **concrete edit proposal** — which elements to add, edit, or retire, with reasoning.
This skill is a working partner for iterating on DTPR itself. Given a scenario the schema may not cover well, it loads the current taxonomy, stress-tests it against the scenario, and produces a concrete edit proposal — which elements to add, edit, or retire, with reasoning.
The skill does not modify files under api/schemas/. That edit cycle is human-driven: run the suggested schema:new command, hand-edit YAML in the resulting beta directory, validate with schema:validate, open a PR.
If the user instead wants to describe a specific AI system using DTPR (rather than shape the schema itself), use dtpr-describe-system instead.
If the user just wants to document an existing system with DTPR, route to dtpr-describe-system — do not draft taxonomy changes for systems that can already be described with today's elements.
| Tool | Purpose |
|---|---|
list_schema_versions | Find the newest version; prefer status: stable if present, else the most recent status: beta. |
get_schema with include: "full" | Pull the manifest, datachain-type, every category, and every element (with their variables) in one call. |
Capture the version string and locale allow-list — any proposal may need to address locale coverage too.
Ask the user to describe one scenario in concrete terms — real or hypothetical. Surface gaps by walking DTPR's axes:
Don't draft elements yet. Get the scenario fully articulated first.
For each DTPR category, check the scenario against the current elements:
Use list_elements with category_id and query to search. Use get_elements (bulk) to inspect candidates in depth. If the user is uncertain whether an element captures the nuance, re-read its description and variables rather than guessing.
Note boundary cases where two elements overlap, or where a variable (not a new element) would be the right fix. A new variable on an existing element is usually cheaper than a new element.
Produce a Markdown proposal with this structure:
## Scenario
<one paragraph summarizing the user's scenario>
## Gaps in <version>
- <one bullet per gap, naming the category and the failure mode>
## Proposed changes
### Add
- element `<proposed_id>` in category `<category_id>`:
- title: "<short title>"
- description: "<short description>"
- variables: <list or "none">
- rationale: <why this closes the gap>
### Edit
- element `<existing_id>`: <what changes and why>
### Retire
- element `<existing_id>`: <why it should go, migration plan>
## Validation check
<result of re-validating a representative datachain against the
current beta — included only if validate_datachain was invoked>
## Next step
pnpm --filter ./api schema:new <type> <YYYY-MM-DD>-beta
Keep the proposal terse — one bullet per change, one-to-two sentences of rationale. The user edits YAML directly after; verbose rationale rots.
The final schema:new command line is a suggestion for the user to run themselves. This skill does not invoke the CLI or modify files under api/schemas/.
When the user wants sanity-checking that a proposed revision wouldn't regress existing datachains, call validate_datachain with a representative instance against the current beta and note the result. If today's chains already fail, the proposal probably starts from the wrong premise — surface that to the user before proceeding.
| Tool | When used |
|---|---|
list_schema_versions | Phase 1, once. |
get_schema | Phase 1, once with include: "full". |
list_categories | Phase 3 if the datachain-type alone isn't enough context. |
list_elements | Phase 3 per category and per query. |
get_elements | Phase 3 bulk fetch when inspecting candidates. |
validate_datachain | Phase 4 (optional) regression canary. |
Tool parameter shapes live on the MCP itself (/mcp → tools/list). This skill names tools in workflow order only.
api/schemas/. The user edits by hand after running schema:new.dtpr-describe-system.npx claudepluginhub helpful-places/dtpr --plugin dtprGenerates validated DTPR JSON datachains from natural-language descriptions of AI systems, algorithms, or decision processes, documenting operators, inputs, outputs, data handling, and rights. Use for audits, disclosures, or transparency artifacts.
Designs Schema-Guided Reasoning (SGR) pipelines translating domain expert checklists into Pydantic/Zod schemas for constrained LLM decoding in agent loops and analysis cascades.
Guides Pydantic schema design for Atomic Agents apps using BaseIOSchema. Covers fields, constraints, validators, enums, and patterns like chat input/output.