dev-toolings/superpowers-symfony107 installs
interfaces-and-autowiring
Master Symfony Dependency Injection with autowiring, #[Target] interface binding, decoration, and tagged services
How do I install this agent skill?
npx skills add https://github.com/dev-toolings/superpowers-symfony --skill interfaces-and-autowiringIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides architectural guidance for Symfony projects. It carries a low risk common to tools that process external files, as malicious instructions within project code could theoretically influence the agent's logic.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Interfaces And Autowiring (Symfony)
Use when
- A service depends on a concrete class and must be swappable or replaced in tests.
- Several implementations of one interface exist and the right one must be injected.
- Adding cross-cutting behavior (logging, caching, retries) around an existing service.
- Injecting scalars, parameters, env vars, or every service carrying a tag.
- Autowiring fails with "cannot autowire" or an ambiguous type.
Default workflow
- Extract a focused interface for what the consumer actually needs.
- Let autowiring bind it when there is a single implementation.
- With several implementations, pick one per consumer through a named alias and
#[Target]. - Add behavior around a service with
#[AsDecorator]instead of editing or extending it. - Inject scalars with
#[Autowire]and tagged collections with#[AutowireIterator]. - Confirm the result with
debug:autowiringfor each type involved.
Guardrails
- Constructor injection with
private readonlydependencies; no setter injection, no container access. - Keep interfaces small: one consumer need per interface.
- Make services
finalby default and decorate them rather than extend them. - Use lazy services or service closures only for expensive dependencies that some paths skip.
Progressive disclosure
- Use this file for execution posture and risk controls.
- Open references when deep implementation details are needed.
Output contract
- Interfaces and the bindings or aliases that select each implementation.
- Decorators or tagged collections, with their priority.
- The
debug:autowiringoutput for the types involved.
References
reference.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dev-toolings/superpowers-symfony/interfaces-and-autowiring">View interfaces-and-autowiring on skillZs</a>