# abp-application-layer

> Claude/Codex skill by [@abpframework](https://omgskills.com/library/abpframework/index.md) · 14k stars · Updated 2026-11-01

ABP Application Services, DTOs, CRUD service, object mapping (Mapperly/AutoMapper), validation, error handling. Use when creating or reviewing application services, DTOs, or working in the Application or Application.Contracts projects.

Tags: abp, angular, architecture, aspnet, aspnet-core, aspnetcore, blazor, c-sharp, csharp, domain-driven-design, dotnet-core, framework, modular-monolith, multi-tenancy, saas

## Install

```sh
git clone https://github.com/abpframework/abp /tmp/abp && ln -s /tmp/abp/.claude/skills/abp-application-layer ~/.claude/skills/abp-application-layer
```

## From README

ABP Application Layer Patterns Docs: https://abp.io/docs/latest/framework/architecture/domain-driven-design/application-services Anti-Patterns to Avoid Entity name in method: use GetAsync not GetBookAsync ID inside UpdateDto: pass id as a separate parameter, not inside the DTO Calling other app services in the same module: use domain services or repositories directly Using IFormFile/Stream in app service: accept byte\[\] from controllers instead Business logic in app service: put it in domain entities or domain services Application Service Structure Interface (Application.Contracts) Implementation (Application) Application Service Best Practices Don't repeat entity name in method names (GetAsync not GetBookAsync) Accept/return DTOs only, never entities ID not inside UpdateDto - pass separately Use custom repositories when you need custom queries, generic repository is fine for simple CRUD Call UpdateAsync explicitly (don't assume change tracking) Don't call other app services in same...

## Links

- HTML page: https://omgskills.com/library/abpframework/abp/dot-claude/skills/abp-application-layer/
- GitHub: https://github.com/abpframework/abp
- Author: [@abpframework](https://omgskills.com/library/abpframework/index.md)

## More from this repo

- [abp-angular](https://omgskills.com/library/abpframework/abp/dot-claude/skills/abp-angular/index.md) — ABP Angular UI patterns - generate-proxy, ListService, PermissionGuard, abpLocalization pipe, ConfirmationService,...
   - [@abpframework](https://omgskills.com/library/abpframework/index.md) · 14k stars
- [abp-app-nolayers](https://omgskills.com/library/abpframework/abp/dot-claude/skills/abp-app-nolayers/index.md) — ABP Single-Layer (No-Layers / nolayers) application template - single project structure, feature-based file...
   - [@abpframework](https://omgskills.com/library/abpframework/index.md) · 14k stars
- [abp-authorization](https://omgskills.com/library/abpframework/abp/dot-claude/skills/abp-authorization/index.md) — ABP permission system - PermissionDefinitionProvider, \[Authorize\] attribute, CheckPolicyAsync, IsGrantedAsync,...
   - [@abpframework](https://omgskills.com/library/abpframework/index.md) · 14k stars
