Agent skill

Design Review

by dimetron in dimetron/pi-go

Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling.

MITAuto-check passedMedia & Creative

Install Design Review

skills CLI
$ npx skills add dimetron/pi-go --skill design-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dimetron/pi-go design-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dimetron/pi-go.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pi-go/skills/design-review .claude/skills/design-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
design-review
GitHub stars
209
Token cost
~3.2k tokens
SKILL.md length
1,145 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling.

  • Works in 8 steps: Naming Conventions → Package Design → Interface Design → …
  • Tasks that involve Design review and critique
  • SKILL.md covers When to use, Dimensions, Procedure and Scope, plus 4 more sections
  • Calls go

What it does

Design Review is an agent skill from dimetron/pi-go. Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling. Scores each dimension and provides actionable fixes.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Design review and critique. The repository describes itself as: Go implementation of AI coding agent. The licence is MIT.

When your agent uses it

  • Tasks that involve Design review and critique

Example prompts

  • “/design-review”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Naming Conventions
  2. Package Design
  3. Interface Design
  4. Error Handling
  5. Concurrency Patterns
  6. API Consistency
  7. Code Organization
  8. Documentation

What it can do on your machine

Read from SKILL.md and the folder at commit c4c83e6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Design Review loads about 3.2k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,145 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from dimetron/pi-go at commit c4c83e6, republished under its MIT licence (© dimetron). 1,145 words, ~3,175 tokens.

Download SKILL.mdSave it as .claude/skills/design-review/SKILL.md (or your agent's skills folder).
name
design-review
description
Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling. Scores each dimension and provides actionable fixes.
metadata.author
dimetron
metadata.version
1.1

Design Review

Perform a comprehensive design review of the Go codebase. Evaluate code quality, naming conventions, consistency, and architectural patterns. Produce a scored report with actionable improvements.

When to use

Use this skill when:

  • Auditing overall design quality before a major refactor or release
  • Onboarding to an unfamiliar Go codebase and need a structured assessment
  • Comparing codebase against Go idioms after a period of rapid development

Do NOT use for:

  • Reviewing a single PR or uncommitted diff (use code-review instead)
  • Writing new code or fixing bugs
  • Running linters/tests for CI gating (use code-review instead)
Relationship to code-review
Aspectdesign-reviewcode-review
ScopeEntire codebase or packageChanged files only
ActionRead-only audit, scored reportFix issues, enforce gates
FocusArchitecture, patterns, idiomsCorrectness, coverage, linting
OutputScorecard + recommendationsPass/fail gates + fixes applied

Dimensions

Score each dimension 1-10 and provide specific file:line references for issues found.

1. Naming Conventions
  • Exported types/functions follow Go conventions (MixedCaps, no underscores)
  • Package names are short, lowercase, singular (not utils, helpers, common)
  • Interface names use -er suffix where appropriate (Reader, Writer)
  • Receiver names are short (1-2 chars), consistent within type
  • Variable names: short in small scopes, descriptive in large scopes
  • Acronyms are all-caps (ID, URL, HTTP, not Id, Url, Http)
  • Test function names follow TestFuncName_Scenario pattern
  • Constants use MixedCaps, not SCREAMING_SNAKE
2. Package Design
  • Packages have clear, singular responsibility
  • No circular dependencies
  • Internal packages used appropriately for implementation details
  • Package-level doc comments present
  • No God packages (too many responsibilities)
  • Reasonable file sizes (flag files > 500 lines)
3. Interface Design
  • Interfaces are small (1-3 methods preferred)
  • Interfaces defined where consumed, not where implemented
  • No unnecessary interface pollution (concrete types are fine)
  • Accept interfaces, return structs
  • io.Reader, io.Writer, fmt.Stringer used where applicable
4. Error Handling
  • Errors wrapped with context using fmt.Errorf("...: %w", err)
  • Custom error types where callers need to inspect errors
  • No swallowed errors (unchecked err returns)
  • Sentinel errors are var ErrFoo = errors.New(...) not string comparison
  • Error messages are lowercase, no punctuation, no "failed to" prefix
5. Concurrency Patterns
  • Goroutines have clear ownership and lifecycle
  • Channels used for communication, mutexes for state
  • context.Context propagated correctly
  • No goroutine leaks (all goroutines have exit paths)
  • sync.WaitGroup or errgroup used for fan-out
6. API Consistency
  • Similar operations use similar signatures across packages
  • Config structs vs option functions used consistently
  • Constructor functions follow NewFoo pattern
  • Consistent use of pointer vs value receivers within a type
  • Method ordering: constructor, public methods, private methods
7. Code Organization
  • One primary type per file (type + methods)
  • Test files mirror source files (foo.go / foo_test.go)
  • Constants and vars at top of file
  • init() functions avoided (or justified)
  • Build tags and platform files follow conventions
8. Documentation
  • Exported functions have doc comments starting with function name
  • Package doc comments present
  • Complex algorithms have inline comments explaining why
  • No stale/misleading comments
  • Examples in tests for complex APIs

Procedure

  1. Set scope first:

    • Determine target scope from command args (/design-review, package path, or --focus)
    • Apply default include/exclude rules from the Scope section
    • Note any skipped areas explicitly in the report
  2. Scan structure: Use Glob (**/*.go) to map the package layout. Use Shell with go list ./... to enumerate packages and wc -l for line counts.

  3. Automated checks: Run in parallel:

    • go vet ./... — catch common mistakes
    • golangci-lint run ./... (if available) — extended lint checks
    • Check for //nolint directives and their justifications
    • If a tool is unavailable, continue review and mark that check as "skipped"
  4. Naming audit: Use Grep to sample each package:

    • Search for naming violations: pattern Id[^s] instead of ID, Url[^s] instead of URL
    • Use Read to check receiver name consistency per type
    • Verify exported function doc comments
    • Check package names against conventions
  5. Interface audit: Use Grep for type \w+ interface to find all interface definitions:

    • Count methods per interface (flag > 5 methods)
    • Check if interfaces are defined at consumer or producer
    • Look for interface embedding depth
  6. Error handling audit: Sample error paths:

    • Grep for unchecked errors: _, _ = or bare function calls
    • Check error wrapping: %w vs %v vs %s
    • Look for string-based error checking vs sentinel/type errors
  7. Consistency audit: Compare patterns across packages:

    • Constructor patterns: Grep for func New across all packages and compare signatures
    • Config patterns (struct vs options)
    • Logging patterns (structured vs printf)
    • Test patterns (table-driven vs individual)
  8. Cross-reference: Use tooling for efficiency:

    • Dead code: Grep for unexported function definitions, then Grep for call sites within the package
    • Duplicates: compare function signatures across packages
    • Inconsistent patterns doing the same thing differently
  9. Validate report before output: Self-check the report against these gates:

    • Every scored dimension has at least one finding with a file:line reference, or an explicit "no issues found" note
    • Every Top 5 item has a before/after code snippet or an exact command to run
    • Key Strengths section has at least 2 entries with file references
    • Overall score matches the weighted average (recalculate to confirm)
    • No dimension is scored without evidence — if you can't find evidence, mark N/A If any gate fails, fix the report before presenting it.
Show full SKILL.md (320 more words)Show less

Scope

  • Default include: *.go files in requested scope
  • Default exclude: vendor/, testdata/, generated files (// Code generated), and protobuf outputs (for example *.pb.go) unless explicitly requested
  • Optional focus flags:
    • --include-tests to include test style and coverage patterns in scoring
    • --include-generated to include generated code in analysis
  • If scope is narrowed (for example internal/tui), score only that scope and state this clearly

Project-Specific Checks (pi-go)

In addition to general Go review, check:

  • ADK compliance: uses model.LLM, tool.Tool, session.Service — no custom abstractions wrapping ADK
  • Provider pattern: all providers under internal/provider/ implement the same interface consistently
  • Tool registration: tools created via tool.NewFunctionTool, registered in tools.CoreTools()
  • Session format: JSONL append-only, implements session.Service
  • Error retry: transient LLM errors use internal/agent/retry.go patterns
  • TUI conventions: Bubble Tea v2 imports from charm.land/bubbletea/v2, not the old github.com/charmbracelet/bubbletea path
  • No external runtime deps: binary must be self-contained
  • No init() functions: prefer explicit initialization

Scoring Model

Use these weights for overall score:

  • Naming Conventions: 15%
  • Package Design: 15%
  • Interface Design: 15%
  • Error Handling: 20%
  • Concurrency Patterns: 10%
  • API Consistency: 10%
  • Code Organization: 10%
  • Documentation: 5%

Calibration:

ScoreMeaning
9-10Stdlib/kubernetes quality — exemplary, publishable as reference
7-8Production quality — minor issues, follows idioms well
5-6Functional — noticeable gaps, inconsistencies, or missing patterns
3-4Below standard — systematic issues, needs refactoring
1-2Problematic — fundamental design issues

Rules:

  • Score each dimension 1-10 using the calibration table above
  • Allow N/A when a dimension does not apply to the reviewed scope
  • Compute overall as weighted average of applicable dimensions only
  • Round overall score to 1 decimal place

Output Format

Present results as a scorecard table, then detailed findings per dimension.

## Scorecard

| Dimension           | Score | Notes                           |
|---------------------|-------|---------------------------------|
| Naming Conventions  | X/10  | brief note                      |
| Package Design      | X/10  | brief note                      |
| Interface Design    | X/10  | brief note                      |
| Error Handling      | X/10  | brief note                      |
| Concurrency         | X/10  | brief note                      |
| API Consistency     | X/10  | brief note                      |
| Code Organization   | X/10  | brief note                      |
| Documentation       | X/10  | brief note                      |
|---------------------|-------|---------------------------------|
| **Overall**         | X/10  | weighted average (1 decimal)   |

## Key Strengths
1. **[Title]** — why it's good + `file:line` reference
2. ...
(minimum 2 strengths required)

## Top 5 Actionable Improvements

1. **[Title]** (impact: high/medium/low, effort: high/medium/low)
   - Confidence: high/medium/low
   - What: one-sentence description of the problem
   - Where: `file:line` references (every affected location)
   - Why: what breaks, degrades, or confuses without the fix
   - How: concrete fix — include before/after code snippet

   ```go
   // before
   func GetUserId() string { ... }
   // after
   func GetUserID() string { ... }

... (repeat for each — every item MUST have a before/after snippet or exact command)

Detailed Findings

Naming Conventions (X/10)

Issues (each must have evidence):

#LocationIssueSuggested fix
1file.go:42userId should be userIDRename to userID
............

What's working well: brief note on what this dimension does right.

... (repeat per dimension — every scored dimension MUST have the issues table)


## Guidelines

- DO NOT make changes — this is a read-only audit
- **Evidence is mandatory**: every finding must include a `file:line` reference. For systemic issues, provide at least one concrete example plus a count ("12 occurrences across 4 packages")
- **Fixes must be concrete**: "improve naming" is not a fix; `rename userId to userID in store.go:42` is
- **Before/after required**: every Top 5 improvement must include a code snippet showing the current state and the proposed fix
- Be fair: note strengths as well as weaknesses in every dimension
- Prioritize by impact: focus on issues that affect maintainability
- Prioritize repository conventions and Effective Go first; use stdlib/well-known projects as secondary tie-breakers
- Score honestly — use the calibration table; 7/10 is good, 10/10 means stdlib-quality
- **No empty dimensions**: if a dimension is scored, it must have the issues table populated. If no issues are found, state "no issues found" explicitly and justify the score
- **Report is incomplete if**: any scored dimension lacks evidence, any Top 5 item lacks a before/after snippet, or the weighted average doesn't match the computed overall score

## Parallel Execution Strategy

For codebases with 5+ packages, split work across subagents:
1. **Main agent**: scan structure (step 2), run automated checks (step 3), produce final report
2. **Subagent per package group**: steps 4-7 (naming, interface, error, consistency audits)
   - Group small packages together (< 3 files each)
   - Each subagent returns dimension scores + findings for its packages
3. **Main agent**: merge subagent findings, resolve cross-package issues (step 8), compute final scores

## Examples

- `/design-review` — Full design review of entire codebase
- `/design-review internal/tui` — Review only the TUI package
- `/design-review --focus naming` — Review only naming conventions

© dimetron, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .pi-go/skills/design-review of dimetron/pi-go.

Open the folder on GitHubat commit c4c83e6

Compare with similar skills

Design Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Design Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Design Review this skilldimetron/pi-go209—~3.2kAutomated safety check: PassMIT
Architecture Design Reviewbbartling/open-fdd173—~1.3kAutomated safety check: PassCustom licence
Design AuditUniClipboard/UniClipboard1.9k—~554Automated safety check: PassAGPL-3.0
Kicad Design Reviewoaslananka/kicad-mcp-pro120—~529Automated safety check: PassMIT
Dsh CI Test ReliabilityZhou-Yujing114514/deepseek-harness-linux120—~2.4kAutomated safety check: PassMIT
Design ReviewDonchitos/Claude-Code-Game-Studios26k—~6.1kAutomated safety check: NotesMIT

Similar skills

  • Architecture Design Review

    bbartling/open-fdd

    A skill your agent uses to evaluate architecture, design proposals, refactors, module boundaries, dependency direction, data flow, concurrency model, and maintainability tradeoffs across any codebase.

    173 GitHub stars~1.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Design Audit

    UniClipboard/UniClipboard

    定期审计代码库的工程设计问题(高心智复杂度、单一真相源被破坏、catch-all 胖接口、死代码、散落魔法字面量、泄漏抽象、资源生命周期靠环形缓冲)与可优化点,范围限定为自上次审计以来的 git churn,每条发现都落到 file:line 并对照本项目自己的 VISION.md / 各级 AGENTS.md / memory…

    1.9k GitHub stars~554 tokensUpdated today
    Media & CreativeAuto-check passed
  • Kicad Design Review

    oaslananka/kicad-mcp-pro

    Comprehensive KiCad design review skill covering schematic, PCB, DFM, manufacturing, high-speed, and simulation review workflows.

    120 GitHub stars~529 tokensUpdated today
    Media & CreativeAuto-check passed
  • Dsh CI Test Reliability

    Zhou-Yujing114514/deepseek-harness-linux

    Design, review, and diagnose DeepSeek Harness tests and fixtures that can fail nondeterministically under CI concurrency, shared host resources, clocks, process-global state, subprocesses, network…

    120 GitHub stars~2.4k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Design Review

    Donchitos/Claude-Code-Game-Studios

    Reviews one design document for completeness, internal consistency, implementability, and design standards.

    26k GitHub stars~6.1k tokensUpdated 2 days ago
    Media & CreativeAuto-check: notes
  • Review designs, products, and features with Steve Jobs' standards: ruthless simplicity, focus, and end-to-end excellence.

    2.4k GitHub stars~4.5k tokensUpdated 29 days ago
    Media & CreativeAuto-check passed

More from dimetron/pi-go

All 21 skills in this repo
  • Vhs E2E Gif

    dimetron/pi-go

    Record a test run, a TUI session, or any terminal command as a GIF with VHS and attach it to a GitHub PR as a release-hosted asset, never a repo commit.

    209 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Agents Md

    dimetron/pi-go

    Generate AGENTS.md files for Go, Rust, TypeScript, and Java projects.

    209 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Bubbletea Testing

    dimetron/pi-go

    A skill your agent uses whenever writing tests for Bubble Tea (charmbracelet/bubbletea) TUI applications in Go.

    209 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Memory Index

    dimetron/pi-go

    Index a folder's contents into the MemPalace semantic memory for search and retrieval.

    209 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Nightly Session Watch

    dimetron/pi-go

    Nightly sweep of the last 24h of pi-go sessions — anomalous runs, loop aborts, tool error rates, token waste, real prompt-token spend, and whether the observation and palace pipelines are still…

    209 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Osx Tuning

    dimetron/pi-go

    Tune macOS resource limits and sysctls for best performance with Go development, Docker/OrbStack, and Linux VMs.

    209 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check: notes

Questions about Design Review

What does Design Review do?

Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling. Design Review is an agent skill from dimetron/pi-go. Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling.

When should I use Design Review?

Design Review fits situations like: tasks that involve Design review and critique.

How do I install Design Review in Claude Code?

Run `npx skills add dimetron/pi-go --skill design-review -a claude-code`. Or copy the skill folder (.pi-go/skills/design-review in dimetron/pi-go) into .claude/skills/design-review in your project. Claude Code loads it when a task matches its description.

How do I install Design Review in Codex?

Run `npx skills add dimetron/pi-go --skill design-review -a codex`. Or copy the skill folder (.pi-go/skills/design-review in dimetron/pi-go) into .agents/skills/design-review in your project. Codex loads it when a task matches its description.

Can I use Design Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dimetron/pi-go --skill design-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-review, .gemini/skills/design-review, .github/skills/design-review and .opencode/skills/design-review in your project.

What does Design Review need to run?

Going by SKILL.md and its folder, Design Review needs the command-line tools its instructions call (go).

Does Design Review access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Design Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Design Review use?

Design Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Design Review use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Design Review?

Skills that share tags, products or a category with Design Review: Architecture Design Review (bbartling/open-fdd, 173 stars), Design Audit (UniClipboard/UniClipboard, 1.9k stars), Kicad Design Review (oaslananka/kicad-mcp-pro, 120 stars) and Dsh CI Test Reliability (Zhou-Yujing114514/deepseek-harness-linux, 120 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Design Review?

dimetron (a GitHub user) maintains it in dimetron/pi-go, which has 209 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 9, 2026.

Source: dimetron/pi-go on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.