file-tech-debt
Files a new tech-debt GitHub issue for an out-of-scope code-review finding. Builds the dedup key, skips an open or…
Scaffolds a new route with its page component, page story, and optional i18n keys. Use this skill whenever the user asks to "create a route", "add a new page", "scaffold /dashboard", "wire up a new route under _public or _session", or anything that implies adding a file under
Claude Code
$ npx -y skills add gaia-harness/gaia --skill new-route --agent claude-code
Codex
$ npx skills add gaia-harness/gaia --skill new-route -a codex -y
Cursor
$ npx skills add gaia-harness/gaia --skill new-route -a cursor -y
Gemini CLI
$ npx skills add gaia-harness/gaia --skill new-route -a gemini-cli -y
GitHub Copilot
$ npx skills add gaia-harness/gaia --skill new-route -a github-copilot -y
OpenCode
$ npx skills add gaia-harness/gaia --skill new-route -a opencode -y
Windsurf
$ npx skills add gaia-harness/gaia --skill new-route -a windsurf -y
name: new-route
description: Scaffolds a new route with its page component, page story, and optional i18n keys. Use this skill whenever the user asks to "create a route", "add a new page", "scaffold /dashboard", "wire up a new route under _public or _session", or anything that implies adding a file under `app/routes/` with a matching `app/pages/{name}/` folder.
model: haiku1. Confirm with the user: the name (kebab-case) as free text, then the group (`_public` or `_session`), whether the page loads service data (and which variant), and whether it needs `--action`, as one `AskUserQuestion` call of three questions, each with its recommended answer first and marked ` (Recommended)`. Pass `--i18n` whenever the project has i18n (`app/i18n.ts` exists): without it the page carries literal text, which lint (`i18next/no-literal-string`) rejects. 2. Run from the repo root: `./.gaia/cli/gaia scaffold route <name> --group <group> [flags]` (the package comes from the registry, not the working directory). Flags: `./.gaia/cli/gaia scaffold route --help`. 3. Verify: `pnpm typecheck` clean; `pnpm dev` reaches the new route. 4. Before filling in the page, loader, or action by hand, read one or two existing routes with a similar shape and follow their pattern.
The scaffold writes `app/routes/<group>.<name>.tsx` plus `app/pages/<name>/page.tsx` (export `<Name>Page`) with `tests/page.stories.tsx`, a page story with a `.test()` that asserts the page structure (the story is the page's test, not a route test; `wiki/decisions/Stories as Tests.md` owns the doctrine). It refuses the reserved page-folder names `tests`, `hooks`, `state`, `utils` and `assets`. Layout rule: `apps/web/.claude/rules/coding-guidelines-react.md`.
Bind a service with `--data <server|client|query> --service <name> --shape <list|detail>`. The rule for choosing a variant lives in `apps/web/.claude/skills/react-code/SKILL.md`; the default is `server`.
`--shape list` writes the list route, and `--shape detail` writes the detail route (`app/pages/<name>/id/`); run both with the same name for the pair. A scaffolded page story installs its MSW handlers in the meta's `beforeEach` and drives the route through `stubs.reactRouter`.
Claude is raw power. GAIA is order and focus. A serious harness for Claude Code. It keeps Claude-shipped code production-grade as your team scales. The React frontend is handled. You build the rest of your app on top.
Files a new tech-debt GitHub issue for an out-of-scope code-review finding. Builds the dedup key, skips an open or…
Runs GAIA wiki maintenance (sync, consolidate, lint with fixes) in one command and lands it as one commit and PR. Trigger on…
Applies descriptive, self-documenting naming in any language (TypeScript, bash, workflow YAML, Dockerfiles). Use this skill…
Maintainer-only. Rewrites a version's GAIA CHANGELOG entries as plain-language public release notes for the marketing site…
Runs test-driven development with a red-green-refactor loop, an opt-in tool for logic where test-first helps. Use when the user…
Remediates dependencies in place of Dependabot version and security updates. Discovers outdated packages and open security…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.