agentskills.codes
DI

Deep reference for the DID JSON schema v2.0. Use when: reading, writing, or validating DID JSON files; building or updating TypeScript interfaces in types.ts; rendering DID content in React components; understanding the requirements tree structure or asterisk/tailorability rules.

Install

mkdir -p .claude/skills/did-schema && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15907" && unzip -o skill.zip -d .claude/skills/did-schema && rm skill.zip

Installs to .claude/skills/did-schema

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Deep reference for the DID JSON schema v2.0. Use when: reading, writing, or validating DID JSON files; building or updating TypeScript interfaces in types.ts; rendering DID content in React components; understanding the requirements tree structure or asterisk/tailorability rules.
280 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)

About this skill

DID JSON Schema v2.0

Top-Level Fields

FieldTypeNotes
document_numberstringe.g., "DI-SESS-81248B"
slugstringURL-safe ID, e.g., "di-sess-81248b" — used as the route param in /did/[slug]
titlestringFull document title
summarystringOne-paragraph description of purpose
approval_datestringISO date, e.g., "2015-04-07"
amsc_numberstringAcquisition Method Suffix Code
limitationstringDistribution limitation text
dtic_applicablestring"Yes" or "No"
gidep_applicablestring"Yes" or "No"
office_of_primary_responsibilitystringOPR name
preparing_activitystringe.g., "MI", "NM", "AR"
project_numberstring
applicable_formsstring
form_versionstring
use_relationshipstringMulti-paragraph prose — the "when to use" section
supersedesstring[]Document numbers this DID replaces
related_didsstring[]Related DID document numbers
referencesDIDReference[]{ label: string; url: string }
distribution_statementstring
requirementsDIDRequirement[]Recursive requirement tree (see below)
_sourceobjectExtraction metadata — not displayed to users
_schema_versionstringAlways "2.0"

Requirements Tree (Recursive)

Requirements are a tree — every node can have children of the same shape.

interface DIDRequirement {
  number: string;     // e.g., "3", "3.a", "3.1.b" — display as-is
  title: string;      // Section heading
  content: string;    // Body text (can be multi-paragraph)
  asterisk: boolean;  // true = tailorable requirement — show a visual indicator
  children: DIDRequirement[];  // Same structure, nested arbitrarily deep
}

Rendering guidance:

  • Top-level requirements (where number is just "1", "2", "3") render as sections
  • Children are indented sub-items
  • asterisk: true gets a visual tailorable badge/icon
  • Use a recursive <Requirement> component — see src/components/Requirement.tsx

Full TypeScript Interfaces (canonical — matches src/lib/types.ts)

export interface DIDReference {
  label: string;
  url: string;
}

export interface DIDRequirement {
  number: string;
  title: string;
  content: string;
  asterisk: boolean;
  children: DIDRequirement[];
}

export interface DIDDocument {
  document_number: string;
  slug: string;
  title: string;
  summary: string;
  approval_date: string;
  amsc_number: string;
  limitation: string;
  dtic_applicable: string;
  gidep_applicable: string;
  office_of_primary_responsibility: string;
  preparing_activity: string;
  project_number: string;
  applicable_forms: string;
  form_version: string;
  use_relationship: string;
  supersedes: string[];
  related_dids: string[];
  references: DIDReference[];
  distribution_statement: string;
  requirements: DIDRequirement[];
  _source: {
    source_file: string;
    extraction_date: string;
    extraction_method: string;
  };
  _schema_version: string;
}

// Lightweight version used in search results and index listings
export interface DIDSummary {
  document_number: string;
  slug: string;
  title: string;
  approval_date: string;
}

Sample JSON Files (local dev)

Located in src/data/:

  • DI-SESS-81223A_Schematic_Block_Diagrams.json
  • DI-SESS-81248B_Interface_Control_Document__ICD_.json
  • DI-SESS-80858D__Supplier_s_Configuration_Management_Plan.json
  • DI-SESS-81001E_conceptual_desin_drawing_models.json

In development, src/lib/github.ts reads from this folder. In production builds, it fetches from the GitHub API instead.

Search skills

Search the agent skills registry