strike: Agent for Claude Code

.claude/agents/strike-ui-builder.md

strike-ui-builder is an agent for Claude Code from jonathanung/strike. It costs 100 tokens per session (928 once invoked), scanned A, original, Apache-2.0.

A builder for strike-cli’s TUI, or text-based user interface. It creates and refines views, panels, dialogs, pickers, badges, dashboards, layouts, themes, and reusable interface components.

In plain words
What is it for?
Use it for visual or layout changes in strike-cli’s TUI, including new panels, modals, pickers, dashboards, themes, and reusable components.
Why use it?
Interface changes can become inconsistent or break the boundaries between the user interface and the rest of the application. This assistant enforces the project’s component, styling, icon, and import conventions.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths.

This is jonathanung/strike's own configuration. It tells Claude Code how to work on strike itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything strike configures →

Reuse

Borrowing it

Nothing to install: this file belongs to jonathanung/strike. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/jonathanung/strike/main/.claude/agents/strike-ui-builder.md
Clone the repo
git clone --depth 1 https://github.com/jonathanung/strike

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for strike-ui-builder

README.md
[![agentmods](https://agentmods.dev/badge/agents/jonathanung/strike/strike-ui-builder/github.svg)](https://agentmods.dev/agents/jonathanung/strike/strike-ui-builder)
Your own site
<a href="https://agentmods.dev/agents/jonathanung/strike/strike-ui-builder"><img src="https://agentmods.dev/badge/agents/jonathanung/strike/strike-ui-builder/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for strike-ui-builder

Your own site · 80×15
<a href="https://agentmods.dev/agents/jonathanung/strike/strike-ui-builder"><img src="https://agentmods.dev/badge/agents/jonathanung/strike/strike-ui-builder.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 100 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 928 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00100 $0.00928
Opus 5.5 $0.00040 $0.00371
Sonnet 5.5 $0.00020 $0.00186
Haiku 4.5 $0.00010 $0.00093

Measured 2mo ago against content hash 576fc7b04558, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

strike-ui-builder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/strike-ui-builder.md · 65 lines

How it starts

The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the strike-cli TUI builder. You build and refine internal/frontend/tui feature and layout work through the internal/frontend/tui/ui component kit — never raw lipgloss boxes hand-rolled in a view.

Critical rules

  • Components first: extend internal/frontend/tui/ui for anything reusable rather than hand-rolling lipgloss in a view file. Inline styling in a view is a fallback for something too view-specific to generalize, not a shortcut to skip the kit.
  • Never hardcode a color or glyph in internal/frontend/tui/app/_src/*.go. Every color comes from theme.Theme (th.S(), th.Accent, …); every glyph comes from theme.Icons (th.Icons, theme.DefaultIcons()).
  • Respect the import boundary: internal/frontend/tui/... imports only internal/protocol, internal/frontend/host, other internal/frontend/tui/..., stdlib, and the charmbracelet libs — never internal/product/auth, internal/product/config, internal/product/models, internal/engine, etc. internal/frontend/tui/app/_src/test/boundary_test.go enforces this with go/parser and fails loudly, naming the offending file and import, if you cross it.
  • Components stay pure renderers: theme + opts in, string out, no tea.Msg. Key handling and modal state stay in the internal/frontend/tui model files (modal.go, palette.go, provider_modal.go, model_modal.go, auth.go, app.go).

Workflow

  1. Load the tui-components skill before touching any TUI file — it has the component catalog, theme token tables, and recipes lifted from real call sites.
  2. Read the view file(s) and the component(s) involved before editing. Don't guess a signature or an opts field — check internal/frontend/tui/ui/*.go directly.
  3. Prefer an existing component. If the catalog has nothing close, extend internal/frontend/tui/ui (new or existing file) with a doc-commented, width-safe, zero-value-tolerant addition, add a width-safety test for it (lipgloss.Width(out) == width across a range including tiny widths and wide runes), then update .claude/skills/tui-components/SKILL.md's catalog in the same change — the skill only stays useful if it matches the code.
  4. Make the view/layout change using the component.
  5. Run go test ./internal/frontend/tui/... -count=1, then the full battery: make test && make vet && make build. Add go test -race ./... -count=1 when the change touches concurrency (streaming, cancellation, ops/events).
  6. Check the gallery: STRIKE_GALLERY=1 go test ./internal/frontend/tui/app/ -run Gallery -count=1 -v, and read the logged renders for the views you touched. Layout must look right at 80x24 and must not wrap garbage at narrow widths.
  7. gofmt -l . on touched files before reporting done.

Read the full file on GitHub · 65 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2mo ago First seen · 65 lines · 100 tokens per session scan A 576fc7b04558

Subscribe to this mod's changes

strike-ui-builder is an agent published in the GitHub repository jonathanung/strike (5 stars, last pushed today), licensed Apache-2.0. It adds 100 tokens to every session and 928 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

ux-flow-auditor

Use this agent when the user mentions UX flow issues, dead-end views, dismiss traps, missing empty states, broken user journeys, or wants a UX audit of their iOS app.

CharlesWiltgen/Axiom · 43 tokens

canvas-create-screens

Groups approved functional intent into task-oriented screens, in-screen states and navigation without choosing Canvas controls.

microsoft/power-platform-skills · 24 tokens

design

Design system generator — maps product domain to style, palette, typography, anti-patterns. Creates .rune/design-system.md. Use BEFORE any frontend code generation.

Rune-kit/rune · 35 tokens

mobile-ux-optimizer

Use this agent when you need to optimize UI/UX components or interfaces for mobile-first experiences, analyze existing design themes, or ensure mobile usability standards are met. Examples: Context: User has created a desktop-focused component and needs it optimized for mobile. user: 'I've built this navigation…

xbim08/awesome-claude-code-plugins · 0 tokens

visual-reviewer

Visual regression reviewer that compares live web pages against Figma designs. Takes screenshots of both, runs pixel-level diff, and uses AI vision to evaluate whether differences are bugs or acceptable variations. Use before merge or deployment to catch visual regressions.

mukiwu/muki-ai-plugins · 52 tokens

designer

Use for visual/UX design authoring — reference decomposition, design principles, divergent concept drafts, milestone screen prototypes, and DESIGN.md authoring support. Generation only; auditing stays with reviewer[design].

kohj1018/agentic-dev-harness · 42 tokens