name: choosing-what-to-control
description: Decides which code, prompts, models, tools, dependencies, docs, tests, evals, releases, or claims need their approved state tracked. Use when scoping what a change puts at risk or what must stay reviewable. Do not use for scratch work that nothing else depends on.
Choosing What to Control
Overview
Controlled items are the parts of a system whose approved version matters. They matter to trust, to review, to being able to repeat a result, to what an agent may do, or to a release. This skill keeps the approved version of those items under control. Engineers call that keeping the approved version under control, or configuration management (CM).
Decision contract
- Claim checked: every item whose approved state affects trust, agent power, the release, repeatability, or public understanding is named -- with owner, current and intended state, an evidence link or stated gap, and a re-check trigger -- and nothing in scope is silently left uncontrolled.
- Artifact observed: the request/diff/record and
controlled-items.md (plus any risk.md, basis.md, plan.md) -> the controlled-item list with owners, states, triggers, and named gaps. - Decision affected: warn -- which code, prompts, models, dependencies, docs, and releases become controlled items (feeds
change-impact.md and the baseline). - Failure class: uncontrolled-item (drift in an unlisted prompt, doc, or agent-power state left untracked).
- Next action: name the item, owner, and re-check trigger; escalate when drift could hit users, security, releases, or agent power.
When to Use
- A change touches prompts, models, tools, dependencies, public docs, checkers, templates, skills, commands, release files, or runbooks.
- A reviewer needs to know which state is approved and which kind of drift would matter.
- Agent power or wording about where ideas came from changes.
- Work could hit the wrong target, so the exact item needs to be named before anyone acts.
When Not to Use
- The change is local, easy to undo, and holds no state that carries trust.
- The item is already listed in a fresh
controlled-items.md and the scope has not changed.
- The user request, issue, pull request, diff, or change record.
docs/02-operating-system/controlled-items.md.- Any existing
risk.md, basis.md, and plan.md.
Process
- List the files, prompts, models, dependencies, tools, data sources, docs, tests, evals, release files, and claims the change affects.
- Keep only the items whose state affects trust, agent power, the release, repeatability, or what the public understands.
- Flag the exact item, its owner, and the boundaries that must not be touched.
- For each item, record its current state, its intended state, its owner, a link to evidence, and the trigger to re-check it.
- Move up to
change-impact.md when several kinds of artifacts could go stale.
Outputs
- A controlled-item list, or
controlled-items.md. - The exact target and the do-not-touch boundaries, when needed.
- Triggers to re-check each item.
- Named gaps for items that need a saved-version step later.
Verification
- Each controlled item has a reason it is controlled.
- Each item links to evidence or to a stated gap.
- A reviewer can tell which items are in and which are out.
Escalation
- Escalate when drift in an uncontrolled item could affect users, data, security, releases, where ideas came from, or what an agent may do.
- Stop if the list turns into a whole-repo inventory instead of a list tied to this change.
Common Rationalizations
- "Git tracks everything." Git tracks the bytes. Keeping the approved version under control records which state is approved and when to re-check it.
- "It is only a prompt or a doc." Prompts and docs can change how an agent behaves and how the public trusts you.
- "We can work out the affected items from the diff." Future reviewers need the intent, not just the changed paths.
Red Flags
- No owner, or no trigger to re-check.
- Public claims change but stay uncontrolled.
- Agent tool power changes, but no controlled item records the new permission state.
Prompt
List the items this change must keep under control (CM).
Inputs:
- change:
- packet:
- affected files/items:
Return a short table. For each item, give: the item, its type, its current state, its intended state, why it is controlled, a link to its evidence (or the gap), its owner, and what should trigger a re-check. Do not list unrelated repo files. Do not imply formal assurance or compliance.
Source-lineage note
This skill is an original workflow for keeping approved versions under control. It draws on public configuration-management and software-assurance sources mapped in docs/00-standards-foundation/source-map.md. It does not create formal assurance or compliance.