craftkit
Quality gates packaged as Claude Code plugins. Asks what you work on, then installs only those tools, always at their upstream latest.
npx @alokraj68/craftkit Asks what you work on, then sets up the Claude Code plugins and skills for that work and nothing else. One command, no config file to write.
Quality gates packaged as Claude Code plugins. Asks what you work on, then installs only those tools, always at their upstream latest.
npx @alokraj68/craftkit Four of the plugins started as scripts in the repository behind this site. The layout audit that measures a page at phone width, the prose checker that fails a build when writing reads as machine-written, the résumé parser - each was written to fix a bug that had already shipped, then generalised once it had earned it.
The rest are other people's work. craftkit does not vendor them: most carry no licence file, which under copyright means the author kept every right. It clones each one from its own upstream instead.
Installs are unpinned on purpose. Every skill clones its upstream default branch and every installer runs at latest, so a fix upstream reaches you the day it ships. The cost is the other half of that: these run with full agent permissions, and what installs today is whatever upstream pushed last, not a version somebody reviewed. craftkit 1.0.5 made that trade after a pinned-but-broken release left users stuck with no way to self-heal.
Run it
npx @alokraj68/craftkit Add a bucket you skipped
npx @alokraj68/craftkit Grouped by the work, not by the package. Pick a bucket and craftkit sets up everything in it.
Always installed: JuliusBrussee/caveman, yvgude/lean-ctx
design judgement, motion, and a layout audit that fails the build
design judgement for anything visual
UI and UX reference: styles, palettes, type pairings, motion presets
anti-slop frontend direction for landing pages and portfolios
ships in a directory called taste-skill but declares name: design-taste-frontend, so it installs under the declared name
nine motion and UI-polish skills
9 skills: animate, animation-vocabulary, apple-design, emil-design-eng, find-animation-opportunities, improve-animations, pick-ui-library, prototype, review-animations
pick-ui-library, prototype and review-animations set disable-model-invocation, so they never appear in the skills listing and run only when invoked by name
frontend interface design, critique and polish
overflow, ragged lines, tiny text, tap targets, WCAG AA contrast
prose that does not read as machine-written
fails the build when prose reads as machine-written
smallest thing that works, and verify before claiming done
laziest-that-works mindset; stops over-engineering before it starts
surgical edits, stated assumptions, verifiable success criteria
verify before claiming done; never commit unasked
a file an applicant tracking system can actually parse
résumé parseability and job-description gap analysis
fails the build when prose reads as machine-written
about 30 skills: audits, schema, SERP clustering, AI visibility
about 30 SEO skills: audits, schema, clustering, AI visibility
Read from craftkit main at build time.
It writes your Claude Code settings.json to enable the plugins you picked, and clones the skills you picked into ~/.claude/skills. Nothing else is touched. Run it again to add a bucket you skipped.
Because a pinned install cannot fix itself. A broken release left users frozen on it with no route forward, so craftkit 1.0.5 dropped every pin and now clones each upstream default branch. The trade is that what installs today is whatever upstream last pushed, and these run with full agent permissions - read a skill before you trust it.
Yes. plainspoken, pagecheck and ats-resume are ordinary npm packages with a command line. Install any one of them on its own with npm i -D and run it in CI. craftkit is the setup step, not a runtime.
No. All four run locally and have zero runtime dependencies. pagecheck drives a browser you already have through Playwright; the other three read files and exit.