diff --git a/README.md b/README.md index 12c5647..6000c60 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ before any commit (gitleaks when installed, high-confidence token patterns other | Skill | What it does | |-------|--------------| | `/component-scaffold` | Astro/Preact components following project patterns (atomic layout aware) | -| `/pr-description` | PR descriptions for astro-performance-starter template repos | +| `/astro-pr-description` | PR descriptions for astro-performance-starter template repos | | `/perf-budget-check` | Runs the starter's own budget gates (sizes, overrides, images) and interprets the verdicts | Hook: a `PostToolUse` formatter — after Claude edits or writes a file, runs Biome on @@ -61,7 +61,7 @@ project's format gate. | `/test-scaffold` | Table-driven `_test.go` stubs, stdlib-first (ADR-023) | | `/sqlc-query-scaffold` | sqlc query + repository seam, never raw SQL (ADR-003) | | `/perf-budget-check` | Runs the starter's `task test:performance` gates and interprets the verdicts | -| `/pr-description` | PR descriptions aware of the `task ci` quality gate and the ADR constitution | +| `/go-pr-description` | PR descriptions aware of the `task ci` quality gate and the ADR constitution | Hook: a `PostToolUse` formatter — after Claude edits or writes a `.go` or `.templ` file, runs goimports/gofmt or `templ fmt` on just that file. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 5e527a2..2103b87 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -44,22 +44,18 @@ shipped; propose the next round when real pain motivates it)* ## Open decisions (tracked as GitHub issues) Deferred and found work now lives in the issue tracker: decisions -([#2](https://github.com/clownware/plugins/issues/2) pr-description rename, -[#3](https://github.com/clownware/plugins/issues/3) license policy, -[#4](https://github.com/clownware/plugins/issues/4) Bash-grant experiment), +([#4](https://github.com/clownware/plugins/issues/4) Bash-grant experiment), test debt ([#5](https://github.com/clownware/plugins/issues/5) fixture persistence/realism, [#6](https://github.com/clownware/plugins/issues/6) -unvalidated coverage paths), and pezza follow-ups +unvalidated coverage paths), pezza follow-ups ([#7](https://github.com/clownware/plugins/issues/7) generated-file fixes, -[#8](https://github.com/clownware/plugins/issues/8) brand fonts, -[#9](https://github.com/clownware/plugins/issues/9) faint-on-raised contrast). +[#8](https://github.com/clownware/plugins/issues/8) brand fonts), and +validation follow-through ([#11](https://github.com/clownware/plugins/issues/11) +go-tools blind validation). Resolved 2026-08-12: #2 (renamed the stack variants +to `astro-pr-description`/`go-pr-description`), #3 (dropped the `license` +frontmatter; repo LICENSE governs), #9 (added the `ink-350` ramp step). Summaries below for the decisions; the issues are canonical. -- **`pr-description` name collision** — both plugins ship a skill with this name; - descriptions now differentiate them, but a rename (`astro-pr-description`) remains - the cleaner fix at the cost of breaking `/pr-description` muscle memory. -- **`license` frontmatter policy** — astro-tools skills carry `license: MIT`, - code-tools skills carry none; pick one convention and apply it in a single pass. - **`Bash` in `allowed-tools` for pre-fetch-only skills** — possibly removable where the body never shells out, but pre-fetch execution may depend on the grant. The controlled experiment is prepared and blocked only on a logged-in CLI: two probe diff --git a/plugins/astro-tools/.claude-plugin/plugin.json b/plugins/astro-tools/.claude-plugin/plugin.json index 3fbc211..ca67b31 100644 --- a/plugins/astro-tools/.claude-plugin/plugin.json +++ b/plugins/astro-tools/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "clownware-astro-tools", "description": "Astro + Preact stack skills: component scaffolding, template-aware PR descriptions, and performance-budget gate checks, following astro-performance-starter conventions with fallbacks for other Astro projects. Also ships a format-on-edit hook that runs Biome on every file Claude edits in Biome-configured projects.", - "version": "0.4.2", + "version": "0.5.0", "hooks": "./hooks/hooks.json", "author": { "name": "clownware" diff --git a/plugins/astro-tools/skills/pr-description/SKILL.md b/plugins/astro-tools/skills/astro-pr-description/SKILL.md similarity index 98% rename from plugins/astro-tools/skills/pr-description/SKILL.md rename to plugins/astro-tools/skills/astro-pr-description/SKILL.md index feeba3d..823b7ea 100644 --- a/plugins/astro-tools/skills/pr-description/SKILL.md +++ b/plugins/astro-tools/skills/astro-pr-description/SKILL.md @@ -1,8 +1,7 @@ --- -name: pr-description +name: astro-pr-description description: "Writes pull request descriptions following the project's PR template, for Astro projects built on the astro-performance-starter template. Use when creating a PR, writing a PR, or summarizing changes for a pull request in an Astro project." allowed-tools: Bash, Read, Grep, Glob -license: MIT --- Write a pull request description for the current branch. diff --git a/plugins/astro-tools/skills/component-scaffold/SKILL.md b/plugins/astro-tools/skills/component-scaffold/SKILL.md index 4b492a7..aac6e32 100644 --- a/plugins/astro-tools/skills/component-scaffold/SKILL.md +++ b/plugins/astro-tools/skills/component-scaffold/SKILL.md @@ -2,7 +2,6 @@ name: component-scaffold description: "Scaffolds new Astro or Preact components following project patterns. Use in Astro projects when asked to create a component, scaffold a component, or add a new component." allowed-tools: Bash, Read, Write, Glob -license: MIT --- Scaffold a new component for this project: $ARGUMENTS diff --git a/plugins/go-tools/.claude-plugin/plugin.json b/plugins/go-tools/.claude-plugin/plugin.json index a83f132..aa4e22d 100644 --- a/plugins/go-tools/.claude-plugin/plugin.json +++ b/plugins/go-tools/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "clownware-go-tools", "description": "Go + templ + sqlc stack skills: templ component scaffolding, table-driven test scaffolding, sqlc query scaffolding, performance-budget gate checks, and task-ci-aware PR descriptions, following go-performance-starter conventions with fallbacks for other Go projects. Also ships a format-on-edit hook that runs goimports/gofmt and templ fmt on files Claude edits.", - "version": "0.2.2", + "version": "0.3.0", "hooks": "./hooks/hooks.json", "author": { "name": "clownware" diff --git a/plugins/go-tools/skills/pr-description/SKILL.md b/plugins/go-tools/skills/go-pr-description/SKILL.md similarity index 99% rename from plugins/go-tools/skills/pr-description/SKILL.md rename to plugins/go-tools/skills/go-pr-description/SKILL.md index e762328..81f6e0c 100644 --- a/plugins/go-tools/skills/pr-description/SKILL.md +++ b/plugins/go-tools/skills/go-pr-description/SKILL.md @@ -1,8 +1,7 @@ --- -name: pr-description +name: go-pr-description description: "Writes pull request descriptions for Go projects built on the go-performance-starter, aware of the task ci quality gate and the docs/adr constitution. Use when creating a PR, writing a PR, drafting a PR description, or summarizing changes for a pull request in a Go project." allowed-tools: Bash, Read, Grep, Glob -license: MIT --- Write a pull request description for the current branch. diff --git a/plugins/go-tools/skills/templ-component-scaffold/SKILL.md b/plugins/go-tools/skills/templ-component-scaffold/SKILL.md index 57f7bb6..f9c02aa 100644 --- a/plugins/go-tools/skills/templ-component-scaffold/SKILL.md +++ b/plugins/go-tools/skills/templ-component-scaffold/SKILL.md @@ -2,7 +2,6 @@ name: templ-component-scaffold description: "Scaffolds a new templ page, partial, or component in internal/view/ following the typed-props conventions from go-performance-starter (ADR-017). Use in Go projects with templ when asked to create a templ page/partial/component, add a view, build a UI element, or scaffold a screen." allowed-tools: Bash, Read, Write, Glob, Grep -license: MIT --- Scaffold a new templ view for this project: $ARGUMENTS diff --git a/plugins/pezza-design-system/.claude-plugin/plugin.json b/plugins/pezza-design-system/.claude-plugin/plugin.json index f785bdc..fec352f 100644 --- a/plugins/pezza-design-system/.claude-plugin/plugin.json +++ b/plugins/pezza-design-system/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "pezza-design-system", "description": "The Pezza brand design system as a skill: design guidelines, color/type/spacing tokens, logo and photography assets, React component primitives, and two UI kit starters (web-app shell and DJ/producer site). Generates on-brand interfaces, artifacts, and production code.", - "version": "0.5.1", + "version": "0.5.2", "author": { "name": "clownware" } diff --git a/plugins/pezza-design-system/skills/pezza-design/tokens/base.json b/plugins/pezza-design-system/skills/pezza-design/tokens/base.json index 525735f..4b2575e 100644 --- a/plugins/pezza-design-system/skills/pezza-design/tokens/base.json +++ b/plugins/pezza-design-system/skills/pezza-design/tokens/base.json @@ -9,6 +9,7 @@ "600": "240 5.5% 21.6%", "500": "240 4.4% 35.3%", "400": "240 3.6% 50.4%", + "350": "240 4.1% 54%", "300": "240 4.7% 66.7%", "200": "240 5.5% 82.2%", "150": "240 7.4% 89.4%", @@ -63,7 +64,7 @@ }, "faintForeground": { "light": "240 4.4% 35.3%", - "dark": "240 3.6% 50.4%" + "dark": "240 4.1% 54%" }, "border": { "light": "240 7% 94%", @@ -176,4 +177,4 @@ "crossfade": "cubic-bezier(0.4, 0, 0.1, 1)" } } -} \ No newline at end of file +} diff --git a/plugins/pezza-design-system/skills/pezza-design/tokens/colors.css b/plugins/pezza-design-system/skills/pezza-design/tokens/colors.css index d4197bb..b5d593e 100644 --- a/plugins/pezza-design-system/skills/pezza-design/tokens/colors.css +++ b/plugins/pezza-design-system/skills/pezza-design/tokens/colors.css @@ -18,6 +18,7 @@ --ink-600: 240 5.5% 21.6%; /* @kind color */ --ink-500: 240 4.4% 35.3%; /* @kind color */ /* muted text on light, borders on dark */ --ink-400: 240 3.6% 50.4%; /* @kind color */ + --ink-350: 240 4.1% 54%; /* @kind color */ /* dark-faint step: 4.84:1 on ink-800 raised (ink-400 was 4.28:1) */ --ink-300: 240 4.7% 66.7%; /* @kind color */ --ink-200: 240 5.5% 82.2%; /* @kind color */ --ink-150: 240 7.4% 89.4%; /* @kind color */ @@ -83,7 +84,7 @@ --text-strong: var(--ink-0); /* @kind color */ --text-body: var(--ink-150); /* @kind color */ --text-muted: var(--ink-300); /* @kind color */ - --text-faint: var(--ink-400); /* @kind color */ /* 4.8:1 on ink-1000; borderline 4.3:1 on ink-800 raised surfaces */ + --text-faint: var(--ink-350); /* @kind color */ /* AA on every dark surface: 5.42:1 on ink-1000, 5.16:1 on ink-900, 4.84:1 on ink-800 raised */ --text-onAccent: var(--accent-ink); /* @kind color */ /* theme-invariant: sits on accent */ --text-inverse: var(--ink-1000); /* @kind color */