arch-scanlisted
Install: claude install-skill e128/dotnet-reference
# Arch-Scan Skill
Recursively analyze a scope of the solution and generate perspective-driven Mermaid architecture diagrams with structured annotations. Output lives in `lode/{domain}/architecture/`.
---
## Scope Argument
The user passes a scope as `$ARGUMENTS`. A scope is one of:
| Scope form | Meaning | Lode domain |
|---------------------------|--------------------------------------------------------|------------------------|
| A single project name | One `src/` project (e.g. `MyApp.Core`) | kebab-case of the name |
| A comma-separated list | A related group of projects treated as one domain | caller-supplied name |
| `full` | All `src/` projects (`kind: "src"`) | per-project |
Resolve project names and paths dynamically — never hardcode them:
```
scripts/solution-inventory.sh --json
```
Filter to `kind == "src"` (skip `test`/`bench`). Each entry gives `name` and `path` (the `.csproj`); the source directory is that file's parent. If no scope is provided, list the available `src` projects from the inventory and ask which to scan.
---
## Workflow
### Step 1 — Explore the Scoped Source
For each source directory in the scope:
1. `Glob("src/{Project}/**/*.cs")` to get all C# files
2. `Grep` for key patterns: `class`, `interface`, `record`, `enum` declarations
3. Read the main entry points: `Program.cs`, `*ServiceCol