Configuration Workbook Authoring
This skill activates when a Salesforce delivery team needs to convert approved
user stories and fit-gap rows into the Configuration Workbook — the
structured, reviewable handoff document that drives admin execution and routes
each row to a single downstream runtime agent. The workbook is the canonical
artifact between requirements (RTM) and metadata (deployment manifest).
It is NOT the object designer, NOT the permission-set designer, NOT the Flow
builder, and NOT the deployment manifest. It is the handoff document those
agents consume.
Before Starting
Gather this context before authoring or revising a workbook:
- Approved user stories — every workbook row must carry
source_story_id.
Rows without an upstream story are orphaned and cannot be reviewed.
- Approved fit-gap rows — every workbook row must carry
source_req_id so
the workbook traces back to the RTM.
- Target org alias — the workbook is grounded in the live org. API names,
existing record types, and existing PSGs must reflect reality, not wishlist.
- Sprint / release identifier — the workbook is version-locked at sprint
commit. Mid-sprint change requests open new rows; they never edit existing
rows in place.
- Downstream agent roster — every row's
recommended_agent must resolve
to a real agents/<name>/AGENT.md from the runtime tier (see
agents/_shared/SKILL_MAP.md for the authoritative list).
Core Concepts
Concept 1: One row per addressable change
The workbook's atomic unit is a row. A row describes a single configurable
artifact (one field, one validation rule, one PSG composition step, one Flow
trigger, one report folder permission, one named credential). Rows are never
"epics" — if a row would require multiple agents to execute, it must be split.
The row schema is:
| Field |
Required |
Notes |
row_id |
yes |
Stable, unique within the workbook (e.g. CWB-FIELDS-014). Survives section reorder. |
section |
yes |
One of the 10 canonical sections. Must match exactly. |
target_value |
yes |
The configurable value (API name, formula, picklist set, sharing rule criterion, etc.). |
owner |
yes |
The named human accountable for this row landing in the org. Not a team alias. |
source_req_id |
yes |
Fit-gap row id from the RTM. Orphan rows = REJECT. |
source_story_id |
yes |
User-story id (e.g. US-2031). |
recommended_agent |
yes |
Single downstream runtime agent (one of object-designer, permission-set-architect, flow-builder, path-designer, lightning-record-page-auditor, etc.). |
recommended_skills[] |
yes (≥1) |
Skill ids the executing agent should consult. |
status |
yes |
proposed | committed | in-progress | executed | verified | change-requested. Never TBD/TODO/?. |
notes |
optional |
Risks, decisions, links to ADRs. |
Concept 2: Ten canonical sections
The workbook is fixed at ten sections. Authors do not invent new sections; if a
configurable artifact does not fit into one of these, it is not within the
workbook's scope:
- Objects + Fields — new objects, custom fields, field-type changes,
formula fields, external IDs.
- Page Layouts + Lightning Pages — record-type-keyed layout assignments,
Dynamic Forms regions, Lightning Record Page components.
- Profiles + Permission Sets + PSGs — every PS and PSG composition; the
muting strategy.
- Sharing Settings — OWD, role hierarchy adjustments, sharing rules,
manual share, restriction rules. Cite the sharing decision tree.
- Validation Rules — VR formula, error location, error message, bypass
reference (Custom Permission + Custom Setting).
- Automation (Flow / Apex / Approvals) — every Flow, every Apex trigger
handler hook, every approval process. Cite the automation decision tree.
- List Views + Search — list view filter criteria, default list view per
profile, search layouts, lookup filters.
- Reports + Dashboards — folder structure, folder sharing, key reports
and dashboards, scheduled subscriptions.
- Integrations — named credentials, connected apps, remote site settings,
external services, Platform Event channels, CDC subscriptions. Sensitive
credentials are referenced by alias, never inline.
- Data + Migration — required data loads, dedup rules, External Id
upsert keys, sandbox seed data, cutover order.
Concept 3: Every row is addressable by exactly one downstream agent
The workbook is not just documentation — it is a routing instrument. The
recommended_agent field assigns each row to a single agent that will execute
it. If a single configuration step requires two agents (e.g. a new object
and its PSG), it must be split into two rows, each addressable on its
own.
Allowed recommended_agent values (subset, see agents/_shared/SKILL_MAP.md
for the full list):
object-designer — Objects + Fields rows
permission-set-architect — Profiles + Permission Sets + PSGs rows
flow-builder — Automation rows where the chosen tool is Flow
path-designer — Path + Guidance rows in the Lightning Pages section
lightning-record-page-auditor — Lightning Record Page rows
validation-rule-auditor (or audit-router --domain validation_rule) —
Validation Rules rows
report-and-dashboard-auditor (or audit-router --domain report_dashboard)
— Reports + Dashboards rows
integration-catalog-builder — Integrations rows
data-loader-pre-flight — Data + Migration rows
csv-to-object-mapper — Data + Migration rows when CSV-to-object mapping
is the dominant work
Common Patterns
Pattern 1: Source-grounded row authoring
When to use: Every time a new row is added to the workbook.
How it works:
- Pick the source — a
source_req_id from the RTM, a source_story_id, or
both. Both are required.
- Restate the change in
target_value using API names already in the org or
names that conform to templates/admin/naming-conventions.md.
- Pick exactly one
recommended_agent. If the row "needs" two agents,
split the row.
- Pick
recommended_skills[] — at least one skill id from the executing
agent's Mandatory Reads list.
- Set
status: proposed. Promotion to committed happens only at sprint
commit (Step 5 of the workflow).
Why not the alternative: Free-text "build sheets" that lack row_id,
source_req_id, or recommended_agent cannot be reviewed for completeness,
cannot be routed to agents, and silently drift from the RTM.
Pattern 2: Version-locking at sprint commit
When to use: When the team commits a workbook to a sprint or release.
How it works: Set status: committed on every in-scope row, snapshot the
file (commit a tagged copy under docs/workbooks/<release>/cwb.md), and from
that point treat the file as immutable. Mid-sprint change requests open
new rows with status: change-requested and a notes field linking back to
the row(s) they supersede. Old rows stay; their target_value is preserved as
historical record.
Why not the alternative: Editing rows in place destroys the audit trail
and lets reviewers approve a workbook that no longer matches what was
deployed.
Pattern 3: One row, one agent, one section
When to use: Whenever the temptation arises to have a single row "stand
in" for a multi-section change.
How it works: A "new Account Plan object with a PSG and a record-trigger
Flow" is three rows:
CWB-OBJ-007, section Objects+Fields, recommended_agent object-designer.
CWB-PSG-019, section Profiles+Permission Sets+PSGs, recommended_agent
permission-set-architect.
CWB-AUT-031, section Automation, recommended_agent flow-builder.
Each row carries the same source_story_id and the same source_req_id.
Cross-row dependencies live in notes, not in row content.
Why not the alternative: A row that touches three sections cannot be
routed to a single agent and degrades the workbook into a wiki.
Decision Guidance
| Situation |
Recommended Approach |
Reason |
| Row touches 2+ sections |
Split the row, one per section |
Each row must be addressable by one agent |
Row has no source_req_id |
Reject — open a fit-gap row first |
Workbook traces back to RTM; orphans are forbidden |
| Mid-sprint change request |
Open a new row with status: change-requested, link to the superseded row in notes |
Workbook is version-locked at sprint commit |
| Row's downstream tool is Apex, not Flow |
recommended_agent: trigger-consolidator or apex-refactorer (per automation-selection.md) |
Cite the decision tree branch, do not freestyle |
Row's target_value references a credential |
Use a Named Credential alias; never inline secrets |
Secrets in workbook = leak |
| Workbook has no Integrations section |
Add it, even if empty |
An empty section is information; a missing one is a gap |
| Two reviewers disagree on a row |
Promote disagreement to notes, leave status: proposed, escalate to architect |
Workbook isn't the venue for un-resolved decisions |
Recommended Workflow
Step-by-step instructions for an AI agent or practitioner authoring this
workbook:
- Intake — pull approved user stories and fit-gap rows. Confirm every
story has at least one fit-gap row and every gap row has at least one
story; flag the others to the BA before writing any workbook content.
- Outline — instantiate the 10 canonical sections (in order) using
templates/config-workbook.md. Empty sections stay in the file with a
one-line not-in-scope-this-release note.
- Populate — for each in-scope change, author one or more rows per
Pattern 1 + Pattern 3. Every row must have
source_req_id,
source_story_id, exactly one recommended_agent, at least one
recommended_skills[] entry, and status: proposed.
- Review — share with the admin team and BA. Reviewers reject any row
that is missing canonical fields, references a
recommended_agent that
isn't in the runtime roster, or carries a placeholder status.
- Version-lock — at sprint commit, run
python3 scripts/check_workbook.py --workbook docs/workbooks/<release>/cwb.md, fix any errors, set every
in-scope row's status: committed, and tag the file. From this point the
file is immutable.
- Hand off — for each row, hand
(row_id, recommended_agent, recommended_skills[], target_value, source_req_id) to the downstream
agent. The downstream agent reads the row, executes the change, and
reports back with the metadata path it produced.
- Close out — update each executed row's
status: executed and link
the deployed metadata path. Cross-link the row back to the RTM so the
release report can show every gap row → workbook row → metadata file.
Review Checklist
Before declaring the workbook ready for sprint commit:
Salesforce-Specific Gotchas
- API-name reality check — the workbook's
target_value for an object or
field must use API names that don't already exist (or that you intend to
extend). Probe the org first; "we'll figure out the API name later" rows
become rework.
- Section discipline drift — teams under deadline pressure invent
sections like "Misc" or "Other" to absorb rows that don't fit. Reject
these — if it doesn't fit one of the 10 sections, it isn't a workbook row.
- PSG rows that pretend to be field rows — a row that says "add the field
and grant the SDR PSG access" is two rows. Pretending otherwise hides
the permission change from the permission-set-architect agent.
Output Artifacts
| Artifact |
Description |
cwb.md |
The 10-section markdown workbook authored from templates/config-workbook.md. The committed sprint copy lives at docs/workbooks/<release>/cwb.md. |
cwb.json |
Machine-readable JSON envelope of the rows for downstream agents. |
cwb.csv |
Flat CSV export with one row per workbook row; useful for review in spreadsheets. |
| RTM linkage block |
A short markdown table mapping row_id → source_req_id → source_story_id → recommended_agent → status. Lives at the top of cwb.md. |
Official Sources Used
See references/well-architected.md.
Related Skills
admin/custom-field-creation — what an Objects+Fields row references but
does not duplicate.
admin/permission-set-architecture — what a Profiles+PSG row references.
admin/sharing-and-visibility — what a Sharing Settings row references.
admin/validation-rules — what a Validation Rules row references.
admin/lightning-app-builder-advanced — what a Lightning Pages row references.
admin/reports-and-dashboards — what a Reports+Dashboards row references.
data-loader-pre-flight agent — consumer for Data + Migration rows.
agents/object-designer/AGENT.md — primary consumer for Objects+Fields rows.
agents/permission-set-architect/AGENT.md — primary consumer for PSG rows.
agents/flow-builder/AGENT.md — primary consumer for Automation rows.
standards/decision-trees/automation-selection.md — cited by every Automation row.
standards/decision-trees/sharing-selection.md — cited by every Sharing Settings row.
1---2name: configuration-workbook-authoring3description: Author the Salesforce Configuration Workbook — the structured, reviewable handoff document an admin uses to execute a feature across Objects/Fields, Page Layouts, Profiles/PSGs, Sharing, Validation, Automation, List Views, Reports, Integrations, and Data. Triggers: 'salesforce configuration workbook', 'admin handoff document', 'implementation workbook'. NOT for object design itself (use admin/custom-field-creation, admin/lookup-and-relationship-design, agents/object-designer/AGENT.md), NOT for permission set design (use admin/permission-set-architecture, agents/permission-set-architect/AGENT.md), NOT for Flow construction (use skills/flow/* and agents/flow-builder/AGENT.md), and NOT for the deployment manifest (use skills/devops/metadata-api-retrieve-deploy).4---5
6# Configuration Workbook Authoring
7
8This skill activates when a Salesforce delivery team needs to convert approved
9user stories and fit-gap rows into the **Configuration Workbook** — the
10structured, reviewable handoff document that drives admin execution and routes
11each row to a single downstream runtime agent. The workbook is the canonical
12artifact between requirements (RTM) and metadata (deployment manifest).
13
14It is NOT the object designer, NOT the permission-set designer, NOT the Flow
15builder, and NOT the deployment manifest. It is the handoff document those
16agents *consume*.
17
18---
19
20## Before Starting
21
22Gather this context before authoring or revising a workbook:
23
24- **Approved user stories** — every workbook row must carry `source_story_id`.
25 Rows without an upstream story are orphaned and cannot be reviewed.
26- **Approved fit-gap rows** — every workbook row must carry `source_req_id` so
27 the workbook traces back to the RTM.
28- **Target org alias** — the workbook is grounded in the live org. API names,
29 existing record types, and existing PSGs must reflect reality, not wishlist.
30- **Sprint / release identifier** — the workbook is version-locked at sprint
31 commit. Mid-sprint change requests open *new* rows; they never edit existing
32 rows in place.
33- **Downstream agent roster** — every row's `recommended_agent` must resolve
34 to a real `agents/<name>/AGENT.md` from the runtime tier (see
35 `agents/_shared/SKILL_MAP.md` for the authoritative list).
36
37---
38
39## Core Concepts
40
41### Concept 1: One row per addressable change
42
43The workbook's atomic unit is a **row**. A row describes a single configurable
44artifact (one field, one validation rule, one PSG composition step, one Flow
45trigger, one report folder permission, one named credential). Rows are never
46"epics" — if a row would require multiple agents to execute, it must be split.
47
48The row schema is:
49
50| Field | Required | Notes |
51|---|---|---|
52| `row_id` | yes | Stable, unique within the workbook (e.g. `CWB-FIELDS-014`). Survives section reorder. |
53| `section` | yes | One of the 10 canonical sections. Must match exactly. |
54| `target_value` | yes | The configurable value (API name, formula, picklist set, sharing rule criterion, etc.). |
55| `owner` | yes | The named human accountable for this row landing in the org. Not a team alias. |
56| `source_req_id` | yes | Fit-gap row id from the RTM. Orphan rows = REJECT. |
57| `source_story_id` | yes | User-story id (e.g. `US-2031`). |
58| `recommended_agent` | yes | Single downstream runtime agent (one of `object-designer`, `permission-set-architect`, `flow-builder`, `path-designer`, `lightning-record-page-auditor`, etc.). |
59| `recommended_skills[]` | yes (≥1) | Skill ids the executing agent should consult. |
60| `status` | yes | `proposed` \| `committed` \| `in-progress` \| `executed` \| `verified` \| `change-requested`. **Never** `TBD`/`TODO`/`?`. |
61| `notes` | optional | Risks, decisions, links to ADRs. |
62
63### Concept 2: Ten canonical sections
64
65The workbook is fixed at ten sections. Authors do not invent new sections; if a
66configurable artifact does not fit into one of these, it is not within the
67workbook's scope:
68
691. **Objects + Fields** — new objects, custom fields, field-type changes,
70 formula fields, external IDs.
712. **Page Layouts + Lightning Pages** — record-type-keyed layout assignments,
72 Dynamic Forms regions, Lightning Record Page components.
733. **Profiles + Permission Sets + PSGs** — every PS and PSG composition; the
74 muting strategy.
754. **Sharing Settings** — OWD, role hierarchy adjustments, sharing rules,
76 manual share, restriction rules. Cite the sharing decision tree.
775. **Validation Rules** — VR formula, error location, error message, bypass
78 reference (Custom Permission + Custom Setting).
796. **Automation (Flow / Apex / Approvals)** — every Flow, every Apex trigger
80 handler hook, every approval process. Cite the automation decision tree.
817. **List Views + Search** — list view filter criteria, default list view per
82 profile, search layouts, lookup filters.
838. **Reports + Dashboards** — folder structure, folder sharing, key reports
84 and dashboards, scheduled subscriptions.
859. **Integrations** — named credentials, connected apps, remote site settings,
86 external services, Platform Event channels, CDC subscriptions. Sensitive
87 credentials are referenced by alias, never inline.
8810. **Data + Migration** — required data loads, dedup rules, External Id
89 upsert keys, sandbox seed data, cutover order.
90
91### Concept 3: Every row is addressable by exactly one downstream agent
92
93The workbook is not just documentation — it is a *routing instrument*. The
94`recommended_agent` field assigns each row to a single agent that will execute
95it. If a single configuration step requires two agents (e.g. a new object
96*and* its PSG), it must be **split** into two rows, each addressable on its
97own.
98
99Allowed `recommended_agent` values (subset, see `agents/_shared/SKILL_MAP.md`
100for the full list):
101
102- `object-designer` — Objects + Fields rows
103- `permission-set-architect` — Profiles + Permission Sets + PSGs rows
104- `flow-builder` — Automation rows where the chosen tool is Flow
105- `path-designer` — Path + Guidance rows in the Lightning Pages section
106- `lightning-record-page-auditor` — Lightning Record Page rows
107- `validation-rule-auditor` (or `audit-router --domain validation_rule`) —
108 Validation Rules rows
109- `report-and-dashboard-auditor` (or `audit-router --domain report_dashboard`)
110 — Reports + Dashboards rows
111- `integration-catalog-builder` — Integrations rows
112- `data-loader-pre-flight` — Data + Migration rows
113- `csv-to-object-mapper` — Data + Migration rows when CSV-to-object mapping
114 is the dominant work
115
116---
117
118## Common Patterns
119
120### Pattern 1: Source-grounded row authoring
121
122**When to use:** Every time a new row is added to the workbook.
123
124**How it works:**
125
1261. Pick the source — a `source_req_id` from the RTM, a `source_story_id`, or
127 both. **Both are required.**
1282. Restate the change in `target_value` using API names already in the org or
129 names that conform to `templates/admin/naming-conventions.md`.
1303. Pick exactly one `recommended_agent`. If the row "needs" two agents,
131 **split the row**.
1324. Pick `recommended_skills[]` — at least one skill id from the executing
133 agent's Mandatory Reads list.
1345. Set `status: proposed`. Promotion to `committed` happens only at sprint
135 commit (Step 5 of the workflow).
136
137**Why not the alternative:** Free-text "build sheets" that lack `row_id`,
138`source_req_id`, or `recommended_agent` cannot be reviewed for completeness,
139cannot be routed to agents, and silently drift from the RTM.
140
141### Pattern 2: Version-locking at sprint commit
142
143**When to use:** When the team commits a workbook to a sprint or release.
144
145**How it works:** Set `status: committed` on every in-scope row, snapshot the
146file (commit a tagged copy under `docs/workbooks/<release>/cwb.md`), and from
147that point treat the file as **immutable**. Mid-sprint change requests open
148*new* rows with `status: change-requested` and a `notes` field linking back to
149the row(s) they supersede. Old rows stay; their `target_value` is preserved as
150historical record.
151
152**Why not the alternative:** Editing rows in place destroys the audit trail
153and lets reviewers approve a workbook that no longer matches what was
154deployed.
155
156### Pattern 3: One row, one agent, one section
157
158**When to use:** Whenever the temptation arises to have a single row "stand
159in" for a multi-section change.
160
161**How it works:** A "new Account Plan object with a PSG and a record-trigger
162Flow" is **three rows**:
163
164- `CWB-OBJ-007`, section Objects+Fields, recommended_agent `object-designer`.
165- `CWB-PSG-019`, section Profiles+Permission Sets+PSGs, recommended_agent
166 `permission-set-architect`.
167- `CWB-AUT-031`, section Automation, recommended_agent `flow-builder`.
168
169Each row carries the same `source_story_id` and the same `source_req_id`.
170Cross-row dependencies live in `notes`, not in row content.
171
172**Why not the alternative:** A row that touches three sections cannot be
173routed to a single agent and degrades the workbook into a wiki.
174
175---
176
177## Decision Guidance
178
179| Situation | Recommended Approach | Reason |
180|---|---|---|
181| Row touches 2+ sections | Split the row, one per section | Each row must be addressable by one agent |
182| Row has no `source_req_id` | Reject — open a fit-gap row first | Workbook traces back to RTM; orphans are forbidden |
183| Mid-sprint change request | Open a new row with `status: change-requested`, link to the superseded row in `notes` | Workbook is version-locked at sprint commit |
184| Row's downstream tool is Apex, not Flow | `recommended_agent: trigger-consolidator` or `apex-refactorer` (per `automation-selection.md`) | Cite the decision tree branch, do not freestyle |
185| Row's `target_value` references a credential | Use a Named Credential alias; never inline secrets | Secrets in workbook = leak |
186| Workbook has no Integrations section | Add it, even if empty | An empty section is information; a missing one is a gap |
187| Two reviewers disagree on a row | Promote disagreement to `notes`, leave `status: proposed`, escalate to architect | Workbook isn't the venue for un-resolved decisions |
188
189---
190
191## Recommended Workflow
192
193Step-by-step instructions for an AI agent or practitioner authoring this
194workbook:
195
1961. **Intake** — pull approved user stories and fit-gap rows. Confirm every
197 story has at least one fit-gap row and every gap row has at least one
198 story; flag the others to the BA before writing any workbook content.
1992. **Outline** — instantiate the 10 canonical sections (in order) using
200 `templates/config-workbook.md`. Empty sections stay in the file with a
201 one-line `not-in-scope-this-release` note.
2023. **Populate** — for each in-scope change, author one or more rows per
203 Pattern 1 + Pattern 3. Every row must have `source_req_id`,
204 `source_story_id`, exactly one `recommended_agent`, at least one
205 `recommended_skills[]` entry, and `status: proposed`.
2064. **Review** — share with the admin team and BA. Reviewers reject any row
207 that is missing canonical fields, references a `recommended_agent` that
208 isn't in the runtime roster, or carries a placeholder status.
2095. **Version-lock** — at sprint commit, run `python3 scripts/check_workbook.py
210 --workbook docs/workbooks/<release>/cwb.md`, fix any errors, set every
211 in-scope row's `status: committed`, and tag the file. From this point the
212 file is immutable.
2136. **Hand off** — for each row, hand `(row_id, recommended_agent,
214 recommended_skills[], target_value, source_req_id)` to the downstream
215 agent. The downstream agent reads the row, executes the change, and
216 reports back with the metadata path it produced.
2177. **Close out** — update each executed row's `status: executed` and link
218 the deployed metadata path. Cross-link the row back to the RTM so the
219 release report can show every gap row → workbook row → metadata file.
220
221---
222
223## Review Checklist
224
225Before declaring the workbook ready for sprint commit:
226
227- [ ] Every row has a unique `row_id`
228- [ ] Every row has both `source_req_id` and `source_story_id`
229- [ ] Every row has exactly one `recommended_agent` from the runtime roster
230- [ ] Every row has at least one entry in `recommended_skills[]`
231- [ ] No row has `status` of `TBD`, `TODO`, `?`, or empty
232- [ ] All 10 canonical sections exist (empty sections carry a
233 `not-in-scope-this-release` note)
234- [ ] No row carries an inline credential, password, or token
235- [ ] `python3 scripts/check_workbook.py --workbook <path>` exits 0
236
237---
238
239## Salesforce-Specific Gotchas
240
2411. **API-name reality check** — the workbook's `target_value` for an object or
242 field must use API names that don't already exist (or that you intend to
243 extend). Probe the org first; "we'll figure out the API name later" rows
244 become rework.
2452. **Section discipline drift** — teams under deadline pressure invent
246 sections like "Misc" or "Other" to absorb rows that don't fit. Reject
247 these — if it doesn't fit one of the 10 sections, it isn't a workbook row.
2483. **PSG rows that pretend to be field rows** — a row that says "add the field
249 *and* grant the SDR PSG access" is two rows. Pretending otherwise hides
250 the permission change from the permission-set-architect agent.
251
252---
253
254## Output Artifacts
255
256| Artifact | Description |
257|---|---|
258| `cwb.md` | The 10-section markdown workbook authored from `templates/config-workbook.md`. The committed sprint copy lives at `docs/workbooks/<release>/cwb.md`. |
259| `cwb.json` | Machine-readable JSON envelope of the rows for downstream agents. |
260| `cwb.csv` | Flat CSV export with one row per workbook row; useful for review in spreadsheets. |
261| RTM linkage block | A short markdown table mapping `row_id → source_req_id → source_story_id → recommended_agent → status`. Lives at the top of `cwb.md`. |
262
263---
264
265## Official Sources Used
266
267See `references/well-architected.md`.
268
269---
270
271## Related Skills
272
273- `admin/custom-field-creation` — what an Objects+Fields row references but
274 does not duplicate.
275- `admin/permission-set-architecture` — what a Profiles+PSG row references.
276- `admin/sharing-and-visibility` — what a Sharing Settings row references.
277- `admin/validation-rules` — what a Validation Rules row references.
278- `admin/lightning-app-builder-advanced` — what a Lightning Pages row references.
279- `admin/reports-and-dashboards` — what a Reports+Dashboards row references.
280- `data-loader-pre-flight` agent — consumer for Data + Migration rows.
281- `agents/object-designer/AGENT.md` — primary consumer for Objects+Fields rows.
282- `agents/permission-set-architect/AGENT.md` — primary consumer for PSG rows.
283- `agents/flow-builder/AGENT.md` — primary consumer for Automation rows.
284- `standards/decision-trees/automation-selection.md` — cited by every Automation row.
285- `standards/decision-trees/sharing-selection.md` — cited by every Sharing Settings row.