Skip to main content

Agent Skills

Skills are reusable agent instructions for common tasks in this repo. They live in .claude/skills/ (one folder per skill), auto-discovered by Claude Code; a committed .agents/skills/ symlink exposes the same set to any agent following the agentskills.io standard (Codex, Copilot CLI, Gemini).

An agent loads a skill when your request matches its trigger (e.g. "add a locale", "open a PR", "review this branch"), or when you invoke it directly as a slash command (/make-pr).

See the Workflows section below for diagrams of how these chain together for common tasks. Supporting skills such as frontend-design, next-best-practices, and vercel-react-best-practices usually run as rubrics inside UI, component, and review workflows rather than as standalone task starters.

Catalog

SkillTypeWhat it does
add-content-typeStack-coupledScaffold a Strapi v5 collection or single type + UI wiring.
add-localeStack-coupledWire a new locale into Strapi i18n + Next.js routing.
add-ui-componentStack-coupledAdd a Next.js / shadcn UI component under apps/ui (includes shadcn CLI + fixup).
create-content-componentStack-coupledBuild a page-builder section across Strapi + Next.js.
copy-componentStack-coupledReplicate a section from a description, screenshot, or code snippet.
find-componentStack-coupledFind an existing page-builder component by description or screenshot.
consolidate-patternsStack-coupledExtract repeated JSX into shared elementary components.
seed-contentStack-coupledSeed pages / navbar / footer into local Strapi via MCP.
strapi-schema-checkStack-coupledFlag risky Strapi schema changes that need a migration.
remove-sentryStack-coupledRemove Sentry from both apps, keep structured logging.
remove-azure-monitorStack-coupledRemove the Azure Monitor exporter, keep logging + OTel.
remove-cache-revalidationStack-coupledUninstall the cache revalidation feature (and CDN purge).
remove-cdn-purgeStack-coupledUninstall only the optional CDN purge layer.
start-workStack-agnosticStart work on an issue in an isolated worktree + plan.
make-prStack-agnosticCommit, push, and open a GitHub PR from the branch.
review-prStack-agnosticReview a PR or local branch diff before merge.
resolve-review-suggestionsStack-agnosticUse authenticated gh to implement unresolved GitHub PR review threads.
validate-branch-refsStack-agnosticFix stale references/claims a branch's diff left behind.
write-testsStack-agnosticAdd or extend Vitest / Playwright tests.
find-skillsHelper / vendoredDiscover and install additional agent skills.
frontend-designHelper / vendoredApply distinctive, subject-specific frontend design direction.
next-best-practicesHelper / vendoredApply Next.js App Router, RSC, data, metadata, image, font, script, and bundling guidance.
vercel-react-best-practicesHelper / vendoredApply Vercel React and Next.js performance rules.

Stack-coupled skills know this starter's file layout and conventions. Stack-agnostic skills work on any repo and may move to a shared plugin later. Helper / vendored skills are installed into this repo and used as supporting rubrics or ecosystem tools.

Workflows

How the skills chain together for common tasks. Every implementation path ends the same way — write tests → review → open the PR. After reviewers comment on GitHub, resolve-review-suggestions handles the feedback loop; it is GitHub-only and requires authenticated gh.

At a glance

The entry points and the shared finish.

Replicating a component (description, screenshot, or code)

/copy-component is the front door when you have a reference to reproduce. It derives a field spec from any of three inputs, reuse-checks via /find-component, delegates scaffolding to /create-content-component, then implements to the reference using the starter's conventions.

Adding a new Strapi component

A page-builder section, built across Strapi and the frontend. The schema check is the safety gate; seeding demo content and extracting shared patterns are optional. Seeding a brand-new component needs a Strapi restart first — components register on boot.

Finding an existing component (description or screenshot)

Before building, run /find-component with a description of what you need — or a screenshot of the UI. It searches the component schemas, renderers, and the showcase, then ranks matches. A fit means reuse (or reuse + extend, which is a schema change); no fit drops into "Adding a new Strapi component".

Creating a new content type

A standalone collection or single type with its own API. Wire the UI only if the frontend reads it; the schema check still gates the change.