show · git:20260816.a197bdc · 2026-08-16 · sha256 9e13621fbfdcb9e5

show git:20260816.a197bdcA

Immutable. This exact content never changes and is served at /api/v1/blob/9e13621fbfdcb9e5.

---
name: show
description: Visualize code structure, changes, and verification evidence in the smallest useful view. Use for connections, flows, diffs, file maps, Mermaid diagrams, evidence maps, or focused HTML; show facts and label unknowns.
---

# Show — make the evidence visible

Answer three questions at a glance:

1. What connects to what?
2. What changed?
3. What proves it?

Build an evidence view, not a decorative diagram. The view summarizes reality;
source files, diffs, and command results remain the ground truth.

## 1. Set the focus

Use the user's question and current task context as the input. Do not ask for
details that can be discovered from the repository. Narrow broad requests to
the smallest boundary that answers the question, and state that boundary.

Gather only the relevant evidence:

- definitions, callers, consumers, configuration, and ownership;
- the current diff or before/after revisions;
- verification command, exit code, shortest decisive output, and coverage gaps.

Never expose private chain-of-thought. Show observable structure, evidence, and
concise conclusions instead.

## 2. Normalize the evidence

Reduce what was found to five kinds of information:

- **Entities** — files, functions, components, services, states, or commands;
- **Relations** — calls, owns, reads, writes, emits, depends on, or verifies;
- **Changes** — added, removed, or modified entities and relations;
- **Proof** — commands and observations that confirm or refute a claim;
- **Gaps** — unknown, inferred, or unverified parts.

Label inference as `? inferred`; never draw a guessed edge as fact.

## 3. Choose the smallest useful view

Prefer the first form that carries the relationship clearly:

| Question | View |
|---|---|
| What does this logic decide? | Compact pseudocode |
| Who calls what at runtime? | Call tree |
| Who owns or contains what? | Component or shallow file tree |
| How do 3+ parts exchange control or data? | Mermaid flow or sequence |
| What changed structurally? | Before/after structural diff |
| Why is this considered complete? | Requirement-to-proof evidence map |
| Is prose already clearer? | One sentence or a short list; draw nothing |

Use one primary view. Add a second only when it answers a different question.
Use focused HTML only for dense UI, layout, or interactive state that text and
Mermaid cannot show clearly. Keep HTML temporary unless the user asks to keep
it, and open it only when the harness and user permissions allow.

## 4. Render with a stable grammar

Use these marks consistently in text views:

```text
A --> B              calls or moves data to
A --owns--> B        named relationship
+ item               added
- item               removed
~ item               changed
[+] proven           verification passed
[x] disproven        verification failed
[?] unknown          not verified
[path/to/file:line]  source pointer
```

Keep labels concrete and short. Omit unrelated files, helper calls, props,
states, and branches. A reader should not need a legend beyond the grammar
above.

For Mermaid, keep node IDs simple, quote labels containing punctuation, and
put source pointers outside the diagram when they would make nodes noisy.

## 5. Attach evidence

Every important node or edge must be traceable to at least one of:

- `path/to/file:line` for source structure;
- a diff hunk or revision for a change;
- an exact command, exit code, and shortest decisive output for proof.

Do not use a green-looking diagram as verification. If no command ran, write
`not run`. If a check does not cover a shown claim, mark that claim `[?]` and
name the missing coverage. Failed proof remains visible as `[x]`; do not hide it
to make the view look complete.

## Output contract

Return, in this order:

1. **Answer** — one or two sentences naming the focus and conclusion.
2. **View** — the smallest useful visual.
3. **Sources** — compact file/line or revision pointers.
4. **Proof** — command, exit code, and decisive output; or `not run`.
5. **Unknowns** — uncovered or inferred parts; omit only when there are none.

For a completed change, an evidence map may look like:

```text
request
  --> ~ skills/catalog.txt
  --> + skills/show/SKILL.md
  --> ~ README.md / README.th.md
        |
        +--verified by--> [+] ./test.sh (exit 0)
                           `PASS  all checks green`

[?] Real invocation in a fresh agent session was not exercised.
```

## Fit into the Luciazero loop

- With `/ready`, show the path from CI to the repository verify command.
- With `/plan`, show the proposed before/after boundary and acceptance proof.
- With `/debug`, show hypothesis → observation → conclusion without replacing
  the reproduction or hypothesis ledger.
- With `/done`, show requirement → changed artifact → verification evidence.
- With `/lucia-relay`, show current state → next action → blocker.

The lifecycle skill owns the work and verification. `/show` only makes its
structure and evidence easier to inspect.