Claude-skill-registry design-config
Manage design documentation system configuration. Use when initializing the system, adding modules, or updating quality standards.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/design-config" ~/.claude/skills/majiayu000-claude-skill-registry-design-config && rm -rf "$T"
skills/data/design-config/SKILL.mdDesign Documentation Configuration
Manages the design.config.json file that configures the design documentation system, including modules, paths, quality standards, and integrations.
Overview
This skill manages configuration by:
- Validating against JSON schema
- Initializing new configuration files
- Adding/updating module definitions
- Configuring quality standards
- Managing skill enablement
- Setting up integrations
Quick Start
Validate current config:
/design-config validate
Add new module:
/design-config add-module my-package
Update quality standards:
/design-config update-quality --maxLineLength=120
Configuration File
The design.config.json file is located at
.claude/design/design.config.json
and follows the JSON schema at:
.claude/skills/design-config/json-schemas/current.json
Top-Level Structure
{ "$schema": "path/to/schema.json", "version": "1.0.0", "project": { ... }, "paths": { ... }, "modules": { ... }, "skills": { ... }, "quality": { ... }, "integration": { ... } }
Core Sections
Project Metadata
"project": { "name": "spencerbeggs/website", "type": "monorepo", "repository": "https://github.com/spencerbeggs/website", "maintainer": "C. Spencer Beggs" }
Fields:
- Project namename
- Project type (monorepo, package, application)type
- Git repository URLrepository
- Primary maintainermaintainer
Paths
"paths": { "designDocs": ".claude/design", "skills": ".claude/skills", "context": "CLAUDE.md", "localContext": "CLAUDE.local.md" }
Fields:
- Root directory for design documentationdesignDocs
- Root directory for skillsskills
- Root context file (CLAUDE.md)context
- Local context file (CLAUDE.local.md)localContext
Modules
"modules": { "my-package": { "path": "pkgs/my-package", "designDocsPath": ".claude/design/my-package", "categories": ["architecture", "performance"], "maintainer": "Spencer Beggs", "userDocs": { "readme": "pkgs/my-package/README.md", "repoDocs": null, "siteDocs": "website/docs/en/packages/my-package" } } }
Module Fields:
- Relative path to module directorypath
- Path to module's design docs (null if none)designDocsPath
- Allowed design doc categoriescategories
- Module maintainer namemaintainer
- User documentation paths (Level 1/2/3)userDocs
Valid Categories:
- System/component architecturearchitecture
- Performance characteristicsperformance
- Logging, metrics, eventsobservability
- Testing strategytesting
- Integration patternsintegration
- Cross-linking featurescross-linking
- Import generationimport-generation
- Source mappingsource-mapping
- Meta documentationmeta
- Documentation about documentationdocumentation
- Other categoriesother
Quality Standards
"quality": { "designDocs": { "maxLineLength": 120, "requireFrontmatter": true, "requireTOC": true, "minSections": ["Overview", "Current State", "Rationale"] }, "userDocs": { "level1": { "targetWordCount": [200, 500], "maxLineLength": 80, "requireSections": ["Features", "Installation", "Usage"] } }, "context": { "rootMaxLines": 500, "childMaxLines": 300, "requireDesignDocPointers": true } }
Quality Sections:
- Design documentation standardsdesignDocs
- User documentation standards (Level 1/2/3)userDocs
- CLAUDE.md context file standardscontext
Skills Configuration
"skills": { "baseNamespace": "/", "enabled": [ "design-init", "design-validate", "design-update" ] }
Fields:
- Base namespace for skills (usually "/")baseNamespace
- List of enabled skill namesenabled
Integration Settings
"integration": { "ci": { "enabled": false, "validateOnPR": false, "syncOnMerge": false }, "git": { "trackDesignDocs": true, "requireReviewForChanges": false } }
Integration Options:
- CI/CD integration settingsci
- Git integration settingsgit
Workflow
Validate Configuration
Validates design.config.json against the JSON schema.
Steps:
- Read
.claude/design/design.config.json - Read schema from
json-schemas/current.json - Validate JSON structure
- Check all required fields present
- Validate field types and values
- Check enum values are valid
- Report validation errors or success
Validation tools:
# Using Node.js with ajv npm install -g ajv-cli ajv validate -s json-schemas/current.json -d .claude/design/design.config.json # Using Python with jsonschema pip install jsonschema python -c "import json, jsonschema; ..."
Initialize Configuration
Creates a new design.config.json file with sensible defaults.
Steps:
- Check if config already exists (warn if it does)
- Detect project type (monorepo, package, app)
- Scan for existing modules
- Generate module definitions
- Set default quality standards
- Write config file
- Validate against schema
- Report success
Example:
{ "version": "1.0.0", "project": { "name": "my-project", "type": "monorepo", "maintainer": "Your Name" }, "paths": { "designDocs": ".claude/design", "skills": ".claude/skills", "context": "CLAUDE.md" }, "modules": {}, "quality": { "designDocs": { "maxLineLength": 120, "requireFrontmatter": true, "requireTOC": true, "minSections": ["Overview", "Current State", "Rationale"] } } }
Add Module
Adds a new module definition to the configuration.
Steps:
- Read current config
- Validate module doesn't already exist
- Detect module path (from pnpm workspace, package.json, etc.)
- Prompt for module details:
- Design docs path
- Categories
- Maintainer
- User docs paths
- Add module to config
- Validate updated config
- Write config file
- Report success
Example:
/design-config add-module effect-type-registry \ --path=pkgs/effect-type-registry \ --categories=architecture,performance,observability
Update Quality Standards
Updates quality standards for design docs, user docs, or context files.
Steps:
- Read current config
- Parse update parameters
- Update specified quality fields
- Validate updated config
- Write config file
- Report changes
Example:
/design-config update-quality \ --designDocs.maxLineLength=120 \ --context.rootMaxLines=500
Update Module
Updates an existing module definition.
Steps:
- Read current config
- Validate module exists
- Parse update parameters
- Update module fields
- Validate updated config
- Write config file
- Report changes
Example:
/design-config update-module effect-type-registry \ --add-category=testing \ --siteDocs=website/docs/en/packages/effect-type-registry
Enable/Disable Skills
Manages the list of enabled skills.
Steps:
- Read current config
- Validate skill names exist
- Add/remove from enabled list
- Validate updated config
- Write config file
- Report changes
Example:
/design-config enable-skill design-prune design-export /design-config disable-skill design-archive
Schema Reference
The complete JSON schema is located at:
.claude/skills/design-config/json-schemas/current.json
Schema URL:
https://spencerbegg.gs/schemas/design-config/1.0.0/schema.json
To reference in config:
{ "$schema": ".claude/skills/design-config/json-schemas/current.json", "version": "1.0.0", ... }
Validation
Required Fields
Top-level:
- Schema version (semver)version
- Project metadataproject
- Standard pathspaths
- Module definitionsmodules
- Quality standardsquality
Project:
- Project namename
- Project typetype
- Maintainer namemaintainer
Paths:
- Design docs rootdesignDocs
- Skills rootskills
- Context file pathcontext
Module:
- Module directory pathpath
- Module maintainermaintainer
Quality.designDocs:
- Max line length (80-200)maxLineLength
- Frontmatter required (boolean)requireFrontmatter
- TOC required (boolean)requireTOC
- Minimum sections (array)minSections
Field Validation
Version: Must match semver pattern
^[0-9]+\.[0-9]+\.[0-9]+$
Project type: Must be one of:
monorepo, package, application
Categories: Must be one of the valid category enums
Line lengths:
: 80-200designDocs.maxLineLength
: 80-120userDocs.level1.maxLineLength
: 80-150userDocs.level2.maxLineLength
Context lines:
: 100-1000 (default 500)context.rootMaxLines
: 100-500 (default 300)context.childMaxLines
Common Use Cases
Initialize New Project
/design-config init \ --name=my-project \ --type=monorepo \ --maintainer="Your Name"
Add Package to Monorepo
/design-config add-module my-package \ --path=packages/my-package \ --categories=architecture,performance
Update Quality Standards Example
/design-config update-quality \ --designDocs.maxLineLength=100 \ --context.rootMaxLines=600
Enable New Skills
/design-config enable-skill design-prune design-export
Validate After Manual Edit
/design-config validate
Error Handling
Invalid Schema
ERROR: Configuration validation failed Schema: .claude/skills/design-config/json-schemas/current.json Config: .claude/design/design.config.json Errors: - .version: Must match pattern ^[0-9]+\.[0-9]+\.[0-9]+$ - .modules.my-package.categories[0]: Must be one of: architecture, performance, ... - .quality.designDocs.maxLineLength: Must be <= 200 Fix these errors and run validate again.
Missing Required Fields
ERROR: Missing required fields - project.name is required - project.type is required - quality.designDocs is required Add these fields and validate again.
Module Already Exists
ERROR: Module already exists Module: effect-type-registry To update existing module, use: /design-config update-module effect-type-registry
Integration
Works with all design documentation skills:
- Uses config for module paths and categories/design-init
- Uses config for quality standards/design-validate
- Uses config for module definitions/design-sync
- Uses config for quality checks/design-audit- All skills - Read config for paths and settings
Success Criteria
A valid configuration:
- ✅ Passes JSON schema validation
- ✅ All required fields present
- ✅ Field values match constraints
- ✅ Module paths exist
- ✅ Categories are valid enums
- ✅ Quality standards are reasonable
- ✅ No duplicate module names