cli · v0.1.1
Skills / domain-modeling/context-format
Fixture. This page is the stdout of wayfinder skill domain-modeling/context-format, run against a config with tracker value github cli and two registered ticket skills (grill-design, pre-mortem). Change either and this render changes with it.
A supporting file. domain-modeling/context-format is disclosed by domain-modeling, which is where an agent is told to fetch it. It carries no station of its own on the route.
$ wayfinder skill domain-modeling/context-format60 lines
1# CONTEXT.md Format
2
3## Structure
4
5```md
6# {Context Name}
7
8{One or two sentence description of what this context is and why it exists.}
9
10## Language
11
12**Order**:
13{A one or two sentence description of the term}
14_Avoid_: Purchase, transaction
15
16**Invoice**:
17A request for payment sent to a customer after delivery.
18_Avoid_: Bill, payment request
19
20**Customer**:
21A person or organization that places orders.
22_Avoid_: Client, buyer, account
23```
24
25## Rules
26
27- **Be opinionated.** When multiple words exist for the same concept, pick the best one and list the others under `_Avoid_`.
28- **Keep definitions tight.** One or two sentences max. Define what it IS, not what it does.
29- **Only include terms specific to this project's context.** General programming concepts (timeouts, error types, utility patterns) don't belong even if the project uses them extensively. Before adding a term, ask: is this a concept unique to this context, or a general programming concept? Only the former belongs.
30- **Group terms under subheadings** when natural clusters emerge. If all terms belong to a single cohesive area, a flat list is fine.
31
32## Single vs multi-context repos
33
34**Single context (most repos):** One `CONTEXT.md` at the repo root.
35
36**Multiple contexts:** A `CONTEXT-MAP.md` at the repo root lists the contexts, where they live, and how they relate to each other:
37
38```md
39# Context Map
40
41## Contexts
42
43- [Ordering](./src/ordering/CONTEXT.md) — receives and tracks customer orders
44- [Billing](./src/billing/CONTEXT.md) — generates invoices and processes payments
45- [Fulfillment](./src/fulfillment/CONTEXT.md) — manages warehouse picking and shipping
46
47## Relationships
48
49- **Ordering → Fulfillment**: Ordering emits `OrderPlaced` events; Fulfillment consumes them to start picking
50- **Fulfillment → Billing**: Fulfillment emits `ShipmentDispatched` events; Billing consumes them to generate invoices
51- **Ordering ↔ Billing**: Shared types for `CustomerId` and `Money`
52```
53
54The skill infers which structure applies:
55
56- If `CONTEXT-MAP.md` exists, read it to find contexts
57- If only a root `CONTEXT.md` exists, single context
58- If neither exists, create a root `CONTEXT.md` lazily when the first term is resolved
59
60When multiple contexts exist, infer which one the current topic relates to. If unclear, ask.