agentsclimarketplace

Doc package contract

Skill synaptiai/synapti-marketplace/plugins/dossier/skills/doc-package-contract

The Synapti Marketplace is a curated collection of Claude Code plugins designed for AI-augmented development + advanced analytical and research tasks. Each plugin provides specialized agents, skills, and commands that extend Claude Code's capabilities in specific domains.

Install
npx -y skills add synaptiai/synapti-marketplace --skill doc-package-contract

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Enforce the fixed 23-file, 8-directory documentation package under the resolved output root — routing each document to its required-content contract in `references/package-contract-*.md`, stamping the internal or public header, and refusing to add, drop, rename, or merge a canonical file. Use when scaffolding a package, drafting or revising any canonical document, or checking structural completeness. This skill MUST be consulted because a package whose shape changes per project cannot be diffed, audited, or compared across engagements — the structure is the contract and only the content adapts.

SKILL.md

9.4 KB, as published. Nobody here has run it

Documentation Package Contract

Owns the shape of the package: which files exist, what each must contain, and what opens every one of them.

Iron Law

THE PACKAGE SHAPE IS FIXED — 8 directories, 23 files, every run. Content adapts; structure never.

A missing canonical file is indistinguishable from an incomplete run. An irrelevant topic is handled with a justified N/A at section level, never by deleting the file — because "we dropped that file, it did not apply" and "we ran out of time" read identically six months later.

The 23 files

PathAudienceDefault confidentialityContract
00-control/documentation-index.mdAllInternalpackage-contract-00-control.md
00-control/evidence-ledger.mdDiligence, verificationInternalpackage-contract-00-control.md
00-control/assumptions-questions-and-contradictions.mdDiligence, ownersInternalpackage-contract-00-control.md
00-control/claim-and-disclosure-register.mdDisclosure, legalRestrictedpackage-contract-00-control.md
00-control/terminology-and-ownership.mdAllInternalpackage-contract-00-control.md
01-project/executive-project-brief.mdExecutive, investorInternalpackage-contract-01-project.md
01-project/product-and-domain.mdProduct, engineeringInternalpackage-contract-01-project.md
02-architecture/system-architecture.mdEngineering, securityInternalpackage-contract-02-architecture.md
02-architecture/components-and-codebase.mdEngineeringInternalpackage-contract-02-architecture.md
02-architecture/data-and-ai.mdEngineering, data, privacyInternalpackage-contract-02-architecture.md
02-architecture/interfaces-and-integrations.mdEngineering, partnersInternalpackage-contract-02-architecture.md
02-architecture/infrastructure-and-deployment.mdEngineering, operationsInternalpackage-contract-02-architecture.md
03-assurance/security-privacy-and-compliance.mdSecurity, privacy, legalRestrictedpackage-contract-03-assurance.md
03-assurance/reliability-performance-and-observability.mdOperations, engineeringInternalpackage-contract-03-assurance.md
03-assurance/testing-quality-and-delivery.mdEngineeringInternalpackage-contract-03-assurance.md
04-operating/onboarding-and-local-development.mdNew teammatesInternalpackage-contract-04-operating.md
04-operating/operations-and-incident-response.mdOperationsInternalpackage-contract-04-operating.md
04-operating/decisions-technical-debt-and-risks.mdLeadership, engineeringInternalpackage-contract-04-operating.md
05-due-diligence/technical-due-diligence-report.mdDecision makerRestrictedpackage-contract-05-due-diligence.md
05-due-diligence/assets-dependencies-and-licenses.mdDiligence, legalInternalpackage-contract-05-due-diligence.md
06-public/technical-partner-guide.mdPartnersPer disclosure policypackage-contract-06-public.md
06-public/customer-product-and-trust-guide.mdCustomersPer disclosure policypackage-contract-06-public.md
07-verification/documentation-verification-report.mdAllInternalpackage-contract-07-verification.md

Load only the contract for the document you are drafting. Loading all eight pulls over 500 requirements and hard rules into one context for no benefit.

Headers

Every file opens with YAML frontmatter — internal-v1 for the 21 internal documents, public-v1 for the two under 06-public/. Body line 1 is the H1; body line 2 is the contract pointer comment. This is positional and mechanically checked.

---
dossier-header: internal-v1
title: System Architecture
...
---
# System Architecture
<!-- contract: references/package-contract-02-architecture.md#system-architecture -->

Field rules, the status ladder, and the public header's exclusions: references/document-headers.md.

last-verified is the date the document's claims were checked against evidence — not the date the file was edited. A formatting fix does not advance it. Advancing it without re-checking is the quietest way to make a stale package look current.

What every document must make clear

Independent of its subject, a reader must be able to answer four questions without leaving the page:

  1. What is true now
  2. What is planned but not implemented
  3. What is unknown or unverified
  4. Which limits and conditions apply

Plus: where the canonical source of truth lives, so the reader knows what to trust when this document goes stale.

Justified N/A

An N/A is a claim — "this is demonstrably irrelevant to this project" — and needs evidence like any other.

SituationCorrect handling
No AI componentSection N/A with the evidence for the absence
No persistent dataNot N/A. Explain how state is handled — statelessness is a design fact
No external interfaceInterface sections N/A; the partner guide explains the supported partnership model
Not inspectedNever N/A. This is U with an AQ-#### row

The last row is the failure mode that matters. N/A and Unknown are opposite claims, and using one for the other is a High finding.

Supplemental documents

Permitted when the project genuinely needs them — a safety case, a per-service deep dive. They must be linked from the documentation index, must explain why they exist, and must not duplicate a canonical source of truth. The canonical 23 stay intact regardless.

One supplement is always written: a README.md signpost at the output root, from templates/package-readme.md. A reader browsing the output root otherwise lands on eight numbered directories with no entry point, and the index cannot route someone who never finds it. The signpost states no fact about the project — no counts, no dates, no verdict — so it cannot go stale and needs no evidence row. Everything that can drift stays in the index, which the signpost links to. Register it in the index's supplemental table like any other.

Diagrams

Use Mermaid where it materially improves understanding of real structure, data flow, trust boundaries, or deployment flow. Every node and edge needs evidence; inferred connections are labelled inferred in internal documents.

Decorative diagrams, generic textbook illustrations, and exhaustive file trees have negative value — they cost review attention and carry no decision.

Output Format

Scaffold via bin/dossier-scaffold.sh --output-root <path>, which never overwrites an existing file. Verify via bin/dossier-package-check.sh.

### Package Structure

| Document | Exists | Header valid | Status | Last verified | Contract pointer resolves |
|---|---|---|---|---|---|

### Structural findings
| Severity | File | Problem | Required correction |
|---|---|---|---|

The documentation index is regenerated from this table, never hand-maintained in parallel — a hand-maintained index drifts from the package it indexes, which is exactly the failure the package exists to prevent elsewhere.

Rationalization Prevention

ExcuseResponse
"This project has no AI, so data-and-ai.md is noise"It is one file with a justified N/A section and a data model that does apply. Deleting it breaks every cross-package diff.
"I will merge the two public documents, the audiences overlap"Partners and customers need different abstraction levels and different disclosure boundaries. Merging optimizes for the writer.
"The index is out of date but the documents are fine"The index is how every reader enters. A wrong index makes correct documents unreachable.
"I updated the formatting, so I will refresh last-verified"That date means claims were re-checked. Advancing it for a formatting fix is a false statement about verification.
"This section does not apply — N/A"Does not apply, or was not inspected? They are opposite claims. Only one of them is N/A.
"A diagram here would look good"Would it change a decision? If not, it costs review attention and adds a drift surface.
"Adding a supplemental file is easier than fitting this in"Then the canonical file is wrong or the content is not needed. Supplements are for genuine extra depth.

Integration

Loaded by dossier-doc-drafter for every document, by /dossier:init when scaffolding, and by dossier-pass-a-evidence, which rebuilds the file inventory from these contracts rather than from the index — auditing the index against itself would prove nothing.

References: references/document-headers.md, references/package-contract-*.md, references/project-type-adaptation.md.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.