Skip to content

Fix 3 latent bugs: unusable Google-Fonts URLs, 2-char search terms, wrong --persist path#321

Open
OmexIT wants to merge 1 commit into
nextlevelbuilder:mainfrom
OmexIT:fix/real-bugs-css2-tokenizer-persist-docs
Open

Fix 3 latent bugs: unusable Google-Fonts URLs, 2-char search terms, wrong --persist path#321
OmexIT wants to merge 1 commit into
nextlevelbuilder:mainfrom
OmexIT:fix/real-bugs-css2-tokenizer-persist-docs

Conversation

@OmexIT
Copy link
Copy Markdown

@OmexIT OmexIT commented May 29, 2026

What

Three latent bugs in the canonical src/ui-ux-pro-max/ tree, each reproduced on Python 3.14.5.

1. data/typography.csv — Google Fonts URLs are unusable

All 73 Google Fonts URL values are https://fonts.google.com/share?... links — these are the Google Fonts UI "share" links, not loadable stylesheet hrefs. Anything that consumes that column gets a non-functional URL. Fixed by replacing each with the proper https://fonts.googleapis.com/css2?... URL, extracted verbatim from the same row's already-correct CSS Import column (no data invented).

2. scripts/core.py — 2-char design terms are unsearchable

The BM25 tokenizer keeps only words longer than 2 chars (len(w) > 2), so ux, ui, ai, 3d tokenize to nothing and always return 0 results — e.g. search.py "3d" --domain style and search.py "ai" --domain style returned nothing despite 3D & Hyperrealism etc. existing. Changed to >= 2; both now return matches.

3. scripts/search.py--persist prints the wrong path

--design-system --persist without -p prints design-system/default/ but actually writes to the query slug (e.g. design-system/fintech-crypto/). The confirmation message now uses the same default the writer uses, so the printed path matches what's created.

Verification

All three reproduced before / confirmed fixed after, on Python 3.14.5. --design-system output otherwise unchanged.

Two more observations (left out to keep this diff focused)

  • templates/base/skill-content.md examples (and the generated SKILL.md) use python3 skills/ui-ux-pro-max/scripts/search.py, a relative path that fails from the installed location (~/.claude/skills/ui-ux-pro-max/).
  • skill.json (and cli/assets/templates/platforms/*.json) say "across 10 stacks" but the skill now ships 16 stack CSVs (adds angular, astro, laravel, threejs, nuxtjs, nuxt-ui, jetpack-compose).

Happy to follow up on either if useful.

🤖 Generated with Claude Code

…rsist path)

All three are in the canonical src/ tree, reproduced on Python 3.14.5:

1. data/typography.csv — all 73 'Google Fonts URL' values were unusable
   fonts.google.com/share *UI* links, not stylesheet hrefs. Replaced with the
   proper fonts.googleapis.com/css2 URLs (extracted verbatim from each row's
   correct 'CSS Import' column), so the URL column is actually loadable.

2. scripts/core.py — BM25 tokenizer kept only words >2 chars, so common design
   terms 'ux', 'ui', 'ai', '3d' tokenized to nothing and returned 0 results
   (e.g. `--domain style "3d"`). Changed >2 to >=2; '3d'/'ai' now match.

3. scripts/search.py — `--persist` without `-p` printed
   'design-system/default/' but actually wrote to the query slug
   (e.g. design-system/fintech-crypto/). Use the same default the writer uses
   so the printed path matches reality.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant