doc-ctr

Create Data Contracts (CTR) - Optional Layer 8 artifact in the SDD workflow that defines API contracts, data schemas, and interface specifications using dual-file format (markdown + YAML).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "doc-ctr" with this command: npx skills add vladm3105/aidoc-flow-framework/vladm3105-aidoc-flow-framework-doc-ctr

doc-ctr

Purpose

Create Data Contracts (CTR) - Optional Layer 8 artifact in the SDD workflow that defines API contracts, data schemas, and interface specifications using dual-file format (markdown + YAML).

Layer: 8 (Optional)

Upstream: BRD (Layer 1), PRD (Layer 2), EARS (Layer 3), BDD (Layer 4), ADR (Layer 5), SYS (Layer 6), REQ (Layer 7)

Downstream Artifacts: SPEC (Layer 9), TSPEC (Layer 10), TASKS (Layer 11), Code (Layer 12)

Prerequisites

Upstream Artifact Verification (CRITICAL)

Before creating this document, you MUST:

List existing upstream artifacts:

ls docs/01_BRD/ docs/02_PRD/ docs/03_EARS/ docs/04_BDD/ docs/05_ADR/ docs/06_SYS/ docs/07_REQ/ 2>/dev/null

Reference only existing documents in traceability tags

Use null only when upstream artifact type genuinely doesn't exist

NEVER use placeholders like BRD-XXX or TBD

Do NOT create missing upstream artifacts - skip functionality instead

Before creating CTR, read:

  • Shared Standards: .claude/skills/doc-flow/SHARED_CONTENT.md

  • Upstream REQ: Read atomic requirements (especially Section 3: Interface Specifications, Section 4: Data Schemas)

  • Template: ai_dev_ssd_flow/08_CTR/CTR-MVP-TEMPLATE.md and CTR-MVP-TEMPLATE.yaml

  • Creation Rules: ai_dev_ssd_flow/08_CTR/CTR_MVP_CREATION_RULES.md

  • Validation Rules: ai_dev_ssd_flow/08_CTR/CTR_MVP_VALIDATION_RULES.md

  • Validation Script: ./ai_dev_flow/scripts/validate_ctr.sh

Reserved ID Exemption (CTR-00_*)

Scope: Documents with reserved ID 000 are FULLY EXEMPT from validation.

Pattern: CTR-00_.md , CTR-00_.yaml

Document Types:

  • Index documents (CTR-00_index.md )

  • Traceability matrix templates (CTR-00_TRACEABILITY_MATRIX-TEMPLATE.md )

  • Glossaries, registries, checklists

Rationale: Reserved ID 000 documents are framework infrastructure (indexes, templates, reference materials), not project artifacts requiring traceability or quality gates.

Validation Behavior: Skip all checks when filename matches CTR-00_* pattern.

When to Use This Skill

Use doc-ctr when:

  • Have completed BRD through REQ (Layers 1-7)

  • Need to define API contracts or data schemas

  • Multiple teams/services need shared contracts

  • Building microservices or distributed systems

  • REQ Section 3 (Interface Specifications) needs formal contract

  • This layer is OPTIONAL (Layer 8) - skip if contracts are simple

CTR-Specific Guidance

  1. Mandatory Dual-File Format

Two files required for each contract (mandatory dual-file format: .md file + companion .yaml file):

Markdown File (.md ):

  • Document Control section

  • Contract overview

  • Business context

  • Usage examples

  • Traceability

YAML File (.yaml ):

  • OpenAPI 3.0 or JSON Schema

  • Formal contract definition

  • Validation rules

  • Example payloads

Example:

ai_dev_ssd_flow/08_CTR/CTR-01_data_validation.md ai_dev_ssd_flow/08_CTR/CTR-01_data_validation.yaml

  1. Document Control Fields (9 Required)

Field Required Description

CTR ID Yes CTR-NN format

Title Yes Contract name

Status Yes Draft/In Review/Active/Deprecated

Version Yes Semantic version (Major.Minor.Patch)

Created Yes YYYY-MM-DD

Author Yes Document author

Owner Yes Contract owner

Last Updated Yes YYYY-MM-DD

SPEC-Ready Score Yes ✅ NN% (Target: ≥90%)

  1. Required Sections (Markdown File)

Document Control (MANDATORY - First section before all numbered sections)

Required Sections (12-Section MVP Structure):

Section Purpose

1 Document Control Metadata, SPEC-Ready Score

2 Context Problem statement, constraints, trade-offs

3 Contract Definition Interface overview, parties, pattern

4 Requirements Satisfied Upstream requirements linked

5 Interface Definition Schema reference, endpoints

6 Error Handling Error codes, failure modes

7 Quality Attributes Performance, security, reliability

8 Versioning Strategy Version policy, compatibility

9 Examples Request/response pairs

10 Verification Contract testing, BDD refs

11 Traceability Upstream/downstream, tags

12 References Internal/external links

Optional Appendices:

  • Appendix A: Alternatives Considered

  • Appendix B: Implementation Notes

  1. Element ID Format (MANDATORY)

Pattern: CTR.{DOC_NUM}.{ELEM_TYPE}.{SEQ} (4 segments, dot-separated)

Element Type Code Example

Interface 16 CTR.02.16.01

Data Model 17 CTR.02.17.01

Contract Clause 20 CTR.02.20.01

REMOVED PATTERNS - Do NOT use legacy formats:

  • INT-XXX

  • Use CTR.NN.16.SS instead

  • MODEL-XXX

  • Use CTR.NN.17.SS instead

  • CLAUSE-XXX

  • Use CTR.NN.20.SS instead

  • IF-XXX

  • Use CTR.NN.16.SS instead

  • DM-XXX

  • Use CTR.NN.17.SS instead

  • CC-XXX

  • Use CTR.NN.20.SS instead

Reference: ID_NAMING_STANDARDS.md - Cross-Reference Link Format

  1. YAML Contract Format

OpenAPI 3.0 Format (for APIs):

openapi: 3.0.3 info: title: Data Validation API version: 1.0.0 description: Contract for data validation

paths: /api/v1/data/validate: post: summary: Validate data record operationId: validateDataRecord requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataRequest' responses: '200': description: Validation successful content: application/json: schema: $ref: '#/components/schemas/ValidationResponse' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse'

components: schemas: DataRequest: type: object required: - record_type - record_id - data - account_id properties: record_type: type: string pattern: ^[A-Z]{1,10}$ example: "METRIC" record_id: type: string format: uuid example: "abc123" data: type: object example: {} account_id: type: string format: uuid example: "123e4567-e89b-12d3-a456-426614174000"

ValidationResponse:
  type: object
  required:
    - valid
    - order_id
  properties:
    valid:
      type: boolean
      example: true
    order_id:
      type: string
      format: uuid
      example: "987f6543-e21c-43d2-b654-426614174111"
    warnings:
      type: array
      items:
        type: string
      example: ["Price near market close"]

ErrorResponse:
  type: object
  required:
    - error_code
    - message
  properties:
    error_code:
      type: string
      example: "INVALID_SYMBOL"
    message:
      type: string
      example: "Symbol 'XYZ' not found in approved list"
    details:
      type: object
      additionalProperties: true

JSON Schema Format (for data models):

$schema: "http://json-schema.org/draft-07/schema#" name: DataProcessingConfig description: Configuration schema for data processing

type: object required:

  • max_batch_size
  • timeout_seconds
  • check_frequency

properties: max_batch_size: type: integer minimum: 1 maximum: 10000 description: Maximum records per batch example: 1000

timeout_seconds: type: integer minimum: 1 maximum: 300 description: Processing timeout in seconds example: 60

check_frequency: type: string enum: ["realtime", "1min", "5min", "15min"] description: How often to check processing status example: "1min"

alert_threshold: type: number minimum: 0 maximum: 1.0 description: Alert when queue depth exceeds this fraction default: 0.80 example: 0.80

  1. Usage Examples Section

Format:

Usage Examples

Example 1: Successful Validation

Request:

{
  "record_type": "METRIC",
  "record_id": "abc123",
  "data": {"value": 100},
  "account_id": "123e4567-e89b-12d3-a456-426614174000"
}

Response:

{
  "valid": true,
  "order_id": "987f6543-e21c-43d2-b654-426614174111",
  "warnings": []
}

Example 2: Invalid Record Type

Request:

{
  "record_type": "invalid",
  "record_id": "abc123",
  "data": {"value": 100},
  "account_id": "123e4567-e89b-12d3-a456-426614174000"
}

Response (400 Bad Request):

{
  "error_code": "INVALID_RECORD_TYPE",
  "message": "Record type 'invalid' not found in approved list",
  "details": {
    "record_type": "invalid",
    "approved_types": ["METRIC", "EVENT", "LOG"]
  }
}

### 7. Contract Versioning

**Semantic Versioning**: Major.Minor.Patch

**Version Policy**:
- **Major**: Breaking changes (incompatible)
- **Minor**: New features (backward compatible)
- **Patch**: Bug fixes (backward compatible)

**Example**:
```yaml
openapi: 3.0.3
info:
  title: Data Validation API
  version: 2.1.0  # Major.Minor.Patch
  description: |
    Version 2.1.0 (2025-01-15)
    - Added: optional 'warnings' field in response (minor)
    - Fixed: validation error for edge case data (patch)

    Breaking changes from v1.x:
    - Changed: account_id now requires UUID format (was string)

8. SPEC-Ready Scoring System

Purpose: Measures CTR maturity and readiness for progression to Technical Specifications (SPEC) phase.

Format in Document Control:

| **SPEC-Ready Score** | ✅ 95% (Target: ≥90%) |

Status and SPEC-Ready Score Mapping:

SPEC-Ready Score
Required Status

≥90%
Active

70-89%
In Review

<70%
Draft

Scoring Criteria:

- Schema Completeness (35%): All endpoints/models defined, JSON Schema/OpenAPI validation passes, examples provided

- Error Handling (25%): All error codes documented, retry strategies specified, failure modes covered

- Quality Attributes (20%): Performance targets, SLA requirements, idempotency specified

- Traceability (10%): Upstream REQ/ADR linked, consumer/provider identified

- Documentation (10%): Usage examples, versioning policy, deprecation strategy

Quality Gate: Score <90% blocks SPEC artifact creation.

9. Directory Organization by Service Type

Purpose: Organize contracts by service type for large projects (30+ contracts).

Structure:

CTR/
├── agents/              # Agent-to-agent communication
├── mcp/                 # MCP server contracts
├── infra/               # Infrastructure services
└── shared/              # Cross-cutting contracts

When to Use:

- <10 contracts: Flat directory

- 10-30 contracts: Optional subdirectories

- 30+ contracts: Mandatory subdirectories

Recommendation: Start flat, migrate to subdirectories when 3+ contracts per service type.

Tag Format Convention (By Design)

The SDD framework uses two distinct notation systems for cross-references:

Notation
Format
Artifacts
Purpose

Dash
TYPE-NN
ADR, SPEC, CTR
Technical artifacts - references to files/documents

Dot
TYPE.NN.TT.SS
BRD, PRD, EARS, BDD, SYS, REQ, IMPL, TASKS
Hierarchical artifacts - references to elements inside documents

Key Distinction:

- @adr: ADR-033
 → Points to the document ADR-033_risk_limit_enforcement.md

- @brd: BRD.17.01.01
 → Points to element 01.01 inside document BRD-017.md

Unified Element ID Format (MANDATORY)

For hierarchical requirements (BRD, PRD, EARS, BDD, SYS, REQ, IMPL):

- Always use: TYPE.NN.TT.SS
 (dot separator, 4-segment unified format)

- Never use: TYPE-NN:NNN
 (colon separator - DEPRECATED)

- Never use: TYPE.NN.TT
 (3-segment format - DEPRECATED)

Examples:

- @brd: BRD.17.01.01
 ✅

- @brd: BRD.017.001
 ❌ (old 3-segment format)

Cumulative Tagging Requirements

Layer 8 (CTR): Must include tags from Layers 1-7 (BRD through REQ)

Tag Count: 7 tags

Element Type Codes for Cumulative Tags:

Tag
Artifact
Element Type
Code

@brd
BRD
Business Requirement
01

@prd
PRD
Product Feature
07

@ears
EARS
EARS Statement
25

@bdd
BDD
Scenario
14

@adr
ADR
Document reference
(dash notation)

@sys
SYS
System Requirement
26

@req
REQ
Atomic Requirement
27

Format:

## Traceability

**Required Tags** (Cumulative Tagging Hierarchy - Layer 8):
```markdown
@brd: BRD.01.01.03
@prd: PRD.01.07.02
@ears: EARS.01.25.01
@bdd: BDD.01.14.01
@adr: ADR-033, ADR-045
@sys: SYS.01.26.01
@req: REQ.01.27.03

Upstream/Downstream Artifacts

Upstream Sources:

- BRD (Layer 1) - Business requirements

- PRD (Layer 2) - Product features

- EARS (Layer 3) - Formal requirements

- BDD (Layer 4) - Test scenarios

- ADR (Layer 5) - Architecture decisions

- SYS (Layer 6) - System requirements

- REQ (Layer 7) - Atomic requirements (PRIMARY SOURCE - especially Section 3)

Downstream Artifacts:

- SPEC (Layer 9) - Technical specifications

- TSPEC (Layer 10) - Test specifications

- TASKS (Layer 11) - Task breakdown

- Code (Layer 12) - Implementation code

Same-Type Document Relationships (conditional):

- @related-ctr: CTR-NN
 - CTRs sharing API context

- @depends-ctr: CTR-NN
 - CTR that must be completed first

Validation Checks

Tier 1: Errors (Blocking)

Check
Description

CHECK 1
Required Document Control Fields (9 fields)

CHECK 2
Dual-File Format (both .md and .yaml exist)

CHECK 3
SPEC-Ready Score format (✅ emoji + percentage + target)

CHECK 4
YAML Schema Validation (OpenAPI/JSON Schema valid)

CHECK 5
Cumulative Tagging (7-8 upstream tags)

CHECK 6
Element ID Format (CTR.NN.TT.SS
)

Tier 2: Warnings (Recommended)

Check
Description

CHECK 7
Usage Examples (request/response pairs)

CHECK 8
Error Handling (error codes documented)

CHECK 9
Versioning Policy (semantic versioning)

CHECK 10
Validation Rules (schema validation specified)

Tier 3: Info

Check
Description

CHECK 11
Directory Organization (subdirectories for 30+ contracts)

CHECK 12
Consumer/Provider identified

Pre-Commit Hooks

CTR validation is automatically enforced via pre-commit hooks:

# .pre-commit-config.yaml
- id: ctr-core-validator
  name: Validate CTR core checks (validator, framework library)
  entry: bash ai_dev_ssd_flow/08_CTR/scripts/ctr_core_validator_hook.sh ai_dev_ssd_flow/08_CTR
  language: system
  pass_filenames: false
  stages: [pre-commit]

- id: ctr-quality-gate
  name: Validate CTR quality gates
  entry: bash ai_dev_ssd_flow/08_CTR/scripts/ctr_quality_gate_hook.sh ai_dev_ssd_flow/08_CTR
  language: system
  pass_filenames: false
  stages: [pre-commit]

- id: ctr-spec-ready-score
  name: Validate CTR SPEC-Ready score (≥90%)
  entry: bash ai_dev_ssd_flow/08_CTR/scripts/ctr_spec_ready_score_hook.sh ai_dev_ssd_flow/08_CTR
  language: system
  pass_filenames: false
  stages: [pre-commit]

Quality Gates Enforced:

- ✅ Dual-file format (.md + .yaml paired files)

- ✅ SPEC-Ready score ≥90% for Active status

- ✅ OpenAPI 3.0 or JSON Schema validation

- ✅ Document Control fields (9 required fields)

- ✅ Cumulative tagging (@brd through @req - 7 tags)

- ✅ Element ID format (CTR.NN.TT.SS for interfaces/models/clauses)

- ✅ Usage examples (request/response pairs)

- ✅ Error handling specifications

- ✅ Versioning policy (semantic versioning)

- ✅ Validation rules documented

- ✅ Consumer/Provider identification

- ✅ Quality attributes (performance, security, reliability)

Hook Scripts:

- ctr_core_validator_hook.sh
 - Core CTR structure and dual-file validation

- ctr_quality_gate_hook.sh
 - Quality gate checks for completeness

- ctr_spec_ready_score_hook.sh
 - SPEC-Ready score calculation (≥90% required)

Creation Process

Step 1: Read Upstream Artifacts

Focus on REQ Section 3 (Interface Specifications) and Section 4 (Data Schemas).

Step 2: Reserve ID Number

Check ai_dev_ssd_flow/08_CTR/
 for next available ID number.

ID Numbering Convention: Start with 2 digits and expand only as needed.

- ✅ Correct: CTR-01, CTR-99, CTR-102

- ❌ Incorrect: CTR-001, CTR-009 (extra leading zero not required)

Step 3: Create CTR Files (Dual Format)

Nested Folder Rule (MANDATORY): ALL CTR documents MUST use nested folders regardless of document size.

Location:

- Standard: docs/08_CTR/CTR-NN_{slug}/CTR-NN_{slug}.md
 + .yaml

- Service-based: docs/08_CTR/{service_type}/CTR-NN_{slug}/CTR-NN_{slug}.md
 + .yaml

On-Demand Folder Creation: Before saving, create the target directory:

# Create nested folder (ALWAYS required)
mkdir -p docs/08_CTR/CTR-NN_{slug}/
# OR for service-type subdirectory
mkdir -p docs/08_CTR/{service_type}/CTR-NN_{slug}/

Service Types (when 10+ contracts):

- agents/
 - Agent-to-agent communication

- mcp/
 - MCP server contracts

- infra/
 - Infrastructure services

- shared/
 - Cross-cutting contracts

Example:

- Standard: docs/08_CTR/CTR-01_data_validation/CTR-01_data_validation.md
 + .yaml

- Service-based: docs/08_CTR/agents/CTR-01_data_validation/CTR-01_data_validation.md
 + .yaml

CRITICAL: Never create CTR files directly in docs/08_CTR/
 without a nested folder structure.

Step 4: Fill Document Control Section (Markdown)

Complete all 9 required fields including SPEC-Ready Score.

Step 5: Write Contract Overview (Markdown)

Summarize purpose, scope, and version.

Step 6: Define YAML Contract

Choose format:

- OpenAPI 3.0 for REST APIs

- JSON Schema for data models

- AsyncAPI for event-driven systems (if applicable)

Step 7: Add Usage Examples (Markdown)

Provide request/response examples with explanations.

Step 8: Document Validation Rules (Markdown)

Explain schema validation and business rules.

Step 9: Specify Error Handling (Markdown)

Document error codes and responses.

Step 10: Add Cumulative Tags

Include all 7-8 upstream tags (@brd through @req/impl).

Step 11: Create/Update Traceability Matrix

MANDATORY: Update ai_dev_ssd_flow/08_CTR/CTR-00_TRACEABILITY_MATRIX-TEMPLATE.md

Step 12: Validate CTR

# YAML schema validation
yamllint ai_dev_ssd_flow/08_CTR/CTR-01_*.yaml

# OpenAPI validation
openapi-spec-validator ai_dev_ssd_flow/08_CTR/CTR-01_*.yaml

# Cumulative tagging
python ai_dev_flow/scripts/validate_tags_against_docs.py --artifact CTR-01 --expected-layers brd,prd,ears,bdd,adr,sys,req,impl --strict

Step 13: Commit Changes

Commit both files (.md and .yaml) and traceability matrix.

Validation

Automated Validation

# Quality gates
scripts/validate_quality_gates.sh ai_dev_ssd_flow/08_CTR/CTR-01_*.md

# YAML validation
yamllint ai_dev_ssd_flow/08_CTR/CTR-01_*.yaml

# OpenAPI validation (if using OpenAPI)
openapi-spec-validator ai_dev_ssd_flow/08_CTR/CTR-01_*.yaml

# CTR-specific validation (includes dual-file check)
./ai_dev_flow/scripts/validate_ctr.sh CTR-01

# Cumulative tagging
python ai_dev_flow/scripts/validate_tags_against_docs.py \
  --artifact CTR-01 \
  --expected-layers brd,prd,ears,bdd,adr,sys,req,impl \
  --strict

Manual Checklist

-  Both files created (.md and .yaml)

-  Document Control complete (9 fields)

-  SPEC-Ready Score format correct (✅ NN% (Target: ≥90%))

-  Contract Overview clear

-  Business Context explains why (links to REQ)

-  YAML contract valid (OpenAPI/JSON Schema)

-  Usage Examples comprehensive

-  Error handling documented

-  Validation rules specified

-  Version number semantic (Major.Minor.Patch)

-  Cumulative tags: @brd through @req/impl (7-8 tags)

-  Element IDs use CTR.NN.TT.SS
 format

-  Traceability matrix updated

Diagram Standards

All diagrams MUST use Mermaid syntax. Text-based diagrams (ASCII art, box drawings) are prohibited.
See: ai_dev_ssd_flow/DIAGRAM_STANDARDS.md
 and mermaid-gen
 skill.

Common Pitfalls

- Single file only: Must create BOTH .md and .yaml files

- Invalid YAML: Must validate with yamllint and openapi-spec-validator

- Missing examples: Usage Examples section critical for adoption

- Vague validation: Schema validation must be precise and testable

- Missing cumulative tags: Layer 9 must include all 7-8 upstream tags

- Skipping when needed: Don't skip if multiple teams need shared contract

- Wrong element IDs: Use CTR.NN.TT.SS
, not legacy INT-XXX
, MODEL-XXX
, CLAUSE-XXX

- Wrong cumulative tag codes: Use correct element type codes (EARS=25, BDD=14, SYS=26, REQ=27, IMPL=29)

Post-Creation Validation (MANDATORY - NO CONFIRMATION)

CRITICAL: Execute this validation loop IMMEDIATELY after document creation. Do NOT proceed to next document until validation passes.

Automatic Validation Loop

LOOP:
  1. Run: python ai_dev_flow/scripts/validate_cross_document.py --document {doc_path} --auto-fix
  2. IF errors fixed: GOTO LOOP (re-validate)
  3. IF warnings fixed: GOTO LOOP (re-validate)
  4. IF unfixable issues: Log for manual review, continue
  5. IF clean: Mark VALIDATED, proceed

Validation Command

# Per-document validation (Phase 1)
python ai_dev_flow/scripts/validate_cross_document.py --document docs/CTR/CTR-NN_slug.md --auto-fix

# Layer validation (Phase 2) - run when all CTR documents complete
python ai_dev_flow/scripts/validate_cross_document.py --layer CTR --auto-fix

Layer-Specific Upstream Requirements

This Layer
Required Upstream Tags
Count

CTR (Layer 8)
@brd, @prd, @ears, @bdd, @adr, @sys, @req
7 tags

Auto-Fix Actions (No Confirmation Required)

Issue
Fix Action

Missing upstream tag
Add with upstream document reference

Invalid tag format
Correct to TYPE.NN.TT.SS (4-segment) or TYPE-NN format

Broken link
Recalculate path from current location

Missing traceability section
Insert from template

Validation Codes Reference

Code
Description
Severity

XDOC-001
Referenced requirement ID not found
ERROR

XDOC-002
Missing cumulative tag
ERROR

XDOC-003
Upstream document not found
ERROR

XDOC-006
Tag format invalid
ERROR

XDOC-007
Gap in cumulative tag chain
ERROR

XDOC-009
Missing traceability section
ERROR

Quality Gate

Blocking: YES - Cannot proceed to next document until Phase 1 validation passes with 0 errors.

Next Skill

After creating CTR (or skipping this optional layer), use:

doc-spec
 - Create Technical Specifications (Layer 9)

The SPEC will:

- Reference CTR (if created) or REQ as upstream source

- Include all 7-8 upstream tags

- Use YAML format

- Define implementation details

- Achieve 100% implementation-readiness

Reference Documents

For supplementary documentation related to CTR artifacts:

- Format: CTR-REF-NNN_{slug}.md

- Skill: Use doc-ref
 skill

- Validation: Minimal (non-blocking)

- Examples: API style guides, contract versioning policies

Related Resources

- Template: ai_dev_ssd_flow/08_CTR/CTR-MVP-TEMPLATE.md
 (primary authority)

- Schema Template: ai_dev_ssd_flow/08_CTR/CTR-MVP-TEMPLATE.yaml
 (machine-readable)

- CTR Creation Rules: ai_dev_ssd_flow/08_CTR/CTR_MVP_CREATION_RULES.md

- CTR Validation Rules: ai_dev_ssd_flow/08_CTR/CTR_MVP_VALIDATION_RULES.md

- CTR README: ai_dev_ssd_flow/08_CTR/README.md

- OpenAPI Specification: https://spec.openapis.org/oas/v3.0.3

- JSON Schema: https://json-schema.org/

- Shared Standards: .claude/skills/doc-flow/SHARED_CONTENT.md

- Naming Standards: .claude/skills/doc-naming/SKILL.md
 (ID and naming conventions)

Section Templates (for documents >25K tokens):

- Index template: ai_dev_ssd_flow/08_CTR/CTR-SECTION-0-TEMPLATE.md

- Content template: ai_dev_ssd_flow/08_CTR/CTR-SECTION-TEMPLATE.md

- Reference: ai_dev_flow/ID_NAMING_STANDARDS.md
 (Section-Based File Splitting)

Quick Reference

CTR Purpose: Define API contracts and data schemas

Layer: 8 (Optional)

Element ID Format: CTR.NN.TT.SS

- Interface = 16

- Data Model = 17

- Contract Clause = 20

Removed Patterns: INT-XXX, MODEL-XXX, CLAUSE-XXX, IF-XXX, DM-XXX, CC-XXX

Document Control Fields: 9 required

Tags Required: @brd through @req (7 tags)

Format: Dual-file (.md + .yaml)

SPEC-Ready Score: ≥90% required for "Active" status

YAML Standards:

- OpenAPI 3.0 for REST APIs

- JSON Schema for data models

- AsyncAPI for event-driven (if applicable)

Key Sections:

- Contract Overview

- Business Context (link to REQ Section 3)

- YAML contract definition

- Usage Examples

- Validation Rules

- Error Handling

Directory Organization: Subdirectories recommended for 30+ contracts

Optional: Skip this layer if contracts are simple or embedded in REQ

Next: doc-spec

Version History

Version
Date
Changes
Author

1.2
2026-03-06
Added Pre-Commit Hooks subsection with 12 quality gates; added hook scripts descriptions and YAML configuration; updated version metadata
System

1.1.0
2026-02-08
Updated layer assignment from 9 to 8 per LAYER_REGISTRY v1.6; updated downstream artifacts (SPEC Layer 9, TSPEC Layer 10, TASKS Layer 11); removed IMPL from upstream
System

1.0.0
2025-01-15
Initial skill definition
System

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

n8n

No summary provided by upstream source.

Repository SourceNeeds Review
General

google-adk

No summary provided by upstream source.

Repository SourceNeeds Review
General

doc-prd

No summary provided by upstream source.

Repository SourceNeeds Review