Structured Doc Validate logo

Structured Doc Validate

Community
PriNova
structured-doc-validate

Validate canonical structured YAML artifacts for schema shape, reference integrity, evidence quality, coverage, and granularity. Read-only by default; no legacy prose docs.

Overview

PublisherPriNova
Repositorypi-agent-codebase-workflows
Skill namestructured-doc-validate
Stars
82
Forks
2
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by PriNova on GitHub. Read the source before you install it.

Installation

Install the Structured Doc Validate AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/PriNova/pi-agent-codebase-workflows/tree/main/skills/structured-doc-validate
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/PriNova/pi-agent-codebase-workflows.git /tmp/pi-agent-codebase-workflows
mkdir -p .claude/skills
cp -r /tmp/pi-agent-codebase-workflows/skills/structured-doc-validate .claude/skills/structured-doc-validate
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Structured Doc Validate in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Structured Doc Validate on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Structured Doc Validate is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Structured Docs Validation

Goal: audit canonical structured YAML artifacts so agents can trust, repair, or safely avoid stale project context.

Structured Artifact API Contract

Legacy prose artifacts are deprecated. Do not create, update, or rely on docs/agent/*.md, scoped prose docs, or generated human-readable Markdown views. Use structured YAML as the source of truth. Root AGENTS.md is only harness interoperability output from workflows that explicitly produce it.

Resolved structured docs root:

Treat docs/agent/api as a logical layout rooted at a resolved structured docs root, not a fixed repo path.

Resolution rules:

  1. Resolve workspace_root with git rev-parse --show-toplevel 2>/dev/null or fallback to pwd.
  2. Canonicalize workspace_root before fingerprinting when possible (realpath, pwd -P, Path(...).resolve(), or equivalent).
  3. structured-doc-validate reads repo-local only when <workspace_root>/docs/agent/api already exists.
  4. Otherwise read the global overlay root: ~/.pi/agent/workspaces/<workspace-fingerprint>/docs/agent/api.
  5. Compute <workspace-fingerprint> exactly from canonical workspace_root: strip one leading slash/backslash, replace every slash, backslash, and colon with -, then wrap with --.
  6. Example: /data/data/com.termux/files/home/CodeProjects/pi-mono -> --data-data-com.termux-files-home-CodeProjects-pi-mono--.
  7. Do not create new repo-local structured docs in unadopted repos unless the user explicitly asks for repo-local adoption there.

Logical structured layout under the resolved docs root:

text
repo/
  scopes.yaml
  repo-inventory.yaml
  project-intent.yaml
  architecture.yaml
  data-flow.yaml
  data-model.yaml
  invariants.yaml
  dependency-rules.yaml
  design-issues.yaml
  risk-register.yaml
  change-guide.yaml
  testing-strategy.yaml
  validation-baseline.yaml
  contracts.yaml
  adr.yaml
  agent-operating-guide.yaml
scopes/
  by-path/<repo-relative-path>/...
  by-domain/<slug>/...

Every structured artifact should conform to ../_shared/references/schemas/common.schema.json plus its artifact-specific schema. Stable IDs include scope:*, component:*, entity:*, invariant:*, risk:*, contract:*, flow:*, command:*, issue:*, adr:*, and testplan:*.

Runtime Schema Loading

When validating structured artifacts, read ../_shared/references/artifact-api.md first. Then read only the shared skill package schemas needed for artifacts being validated:

  • ../_shared/references/schemas/common.schema.json
  • ../_shared/references/schemas/<artifact-file-base>.schema.json

Do not read all schemas unless the validation target is the whole docs root. Do not use templates. Schemas are runtime API contracts; project docs outside the shared runtime refs are maintainer aids unless the user asks about this package itself.

Invocation

Use this skill directly or use /validate-structured-docs as the prompt-template shortcut.

Supported tasks:

  • Validate structured docs for this repo/docs root.
  • Audit docs after this diff.
  • Check whether docs are granular enough for agent workflows.
  • Find stale evidence or invalid refs.
  • Report documentation quality without editing artifacts.

Rules

  • Read-only by default. Do not edit code or artifacts unless the user explicitly asks for repair.
  • Do not read legacy prose Markdown docs.
  • Resolve <docs-root> exactly before reading artifacts.
  • If a focus is provided, read <docs-root>/repo/scopes.yaml first when present and select matching scope artifacts by longest path prefix or explicit domain match.
  • If no focus is provided, validate repo-level artifacts first, then scoped artifacts as context budget allows.
  • Prefer exact, evidence-backed findings over broad opinions.
  • Broken schemas, missing shared schema coverage for canonical artifact files, parse failures, and dangling refs are errors. Fuzzy evidence, coverage, and granularity concerns are warnings unless they block safe use.
  • If structured artifacts predate newer schema requirements, missing now-required fields are schema errors, not compatibility notes.
  • Every finding must include artifact path, record ID when available, severity, evidence, impact, and recommended next step.
  • If a validation command exists in validation-baseline.yaml, prefer running or recommending that command; otherwise validate by inspection and targeted shell checks.

Four-Layer Validation Workflow

1. Schema validity

Check:

  • YAML parses cleanly.
  • Every canonical artifact file being validated has matching shared schema coverage.
  • Common envelope fields exist and are consistently shaped.
  • Artifact-specific top-level keys match the matching schema.
  • Required arrays/items are present, including newer required fields introduced by schema evolution.
  • Stable IDs use expected prefixes for artifact family.
  • Status, severity, confidence, and other constrained values match schemas.
  • Required refs/evidence fields are present where schemas or workflow rules require them.

Use best-effort schema validation by inspection when no validator command exists. When a JSON Schema validator is available, run it against only relevant files and include command/results.

2. Reference integrity

Build or inspect a canonical ID registry from artifacts read. Check:

  • Every *_ref, *_refs, depends_on, evidence_refs, scope ref, contract ref, invariant ref, risk ref, issue ref, ADR ref, and artifact ref points to a known canonical ID or is explicitly external/unknown.
  • Cross-scope refs have owner/consumer relationship support in scopes.yaml and, when API-like, contracts.yaml.
  • Router/checklist artifacts reference owner facts instead of duplicating them.
  • No record points to deleted, malformed, duplicate, or contradictory owner records.

Prefer compact missing-owner recommendations over leaving ambiguous dangling refs.

3. Evidence validity

For evidence-bearing records, check:

  • Referenced source paths exist under repo root when repo-aware validation is possible.
  • Line ranges exist and are ordered when present.
  • Referenced symbols/text are plausibly present near claimed paths or ranges.
  • Evidence belongs to claimed scope and owner artifact.
  • Observed records have evidence; planned records use explicit planned/low-confidence markers.
  • current/high-confidence claims are not supported only by stale, missing, or unrelated evidence.

Do not claim semantic proof. Report stale/missing evidence as actionable quality risk.

4. Coverage and granularity

Check:

  • Changed files or high-value source areas have relevant scope or owner-artifact representation.
  • Scope routing covers important paths without excessive overlap.
  • Components/entities/contracts/risks are neither too broad to guide changes nor so tiny they fragment ownership.
  • Repeated facts are owned once and referenced elsewhere.
  • Validation/testing artifacts cover commands and risks important to the requested change.

Granularity is heuristic. Use warnings with concrete split/merge suggestions, not automatic failure, unless the docs cannot guide safe work.

Diff-Aware Mode

When user asks to validate after a diff:

  1. Inspect changed files with git diff --name-only or user-specified base.
  2. Match changed paths to scopes from repo/scopes.yaml when present.
  3. Read only relevant owner artifacts plus directly referenced artifacts.
  4. Prioritize evidence paths, owner refs, contracts, invariants, risks, tests, and validation baseline entries touched by the diff.
  5. Report undocumented changed files or stale evidence first.

Output Format

Use concise human output. Include machine-shaped summary when useful:

yaml
verdict: pass | pass_with_warnings | fail | blocked
schema:
  status: pass | mixed | fail | blocked
  findings: []
refs:
  status: pass | mixed | fail | blocked
  findings: []
evidence:
  status: pass | mixed | fail | blocked
  findings: []
coverage:
  status: pass | mixed | fail | blocked
  findings: []
granularity:
  status: pass | mixed | fail | blocked
  findings: []
recommendations: []

Finding shape:

yaml
severity: error | warning | info
artifact_path: <path>
record_id: <id-or-null>
layer: schema | refs | evidence | coverage | granularity
problem: <concise problem>
evidence: <file/path/command observation>
impact: <why it matters for agent workflows>
recommended_next_step: <specific repair or follow-up>

Verdict Rules

  • fail: parse/schema errors, missing shared schema coverage for canonical artifacts, missing now-required fields, dangling required refs, missing required owner artifacts for selected scope, or missing evidence that makes current/high-confidence records unsafe.
  • pass_with_warnings: schema/required refs are usable, but evidence, coverage, or granularity issues need follow-up.
  • pass: no material issues found within inspected scope.
  • blocked: docs root, required files, repo root, schemas, or commands cannot be accessed enough to validate.

Follow-Up Routing

  • For broken artifact shape or invalid refs: recommend safe-change structured-docs-only repair or codebase-recon consolidation.
  • For missing scope coverage: recommend codebase-recon on the relevant path/domain focus.
  • For stale source evidence after code changes: recommend safe-change docs update for affected owner artifacts.
  • For architecture/code concerns discovered while validating docs: recommend arch-code-review; do not turn validation output into code review findings unless requested.

Stop Conditions

Stop once the requested focus is validated enough to give a verdict and actionable findings. Do not exhaustively read a large repo when targeted evidence already proves the result.

Frequently asked questions

What does the Structured Doc Validate AI skill do?

Validate canonical structured YAML artifacts for schema shape, reference integrity, evidence quality, coverage, and granularity. Read-only by default; no legacy prose docs.

Why use Structured Doc Validate on TypingMind?

Because you install it once and use it with any model. Structured Doc Validate is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Structured Doc Validate in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/PriNova/pi-agent-codebase-workflows/tree/main/skills/structured-doc-validate. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Structured Doc Validate?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Structured Doc Validate?

As many as you like. As long as a model supports skills, you can use Structured Doc Validate with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Structured Doc Validate AI skill free?

Yes. It is published on GitHub by PriNova under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇