Skill: impact-check
Purpose
Before modifying any symbol (function, class, variable, config key), map all dependents so no callers blindsided.
When to use
- Before editing shared utility, base class, or widely-imported module
- Before renaming or deleting anything
- As first step of
safe-change or propose
Steps
- Identify exact symbol(s) to change.
- Search entire codebase for all imports, calls, references to each symbol.
- For each reference: note file path, line number, how it uses symbol.
- Classify each reference:
- Direct — calls or imports symbol itself
- Indirect — depends on behaviour symbol produces (e.g. reads its output)
- Report full list. If zero references found outside file, state explicitly.
- Flag any reference in test file separately — those must update or give false confidence.
- If symbol not yet documented in
wiki/, note as gap — do not create entry now. Wiki entries only written after code committed (see verify-before-commit).
Rules
- Do not modify anything during this skill — output only.
- If codebase large, search by symbol name AND file pattern (e.g. all
*.ts files).
- Do not assume symbol unused because no direct callers — check indirect dependents too.
Output Report
After all main skill tasks complete, write a propose draft to the wiki.
Steps
1. Build the filename:
- Format:
DDMMYY-<ten>.md
DDMMYY = today (e.g., 020626 for 2 June 2026)
<ten> = 2–4 kebab-case words summarising what was done (e.g., landing-page-coteccons, brand-kit-fintech, ingest-auth-spec)
2. Write llmwiki/wiki/sources/draft/DDMMYY-<ten>.md:
# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD
## What
<One sentence — what this skill invocation produced or decided>
## Output
<Key artefacts, files created/modified, or decisions made>
## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |
## Notes
- Invoked via: `/<skill-name>` skill
## Origin
- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_
3. Update wiki index & log:
llmwiki/wiki/index.md — append one row: | [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |
llmwiki/wiki/log.md — append: ## YYYY-MM-DD — <skill-name> — <ten>
Skip only when the skill produces zero artefacts and zero decisions (e.g., a pure display mode like /caveman-stats).
1---2name: impact-check3description: Map all callers and dependents of a symbol before modifying shared code4---56# Skill: impact-check78## Purpose9Before modifying any symbol (function, class, variable, config key), map all dependents so no callers blindsided.1011## When to use12- Before editing shared utility, base class, or widely-imported module13- Before renaming or deleting anything14- As first step of `safe-change` or `propose`1516## Steps171. Identify exact symbol(s) to change.182. Search entire codebase for all imports, calls, references to each symbol.193. For each reference: note file path, line number, how it uses symbol.204. Classify each reference:21 - **Direct** — calls or imports symbol itself22 - **Indirect** — depends on behaviour symbol produces (e.g. reads its output)235. Report full list. If zero references found outside file, state explicitly.246. Flag any reference in test file separately — those must update or give false confidence.257. If symbol not yet documented in `wiki/`, note as gap — do not create entry now. Wiki entries only written after code committed (see `verify-before-commit`).2627## Rules28- Do not modify anything during this skill — output only.29- If codebase large, search by symbol name AND file pattern (e.g. all `*.ts` files).30- Do not assume symbol unused because no direct callers — check indirect dependents too.3132---3334## Output Report3536After all main skill tasks complete, write a propose draft to the wiki.3738### Steps3940**1. Build the filename:**41- Format: `DDMMYY-<ten>.md`42- `DDMMYY` = today (e.g., `020626` for 2 June 2026)43- `<ten>` = 2–4 kebab-case words summarising what was done (e.g., `landing-page-coteccons`, `brand-kit-fintech`, `ingest-auth-spec`)4445**2. Write** `llmwiki/wiki/sources/draft/DDMMYY-<ten>.md`:4647```48# DDMMYY-<ten>49**Type:** draft50**Status:** proposed51**Tags:** <skill-name>, output-report52**Proposed:** YYYY-MM-DD5354## What55<One sentence — what this skill invocation produced or decided>5657## Output58<Key artefacts, files created/modified, or decisions made>5960## Files61| File | Action |62|------|--------|63| `path/to/file` | created / modified |6465## Notes66- Invoked via: `/<skill-name>` skill6768## Origin69- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`70- **Commit:** _(filled by verify-before-commit)_71- **Date promoted:** _(filled by verify-before-commit)_72```7374**3. Update wiki index & log:**75- `llmwiki/wiki/index.md` — append one row: `| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |`76- `llmwiki/wiki/log.md` — append: `## YYYY-MM-DD — <skill-name> — <ten>`7778> Skip only when the skill produces zero artefacts and zero decisions (e.g., a pure display mode like `/caveman-stats`).