update-symfony-recipes

update-symfony-recipes is a skill for Claude Code, Codex from tarlepp/symfony-flex-backend. It costs 32 tokens per session (1,576 once invoked), scanned A, original, MIT.

A workflow for checking and updating Symfony Flex recipes, which are Composer-managed files that set up a Symfony application's configuration and structure.

In plain words
What is it for?
Use it to inspect installed or outdated recipes, apply a selected recipe update, preserve customizations, and validate the resulting Symfony configuration.
Why use it?
It helps separate recipe changes from PHP package upgrades and reduces the risk of overwriting project-specific edits. It also guides review of staged changes, conflicts, and affected configuration.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions CLAUDE.md; mentions AGENTS.md.

Good fit Use it to inspect installed or outdated recipes, apply a selected recipe update, preserve customizations, and validate the resulting Symfony configuration.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tarlepp/symfony-flex-backend/update-symfony-recipes
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add tarlepp/symfony-flex-backend --skill update-symfony-recipes
Clone the repo
git clone --depth 1 https://github.com/tarlepp/symfony-flex-backend

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for update-symfony-recipes

README.md
[![agentmods](https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/update-symfony-recipes/github.svg)](https://agentmods.dev/skills/tarlepp/symfony-flex-backend/update-symfony-recipes)
Your own site
<a href="https://agentmods.dev/skills/tarlepp/symfony-flex-backend/update-symfony-recipes"><img src="https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/update-symfony-recipes/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for update-symfony-recipes

Your own site · 80×15
<a href="https://agentmods.dev/skills/tarlepp/symfony-flex-backend/update-symfony-recipes"><img src="https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/update-symfony-recipes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,576 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00032 $0.01576
Opus 5.5 $0.00013 $0.00630
Sonnet 5.5 $0.00006 $0.00315
Haiku 4.5 $0.00003 $0.00158

Measured yesterday against content hash 63c51d0e8ff8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

update-symfony-recipes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/skills/update-symfony-recipes/SKILL.md · 146 lines

How it starts

The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.

What is this?

Use this skill when inspecting recipe status or updating already-installed Symfony Flex recipes. Recipe updates change application scaffolding and symfony.lock; they are separate from upgrading Composer package versions. Do not perform dependency upgrades unless separately requested.

Follow the shared skill guidance, including repository instructions and AI rules.

Table of Contents ᐞ

Inspecting recipes ᐞ

Run Composer commands from the repository root inside the PHP development container. From the host, open a shell with make bash or use docker compose exec -T php composer ....

composer recipes --help
composer recipes:update --help
composer recipes
composer recipes --outdated
composer recipes vendor/package

composer recipes lists recipes and available updates; it does not apply them. The package-specific command reports the installed recipe, latest recipe, history links, managed files, and the suggested update command. Read those details and inspect the relevant upstream changes before applying an update. Use composer.json and composer.lock for package compatibility and symfony.lock for installed recipe metadata. A recipe's version is not the installed package version.

Check the installed command help rather than assuming flags exist. In particular, do not invent a dry-run option for recipes:update.

Workflow ᐞ

  1. Confirm the requested packages and scope. Listing outdated recipes does not authorize updating all of them. Prefer one explicitly named recipe at a time so its changes and failures can be reviewed independently.
  2. Inspect git status --short, staged and unstaged changes, and untracked paths before running the updater. The installed Flex updater requires both tracked working-tree changes and the index to be clean, although its error message mentions only the index. Its check ignores untracked files; inspect those for collisions with recipe-managed paths yourself. Never discard, stash, stage, or commit unrelated user work to satisfy this prerequisite. If tracked changes block the update, explain and ask the developer how to proceed. Do not create a checkpoint commit without authorization.
  3. Read the recipe's affected files and the current application customizations before applying it. Recipe-managed files can include .env, package configuration, service wiring, routes, entry points, test configuration, Docker files, and AI instruction files such as AGENTS.md and CLAUDE.md. Upstream template changes are proposed scaffolding, not permission to overwrite project architecture, security policy, or repository instructions.
  4. Run composer recipes:update vendor/package inside the PHP development container. With no package argument the command selects a recipe interactively; do not use that as an unattended bulk update. The command applies a patch against the installed recipe baseline and automatically stages patched files and symfony.lock. It does not create a commit in this repository. --no-changelog only suppresses changelog generation; it is not a preview or safety option.
  5. Read all command output, including warnings and changelog information. Inspect git status --short, git diff --cached, and git diff. The updater can return success while reporting merge conflicts; check git diff --name-only --diff-filter=U and review affected files for conflict markers. Resolve conflicts by integrating required upstream changes with the existing project behavior, not by accepting an entire side blindly. Stage only reviewed, in-scope conflict resolutions when needed. Do not commit unless explicitly requested.
  6. Review skipped paths as well as applied patches. The updater cannot detect changes to files copied from a package and reports those separately. Updates to files already absent from the application can be skipped, with an offer to save their diff to a patch file. Review whether those changes belong in a project-specific replacement rather than blindly restoring a deliberately removed file. Review warnings about files shared by multiple recipes. Remove only temporary review artifacts created by this task once they are no longer needed.
  7. If the installed baseline is missing, too old, or cannot be patched, Flex may suggest composer recipes:install vendor/package --force -v. Do not automatically take that fallback: recipes:install reinstalls scaffolding and --force can overwrite customized files. Inspect composer recipes:install --help, explain the affected files, and obtain explicit approval before a forced reinstall. Do not use --reset, delete symfony.lock, or hand-edit recipe references to manufacture an update.
  8. Preserve APPLICATION_CONFIG JSON-backed settings, environment overrides, dependency-injection conventions, and security guards. Follow update-application-configuration for configuration integration and other task-specific skills when generated code changes. Recipe application alone does not prove the upstream defaults suit this application. Inspect any manifest, script, or dependency-lock changes and explain necessary changes instead of broadening into a package upgrade.
  9. Validate and finish reviewing one recipe before starting another. A prior update leaves tracked changes, so the next invocation may be blocked. Ask how to checkpoint completed work if required; do not auto-commit or stash it. The tool-first ordering in the dependency skill applies to Composer package upgrades, not standalone recipe updates.
  10. Update relevant setup or behavior documentation when an adopted recipe change affects contributors or deployments. Report the packages and recipe references changed, preserved customizations, conflicts or skipped paths, validation results, and staged versus unstaged state. A metadata-only symfony.lock update can be legitimate even when no application files need changes; inspect it rather than assuming failure.

Read the full file on GitHub · 146 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 146 lines · 32 tokens per session scan A 63c51d0e8ff8

Subscribe to this mod's changes

update-symfony-recipes is a skill published in the GitHub repository tarlepp/symfony-flex-backend (288 stars, last pushed today), licensed MIT. It adds 32 tokens to every session and 1,576 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-23.

Related

Other skills, from other repositories

api-platform-identifiers

Choose and wire up API Platform 4.3 resource identifiers — UUID v7 (recommended for temporal cursor pagination), ULID, scalar (string/int), \DateTimeInterface, composite identifiers via Link(uriVariables: …), custom identifiers (slug) with #[ApiProperty(identifier: true)], decorating UriVariableTransformerInterface to…

gerard-labs/superpowers-api-platform · 0 tokens

api-platform-upgrade

Migrate an API Platform codebase from 3.x or 4.0–4.2 up to 4.3. Trigger when composer.lock shows api-platform/ < 4.3, when grep finds.

gerard-labs/superpowers-api-platform · 49 tokens

bootstrap-check

Verify a Symfony project's bootstrap state before any work — .env / .env.dist parity, config/bundles.php enabled bundles, config/services.yaml recipe-default App\ block with exclude:, config/packages/apiplatform.yaml flags (hydraprefix, eagerloading.forceeager, usesymfonylisteners), composer.lock presence, framework /…

gerard-labs/superpowers-api-platform · 125 tokens

ports-and-adapters

Apply Hexagonal Architecture / Ports & Adapters in Symfony — Domain (POPOs, no framework imports), Application (use cases orchestrating ports), Infrastructure (Symfony / Doctrine / API Platform adapters). Bounded contexts variant: one context per business domain with a Contract/ public surface. Deptrac to enforce…

gerard-labs/superpowers-api-platform · 120 tokens

cakephp-rest

Build secure, fast RESTful APIs using CakePHP's built-in routing and serialization capabilities.

AtulPurohit/Antigravity-Awesome-Skills · 22 tokens

codeigniter-rest

Build secure RESTful APIs using the CodeIgniter framework.

AtulPurohit/Antigravity-Awesome-Skills · 17 tokens