Install
$ agentstack add skill-burakdmir-abp-skills-abp-dependency-injection ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
ABP Dependency Injection Skill
Trigger
Dependency injection, DI, ITransientDependency, ISingletonDependency, IScopedDependency, [Dependency], [ExposeServices], auto registration, Autofac.
Quick Reference
Conventional Registration (auto)
public class TaxCalculator : ITransientDependency { } // Transient
public class CacheService : ISingletonDependency { } // Singleton
public class RequestTracker : IScopedDependency { } // Scoped
[Dependency] Attribute
[Dependency(ServiceLifetime.Transient, ReplaceServices = true)]
public class TaxCalculator { }
[Dependency(ServiceLifetime.Singleton, TryRegister = true)]
public class MyCacheService { }
Properties: Lifetime, TryRegister, ReplaceServices Higher priority than dependency interfaces.
[ExposeServices] Attribute
[ExposeServices(typeof(ITaxCalculator))]
public class TaxCalculator : ICalculator, ITaxCalculator, ITransientDependency { }
Only ITaxCalculator injectable. Without attribute, all interfaces exposed.
Disable Auto Registration
public class BlogModule : AbpModule
{
public BlogModule() { SkipAutoServiceRegistration = true; }
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAssemblyOf();
}
}
Autofac (required for dynamic proxying)
dotnet add package Volo.Abp.Autofac
[DependsOn(typeof(AbpAutofacModule))]
public class MyModule : AbpModule { }
Program.cs: builder.Host.UseAutofac();
Property Injection
public class MyService : ITransientDependency
{
public IEmailSender EmailSender { get; set; } // Optional dependency
}
Override Framework Service
[Dependency(ReplaceServices = true)]
public class MyCustomEmailSender : IEmailSender, ITransientDependency { }
Best Practices
- ITransientDependency for most services
- Constructor injection preferred
- [Dependency(ReplaceServices=true)] to override framework services
- [ExposeServices] to limit exposed interfaces
- ISingletonDependency only for stateless/caches
- Don't use service locator pattern
- Autofac required for interceptors (UOW, validation, auth, audit)
Related
[Framework](../abp-framework/SKILL.md) · [Modularity](../abp-modularity/SKILL.md) · [DDD](../abp-ddd/SKILL.md) · Docs: https://abp.io/docs/latest/framework/fundamentals/dependency-injection
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: burakdmir
- Source: burakdmir/abp-skills
- License: MIT
- Homepage: https://abp.io/docs/latest
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.