gsp-polish

gsp-polish is a skill for Claude Code from jubscodes/get-shit-pretty. It costs 0 tokens per session (2,070 once invoked), scanned A, original, MIT.

A code review workflow that looks for common low-quality patterns often left by AI-generated interfaces. It checks actual code and can apply safe fixes while recording other findings for review.

In plain words
What is it for?
Use it after building a feature, or whenever you want to scan changed code for detectable presentation and interface-quality issues.
Why use it?
It helps find placeholder text, missing empty states, awkward scrolling text, and styling problems that may be easy to overlook after a build.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: names the AskUserQuestion tool.

Good fit Use it after building a feature, or whenever you want to scan changed code for detectable presentation and interface-quality issues.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jubscodes/get-shit-pretty/gsp-polish
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jubscodes/get-shit-pretty --skill gsp-polish
Clone the repo
git clone --depth 1 https://github.com/jubscodes/get-shit-pretty

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 gsp-polish

README.md
[![agentmods](https://agentmods.dev/badge/skills/jubscodes/get-shit-pretty/gsp-polish/github.svg)](https://agentmods.dev/skills/jubscodes/get-shit-pretty/gsp-polish)
Your own site
<a href="https://agentmods.dev/skills/jubscodes/get-shit-pretty/gsp-polish"><img src="https://agentmods.dev/badge/skills/jubscodes/get-shit-pretty/gsp-polish/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 gsp-polish

Your own site · 80×15
<a href="https://agentmods.dev/skills/jubscodes/get-shit-pretty/gsp-polish"><img src="https://agentmods.dev/badge/skills/jubscodes/get-shit-pretty/gsp-polish.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,070 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.00000 $0.02070
Opus 5 $0.00000 $0.01035
Sonnet 5 $0.00000 $0.00414
Haiku 4.5 $0.00000 $0.00207

Measured 10d ago against content hash 522cebff4cb7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

gsp-polish 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 10d 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.

gsp/skills/gsp-polish/SKILL.md · 160 lines

How it starts

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

Operates on actual code, not on design specs. Pattern-matches against a curated library of mechanically-detectable anti-patterns. Each pattern is a self-contained file in patterns/ describing symptom, detection rule, fix, and classification.

Two tiers of fix:

  • safe-auto — fix is purely additive/reversible (e.g., add mask-image className). Applied automatically, wrapped in a git stash safety net + tsc --noEmit check; rolled back if either fails.
  • propose-diff / flag-only — fix is contextual or requires human input. Surfaced in polish/proposed-fixes.md for review.

The skill does not overlap with:

  • gsp-accessibility (WCAG concerns: focus, contrast, tap targets — any mode)
  • gsp-project-review (QA against design intent)
  • gsp-typography (font choices)
  • gsp-brand-guidelines (token system)

If a pattern would catch something those skills own, it's been stripped from this library.

Input: Codebase (default scope: git diff since HEAD or last polish run) + project config + brand STYLE.md Output: {project}/polish/ (findings.md, applied-fixes.md, proposed-fixes.md, INDEX.md) Agent: gsp-polisher Output volume: Honor skip-if-not-present doctrine — omit any pattern that returned zero findings. If preferences.project_size exists in config, polish writes a single consolidated polish/PHASE.md for compact; emits the full file set for full; returns to chat for chat.

<execution_context> @${CLAUDE_SKILL_DIR}/patterns/INDEX.yml </execution_context>

Input Mode
/gsp-polish (no args) Default — scan git diff, apply safe-auto, propose review-required
/gsp-polish --scan Scan only — produce findings.md, no fixes
/gsp-polish --full Scan entire project (not just diff)
/gsp-polish --scope <path> Limit scope to a directory or glob
/gsp-polish --no-fix Scan + propose, never auto-apply
/gsp-polish --pipeline Internal — invoked by gsp-project-build finalize
/gsp-polish --list-patterns Display the pattern library and exit

Read the full file on GitHub · 160 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. 10d ago First seen · 160 lines · 0 tokens per session scan A 522cebff4cb7

Subscribe to this mod's changes

gsp-polish is a skill published in the GitHub repository jubscodes/get-shit-pretty (54 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,070 tokens. 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-30.

Related

Other skills, from other repositories

vue-application-structure

Establishes or reviews the directory layout, component conventions, composable design, Pinia store structure, and Vue Router configuration for a Vue 3 TypeScript application. Invoked when the user asks to structure a Vue app, set up the project layout, or review Vue architecture.

soulcodex/agentic · 63 tokens

react-application-structure

Establishes or reviews the directory layout, feature boundaries, state design, routing approach, and data-fetching conventions for a React 18+ TypeScript application. Invoked when the user asks to structure a React app, set up a scalable architecture, or review React project organization.

soulcodex/agentic · 63 tokens

next-application-structure

Establishes or reviews directory layout, server/client boundaries, routing, data-fetching strategy, and testing structure for Next.js 14+ App Router TypeScript applications. Invoked when the user asks to structure a Next app, set App Router conventions, or review architecture for React parity.

soulcodex/agentic · 64 tokens

crit-cli

Use when an agent needs to author or reply to crit inline comments programmatically (including multi-agent workflows commenting on shared code/plans/docs/proposals), publish or unpublish a crit review with crit share, sync a crit review to or from a GitHub PR or GitLab MR, or read/interpret a crit review JSON file.…

tomasz-tomczyk/crit · 110 tokens

crit

Review code changes, a plan, a live page (running dev server), or a local HTML file with Crit inline comments and structured human feedback. Use only when the user explicitly invokes /crit or directly asks to use Crit; a generic review request does not count.

tomasz-tomczyk/crit · 55 tokens

crit-story

Author a crit story and continue the interactive review loop only when the user explicitly invokes crit-story or directly asks you to generate a crit story. Do not infer this skill from generic review, PR, or diff-review requests.

tomasz-tomczyk/crit · 47 tokens