common-accessibility
Enforce WCAG 2.2 AA compliance with semantic HTML, ARIA roles, keyboard navigation, and color contrast standards for web UIs. Use…
Configure service locator setup using injectable and get_it in Flutter. Use when wiring dependency injection with get_it or injectable.
Claude Code
$ npx -y skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection --agent claude-code
Codex
$ npx skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection -a codex -y
Cursor
$ npx skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection -a cursor -y
Gemini CLI
$ npx skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection -a gemini-cli -y
GitHub Copilot
$ npx skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection -a github-copilot -y
OpenCode
$ npx skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection -a opencode -y
Windsurf
$ npx skills add hoangnguyen0403/agent-skills-standard --skill flutter-dependency-injection -a windsurf -y
name: flutter-dependency-injection
description: Configure service locator setup using injectable and get_it in Flutter. Use when wiring dependency injection with get_it or injectable.
metadata:
triggers:
files:
- '**/injection.dart'
- '**/locator.dart'
keywords:
- GetIt
- injectable
- singleton
- module
- lazySingleton
- factorycore/injection/ ├── injection.dart # Initialization & setup └── modules/ # Third-party dependency modules (Dio, Storage)
1. **Annotate classes** — Use `@injectable` annotations; avoid manual registry calls. 2. **Choose scope** — Default to `@LazySingleton` for repositories, services, and data sources (init on demand). 3. **Register BLoCs as factories** — Use `@injectable` (Factory) for BLoCs to ensure state resets per instance. Never use `@Singleton()` for BLoCs. 4. **Inject abstractions** — Always register implementations as abstract interfaces (`as: IService`). 5. **Register third-party deps** — Use `@module` for external instances (Dio, Hive, SharedPreferences). 6. **Prefer constructor injection** — Use mandatory constructor parameters; `injectable` resolves them automatically.
See [implementation examples](references/implementation.md) for module registration and test mock swap patterns.
For module configuration and initialization templates: See [references/REFERENCE.md](references/REFERENCE.md).
layer-based-clean-architecture | testing
When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
The portable standards layer for AI coding agents. Sync once, then work in your own runtime.
Enforce WCAG 2.2 AA compliance with semantic HTML, ARIA roles, keyboard navigation, and color contrast standards for web UIs. Use…
Define deterministic guardrails for agent tool calls — protected paths, test-file locks during bug fixes, post-edit formatters,…
Apply REST API conventions — HTTP semantics, status codes, versioning, pagination, and OpenAPI standards for any framework. Use…
Audit structural debt, logic leakage, and monolithic components across Web, Mobile, and Backend codebases. Use when reviewing…
Draws architecture diagrams as editable draw.io files with a fixed house style, C4 levels, evidence-tagged shapes, and optional…
Enforce SOLID principles, guard-clause style, function size limits, and intention-revealing naming across all languages. Use when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.