domain-analysis
Installation
SKILL.md
Domain analysis
Model a real system as nodes on five levels, from what it is for down to what it is made of, crossed with its grains from whole system to component. Link the nodes as means to ends and as parts of wholes, and name who acts on and sees each node. The record is the model: later runs load it and extend it.
Start
- Look in the store for a record of this skill whose topic names this system. When one exists, resume it: read it, and take the latest line for each node, link, and actor as the current model. Answer its open lines before adding anything new.
- Settle the scope and write it into the run line's subject: the system, its boundary, the task the model serves, and the reading, either the domain you are about to work in or an agentic system.
- Name the system's grains, coarsest first: system, subsystem, component, or the domain's own words.
Levels
| Level | Id word | Holds | In code | In an agentic system |
|---|---|---|---|---|
| functional purpose | purpose | what the system exists to achieve, and for whom | the outcome its users rely on | what the user wants done |
| abstract function | value | the priorities, values, and measures the purpose is judged by | budgets, service levels, invariants, policies | the user's rules, limits, and quality bars |
| generalized function | function | what must happen, whatever carries it out | validate, store, notify, schedule | plan, delegate, verify, report |
| physical function | process | what specific components can do | modules, services, jobs | named agents, tools, hooks, skills |
| physical form | form | the concrete things and where they are | files, configs, schemas, hosts | prompt files, settings, model ids, directories |