From hairyf-skills-4
Architecture health-check and upgrade orchestrator. Use to detect a repo’s current shape (lib/cli/monorepo/webext/vscode/...) and migrate it onto the canonical tsdown-based starter architectures.
npx claudepluginhub joshuarweaver/cascade-code-languages-misc-1 --plugin hairyf-skills-4This skill uses the workspace's default tool permissions.
`arch-upkeep` is a **meta architecture skill** for keeping existing projects aligned with the canonical starter stacks:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
arch-upkeep is a meta architecture skill for keeping existing projects aligned with the canonical starter stacks:
arch-tsdown-monorepo — pnpm monorepo for TS libs with tsdown per packagearch-tsdown — single-package TS library with tsdownarch-tsdown-cli — CLI apps built on tsdownarch-unplugin — libraries built as unplugin (Vite/Rollup/Webpack/ESBuild)arch-webext-vue — browser extensions using Vuearch-vscode — VS Code extensionsUse this skill when a project already exists and you want to:
arch-* startersThis skill does not re-specify each architecture in detail — it helps you pick which arch-skill to apply and in what order.
arch-* skills are installed via 2.1 Check & install required skills.Start by classifying the repo. Use these quick heuristics (you can apply multiple, projects may be “monorepo + CLI” etc.):
Monorepo (arch-tsdown-monorepo candidate)
pnpm-workspace.yaml or packages/*, apps/*, or similar layoutpackage.json files under packages/ or apps/eslint.config.*, vitest.config.*, tsconfig.base.json, etc.)Single TS library (arch-tsdown candidate)
package.json at rootmain, module, types, maybe exports)bin entrypoint, no browser manifest, no VS Code extension manifestCLI (arch-tsdown-cli candidate)
package.json with "bin" or "package.json#exports" pointing to CLI entry#!/usr/bin/env node in entry filecac, commander, yargs, etc.unplugin-based library (arch-unplugin candidate)
unplugincreateUnplugin, or has files under src/core/, src/vite.ts, src/webpack.ts, etc.Browser extension + Vue (arch-webext-vue candidate)
manifest.json/manifest.v3.json (Chrome/Firefox extension)web-ext, wxt, or custom scripts)VS Code extension (arch-vscode candidate)
package.json with "contributes", "activationEvents", "engines.vscode"src/extension.ts or similar activation entryOnce you know what it “mostly is”, pick one primary architecture as the upgrade target. If the repo is mixed (e.g. monorepo with a CLI package), pair arch-tsdown-monorepo with the relevant per-package skill (arch-tsdown, arch-tsdown-cli, etc.).
Map your classification to the canonical skills:
arch-tsdown-monorepoarch-tsdownarch-tsdown-cliarch-unplugin (often inside an arch-tsdown or monorepo setup)arch-webext-vue (app layer) plus arch-tsdown for any shared libsarch-vscode (extension app) plus arch-tsdown for shared libsThen:
arch-* skill(s).Because arch-upkeep is only an orchestrator, it expects the concrete arch-* skills to be installed and usable in the agent environment.
Recommended flow:
List installed skills in your agent runtime
arch-tsdown-monorepo, arch-tsdown, arch-tsdown-cli, arch-unplugin, arch-webext-vue, arch-vscode).If a required skill is missing, install it by name
arch-tsdown-monorepo.Verify installation before proceeding
SKILL.md (or skill details in UI) to confirm version and scope.Compose multiple skills in one upkeep session
arch-tsdown-monorepo + arch-tsdown-cli on the CLI package, and arch-tsdown for shared libs.arch-vscode for the extension host + arch-tsdown for shared modules.arch-webext-vue for the extension app + arch-tsdown for the reusable packages.Only after the relevant skills are installed and verified should you start applying the migration steps below.
General principles:
Recommended order:
Normalize package layout
packages/* layout, root package.json, workspace ranges, pnpm catalogs as per arch-tsdown-monorepo.src/, dist/, tests/), tsconfig names, etc. with arch-tsdown.Migrate build to tsdown (where applicable)
tsc, rollup, tsup, etc.) with tsdown configs from the target skill.package.json#exports, main/module/types, and files fields match the target pattern.Align testing and linting
Synchronize scripts
build, dev, test, lint, typecheck, release, etc.).pnpm -r or pnpm --filter.Upgrade CI and release
bumpp or similar.Clean up
When targeting arch-tsdown-monorepo:
workspace:* ranges.When targeting arch-tsdown or arch-tsdown-cli:
src/ clean and side-effect free where possible.When targeting arch-unplugin:
When targeting arch-webext-vue:
arch-tsdown) for logic that can be reused outside the extension.When targeting arch-vscode:
Use this as a repeatable workflow:
arch-* skill(s) that match the desired end state.After this, the project should look and behave like it was originally scaffolded from the chosen starter, which makes future maintenance and onboarding much easier.