uw-dependency-injection

uw-dependency-injection is a skill for Claude Code, Codex from devdavv/unity-ai-workflow. It costs 159 tokens per session (2,012 once invoked), scanned A, original, MIT.

A guide for using dependency injection in Unity 6 projects with the Reflex framework. It applies only to projects configured for a DI-first architecture.

In plain words
What is it for?
It helps set up containers and scopes, inject dependencies, organize commands and update handling, and classify classes. It also covers feature assembly files and project-specific coding rules.
Why use it?
It gives large or complex Unity projects a consistent way to create objects, control their lifetimes, and connect services without hard-coding those connections. It also clarifies when a simpler Scriptable Object approach is more suitable.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/devdavv/unity-ai-workflow/uw-dependency-injection
Any agent
npx skills add devdavv/unity-ai-workflow --skill uw-dependency-injection
Clone the repo
git clone --depth 1 https://github.com/devdavv/unity-ai-workflow

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 uw-dependency-injection

README.md
[![agentmods](https://agentmods.dev/badge/skills/devdavv/unity-ai-workflow/uw-dependency-injection.svg)](https://agentmods.dev/skills/devdavv/unity-ai-workflow/uw-dependency-injection)
Your own site
<a href="https://agentmods.dev/skills/devdavv/unity-ai-workflow/uw-dependency-injection"><img src="https://agentmods.dev/badge/skills/devdavv/unity-ai-workflow/uw-dependency-injection.svg" alt="Measured on agentmods" height="20"></a>
Per session 159 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,012 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00159 $0.02012
Opus 5 $0.00079 $0.01006
Sonnet 5 $0.00032 $0.00402
Haiku 4.5 $0.00016 $0.00201

Measured 4d ago against content hash 6ee33cbfc6df, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

uw-dependency-injection 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 4d ago.

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.

.claude/skills/uw-dependency-injection/SKILL.md · 203 lines

How it starts

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

Dependency Injection (Reflex)

DI-first architecture for complex Unity projects. Only applies when ProjectConfig.yaml -> architecture_pattern: di-first. For simpler projects, use uw-scriptable-object-arch (SO-first) instead.

Before You Start

  1. Read docs/ProjectConfig.yaml for:
    • architecture_pattern — must be "di-first" for this skill to apply.
    • di_framework — should be "reflex" (the default and recommended framework).
    • mcp.unity_mcp — if true, call refresh_unity after creating files.
  2. Read docs/CODING_STANDARDS.md for async patterns (Awaitable + CancellationToken), access modifiers (internal for cross-class helpers within an asmdef), and class structure.
  3. Read docs/NAMING_CONVENTIONS.md for file/class naming.
  4. Ensure each feature module has its own .asmdef — create with uw-unity-feature-scaffold. Installers, Controllers, Services all live inside feature asmdefs.

When to Use DI vs SO-First

SO-First (default) DI-First
Small/medium scope Large/complex scope
Solo or small team Team with testing culture
Rapid prototyping Production architecture
Simple event-driven communication Cross-feature orchestration via Commands
ScriptableObject event channels Interface-based injection + factories

Both can coexist: DI containers can bind ScriptableObject data assets as singletons.

Reflex Setup

Install (OpenUPM): openupm install com.gustavopsantos.reflex Or UPM Git URL: https://github.com/gustavopsantos/reflex.git?path=/Assets/Reflex/

Container Hierarchy

RootScope (app lifetime — singletons, core services)
  +-- SceneScope (scene lifetime — per-scene services, controllers)
        +-- Manual child scopes (gameplay round, level, etc.)

Installer Pattern

Each feature module has one Installer that registers its bindings. The Installer lives inside the feature's .asmdef.

using Reflex.Core;
using UnityEngine;

namespace {RootNamespace}.Core
{
    public class CoreInstaller : MonoBehaviour, IInstaller
    {
        [SerializeField] private AudioSettingsData _audioSettings;

        public void InstallBindings(ContainerBuilder builder)
        {
            // Services (singleton, app lifetime)
            builder.AddSingleton(typeof(IAudioService), typeof(AudioService));
            builder.AddSingleton(typeof(IStateMachineService), typeof(StateMachineService));

            // SO data (inject existing asset as value)
            builder.AddInstance(_audioSettings);
        }
    }
}

Read the full file on GitHub · 203 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 4d ago First seen · 203 lines · 159 tokens per session scan A 6ee33cbfc6df

Subscribe to this mod's changes

uw-dependency-injection is a skill published in the GitHub repository devdavv/unity-ai-workflow (41 stars, last pushed 5mo ago), licensed MIT. It adds 159 tokens to every session and 2,012 once invoked, about $0.0008 per session on Opus 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-08-30.

Related

Other skills, from other repositories

game-ui-workflow

Orchestrates an end-to-end game UI workflow from game design (GDD), PRD, and UI interaction logic through design specification, screen-system extension, page image generation, component breakdown, sprite-sheet splitting, PNG ZIP packaging, atlas packing, engine JSON handoff, asset registration, and validation. Use…

guiguiyan930-source/game-ui-design-workflow · 94 tokens

game-ui-product-design

Writes and maintains game design docs (GDD), product requirements (PRD), and UI interaction logic before any page image generation. Use when users ask for 游戏策划方案、PRD、产品需求、UI交互逻辑、交互流程、状态机, or say to finish planning before generating UI visuals / 生图前先做策划.

guiguiyan930-source/game-ui-design-workflow · 78 tokens

game-ui-sprite-sheet-splitter

Splits a generated game UI sprite sheet or component board into individual transparent PNG elements, writes crop metadata, validates dimensions and alpha channels, and packages all PNG files into a ZIP archive. Use after component breakdown when users ask to cut a combined sprite sheet, isolate every…

guiguiyan930-source/game-ui-design-workflow · 85 tokens

game-ui-component-breakdown

Breaks an approved game UI page or visual style into reusable, individually generated component assets with clean edges, transparent backgrounds where appropriate, stable naming, states, dimensions, prompts, and traceable manifest records. Use for UI slicing, transparent buttons, icons, cards, modals, navigation…

guiguiyan930-source/game-ui-design-workflow · 79 tokens

game-ui-page-generator

Designs and generates one complete game UI page at a time using an approved style and screen contract, producing a page brief, reproducible image prompt, negative constraints, an actual visual asset when image generation is available, and a manifest entry. Use for home, task, ranking, shop, inventory, character…

guiguiyan930-source/game-ui-design-workflow · 84 tokens

game-ui-asset-pipeline

Packs semantically named transparent game UI PNG files into an atlas, preserves component states and reviewed 9-slice metadata, and exports deterministic JSON handoff manifests for Godot, Unity, Cocos, or generic consumers. Use after sprite-sheet splitting when users ask for atlas packing, nine-patch metadata, engine…

guiguiyan930-source/game-ui-design-workflow · 92 tokens