Commit Graph
1774 Commits
Author SHA1 Message Date
Paul BakausandClaude Opus 4.6 f27bf49b39 Bump version to 1.6.0, add changelog entry
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 18:40:48 -07:00
Paul BakausandGitHub f27ddf0876 Merge pull request #66 from gabelul/feat/critique-audit-scoring
feat: add scoring, personas, and cognitive load to critique and audit
2026-03-24 18:36:11 -07:00
Paul BakausandClaude Opus 4.6 a9bf70f1ab Refine critique and audit skills based on review feedback
- Collapse inline cognitive load section into reference pointer
- Differentiate audit (technical, code-level) from critique (UX, holistic)
- Add MANDATORY PREPARATION block to audit for context gathering
- Rename Riley persona to "Deliberate Stress Tester", remove pricing focus
- Restore stripped checklist items, persona examples, and emotional journey detail
- Restore "Don't soften criticism" and IMPORTANT/NEVER lines in audit
- Restore constraints question in Phase 3
- Fix em dash formatting (use proper — not --)
- Shorten descriptions while preserving key trigger terms

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:57:47 -07:00
Paul BakausandClaude Opus 4.6 85e6d99fde Merge main and resolve frontmatter conflicts
Combine PR's enhanced descriptions (scoring, personas, cognitive load)
with main's argument-hint format. Rebuild all providers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:07:38 -07:00
Paul BakausandGitHub fcfea0f2ad Merge pull request #68 from everforge/chore/appjs-security-hardening
Harden pattern rendering and clipboard interactions in app.js
2026-03-24 16:03:57 -07:00
Paul BakausandClaude Opus 4.6 6ca80f81a1 Harden pattern rendering and clipboard in app.js
Simplified to substantive changes only (no whitespace reformatting):
- Add escapeHtml() for API-derived text in pattern tab/panel rendering
- Add CSS.escape() + null guard for tab panel selector lookup
- Add clipboard fallback for non-HTTPS / older browsers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:02:40 -07:00
Paul BakausandGitHub e3eb40c726 Merge pull request #61 from mvanhorn/docs/dropdown-positioning-guidance
docs: add dropdown positioning guidance to interaction-design reference
2026-03-24 15:59:14 -07:00
Paul BakausandGitHub 633fb2fad4 Merge pull request #55 from rohan-tessl/improve/skill-review-optimization
feat: improve skill descriptions for impeccable
2026-03-24 15:56:52 -07:00
Paul BakausandClaude Opus 4.6 bea7315076 Merge main and resolve conflicts for description improvements
Take PR's improved skill descriptions (with "Use when..." trigger
phrases) and combine with main's argument-hint format. Drop old args
blocks and deleted transformer files.

Rebuild all providers so descriptions propagate everywhere.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:52:32 -07:00
Paul BakausandGitHub 8303cbbbe2 Merge pull request #71 from pbakaus/chore/update-develop-docs
Update DEVELOP.md for factory-based build system
2026-03-24 15:49:03 -07:00
Paul BakausandClaude Opus 4.6 19c2610bef Merge main (Trae PR) into docs branch
Resolve DEVELOP.md conflict by keeping our rewritten version which
already covers the factory architecture.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:47:09 -07:00
Paul BakausandGitHub 9e3b87903a Merge pull request #53 from shog86/add-trae-support
Add trae support
2026-03-24 15:46:30 -07:00
Paul BakausandClaude Opus 4.6 7dc523d69b Update DEVELOP.md to reflect factory-based build system
Remove references to individual transformer files, args arrays, and
per-provider body transforms. Document the new factory/providers
architecture, provider config options, and how to add new providers.
Point to HARNESSES.md for capabilities details.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:46:28 -07:00
Paul BakausandClaude Opus 4.6 112317fd05 Rebase Trae support onto new factory architecture
Merge main (factory refactor) and adapt Trae to use the config-driven
transformer system instead of a standalone trae.js file. Two provider
entries (trae-cn, trae) replace the custom dual-directory logic.

Also adds placeholderProvider support to the factory for providers that
share placeholder configs but need separate output directories.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:38:25 -07:00
Paul BakausandGitHub 8f5d0b3fc1 Merge pull request #69 from pbakaus/chore/fix-yaml-frontmatter
Fix YAML frontmatter, consolidate transformers, add harness reference
2026-03-24 15:26:35 -07:00
Paul BakausandClaude Opus 4.6 83b01ecfa2 Use {{command_prefix}} for skill invocation references
Skill cross-references like "Use the frontend-design skill" and
"run teach-impeccable" now use {{command_prefix}} so each provider
gets the correct invocation syntax (/ for most, $ for Codex).

Prose references to skill content ("guidelines in the frontend-design
skill") are left unchanged since they're not invocation instructions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:24:29 -07:00
Paul BakausandClaude Opus 4.6 7c208cdfbb Merge main and integrate command_prefix support into factory
Resolve conflict from codex.js (deleted in our branch, modified on main
for command_prefix). The command_prefix feature from main is preserved
in factory.js via PROVIDER_PLACEHOLDERS lookup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:19:13 -07:00
Paul BakausandClaude Opus 4.6 2d4c7899dd Update provider configs from official docs, add HARNESSES.md reference
Research each harness's official documentation to verify and correct
provider frontmatter configs. Remove Codex/Gemini body transforms that
targeted their commands systems, not skills.

- Add compatibility + metadata to Cursor and Agents (Copilot)
- Add allowed-tools to Pi
- Remove Codex $ARGNAME and Gemini {{args}} body transforms
- Add HARNESSES.md as source of truth for harness capabilities

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 10:46:59 -07:00
Paul BakausandClaude Opus 4.6 6de73abf1b Fix invalid YAML frontmatter and consolidate build transformers
Fixes #67: argument-hint values starting with [ were parsed as YAML flow
sequences. Replace structured args arrays in source files with pre-formatted
argument-hint strings, and quote values starting with [ or { in
generateYamlFrontmatter().

Also consolidates 8 nearly-identical transformer files into a single
config-driven createTransformer() factory. Adding a new provider now
requires only a config object in providers.js instead of a full file.

- Replace args source frontmatter with argument-hint strings
- Add YAML quoting for values starting with [ or {
- Add quote stripping to parseFrontmatter() for round-trip support
- Create factory.js + providers.js, delete 8 individual transformers
- Replace 16 explicit build.js calls with a loop over PROVIDERS
- Consolidate 8 test files into 2 (factory + providers)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:48:42 -07:00
everforge ca43d5ccf7 Escape API-driven text before injecting it into tab/panel markup to reduce XSS risk, and add a robust clipboard fallback plus safer tab panel selection for edge-case category names. 2026-03-24 09:58:59 -05:00
Paul BakausandGitHub e9ab330a61 Merge pull request #65 from gabelul/fix/codex-prefix-from-upstream-main
fix: show $ instead of / for Codex command references
2026-03-23 19:43:59 -07:00
Gabi 2b68f01ea3 feat: give critique and audit actual teeth — scoring, personas, cognitive load
Critique was vibes-only before. Now it scores against Nielsen's 10 heuristics
(0-4 each, /40 total) so you get a number, not just feelings. Added 5 user
personas that auto-select based on the interface type — a power user and a
first-timer break different things, turns out. Cognitive load checklist catches
the "why does this screen make my brain hurt" problems.

Audit gets the same treatment: 0-4 per dimension, /20 total, P0-P3 severity
instead of the vague Critical/High/Medium/Low labels nobody agrees on.

Both now present recommendations inline — no plan file, no /next or /fix-all
commands. Just tell the AI what to fix and it does it. Simpler.

New reference files: heuristics-scoring, personas, cognitive-load.
2026-03-24 00:13:00 +01:00
Gabi e97a73446d fix: repair placeholder syntax for codex prefix 2026-03-23 22:01:29 +01:00
Gabi d67d69d342 fix: Codex was showing / instead of $ for command references
The build system hardcoded `/` as the command prefix for every provider,
but Codex CLI uses `$`. Added command_prefix to PROVIDER_PLACEHOLDERS
so replacePlaceholders and prefixSkillReferences use the right one.
Now `$normalize` shows up in Codex output instead of `/normalize`.
2026-03-23 21:59:42 +01:00
rohan-tessl 05f061d247 fix: use user-invocable everywhere; remove pr_description.md. 2026-03-23 11:50:35 +05:30
rohan-tesslandGitHub bec84bd2e6 Merge branch 'main' into improve/skill-review-optimization 2026-03-23 11:48:39 +05:30
Paul BakausandGitHub c878f7db5a Merge branch 'main' into add-trae-support 2026-03-21 21:29:42 -07:00
shog86 9faa690047 Fix Trae output format and add tests 2026-03-22 12:12:24 +08:00
Paul BakausandGitHub e9ac702849 Merge pull request #62 from pbakaus/feat/google-analytics
Add Google Analytics tracking
2026-03-21 19:16:12 -07:00
Paul BakausandClaude Opus 4.6 33fcca03e3 Add Google Analytics to index and cheatsheet pages
Adds the gtag.js snippet (G-TEXGHC7V34) to both HTML pages for
tracking pageviews and usage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:14:01 -07:00
Matt Van HornandClaude Opus 4.6 773a1c37ac docs: add dropdown positioning guidance to interaction-design reference
Adds a new "Dropdown & Overlay Positioning" section covering the overflow
clipping problem, CSS Anchor Positioning API, popover + anchor combo,
portal/teleport patterns, fixed positioning fallback, and anti-patterns.

Closes #48

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 08:37:33 -07:00
Paul BakausandGitHub cd919235c1 Merge pull request #60 from pbakaus/fix/revert-antigravity-note
Remove Antigravity slash command limitation note
2026-03-21 00:47:34 -07:00
Paul BakausandClaude Opus 4.6 e2f25e2886 Remove Antigravity slash command limitation note
Slash commands do work in Antigravity, so the asterisk and tooltip
warning on the Antigravity badge were incorrect. Removes both.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:47:13 -07:00
Paul BakausandGitHub df62662dcc Merge pull request #59 from pbakaus/feat/sync-all-providers
Sync all provider skill directories to project root
2026-03-21 00:38:51 -07:00
Paul BakausandGitHub 4a5b8e0e65 Merge pull request #58 from pbakaus/fix/antigravity-tooltip-docs
Document Antigravity slash command limitation
2026-03-21 00:38:12 -07:00
Paul BakausandClaude Opus 4.6 02e21cb4d3 Sync all provider skill directories to project root on build
Previously only .claude/skills/ was synced from dist after build. Now
all 8 provider directories are synced (.claude, .cursor, .gemini, .codex,
.agents, .kiro, .opencode, .pi) so each provider's output can be tested
directly in this repo.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:37:16 -07:00
Paul BakausandClaude Opus 4.6 624cb0b33b Add Antigravity limitation note and provider name tooltips
Addresses #51 -- Antigravity doesn't support slash commands, only
auto-activated skills. Adds a tooltip on the Antigravity* badge in the
downloads section explaining the limitation and how to invoke skills by
name. Also adds hover tooltips showing provider names on the hero logo
icons.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:33:44 -07:00
Paul BakausandGitHub 65ca494549 Merge pull request #47 from JasonOA888/docs/slash-command-examples
docs: add usage examples for slash commands
2026-03-20 23:40:35 -07:00
Paul BakausandGitHub 998dd0c68a Merge pull request #52 from Gujiassh/fix/preserve-prefixed-article-casing
fix: preserve article casing in prefixed skill references
2026-03-20 23:39:37 -07:00
Paul BakausandGitHub df1551e9a1 Merge pull request #57 from pbakaus/fix/user-invocable-spelling
Fix user-invokable -> user-invocable spelling across entire codebase
2026-03-20 23:36:47 -07:00
Paul BakausandClaude Opus 4.6 4305dfd362 Add .impeccable.md to .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:33:46 -07:00
Paul BakausandClaude Opus 4.6 df1c26ce63 Fix user-invokable -> user-invocable spelling across entire codebase
PR #50 fixed the output SKILL.md files but the source files, build
scripts, tests, docs, and server code still used the wrong spelling.
Claude Code expects `user-invocable` (with c) for slash command
autocomplete to work.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:33:22 -07:00
Paul BakausandClaude Opus 4.6 61426faac2 Add .impeccable.md to .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:21:00 -07:00
Paul BakausandClaude Opus 4.6 3d0400cbd3 Fix CI: use bun run test to split unit/fixture tests correctly
CI was running `bun test` which ran jsdom fixture tests in bun, causing
timeouts. Now uses `bun run test` which runs unit tests in bun and fixture
tests in node.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:36:48 -07:00
Paul BakausandClaude Opus 4.6 2201d86af0 Add test fixture for short text in wide containers, document test runner
- Add short-text-in-wide-container examples to quality-should-pass fixture
- Add Testing section to CLAUDE.md
- Revert unnecessary line-length estimatedLines guard (textLen > 80 already sufficient)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:34:42 -07:00
Paul BakausandClaude Opus 4.6 1260c2350e Remove small-target detection (too aggressive for regular links)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:17:25 -07:00
Paul BakausandClaude Opus 4.6 122dddb686 Fix CLI docs and browser detector bugs
- Fix README CLI examples to use `bun bin/impeccable.mjs` instead of `npx impeccable`
- Fix classList.match() crash in Node/jsdom by converting DOMTokenList to string
- Fix overlapping page-level banners by merging all findings into a single banner

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:15:37 -07:00
Paul Bakaus ce64404248 Merge remote-tracking branch 'origin/main' into v2.0
# Conflicts:
#	.claude/skills/critique/SKILL.md
2026-03-20 09:20:17 -07:00
Paul BakausandClaude Opus 4.6 958383722d Bump version to 2.0.0, add changelog entry
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 09:13:39 -07:00
rohan-tessl 430909da38 feat: improve skill descriptions for impeccable
## Summary

Hey @pbakaus 👋

I ran your skills through `tessl skill review` at work and found some targeted improvements. Here's the full before/after:

| Skill | Before | After | Change |
|-------|--------|-------|--------|
| distill | 31% | 80% | +49% |
| delight | 32% | 74% | +42% |
| polish | 44% | 80% | +36% |
| animate | 55% | 89% | +34% |
| clarify | 49% | 83% | +34% |
| critique | 51% | 85% | +34% |
| normalize | 46% | 80% | +34% |
| optimize | 49% | 83% | +34% |
| adapt | 48% | 81% | +33% |
| extract | 48% | 81% | +33% |
| harden | 49% | 79% | +30% |
| arrange | 51% | 76% | +25% |
| bolder | 51% | 76% | +25% |
| colorize | 48% | 72% | +24% |
| overdrive | 48% | 70% | +22% |
| typeset | 64% | 85% | +21% |
| audit | 61% | 81% | +20% |
| onboard | 56% | 75% | +19% |
| quieter | 59% | 76% | +17% |
| teach-impeccable | 68% | 80% | +12% |
| frontend-design | 76% | 76% | +0% |

**Note:** These skills are auto-generated from `source/skills/` via your build system, so the changes target the source files directly. The `dist/` outputs were regenerated with `bun run build`.

<details>
<summary>Changes made</summary>

All changes are limited to the `description` field in each skill's YAML frontmatter (in `source/skills/*/SKILL.md`). No skill body content was modified.

The consistent improvement across all skills was adding:
- **"Use when..." clauses** with explicit trigger terms — the #1 issue flagged by the reviewer. Without these, agents have no clear signal for when to select a skill from a large library.
- **Natural user keywords** — terms users would actually say (e.g., "too bold", "laggy", "spacing issues") rather than abstract descriptors.
- **Specific concrete actions** — listing what the skill actually does rather than describing outcomes in vague terms.
- **Quoted string format** — ensuring descriptions use standard YAML quoted strings.

`frontend-design` was already well-scored and left unchanged.

</details>

## Type of change

- [x] New / updated skill reference

## Checklist

- [x] Source files updated in `source/`
- [x] `bun run build` ran successfully
- [x] `bun test` passes
- [ ] Tested with at least one provider (Cursor / Claude Code / Gemini CLI / Codex / Copilot / Kiro / OpenCode)
- [ ] README / DEVELOP.md updated if needed

---

Honest disclosure — I work at @tesslio where we build tooling around skills like these. Not a pitch - just saw room for improvement and wanted to contribute.

Want to self-improve your skills? Just point your agent (Claude Code, Codex, etc.) at [this Tessl guide](https://docs.tessl.io/evaluate/optimize-a-skill-using-best-practices) and ask it to optimize your skill. Ping me - [@rohan-tessl](https://github.com/rohan-tessl) - if you hit any snags.

Thanks in advance 🙏
2026-03-20 12:46:14 +05:30