SkillWorksThe scored index
Rebuilt 2026-09-12Submit a repo
751,973 listings582,198 skills123,587 subagents35,328 plugins10,860 marketplaces65,977 do not load7,138 tracked install counts30,717 repositories readread 2026-09-13

Changelog

Every change that shipped to SkillWorks, taken from this product's own commit history. One entry per day it released.

36 releases134 changes561 files touched2026-08-01 to 2026-09-13

Every day it released

36 of them

5 changes · 14 files
  1. A shorter email heading; the rest of the sentence moves into the body

    3627763 · 1 file
  2. The two best-of view reads wait out Postgres contention instead of failing the build

    0f8a387 · 1 file
  3. Take the shell's 09-12 icon revert: the page mark is the drawn glyph again, and the 3D component is gone

    2c93344 · 1 file
  4. Put the page mark back to the 2026-09-01 drawing, not just the tab icon

    1a1b63f · 1 file
  5. Migrate SkillWorks to the Compound Labs estate

    3263d72 · 10 files

1 change · 2 files
  1. Put the product icon back to the version Isaiah picked

    4bc3e58 · 2 files

10 changes · 20 files
  1. paths: the estate no longer reaches anything through a kynth name

    2cff3df · 1 file
  2. identity: purge the retired studio name, domain and handles from reader-facing copy

    f66bfe4 · 3 files
  3. paths: ~/Projects is now ~/CompoundLabs (the Compound volume moved to its own mount point)

    828dcdd · 2 files
  4. db: at most three Postgres reads in flight, so the fallback build finishes under the 3s statement timeout

    9cdd910 · 1 file
  5. chore: generator output (ai-surfaces header rename, advertised, changelog, og-20260827)

    84c110e · 1 file
  6. Generator output from scripts/deploy.sh, committed so the deploy can run

    04e767e · 2 files
  7. db: a blocked Turso reads Postgres instead of 500ing; the site's figures come from sw_stats

    cfb70fe · 2 files
  8. mail: sending domain moves to mail.thecompound.tech

    a4155a9 · 1 file
  9. Vendor the notes glyph the shell's Hashnode row names

    f969c07 · 2 files
  10. Install reviewed 3D brand icons and keep favicon marks synchronized

    500bcce · 5 files

7 changes · 13 files
  1. workbench: mark-gate judges a saved-pixel mark against its own colours (dev-shell 9a2d630)

    1966999 · 2 files
  2. data: advertised.json as ops/advertised.mjs regenerates it; workbench stamp re-recorded after the rename adoption

    094d991 · 1 file
  3. The corpus is built on Turso after the cutover; every remaining read, the claims and the alerts move with it

    eb8c60e · 3 files
  4. email: render through the one template, delete the copy

    8ef1fff · 3 files
  5. db: the corpus reads route to Turso behind SW_BACKEND=turso

    91851e3 · 2 files
  6. crawl guard: multi-key facet 308, robots /*&, GoogleOther, and /api/list refuses crawlers

    7e9c58b · 1 file
  7. fix(email): studio masthead is the transparent mark beside live "Compound Labs" text

    79a0d49 · 1 file

3 changes · 4 files
  1. Sync canonical email template

    4f86fa3 · 1 file
  2. Point skillworks's own links at skillworks.thecompound.tech

    8ffd63d · 2 files
  3. Redirect skillworks.kynth.studio root and restore the Compound Labs identity

    e3b86dd · 1 file

3 changes · 32 files
  1. chore: checkpoint concurrent estate updates

    607062a · 1 file
  2. chore: capture remaining estate updates

    bf3cf82 · 1 file
  3. chore: checkpoint estate updates

    324acad · 30 files

2 changes · 4 files
  1. skillworks: cap JSON-LD detail copy at 155 chars

    7102ea4 · 1 file
  2. Add bundled-skills guidance and refresh site plumbing

    0ac1db3 · 3 files

1 change · 1 file
  1. The graph key reads the register payload token, so it steps at 432px

    a828990 · 1 file

1 change · 1 file
  1. Remove trialing from the SkillWorks Stripe webhook

    cabb3e2 · 1 file

13 changes · 37 files
  1. The score bar is drawn only where the rows on the page actually differ

    8c9bbbd · 4 files
  2. The counts stop timing out, and a failed exact stops becoming a guess

    f6b0df8 · 1 file
  3. A bar is decoration, so it stops counting as text over the hero

    9ae2d9a · 1 file
  4. skillworks: the character bar lands on the six columns the chart audit approved

    1eb2f9c · 7 files
  5. landing: three claims that left 500px of empty band now share a row with their action

    a62f5e6 · 1 file
  6. mention engine: commit the missing badge route, dropped from the first pass

    68c4da7 · 1 file
  7. repoint the dead shell paths: `Projects/workbench` and `Projects/publication` no longer exist

    348b5e9 · 2 files
  8. mention engine: a badge, a claim flow and change alerts for every listing

    02c7465 · 15 files
  9. mail: sync the optional review and referral line from canonical

    ae74a09 · 1 file
  10. mail: house sending domain moves to mail.kynth.studio

    9784947 · 1 file
  11. email template: purge the fork, take the canonical copy

    9104005 · 1 file
  12. mail: explicit Reply-To on kynth.studio ahead of the house-domain move

    f3a44fe · 1 file
  13. email: left align the column and drop the grey field

    07e243b · 1 file

1 change · 1 file
  1. data: commit the derived surfaces the nightly generators rewrote

    abb3353 · 1 file

1 change · 2 files
  1. Search is ranked by relevance, and /api/list stops dropping `q`

    68e222d · 2 files

1 change · 2 files
  1. score: a colon in a subagent name is a load failure, not a style nit

    46c0498 · 2 files

1 change · 1 file
  1. weekly reconcile: 1 path(s) left uncommitted across src — none touched for 6h or more

    49bb105 · 1 file

2 changes · 3 files
  1. og: serve the new card at a versioned URL so cached scrapers refetch

    8c21fbd · 2 files
  2. loadListing: cache() — metadata and page ran the same query twice

    a3d9f2b · 1 file

1 change · 2 files
  1. skillworks: same never-read Data Cache write on the detail routes — one per distinct artifact URL, on the estate's #2 origin at 4,710 req/day and 90% MISS

    f6e0be6 · 2 files

1 change · 1 file
  1. ISR window: sponsors() passed 900 as its fetch TTL, so `/` shipped a 15-minute window

    8c4e1c8 · 1 file

9 changes · 16 files
  1. icon sprite: out of the RSC flight payload — 43,074 B a page, every page

    e75fc0b · 2 files
  2. advertised.json is deterministic: no timestamp, so a routine rebuild leaves the tree clean

    d41ad22 · 1 file
  3. product.ts: the advertised.json import carries `with { type: "json" }`

    f9faeec · 1 file
  4. crawl guard: refuse crawlers on detail URLs the sitemap does not advertise

    886e832 · 2 files
  5. shell sync: icon defaults and the mark's URIs declared once, not per instance

    7b7c01f · 1 file
  6. detail trees: dynamic + edge-cached, not ISR — removes 762,986 ISR write units/day

    3cd78c8 · 4 files
  7. sitemap: advertise the 10,000 best listings, not 40,000 of a 509k corpus; detail page related lists 6→4

    11bdef2 · 2 files
  8. search: /search 500'd on any term that matched little, via an unindexable ILIKE

    b5f8c16 · 2 files
  9. analytics: the error-tracking noise gate was reading a property that does not exist

    3f9bf08 · 1 file

1 change · 10 files
  1. search: the snippet leads with the score, and a dead detail URL stops saying 200

    986be1a · 10 files

7 changes · 10 files
  1. shell sync: docrail stops deciding from a box a reader cannot see

    f6ea917 · 1 file
  2. shell sync: one footer instead of three, and the footer's own marks as symbols

    37d9c07 · 1 file
  3. skillworks: the cache window was hourly for data that changes nightly

    ec8c33a · 1 file
  4. icons: drop the Record<string, string> annotation so a typo is a type error

    fcd8938 · 1 file
  5. analytics: the comment still told you to reverse-proxy PostHog through Vercel

    2e08b15 · 1 file
  6. icons: one <symbol> per glyph per document, not one body per instance

    24456cb · 2 files
  7. cost: take PostHog off Vercel's meter and widen the ISR windows

    15b59b0 · 3 files

4 changes · 4 files
  1. footer: the same format the agent frame settled on — brand above, equal columns, FOLLOW column

    fba81d3 · 1 file
  2. footer: move the social rail under the brand block, drop the group labels

    b1cdced · 1 file
  3. social rail: 44x44 tap targets and an 8px gap, because the rail shipped under both floors

    54d8bf7 · 1 file
  4. footer: the Kynth Studios + founder social rail (shell sync)

    9b607eb · 1 file

4 changes · 6 files
  1. footer: 5 . 7 . 4 becomes 5 . 4 . 3 . 4 across four columns

    54d5657 · 2 files
  2. footer: every link carries a Solar glyph, and the studio credit adapts to the theme

    edfac72 · 2 files
  3. Front Wire and SkillWorks come down too

    61fe953 · 1 file
  4. workbench sync, and the changelog stops publishing the pass that was pulled

    cfb5842 · 1 file

2 changes · 2 files
  1. db: dedupe identical in-flight reads, which is what took the shared database down

    cf12e8f · 1 file
  2. analytics: drop the three exception kinds that made the error digest 100% noise

    bd8a509 · 1 file

1 change · 2 files
  1. skillworks: the offers were on the page with no price on it

    c652050 · 2 files

4 changes · 7 files
  1. the claim register, rendered at /sources and re-checkable

    a229e74 · 1 file
  2. the generated head-to-heads: /compare/<a>-vs-<b>, from the vendored compare machine

    f049823 · 1 file
  3. route shims, crawl surface, status and security: this product 404'd on every URL the outside world deep-links to

    973c7fa · 4 files
  4. landing: the tab title carried no product name at all

    1463f53 · 1 file

6 changes · 12 files
  1. db: record the partial index that stops /best-subagents killing the build

    c90623f · 1 file
  2. badge: hand the maintainer the line, on their own row

    48865cc · 2 files
  3. counts: the total is exact again — two surfaces were publishing it 68 apart

    f3c5c3f · 1 file
  4. api: publish the index's numbers, and what it holds from one repository

    237b7cd · 2 files
  5. shell: the "part of Toolproof" credit, and an /api/stats to be read through

    ac7250d · 1 file
  6. compare: the nightly scores stay; the schema said nothing about the page

    82aae19 · 5 files

2 changes · 3 files
  1. mobile: phone-width column priority for the rows table

    fe6ee84 · 1 file
  2. sponsor page: stop selling nightly freshness the homepage says we lost

    05a6d1e · 2 files

1 change · 2 files
  1. studio credit: name Kynth Studios in all four layers

    9c379de · 2 files

1 change · 5 files
  1. /best-plugins, and the counts underneath it were estimates

    8186995 · 5 files

1 change · 3 files
  1. Finish the 2026-08-02 correction on the three surfaces it missed

    91fe8da · 3 files

1 change · 1 file
  1. error.tsx: catch a thrown route instead of showing Next's default

    db1b638 · 1 file

3 changes · 13 files
  1. Take the enforcing crawl guard from the workbench

    bdcf5bf · 5 files
  2. Carry the shell that closes intent.json's eight MISSING items

    c9a0fb4 · 7 files
  3. Count by estimate, not by full scan

    55b6717 · 1 file

1 change · 1 file
  1. count: fall back to the planner estimate instead of failing the build

    ebb8919 · 1 file

1 change · 4 files
  1. Answer "best claude subagents" with the number that was already computed

    deba477 · 4 files

16 changes · 116 files
  1. Stop publishing "will not load" against skills that load

    2a4f4a9 · 6 files
  2. Ship the crawl foundation this landing went live without

    f9965ec · 2 files
  3. Sponsorship fulfilment runs itself, and an incomplete checkout is still a paid order

    c1dc386 · 1 file
  4. A ceiling without a retry is half a guard (trap 12)

    0c664e7 · 1 file
  5. Take the widened funnel selector (trap 11)

    c6624b0 · 10 files
  6. /api/list must not read through Vercel's Data Cache (trap 2)

    746b17b · 2 files
  7. An empty index is a measurement; an unreachable one is not (trap 1)

    cff22b7 · 3 files
  8. Stop attaching the last run's date to a number that accumulates

    f92e703 · 2 files
  9. Say what the CLAUDE.md sample actually is

    3a44a25 · 1 file
  10. A timed-out read must not become a 24-hour 404 on a listing that exists

    4708e03 · 1 file
  11. Put the last of the pre-port brand right: the glow, the logo and the share card

    797d424 · 1 file
  12. Fix the verdicts, the counts and the nightly that was failing silently

    d0adb4b · 8 files
  13. Rebuild on the shared shell, rather than restyle in place

    bb84a9a · 55 files
  14. Wire the estate switcher into the nav, beside the lockup on every breakpoint

    18c7c82 · 1 file
  15. Prerender the head of each detail tree instead of claiming to prerender all of it

    36cef38 · 5 files
  16. perf: dial DB load to zero-customer reality

    75bf369 · 17 files

15 changes · 204 files
  1. Never memoise a failed count as zero

    aa0bcb7 · 1 file
  2. Wear the house shell on every route

    374f7cd · 7 files
  3. Rebuild the whole site on one theme, with the product on the first screen

    c4e57af · 35 files
  4. Point the icon default at the accent variable that still exists

    8f65841 · 1 file
  5. Rebuild every route except the landing in the template's own language

    f781f38 · 41 files
  6. Rebuild the landing on the Soundra template

    107e20c · 42 files
  7. Rebuild base.css: the cut-section strip was deleting live rules

    f89ec47 · 3 files
  8. Fix every count reading 0 on the dynamic routes

    96606e6 · 1 file
  9. Say why a browse grid is empty instead of just saying nothing matched

    2c499bf · 2 files
  10. Hand og:image back to the real share card

    0aa2fff · 1 file
  11. Lead the meta description with the wedge, and point the share card at /og.jpg

    bd6ffc1 · 2 files
  12. Replace the placeholder front end with the ported sift-ai template

    d768b9e · 30 files
  13. Fail loudly on a missing Supabase key instead of rendering an empty index

    e79545a · 1 file
  14. Live OG card from index data, count-query fix, deploy verified

    bd46934 · 3 files
  15. SkillWorks: scored directory of Claude Code skills, subagents and plugins

    3682067 · 34 files