Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 17 additions & 10 deletions .claude/skills/writing-user-outputs/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ anyway, that message comes first:

```
▲ Auto-staging 1 untracked path:
┃ notes.md
notes.md
◎ Generating commit message...
```

Expand All @@ -422,7 +422,7 @@ Not:
```
◎ Generating commit message...
▲ Auto-staging 1 untracked path:
┃ notes.md
notes.md
```

Warnings that result from the action itself (something failed during execution)
Expand Down Expand Up @@ -640,12 +640,12 @@ at the top of `wt step commit`, has nothing to separate from and starts flush.
```
❯ Configure claude for commit messages? [y/N/?] y
✓ Added to user config:
┃ [commit.generation]
┃ command = "..."
[commit.generation]
command = "..."
↳ View config: wt config show

▲ Auto-staging 1 untracked path:
┃ a
a
◎ Generating commit message...
```

Expand Down Expand Up @@ -840,7 +840,10 @@ tab in the tab bar (`items::render_preview_tabs`).
redirects) can be interpolated directly without escaping. Do NOT escape
`<`/`>` in variables — it adds extra chars.
- **YAGNI** — Most output needs no styling
- **Graceful degradation** — Colors auto-adjust (NO_COLOR, TTY detection)
- **Graceful degradation** — Styling follows the consumer (NO_COLOR, TTY
detection). Plain output preserves meaning through wording, spacing and
existing semantic symbols. Missing decoration alone does not justify new
markers; add text when information would otherwise be lost.
- **Unicode-aware** — Width calculations respect symbols and CJK (via `StyledLine`)

**StyledLine** for table rendering with proper width calculations:
Expand Down Expand Up @@ -906,7 +909,11 @@ worktree-path = ".worktrees/{{ branch | sanitize }}"
## Gutter Formatting

Use gutter for **quoted content** (git output, commit messages, config to copy,
hook commands being displayed):
hook commands being displayed).

The gutter is a background-colored blank column followed by a space. Plain
output keeps the two-space indent. Gutter examples in this skill show that plain
form.

- `format_bash_with_gutter()` — shell commands (dimmed + syntax highlighting)
- `format_with_gutter()` — other content
Expand Down Expand Up @@ -1024,7 +1031,7 @@ std::fs::read_to_string(&path).context("Failed to read config")?

```
✗ Commit generation command 'llm --model claude' failed
┃ Error: [Errno 8] nodename nor servname provided
Error: [Errno 8] nodename nor servname provided

// NOT: ✗ ... failed: LLM command failed: Error: [Errno 8]...
```
Expand All @@ -1042,9 +1049,9 @@ labeled blocks. Each block is a bash gutter (dim + syntax highlighting via
then `source` or `result`):
```
○ name source
┃ template
template
○ name result
┃ result
result
```

The two headers carry the input/output distinction, so both blocks share the
Expand Down
Loading