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.