You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Repo-local Claude Code skills for people building applications with pracht.
They are published for end users at
/.well-known/agent-skills/index.json,
seeded into new apps by create-pracht, and loaded for contributors in this
repo via the .claude/skills symlink.
Skills live one directory per skill, each with a SKILL.md defining
frontmatter (name, version, description, allowed-tools) and an
action-oriented body. Invoke a skill in Claude Code with /<skill-name>.
Skills with framework-generic names carry a pracht- prefix so they don't
collide with other skill packs installed in the same app.
Framework & migration
Skill
Use when
/pracht-scaffold
Generate routes, shells, middleware, or API handlers.
/pracht-debug
Investigate route matching, loader, rendering, or HMR bugs.
/pracht-deploy
Configure an adapter and deploy to Node, Cloudflare, Vercel.
/migrate-nextjs
Convert a Next.js app (App or Pages Router) to pracht.
Generate and adopt route-id based typed links/navigation.
/configure-isg
Wire ISG revalidation (time + webhook) per adapter.
Conventions
Use pracht inspect routes --json, pracht inspect api --json, and
pracht inspect build --json as the source of truth instead of globbing
src/. The resolved graph already accounts for groups and inheritance.
Route entries include render, hydration, prefetch, and speculation
(null means the framework default applies); API entries include
hasDefaultHandler for default-export dispatchers.
The same capabilities are available as native MCP tools via pracht mcp
(inspect, doctor, verify, and generate) — see docs/MCP.md.
Prefer the MCP tools when the client has the server registered; every skill
carries a reminder near its first CLI invocation.
State prerequisites: pracht inspect needs a vite config that registers the
pracht plugin; inspect build, the analyze report, headers.json, and the
env-safety report all need a prior pracht build.
Use pracht typegen to refresh src/pracht.d.ts and
src/pracht-routes.ts after route ids or paths change; use
pracht typegen --check in verification/CI. Generating skills end their
verification with pracht verify --json.
Audit skills produce a report; they never auto-fix. They report with a
shared error / warn / info severity scale (domain-specific verdicts
may appear as a secondary column) and open by stating what the framework
already guarantees before auditing the opt-outs. /tune-render-mode is a
tune skill, not an audit: it proposes diffs and applies them only after
user confirmation.
Add/scaffold skills generate files but never overwrite an existing config
without diffing first.
All skills end with $ARGUMENTS so the user can pass additional
context at invocation time.
skills/skills.test.ts enforces these conventions in CI (frontmatter shape,
$ARGUMENTS, tool policy, and that referenced CLI subcommands, MCP tools,
and build-output paths actually exist).