| name | knock |
| description | Single-option 10-order knock-on effect tracing for decisions and changes. |
| user-invocable | true |
| argument-hint | [change to trace | inline | full] |
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash |
Knock — Single-Option Effect Tracing
Trace the effects of ONE option, change, or decision through 10 orders of
knock-on analysis. This skill produces the evidence that /adjudicate uses
when comparing multiple options — but it runs independently for single-option
analysis, impact assessment, or pre-decision exploration.
/knock = trace effects of ONE option/change through 10 orders
/adjudicate = 2-pass /knock on EACH option → compare → resolve
Arguments
Parse $ARGUMENTS to determine scope:
| Argument | Behavior |
|---|
| (empty) | Identify the change or option from conversation context |
[topic] | Trace knock-on effects for the named change |
inline | Abbreviated: 4 orders + structural scan (7–10) |
full | Full depth: all 10 orders elaborated |
Default depth: infer from apparent scale. Small/tactical changes → inline.
Architecture decisions, policy changes, or anything affecting multiple files → full.
Protocol
Step 1: State the Change
One sentence describing the specific change being traced. Not vague ("improve X")
— concrete ("add route Y to worker.js" or "extend depth from 8 to 10 orders").
Step 2: Classify the Domain
| Domain | Signal | Primary effect vectors |
|---|
| Code | file changes, API surfaces, dependencies | builds → tests → deploys → users |
| Data | schema, model, training data changes | pipeline → scores → downstream consumers |
| Pipeline | CI/CD, build, deploy changes | reliability → velocity → trust |
| Infrastructure | hosting, transport, networking | availability → latency → cost |
| UX | interface, accessibility, communication | perception → adoption → feedback |
| Operational | process, workflow, documentation | velocity → consistency → knowledge |
| Product | features, scope, direction | users → market → mission alignment |
Step 3: Ground the Analysis
Before tracing orders, verify actual dependencies:
- Read relevant files or sections that the change touches
- Identify what directly depends on the changed thing
- Identify what the changed thing depends on
- Note any assumptions that would change the analysis if wrong
Do not trace from assumptions — trace from verified dependencies.
Step 4: Trace 10 Orders
Order Confidence What it captures
─────────────────────────────────────────────────────────────────
1 certain Direct, immediate effect
2 certain–likely What systems/processes activate
3 likely What consumes Order 2's outputs
4 likely–possible Aggregate/systemic effects
5 possible What humans observe / trust changes
6 speculative How it compounds over time
7 structural Ecosystem/precedent effects —
how does this shape what others do?
What precedent for open-source,
community, or standards? (PMBOK)
8 horizon Normative/structural effects —
what norms, expectations, or
constraints does this establish
or erode long-term?
9 emergent Properties arising from interaction
of multiple knock-on chains — not
predictable from individual orders
in isolation (INCOSE SE Handbook,
ISO/IEC 15288)
10 theory-revising Effects that falsify or require
modification of the theory that
justified the original decision
(Popper, 1959)
─────────────────────────────────────────────────────────────────
Output format:
**Knock-on analysis (10 orders) — [change label]:**
**1. [Label]** *(certain)* — [direct immediate effect]
**2. [Label]** *(certain–likely)* — [what systems/files activate]
**3. [Label]** *(likely)* — [what consumes Order 2's outputs]
**4. [Label]** *(likely–possible)* — [aggregate effects]
**5. [Label]** *(possible)* — [what humans observe or trust]
**6. [Label]** *(speculative)* — [compounding over time]
**7. [Label]** *(structural)* — [ecosystem/precedent effects]
**8. [Label]** *(horizon)* — [normative long-term effects]
**9. [Label]** *(emergent)* — [cross-chain interaction effects]
**10. [Label]** *(theory-revising)* — [effects that modify justifying theory]
For inline mode: Trace orders 1–4, then scan 7–10 as a checklist:
- Does this set a precedent? (7)
- Does this establish or erode a norm? (8)
- Do multiple chains interact unpredictably? (9)
- Does this change the theory behind the decision? (10)
Elaborate only if the scan surfaces something. Otherwise note "no structural effects."
Step 5: Surface Mitigations and Assumptions
After the cascade:
- Key mitigations: actions that would reduce negative effects at orders 4+
- Assumptions: conditions the analysis depends on; state what would change
if the assumption broke
- Cross-domain patterns: does this change echo a pattern from another domain?
(Name the pattern if so — T12 may co-fire)
Step 6: Recommend-Against Scan (T3)
Before presenting the analysis, scan for a concrete reason NOT to proceed with
this change. Vague concern does not count — only specific, articulable objections.
If found, surface the objection. If not, note "no recommend-against signal."
Integration
| Context | How /knock fires |
|---|
/hunt Phase 5 | /hunt invokes /knock for each option when decisions surface |
/adjudicate Phase 2 | /adjudicate runs /knock per option, then compares |
| Standalone | User or agent invokes /knock directly for single-option analysis |
| T3 (Before recommending) | Agent may invoke /knock before making a recommendation |
Confidence Discipline
- Orders 1–2: State as fact — direct causal effects
- Order 3: "Likely" — based on known, verified dependencies
- Orders 4–5: "Possible" — requires compounding; state assumptions explicitly
- Order 6: "Speculative" — be honest about confidence
- Order 7: "Structural" — ecosystem effects; confidence depends on ecosystem knowledge
- Order 8: "Horizon" — normative effects; lowest individual-order confidence
- Order 9: "Emergent" — cross-chain effects; confidence depends on completeness
of individual-order traces. If individual traces are incomplete, Order 9 carries
compounding uncertainty
- Order 10: "Theory-revising" — meta-level; the most consequential finding when
it occurs, but also the rarest. Most analyses will note "no theory-revising effects
identified" — this is the expected outcome, not a failure
Never inflate confidence. If an order produces nothing meaningful, say so rather
than fabricating an effect to fill the slot.
Anti-patterns
- Filling all 10 slots for trivial changes — a variable rename does not have
emergent or theory-revising effects. Use
inline for small changes.
- Tracing from assumptions instead of dependencies — read the code/docs first.
The grounding step exists for a reason.
- Conflating structural with speculative — Order 7 (structural) is about what
precedent this sets for others. Order 6 (speculative) is about how it compounds
for this project. Different audiences, different effects.
- Skipping the recommend-against scan — the whole point of Step 6 is to catch
the case where the analysis looks good but the change should not happen.