.NET Native AOT Compatibility
dotnet/skills
Makes .NET projects compatible with Native AOT and trimming by resolving IL trim and AOT analyzer warnings through annotations rather than suppressions.
Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions.
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install macalbert/envilder common-architecture-decisions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/common-architecture-decisions .claude/skills/common-architecture-decisions && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "common-architecture-decisions" agent skill from https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisions into .claude/skills/common-architecture-decisions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "common-architecture-decisions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install macalbert/envilder common-architecture-decisions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/common-architecture-decisions .agents/skills/common-architecture-decisions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "common-architecture-decisions" agent skill from https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisions into .agents/skills/common-architecture-decisions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "common-architecture-decisions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install macalbert/envilder common-architecture-decisions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/common-architecture-decisions .cursor/skills/common-architecture-decisions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "common-architecture-decisions" agent skill from https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisions into .cursor/skills/common-architecture-decisions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "common-architecture-decisions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/macalbert/envilder.git --path .github/skills/common-architecture-decisions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install macalbert/envilder common-architecture-decisions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/common-architecture-decisions .gemini/skills/common-architecture-decisions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "common-architecture-decisions" agent skill from https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisions into .gemini/skills/common-architecture-decisions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "common-architecture-decisions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install macalbert/envilder common-architecture-decisionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/common-architecture-decisions .github/skills/common-architecture-decisions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "common-architecture-decisions" agent skill from https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisions into .github/skills/common-architecture-decisions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "common-architecture-decisions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install macalbert/envilder common-architecture-decisions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/macalbert/envilder.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/common-architecture-decisions .opencode/skills/common-architecture-decisions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "common-architecture-decisions" agent skill from https://github.com/macalbert/envilder/tree/main/.github/skills/common-architecture-decisions into .opencode/skills/common-architecture-decisions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "common-architecture-decisions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
common-architecture-decisionsIndex of Architecture Decision Records (ADRs) for cross-cutting technical decisions.
Common Architecture Decisions is an agent skill from macalbert/envilder. Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions. Use when making design choices, reviewing proposals for consistency with prior decisions, or onboarding to understand why specific tools or patterns were chosen. Covers test tooling, SDK architecture, code quality, and acceptance test infrastructure.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Architecture decision records, End-to-end testing and Code quality. It works with .NET. The repository describes itself as: One secret mapping for local dev, CI/CD, and runtime. Envilder resolves cloud secrets from your own vaults without SaaS middlemen, duplicated config, or .env drift. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b6a0327. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Common Architecture Decisions loads about 1.3k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 426 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from macalbert/envilder at commit b6a0327, republished under its MIT licence (© macalbert). 426 words, ~1,254 tokens.
.claude/skills/common-architecture-decisions/SKILL.md (or your agent's skills folder).This skill provides an index of ADRs that document cross-cutting technical decisions in the Envilder project. Load this skill to understand the rationale behind tooling choices and architectural patterns before proposing changes.
| ADR | Title | Scope | Key Decision |
|---|---|---|---|
| ADR-0001 | SDK Acceptance Test Infrastructure | All SDKs | TestContainers + LocalStack + Lowkey Vault; container wrappers with explicit lifecycle; envilder.json as single source for test tokens |
| ADR-0002 | Test Tooling per Stack | All stacks | Vitest (TS), xUnit+NSubstitute+AwesomeAssertions (NET), pytest+unittest.mock (Py) |
| ADR-0003 | SDK Architecture Pattern | All SDKs | Three-layer (Domain→App→Infra), no DI framework, facade as primary API, internal factory |
| ADR-0004 | Code Quality and Formatting | All stacks | Biome (TS), dotnet format (.NET), black+isort (Py); Secretlint for credentials |
| ADR-0005 | SDK Integration Tiers | All SDKs | Three tiers (Facade, Builder, Framework); Tier 3 separate package; .NET exception; community-driven |
| ADR-0006 | Monorepo Structure | All components | Single repo, independent releases per component via version-bump detection, no orchestrator |
| ADR-0007 | Trunk-Based Development | All components | Single main branch, short-lived feature branches, squash merge, feature flags for incomplete work |
| ADR-0008 | Map-File Schema Specification | All components | JSON Schema v1, $ prefix reserved, $config strict fields, file provider for testing (planned), EnvilderOptions.FromFile (planned) |
| ADR-0009 | SDK Dependency Compatibility Policy | All SDKs | Minimum viable engine + dep versions in published SDKs; devDeps unconstrained; acceptance tests verify minimum |
| ADR-0013 | Verification-First Agent Workflow | AI workflow | Independent verification contracts, intent-specific oracles, isolated implementation, review, and final evaluation |
| Stack | Mock/Spy | Stub | Fake (data) | Dummy |
|---|---|---|---|---|
| TypeScript | vi.fn() / vi.mock() | vi.fn().mockResolvedValue() | inline | inline |
| .NET | NSubstitute (Received()) | NSubstitute (.Returns()) | Bogus (Mother pattern) | AutoFixture |
| Python | unittest.mock.Mock / AsyncMock | Mock(return_value=...) | inline / fixtures | inline |
| Stack | Package | AWS | Azure |
|---|---|---|---|
| TypeScript | testcontainers | @testcontainers/localstack | Custom (Lowkey Vault) |
| .NET | Testcontainers | Testcontainers.LocalStack | Custom (Lowkey Vault) |
| Python | testcontainers | testcontainers[localstack] | Custom (Lowkey Vault) |
Use the format in docs/adr/:
# ADR-NNNN: Title
## Status
Proposed | Accepted | Deprecated | Superseded by ADR-XXXX
## Context
Why this decision is needed.
## Decision
What we chose and the details.
## Consequences
### Positive
### Negative
## When to ReconsiderNumber sequentially. Keep scope focused: one decision per ADR.
© macalbert, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/common-architecture-decisions of macalbert/envilder.
Open the folder on GitHubat commit b6a0327
Common Architecture Decisions next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Common Architecture Decisions this skillmacalbert/envilder | 138 | — | ~1.3k | Automated safety check: Pass | MIT | |
| .NET Native AOT Compatibilitydotnet/skills | 5.6k | 2 repos | ~4.2k | Automated safety check: Pass | MIT | |
| Dynamo Dotnet ExpertDynamoDS/Dynamo | 2k | — | ~922 | Automated safety check: Pass | Apache-2.0 | |
| Development Workflowrunceel/ReactiveProperty | 944 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Scrutinizethananon/9arm-skills | 3.2k | — | ~1.2k | Automated safety check: Pass | None | |
| RAG Code Reviewlyonzin/knowledge-rag | 290 | — | ~1.8k | Automated safety check: Pass | MIT |
dotnet/skills
Makes .NET projects compatible with Native AOT and trimming by resolving IL trim and AOT analyzer warnings through annotations rather than suppressions.
DynamoDS/Dynamo
Write and review C/.NET code in Dynamo following Dynamo coding standards, modern C patterns, and repo conventions.
runceel/ReactiveProperty
ReactiveProperty repository development policy. An agent skill from runceel/ReactiveProperty.
thananon/9arm-skills
Outsider-perspective end-to-end review of a plan, PR, or code change.
lyonzin/knowledge-rag
When performing code review on a PR, diff, snippet, or "look at this change" request, first consult the corpus for related ADRs, coding standards, prior patterns, and similar files.
novotnyllc/dotnet-artisan
Baseline C skill loaded for every .NET code path. An agent skill from novotnyllc/dotnet-artisan.
macalbert/envilder
Five independent analysis perspectives for code review: correctness, architecture, security, conventions, and complexity.
macalbert/envilder
Git commit messages, PR workflow, and branching strategy using Conventional Commits and Semantic Versioning.
macalbert/envilder
Mandatory testing conventions including the narrow diagnostic exception for testing test-only code, AAA pattern, test naming, and assertions across all stacks (.NET, TypeScript, Python).
macalbert/envilder
Workflow for maintaining changelogs, READMEs, and documentation files.
macalbert/envilder
Audit and synchronize documentation across website, READMEs, and docs/.
macalbert/envilder
Test doubles including Fakes (Bogus), Dummies (AutoFixture), Stubs, Spies, and Mocks (NSubstitute).
Works with
Categories
Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions. Common Architecture Decisions is an agent skill from macalbert/envilder. Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions.
Common Architecture Decisions fits situations like: making design choices; reviewing proposals for consistency with prior decisions; onboarding to understand why specific tools; patterns were chosen.
Run `npx skills add macalbert/envilder --skill common-architecture-decisions -a claude-code`. Or copy the skill folder (.github/skills/common-architecture-decisions in macalbert/envilder) into .claude/skills/common-architecture-decisions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add macalbert/envilder --skill common-architecture-decisions -a codex`. Or copy the skill folder (.github/skills/common-architecture-decisions in macalbert/envilder) into .agents/skills/common-architecture-decisions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add macalbert/envilder --skill common-architecture-decisions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/common-architecture-decisions, .gemini/skills/common-architecture-decisions, .github/skills/common-architecture-decisions and .opencode/skills/common-architecture-decisions in your project.
SKILL.md names no scripts, command-line tools or credentials: Common Architecture Decisions is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Common Architecture Decisions is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Common Architecture Decisions: .NET Native AOT Compatibility (dotnet/skills, 5.6k stars), Dynamo Dotnet Expert (DynamoDS/Dynamo, 2k stars), Development Workflow (runceel/ReactiveProperty, 944 stars) and Scrutinize (thananon/9arm-skills, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
macalbert (a GitHub user) maintains it in macalbert/envilder, which has 138 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 5, 2026.
Source: macalbert/envilder on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.