From sdd
Populates specs/domain/ files (glossary, entity definitions, use-cases) and SNAPSHOT.md from SPEC.md-extracted content during implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd:domain-populationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Populates the domain specification files with content extracted from change context.
Populates the domain specification files with content extracted from change context.
During implementation, this skill:
specs/domain/glossary.md with discovered entitiesspecs/domain/definitions/specs/domain/use-cases/specs/SNAPSHOT.md with product overview/sdd I want to start implementing to execute domain updates from SPEC.mdThis skill uses the system CLI for deterministic file creation:
cat << 'EOF' | <plugin-root>/system/system-run.sh scaffolding domain --config -
{
"target_dir": "/path/to/project",
"primary_domain": "Task Management",
"product_description": "Task management for engineering teams",
"user_personas": [
{"type": "Project Manager", "actions": "create projects, assign tasks"},
{"type": "Team Member", "actions": "update progress"}
],
"core_workflows": ["Create projects", "Assign tasks", "Update progress"],
"domain_entities": ["Team", "Project", "Task", "User"]
}
EOF
Schema: schemas/input.schema.json
Accepts target directory, domain name, product description, and optional personas, workflows, and entities.
Schema: schemas/output.schema.json
Returns success status and list of updated domain spec files.
For each entity, add a row to specs/domain/glossary.md:
| <Entity> | <Brief definition> | <Related terms> |
Creates specs/domain/definitions/<entity-slug>.md:
---
name: <Entity>
domain: <primary_domain>
status: draft
---
# <Entity>
## Description
<Placeholder - what role this entity plays based on discovery context>
## Attributes
| Attribute | Type | Description |
|-----------|------|-------------|
| (to be defined) | | |
## Relationships
- (to be defined)
## States (if applicable)
(to be defined)
Creates specs/domain/use-cases/<workflow-slug>.md:
---
name: <Workflow>
domain: <primary_domain>
actors: <relevant user types>
status: draft
---
# <Workflow>
## Summary
<Placeholder - what this capability allows users to do>
## Actors
- <User type from SPEC.md>
## Preconditions
(to be defined)
## Main Flow
1. (to be defined)
## Postconditions
(to be defined)
Adds to specs/SNAPSHOT.md:
## Product Overview
**Problem:** <product_description>
**Target Users:**
- <User type 1>: <what they do>
- <User type 2>: <what they do>
**Core Capabilities:**
- <Capability 1>
- <Capability 2>
**Key Entities:** <Entity1>, <Entity2>, <Entity3>
{
"target_dir": "/Users/dev/my-task-tracker",
"primary_domain": "Task Management",
"product_description": "Task management for engineering teams",
"user_personas": [
{"type": "Project Manager", "actions": "create projects, assign tasks"},
{"type": "Team Member", "actions": "update progress, view assignments"}
],
"core_workflows": [
"Create projects",
"Assign tasks",
"Update task progress"
],
"domain_entities": ["Team", "Project", "Task", "User"]
}
Populating domain specs for: Task Management
Creating entity definitions...
Created: specs/domain/definitions/team.md
Created: specs/domain/definitions/project.md
Created: specs/domain/definitions/task.md
Created: specs/domain/definitions/user.md
Creating use-case stubs...
Created: specs/domain/use-cases/create-projects.md
Created: specs/domain/use-cases/assign-tasks.md
Created: specs/domain/use-cases/update-task-progress.md
Updating glossary...
Updated: specs/domain/glossary.md
Updating SNAPSHOT...
Updated: specs/SNAPSHOT.md
============================================================
Domain population complete!
============================================================
Created 4 entity definitions
Created 3 use-case stubs
Updated glossary with 4 entries
Updated SNAPSHOT with product overview
npx claudepluginhub liorcohen/sdd --plugin sddProvides templates, schemas, validation, and Git workflow guidelines for product and tech SPEC.md files with acceptance criteria.
Establishes and maintains project domain language via a CONTEXT.md glossary, following ubiquitous language principles. Use when entering a new project, defining terms, or resolving ambiguous language during planning or debugging.
Scaffolds empty, product-neutral docs-first spec cascade (product vision, MVP PRD, tech stack) for a human to fill before writing code. Safe to run on any project; never overwrites existing docs.