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.
npx skills add tarlepp/symfony-flex-backend --skill update-application-configurationgit clone --depth 1 https://github.com/tarlepp/symfony-flex-backendWrote 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.
[](https://agentmods.dev/skills/tarlepp/symfony-flex-backend/update-application-configuration)<a href="https://agentmods.dev/skills/tarlepp/symfony-flex-backend/update-application-configuration"><img src="https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/update-application-configuration/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.
<a href="https://agentmods.dev/skills/tarlepp/symfony-flex-backend/update-application-configuration"><img src="https://agentmods.dev/badge/skills/tarlepp/symfony-flex-backend/update-application-configuration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00029 | $0.01564 |
| Opus 5.5 | $0.00012 | $0.00626 |
| Sonnet 5.5 | $0.00006 | $0.00313 |
| Haiku 4.5 | $0.00003 | $0.00156 |
Grade A, and why
update-application-configuration 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
What is this?
Use this skill when adding or changing application settings, Symfony package configuration, dependency-injection wiring, or environment-specific overrides. It covers configuration changes, not dependency upgrades or Docker image updates; use the corresponding repository skills for those tasks.
Follow the shared skill guidance, including
.github/copilot-instructions.md and doc/AI_RULES.md. Read
doc/CUSTOM_CONFIGURATION.md for the existing local-configuration workflow.
Table of Contents ᐞ
Workflow ᐞ
- Read
composer.jsonfor available packages and supported versions, andsymfony.lockfor recipes. Inspect the affected configuration, its service consumers, and nearby tests. Trace the setting from its source through env processors, parameters, and dependency injection to its actual use. Prefer the implementation over outdated documentation or assumed Symfony defaults. - Establish the setting's name, type, requiredness, default, intended
environments, and effect. Ask before changing unspecified defaults,
authentication, CORS, trusted proxies, persistence, or other access and
deployment boundaries. Distinguish an absent value from an empty string,
null, zero, orfalse; do not add a silent fallback for required or malformed configuration. - Preserve the custom configuration flow:
APPLICATION_CONFIGidentifies a JSON file,app.configexposes its decoded contents, andconfig/services.yamldefines env defaults extracted from individual JSON keys. Some consumers, such asRequestLoggerandRequestLogSubscriber, inject individual keys directly with#[Autowire]. Follow the closest existing pattern rather than injecting the whole configuration array or manually reading files and environment variables in application services. - Use appropriate Symfony env processors and typed constructor arguments.
Keep JSON arrays as arrays and apply scalar conversion deliberately.
Inspect aliases such as
JWT_PRIVATE_KEY_PATHsourcingJWT_SECRET_KEY; changing one name does not automatically update the other. Check real environment overrides as well as JSON-backed env defaults. Preserve container-resolved paths and the intended runtime versus compile-time resolution; do not addresolve:or hard-coded host paths indiscriminately. - For new settings, update safe tracked defaults and all relevant consumers,
fixtures, and deployment examples within scope. Check
.env,config/packages/,when@dev,when@test,when@prod,phpunit.xml.dist, and Compose configuration where applicable. Do not assume development configuration is loaded in tests or production, or that a host file is available at the same container path. Do not commit real credentials, JWT keys,.env.local, or ignoredsecrets/application.*.jsonfiles. - Preserve local overrides.
make local-configurationcopies the default files into.env.localandsecrets/application.local.json; it can overwrite existing files, so do not run it blindly on an established checkout. Do not edit a developer's private configuration merely to make a new required key pass validation. Document the required local/deployment update and use isolated test configuration when needed. Avoid commands such asmake configurationor resolved configuration dumps when they would expose secrets in output. - For service wiring, follow
config/services.yaml: normalApp\discovery uses autowiring and autoconfiguration, while excluded directories such assrc/EventListener/need their established explicit registration. Prefer typed constructor injection and existing aliases or attributes. Do not add redundant tags, make application services public for tests, or introduce service-locator access to bypass a missing dependency. Preserve the environment-specific service definitions and test visibility conventions. - Account for compiler passes, tags, priorities, aliases, lazy services, and
decorators when changing wiring.
StopwatchCompilerPassis registered only in development and decorates selected services; successful test-container boot alone does not prove development wiring works. Do not mark services readonly or bypass decorators to hide compatibility problems. For listener, subscriber, voter, or request-mapping changes, follow the relevant skill for registration and caller-boundary checks. - Keep Symfony package configuration aligned with the installed component's supported options. If a justified new package is needed, use Composer/Flex and review its generated recipe changes rather than hand-writing bundle registration or assuming the component exists. Preserve existing security guards and logging redaction; do not disable validation, logging, or a protection mechanism to make container compilation succeed.
- Follow
.github/skills/write-tests/SKILL.mdfor behavior changes. Exercise the real configured consumer, not just a manually constructed service with hard-coded arguments. Cover the intended default and override behavior, relevant missing or malformed values, and affected environments. For wiring changes, verify the selected implementation and actual caller behavior so a valid but unused service definition cannot pass unnoticed. Reuse existing consumer tests such astests/Integration/Utils/RequestLoggerTest.phpandtests/Integration/EventSubscriber/RequestLogSubscriberTest.phpwhere relevant; do not weaken redaction or authorization coverage. - Update
doc/CUSTOM_CONFIGURATION.mdand other affected setup or command documentation when keys, types, defaults, file locations, or deployment steps change. State any required operator action without applying production changes, restarting services, or overwriting local files without explicit approval.
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.
- today First seen · 134 lines · 29 tokens per session scan A fe0e3d7d2d9a
update-application-configuration is a skill published in the GitHub repository tarlepp/symfony-flex-backend (288 stars, last pushed today), licensed MIT. It adds 29 tokens to every session and 1,564 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-22.
Other skills, from other repositories
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.
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…
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 /…
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…
cakephp-rest
Build secure, fast RESTful APIs using CakePHP's built-in routing and serialization capabilities.
codeigniter-rest
Build secure RESTful APIs using the CodeIgniter framework.