Skip to main content

explain-flow

Explain how code flows with concrete input/output examples, ASCII diagrams, and before/after tables. Works on PRs, functions, modules, or any code path. Triggers: /explain-flow, "explain this PR", "explain this function", "explain this module", "how does this flow", "walk me through", "explain the change in"

소스 정보

저장소
meain/dotfiles
최근 소스 활동
2026년 7월 8일 12:45
감지된 SKILL.md 언어
영어
스타
285
포크
10

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
explain-flow
description
Explain how code flows with concrete input/output examples, ASCII diagrams, and before/after tables. Works on PRs, functions, modules, or any code path. Triggers: /explain-flow, "explain this PR", "explain this function", "explain this module", "how does this flow", "walk me through", "explain the change in"
# /explain-flow — Explain Code with Concrete Examples Produce a clear explanation of how data flows through a PR, function, or module. The goal is to build the reader's mental model first, then confirm it with code — not to narrate the diff line by line. ## Step 1 — Gather the source material - **PR**: `gh pr view` and `gh pr diff`. Read all changed files. - **Function**: Read the function and its callers/callees one level in each direction. - **Module/package**: Read the public API surface and key internal wiring. For PRs and refactors, understand what the code did *before* the change and what it does *after* before writing anything. ## Step 2 — Write the explanation Work through these sections in order. Each one builds on the last. ### Background Orient the reader before touching the code. Assume no prior knowledge of the surrounding system. Cover: - What the surrounding system does (one short paragraph) - What was missing, broken, or constrained that prompted this change - Any architectural rules or design decisions that shaped the approach ### Intuition Explain the 2–4 core ideas in the change *before* showing any real code. Use toy examples and analogies. For each concept: - Name it - Make it concrete with a minimal before/after or a simple example - State why it matters This section should make the Code section feel like confirmation rather than discovery. Don't front-load implementation detail here — that belongs in the next section. ### Code walkthrough One-paragraph summary of what the change does and why, then a step-by-step trace through the key code path using realistic example data. Show actual values at each step: ``` Input: GET /api/items?filter=active 1. Parse filters → { status: "active" } 2. Check permissions → { orgIDs: ["org-1"], tenantIDs: ["t-1"] } 3. Query DB → SELECT ... WHERE status='active' AND org_id IN ('org-1') 4. Return → [{ id: "item-1", status: "active" }] ``` When a transformation spans multiple steps, show the data in both old and new form at *each* step — not just the endpoints. The reader should see the value mutating stage by stage. When there are meaningful branches, add a decision matrix: ``` | Input condition | Path taken | Result | |----------------------|----------------|-----------------| | flag ON + authorized | new + old path | union of both | | flag OFF | old path only | legacy behavior | | neither authorized | early return | empty response | ``` ### Other changes (PRs only) Briefly list mechanical or supporting changes — test updates, config, helpers — that don't affect the core flow. ## Guidelines - Use realistic field names and values from the actual code, not generic placeholders. - Keep examples short but complete: enough to see the transformation, not every field. - Prefer ASCII flow notation over prose for multi-step pipelines. - Pick the 2-3 most important code paths; don't trace every branch. - For modules, lead with the happy path, then note error/edge cases.
GitHub에서 보기