agentleFS
AttemainioAttemainio/dotnet-toolkit/skills/dotnet-architecture/SKILL.md

dotnet-architecture

Skill2 starsChanged 54 days agoMITView on GitHub

Use for a SYSTEM-LEVEL review of C#/.NET code — "what is stale here", "is this still needed", "clean up after this refactor", "find backwards-compatibility code", "which tests are outdated", "where should this be one abstraction", "consolidate", "simplify the architecture" — and after a substantial architectural change (a removed engine or subsystem, a new subsystem, a cross-project refactor). Launches the dotnet-architecture-review subagent. Use dotnet-review instead when the question is whether code is correct, safe or conventional; the two can run side by side.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Call workspace_status yourself before launching.

    line 31

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Delegating to dotnet-architecture-review

dotnet-architecture-review reviews what the system still needs and how it could be simpler: staleness, compatibility layers, scattering, abstraction fit, stale tests. dotnet-code-review (dotnet-review) judges each piece of code on its own merits against the standards; this agent judges the pieces against each other and against what uses them. Both are read-only and report; acting on a finding is the invoking agent's job, after the user agrees.

Host adapter

Claude Code launches the bundled dotnet-architecture-review agent directly. Codex does not install custom-agent registrations: there, launch the built-in read-only explorer and start its brief with "Read <pluginRoot>/agents/dotnet-architecture-review.md and follow its Markdown body; ignore only the Claude-specific YAML frontmatter." The canonical brief stays under agents/.

Step 0 — workspace readiness

Same gate as skills/dotnet-review/SKILL.md Step 0, and it matters more here: every finding this agent makes is a usage claim, so a workspace that is not loaded turns live code into "stale" code. Call workspace_status yourself before launching; take pluginRoot from it for the briefs.

Partitioning

Coarser than a code review — staleness and scattering only show across files:

  • One project or one subsystem (a removed engine and its callers, a feature folder): one instance.
  • A solution: one instance per project, or per large top-level folder of a big project. Keep a production folder and its test folder in the same slice, so the [tests] lens sees both sides.
  • After a change: diff mode with the baseline, one instance per cluster of changed folders.

Scopes are disjoint and stated as explicit paths.

What to tell each instance

  • Scope and pluginRoot (required); mode (scope by default, or diff with its baseline).
  • Who consumes the code. The agent assumes a single user and no external consumers unless told otherwise. Say so if a library is published, an API has outside clients, or old files on disk must keep loading.
  • Recorded decisions the agent cannot find itself (it has no git): compatibility the user already chose to keep, families the user confirmed as capability, a decision log path.

Merging and acting

Concatenate by scope; collect Outside scope: lines; sum the totals. Then sort every finding by its action class:

  • auto (behaviour-identical, low risk) — the consuming repo's policy decides whether these are applied without asking. Apply them through dotnet-write, then dotnet build and the tests.
  • approve — present as one batch for the user to accept or decline item by item. Nothing is removed without a yes.
  • ask — every backwards-compatibility layer and every uncertain capability verdict, as the question the agent phrased.

Present [gate] proposals (an analyzer rule to enable, a ratchet test) as approve items: once on, a whole class of finding stops needing review. Report what was applied, what was approved, what was declined, and record declined or kept items where the next run will see them (the agent's memory, or the repo's decision log), so they are not raised again.

Where the report goes

.claude/dotnet-toolkit/review/<UTC-date>-<HHmmss>-architecture-<target>.md, the same git-ignored folder dotnet-review uses, and answer inline. Not an Artifact unless the user asks.

What this agent will never do

Edit code, or propose removing a capability family. Like dotnet-code-review, its Write/Edit come from memory: project and are limited by instruction to its memory namespace.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.