A Claude Code skill for Symfony 7.4+. Keeps Claude on idiomatic patterns — routing, doctrine, security, console, events, testing, framework config — and reaching for first-party components instead of vendor libraries.
-
SKILL.md— always-loaded entry point. Tooling conventions (ddev when present), project layout summary, a task index pointing at the right reference for each common job, and a catalog of ~40 components grouped by problem area. -
references/— on-demand reference docs:Task-oriented (broad Symfony work):
project-layout.md— directory layout, tooling, autowiring conventionscontrollers-and-routing.md—#[Route],#[MapRequestPayload],#[MapEntity]doctrine.md— entities, migrations, repositories, query patternssecurity.md— firewalls, authenticators, voters, password hashingconsole-commands.md—#[AsCommand], input/options,SymfonyStyleevents.md—#[AsEventListener], kernel events, custom eventstesting.md—KernelTestCase,WebTestCase, Pantherframework-config.md— the fullframework:config tree
Component-oriented (Symfony component over vendor lib):
lock,http-client,cache,mailer,messenger,notifier,process,filesystem,finder,serializer,validator,rate-limiter,scheduler,workflow,string,uid,clock,html-sanitizer.
Each reference file follows the same shape: when to use, what you need, minimal example, common patterns, gotchas, links to the official 7.4 docs.
- Symfony 7.4 or higher. The skill activates when Claude detects a Symfony
project (composer.json requires
symfony/framework-bundleat ^7.4, or the repo hasbin/consoleandconfig/packages/). - Claude Code with skill support.
If the project has a .ddev/config.yaml, Claude will prefix shell commands
with ddev (e.g., ddev php bin/console make:migration,
ddev composer require lock). Without ddev, commands run directly on the
host.
Install via npx skills:
npx skills install github:recranet/symfony-skillsOr from a local clone:
git clone https://github.com/recranet/symfony-skills.git
npx skills install ./symfony-skillsThis copies the skill into your local agent environment. Restart Claude Code
or run /skill reload to pick it up.
Open a Symfony 7.4 project in Claude Code and try one of these:
- "Add a controller for
GET /healththat returns{"ok": true}" — Claude should reach for#[Route]andAbstractController::json(). - "I need to dedupe a webhook handler so it doesn't run twice" — Claude
should propose
symfony/lockwith a TTL, not a Redis SETNX wrapper. - "Make me a console command that backfills user data" — Claude should
scaffold an
#[AsCommand]class usingSymfonyStyle. - "Add a Doctrine entity for
Invoiceand a migration" — Claude should runmake:entityfollowed bymake:migration, prefixed withddevif present.
To add or improve a reference:
- If a new task/component, add a row to
SKILL.md(task index or component catalog). - Create
references/<name>.mdfollowing the existing template (when to use / what you need / minimal example / common patterns / gotchas / docs links). - Open a PR.
To update existing guidance, edit the reference file directly.
MIT — see LICENSE.