From mateonunez-skills
Scaffolds pnpm+corepack, Biome config (1.9/2.x), node:test+borp setup, CONTEXT.md glossary, and docs/adr/ in Node.js repos. Run once before mateonunez skills like result-not-throw.
npx claudepluginhub mateonunez/skillsThis skill uses the workspace's default tool permissions.
> Music on; nonsense off.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Processes PDFs: extracts text/tables/images, merges/splits/rotates pages, adds watermarks, creates/fills forms, encrypts/decrypts, OCRs scans. Activates on PDF mentions or output requests.
Share bugs, ideas, or general feedback.
Music on; nonsense off.
My other skills (result-not-throw, vertical-slices, node-native-tests, single-tool-per-job) assume the repo has a few things wired up: pnpm via corepack, a Biome config, a posture on the test runner, a CONTEXT.md glossary, and a docs/adr/ directory. This skill scaffolds those once.
Run me before the others. After I'm done, the other skills have something to point at.
Read the repo first. Don't assume.
package.json exists? Check packageManager field.pnpm-workspace.yaml, pnpm-lock.yaml, or lerna.json?biome.json or biome.jsonc? Capture its $schema version (1.9.x = legacy, 2.x = new).jest.config.*, vitest.config.*, node:test imports, borp in dependencies.CONTEXT.md exist at the root? Does docs/adr/ exist?pnpm-lock.yaml, package-lock.json, yarn.lock)?Show me what you found before changing anything. If the repo already has a conflicting setup (e.g. yarn lockfile, Vitest config), surface it and ask before overwriting.
Based on what you found, decide and confirm with me:
package-lock.json or yarn.lock exists, stop and ask before deleting it.biome.json is 1.9.x, keep it (ait is on 1.9; don't migrate unprompted).node:test + borp + c8. If Jest/Vitest is already in place with substantial test files, stop and ask before migrating.pnpm-workspace.yaml with packages/* and apps/*. If single-package, skip.Only after I confirm. Use the bundled seed templates:
seeds/seed-context.md → CONTEXT.mdseeds/seed-adr-0001-conventions.md → docs/adr/0001-conventions.mdseeds/seed-biome-2x.json → biome.json (only if no Biome config exists)seeds/seed-pnpm-workspace.yaml → pnpm-workspace.yaml (only for monorepos)Then patch package.json:
packageManager to the current pnpm version (run corepack prepare pnpm@latest --activate first if missing)."check": "biome check", "check:fix": "biome check --write", "test": "borp".Append a ## Mateo skills block to CLAUDE.md (or AGENTS.md if that's what the repo uses) noting which skills are now available and pointing at CONTEXT.md.
pnpm install runs cleanly.pnpm check (or pnpm exec biome check) runs and reports — even if there are existing issues, it must execute.CONTEXT.md and docs/adr/0001-conventions.md exist and are non-empty.git status shows the scaffolded files as the only changes.biome.json. If one exists, leave it. Mention preferences (single quotes, 2-space, line width 120) and let me decide.single-tool-per-job violation. Biome is the answer.CONTEXT.md with a generic glossary. It's empty for a reason — I fill it with this repo's domain terms during real work, not from a template. The seed should be a skeleton with section headers, not boilerplate definitions.Don't re-scaffold. Confirm what's present, fill any gaps (e.g. add docs/adr/ if missing but Biome is configured), and move on. The skill is idempotent.