Skip to content

feat(cli): scannable outdated report with command highlighting - #121

Merged
harlan-zw merged 2 commits into
mainfrom
feat/outdated-report-theme
Aug 21, 2026
Merged

feat(cli): scannable outdated report with command highlighting#121
harlan-zw merged 2 commits into
mainfrom
feat/outdated-report-theme

Conversation

@harlan-zw

@harlan-zwharlan-zw commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

❓ Type of change

  • ✨ New feature
  • 🐞 Bug fix

📚 Description

The outdated --all report packed every Skill into one sentence, so a 13 item no-match line ran past 500 characters:

⚠ No Repository match for 13 Skills (bombshell-dev-clack (claude-code), clack-prompts-skilld (claude-code), ...)

Rows are records now: a glyph, the Skill name, a dim status badge, then aligned detail lines. Name lists render as groups with one row per Skill and an aligned name column, the same shape as the update TUI.

⚠ improve-codebase-architecture claude-code · unmanaged
candidate skilld:mattpocock/skills/improve-codebase-architecture
stars ★ 228,451
install skilld install skilld:... --agent claude-code
delete .claude/skills/improve-codebase-architecture

Color goes deeper than whole-line roles, the way syntax highlighting works. Commands the user can type highlight as code: brand skilld, bold subcommand, dim flags, plain values. Paths dim and display relative to the working directory, since that is how they were typed; machine records keep absolute paths.

Three fixes fell out: lockfile parse failures said expected value at line 1 column 1 (the serde detail) and now say the lockfile is not valid JSON; the streamed • found progress dims so result rows carry the color; error lines and the update exit summary join the theme.

Plain output keeps the exact sentence records, so agents and scripts see no change.

🤖 AI disclosure: Harlan Agent Kit modified this description. My AI open-source policy.

The outdated report packed every name into one sentence, so a 13 Skill
no-match line ran past 500 characters and nothing could be scanned at a
glance. Rows are records now: a glyph, the Skill name, a dim status badge,
then aligned detail lines. Name lists render as groups with one row per
Skill. Lockfile parse failures name the problem instead of leaking the
serde detail, and streamed progress dims so results stand out.
Plain output keeps the exact sentence records.
@harlan-zw

Copy link
Copy Markdown
CollaboratorAuthor

Checked by hand, since CI cannot cover it:

  • Ran outdated --all through a forced PTY against this repo's real .claude/skills: records render with glyphs, dim badges, aligned labels, and the no-match group aligns 13 names in a column
  • CLAUDECODE=1 and --plain both emit the exact pre-change sentences, byte for byte

Commands in output are code the user types, so they highlight like code:
brand binary, bold subcommand, dim flags, plain values. Record detail
values carry a kind now, and paths inside the working directory display
relative while machine records keep absolute paths. The update summary
and error lines join the theme; plain text is unchanged.
@harlan-zwharlan-zw changed the title feat(cli): scannable outdated report rowsfeat(cli): scannable outdated report with command highlightingAug 21, 2026
@harlan-zw
harlan-zw merged commit b6d1a18 into mainAug 21, 2026
2 checks passed
@harlan-zw
harlan-zw deleted the feat/outdated-report-theme branch August 21, 2026 16:19
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@harlan-zw