Methodology: Agent Family Framework¶
Overview¶
syspilot follows spec-driven development — not just for the product, but also for processes, methods, and tools. Every decision is traceable through specifications.
Specifications are organized around agent families — independent groups of agents with their own spec trees, release cycles, and domain knowledge. Each family has a product (what it delivers) and each project has an instance (how it’s used).
Agent Families¶
An agent family is a cohesive set of agents, skills, and specifications that address a specific domain. Families are independent but can share common infrastructure.
Family |
Domain |
Agents |
|---|---|---|
|
Spec-driven development (US → REQ → SPEC) |
change, implement, verify, release, setup, mece, trace, memory |
|
Model-based systems engineering |
(planned) |
|
Cross-family shared skills |
(as needed) |
Each family defines its own:
Methodology — how specs are structured within the family
Naming conventions — themes, slug rules, examples
Agent templates — the product artifacts
Spec tree — US → REQ → SPEC (or whatever levels the family uses)
Repository Structure¶
Family Directories (Product)¶
Each family has a root directory containing its distributable artifacts:
syspilot/ # syspilot family product
├── agents/ # Agent templates → .github/agents/
├── prompts/ # Prompt configs → .github/prompts/
├── skills/ # Shared skills → .github/skills/
├── scripts/python/ # Utilities → .syspilot/scripts/
├── sphinx/ # Build scripts → docs/
├── templates/ # Document templates → .syspilot/templates/
│ └── change-document.md # Change doc template
└── version.json # Release version
sysmlv2/ # SysMLv2 family product (future)
├── agents/
├── skills/
└── version.json
Documentation Structure (Specs)¶
Specs live under docs/, grouped by family:
docs/
├── syspilot/ # syspilot family specs
│ ├── userstories/ # Level 0: WHY
│ ├── requirements/ # Level 1: WHAT
│ ├── design/ # Level 2: HOW
│ ├── methodology.md # Family-specific methodology
│ └── namingconventions.md # Family-specific naming
│
├── sysmlv2/ # SysMLv2 family specs (future)
│ ├── userstories/
│ ├── requirements/
│ ├── design/
│ └── methodology.md
│
├── inst/ # Instance specs (project-specific)
│ ├── syspilot/ # syspilot instance
│ │ ├── userstories/ # e.g. "how we release"
│ │ ├── requirements/
│ │ └── design/
│ └── sysmlv2/ # SysMLv2 instance (future)
│ ├── userstories/
│ ├── requirements/
│ └── design/
│
├── common/ # Shared specs (optional, cross-family)
│ ├── userstories/
│ ├── requirements/
│ └── design/
│
├── traceability/ # Cross-tree traceability matrices
├── changes/ # Change Documents
│ └── archive/ # Archived by version after release
├── methodology.md # THIS FILE (framework-level)
├── namingconventions.md # Framework naming conventions
└── releasenotes.md # Release notes (newest first)
Installation Directory¶
All installed agents live flat in .github/agents/, regardless of family:
.github/agents/
├── syspilot.change.agent.md # syspilot family
├── syspilot.release.agent.md
├── sysmlv2.model.agent.md # SysMLv2 family (future)
└── ...
The agent filename prefix (syspilot., sysmlv2.) identifies the family.
ID Naming Convention¶
IDs follow the pattern FAMILY_TYPE_THEME_SLUG:
SYSPILOT_US_CORE_SPEC_AS_CODE # syspilot family, User Story
SYSMLV2_REQ_MODEL_VALIDATION # SysMLv2 family, Requirement
INST_SYSPILOT_US_REL_RELEASE # Instance, syspilot family
COMMON_SPEC_TOOL_INTEGRATION # Common, shared across families
See namingconventions.md for full rules.
Write Boundaries¶
Each agent has a defined scope of what it may write:
Agent |
Writes to |
Never writes to |
|---|---|---|
Change Agent |
Family specs OR Instance specs |
— |
Implement Agent |
|
|
Setup Agent |
|
|
Release Agent |
|
|
Verify Agent |
Status updates in specs |
— |
Memory Agent |
|
|
The Setup Agent is the only agent that syncs <family>/ → .github/.
Cross-Tree Linking¶
sphinx-needs resolves :links: directives across all files in the Sphinx project.
Families and instances can link freely to each other:
Instance Family Product Family Product
INST_SYSPILOT_US_RELEASE ──→ SYSPILOT_US_REL_AGENT ──→ SYSPILOT_REQ_REL_PROCESS_DOC
The Change Agent follows these links to provide context from product specs when analyzing instance changes — the same mechanism used for any change analysis.
Family Methodology Reference¶
Each family defines its own methodology in docs/<family>/methodology.md:
syspilot: Three-level hierarchy (US → REQ → SPEC), domain shift at Level 2, theme-based file splitting. See
docs/syspilot/methodology.md.sysmlv2: (to be defined)
sphinx-needs traceability links bridge this boundary, maintaining full visibility from why through what to how — regardless of how files are organized.
For the Product/Instance concept, see architecture.md. For the development process, see workflows.md.