← ClaudeAtlas

convention-learnerlisted

Protocol for detecting and replicating existing project conventions before generating new code — naming, folder structure, DI registration, test framework, DTOs, and error handling.
zdanovichnick/dotnet-pilot · ★ 4 · AI & Automation · score 75
Install: claude install-skill zdanovichnick/dotnet-pilot
# Convention Learner **Purpose**: prevent naming drift. Generated code that doesn't match the project's conventions creates review friction and merge noise long after it ships. Run this the first time you create a file in a codebase you haven't touched this session, and whenever the request leaves naming or structure open. Skip it when the request specifies the conventions, or when you already established them earlier in this conversation. ## Detection Six questions. Answer the ones your change actually depends on — a new validator needs the naming and folder answers, not the EF configuration one. ### Step 1 — Naming Suffix Convention What suffix does this project use for its handlers/services? ``` Grep pattern: "class \w+(Handler|Service|Manager|Controller|UseCase|Interactor)" Files: src/**/*.cs ``` Determine: `Handler`, `Service`, `Manager`, `Controller`, or a mix? If mixed: use the suffix most common in the feature area you're working in (e.g., if `Orders/` uses `Handler`, use `Handler` for new order code even if `Customers/` uses `Service`). ### Step 2 — Folder / Architecture Style What is the top-level organization under `src/`? ``` Glob: src/**/*.cs → inspect top-level directory names under src/<AppName>/ ``` | Pattern found | Architecture style | |--------------|-------------------| | `Features/<Feature>/<Action>/` | Vertical Slice (VSA) | | `Controllers/` + `Services/` + `Models/` | Layered / MVC | | `Domain/` + `Application/` + `Infrastructure/` | Clean