OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add rheinmir/setup --skill impact-check
Map all callers and dependents of a symbol before modifying shared code
npx skills add rheinmir/setup --skill impact-check
safe-change or proposesymbol → mọi reference (import · call · đọc output) → Direct / Indirect → test refs tách riêng → báo cáo + wiki gap.
| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | symbol(s) cần đổi | có | function, class, variable, config key |
| Out | danh sách reference | có | file path, line number, cách dùng, nhãn Direct/Indirect; zero ngoài file thì nói rõ |
| Out | test refs | có nếu có | liệt kê riêng |
| Out | wiki gap | nếu có | symbol chưa có trong wiki/ |
| Out | draft output report | có (trừ khi 0 artefact) | llmwiki/wiki/sources/draft/DDMMYY-<ten>.md |
*.ts files).| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | judgment | yêu cầu sửa | Xác định đúng symbol | symbol list | mơ hồ → clarify |
| W02 | deterministic | symbol | Tìm mọi import/call/reference toàn codebase | hits | lớn → tên + file pattern |
| W03 | deterministic | hits | Ghi file path, line, cách dùng | bảng ref | — |
| W04 | judgment | bảng ref | Phân loại Direct / Indirect | ref đã gắn nhãn | — |
| W05 | deterministic | ref | Báo cáo đủ, tách test refs, zero thì nói rõ | báo cáo | — |
| W06 | deterministic | wiki/ | Ghi gap nếu symbol chưa document (không tạo entry) | gap note | — |
| W07 | effect | kết quả | Output Report draft | draft + index + log | 0 artefact → skip |
Chi tiết từng bước (nguồn chân lý cho W01–W07):
wiki/, note as gap — do not create entry now. Wiki entries only written after code committed (see verify-before-commit).| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | conditional_required | codebase lớn | search theo tên symbol VÀ file pattern (RULE-02) | — | W03 |
| B02 | conditional_required | có reference trong test file | liệt kê riêng, cảnh báo phải cập nhật | không có → skip | W06 |
Dừng khi mọi hit đã có path + line + nhãn Direct/Indirect. Không kết luận "unused" chỉ vì thiếu direct caller (RULE-03). Không file code nào bị sửa.
formatDate(d) trong src/utils/date.ts → 12 Direct (import) + 2 Indirect (đọc chuỗi output để parse) + 3 test refs liệt kê riêng → báo cáo + draft DDMMYY-impact-format-date.md.retry_limit không có caller trực tiếp nhưng được đọc qua config[key] động → xếp Indirect, KHÔNG báo "unused"; nếu quét không hết thì báo partial kèm phạm vi.After all main skill tasks complete, write a propose draft to the wiki.
1. Build the filename:
DDMMYY-<ten>.mdDDMMYY = 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:
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).