Agent skill

Common Architecture Decisions

by macalbert in macalbert/envilder

Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions.

MITAuto-check passedDevelopment

Install Common Architecture Decisions

skills CLI
$ npx skills add macalbert/envilder --skill common-architecture-decisions -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install macalbert/envilder common-architecture-decisions --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
common-architecture-decisions
GitHub stars
138
Token cost
~1.3k tokens
SKILL.md length
426 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Index of Architecture Decision Records (ADRs) for cross-cutting technical decisions.

  • Works in 4 steps: Before adding a new testing tool: Check… → Before changing SDK public API surface:… → Before changing formatters or linters:… → …
  • Making design choices
  • SKILL.md covers When to Use, ADR Index, Quick Reference: Test Doubles… and Quick Reference: Container…, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Making design choices
  • Reviewing proposals for consistency with prior decisions
  • Onboarding to understand why specific tools
  • Patterns were chosen

Example prompts

  • “/common-architecture-decisions”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Before adding a new testing tool: Check ADR-0002. If not listed, propose
  2. Before changing SDK public API surface: Check ADR-0003. All SDKs must
  3. Before changing formatters or linters: Check ADR-0004. Changes affect CI
  4. Before changing acceptance test infrastructure: Check ADR-0001. Container

What it can do on your machine

Read from SKILL.md and the folder at commit b6a0327. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from macalbert/envilder at commit b6a0327, republished under its MIT licence (© macalbert). 426 words, ~1,254 tokens.

Download SKILL.mdSave it as .claude/skills/common-architecture-decisions/SKILL.md (or your agent's skills folder).
name
common-architecture-decisions
description
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.
user-invocable
false

Architecture Decision Records

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.

When to Use

  • Before proposing a new library or tool (check if there's an existing decision)
  • When reviewing code that seems inconsistent with project conventions
  • When adding a new SDK and need to follow established patterns
  • When onboarding and need to understand "why" behind technical choices
  • Before writing tests: check ADR-0002 for the correct tooling per stack

ADR Index

ADRTitleScopeKey Decision
ADR-0001SDK Acceptance Test InfrastructureAll SDKsTestContainers + LocalStack + Lowkey Vault; container wrappers with explicit lifecycle; envilder.json as single source for test tokens
ADR-0002Test Tooling per StackAll stacksVitest (TS), xUnit+NSubstitute+AwesomeAssertions (NET), pytest+unittest.mock (Py)
ADR-0003SDK Architecture PatternAll SDKsThree-layer (Domain→App→Infra), no DI framework, facade as primary API, internal factory
ADR-0004Code Quality and FormattingAll stacksBiome (TS), dotnet format (.NET), black+isort (Py); Secretlint for credentials
ADR-0005SDK Integration TiersAll SDKsThree tiers (Facade, Builder, Framework); Tier 3 separate package; .NET exception; community-driven
ADR-0006Monorepo StructureAll componentsSingle repo, independent releases per component via version-bump detection, no orchestrator
ADR-0007Trunk-Based DevelopmentAll componentsSingle main branch, short-lived feature branches, squash merge, feature flags for incomplete work
ADR-0008Map-File Schema SpecificationAll componentsJSON Schema v1, $ prefix reserved, $config strict fields, file provider for testing (planned), EnvilderOptions.FromFile (planned)
ADR-0009SDK Dependency Compatibility PolicyAll SDKsMinimum viable engine + dep versions in published SDKs; devDeps unconstrained; acceptance tests verify minimum
ADR-0013Verification-First Agent WorkflowAI workflowIndependent verification contracts, intent-specific oracles, isolated implementation, review, and final evaluation
Show full SKILL.md (146 more words)Show less

Quick Reference: Test Doubles per Stack

StackMock/SpyStubFake (data)Dummy
TypeScriptvi.fn() / vi.mock()vi.fn().mockResolvedValue()inlineinline
.NETNSubstitute (Received())NSubstitute (.Returns())Bogus (Mother pattern)AutoFixture
Pythonunittest.mock.Mock / AsyncMockMock(return_value=...)inline / fixturesinline

Quick Reference: Container Testing

StackPackageAWSAzure
TypeScripttestcontainers@testcontainers/localstackCustom (Lowkey Vault)
.NETTestcontainersTestcontainers.LocalStackCustom (Lowkey Vault)
Pythontestcontainerstestcontainers[localstack]Custom (Lowkey Vault)

Rules

  1. Before adding a new testing tool: Check ADR-0002. If not listed, propose an ADR amendment or new ADR.
  2. Before changing SDK public API surface: Check ADR-0003. All SDKs must follow the same facade/builder/client pattern.
  3. Before changing formatters or linters: Check ADR-0004. Changes affect CI and all contributors.
  4. Before changing acceptance test infrastructure: Check ADR-0001. Container wrappers, token resolution, and CI patterns are standardized.

Creating a New ADR

Use the format in docs/adr/:

markdown
# 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 Reconsider

Number 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

Files

Just SKILL.md in .github/skills/common-architecture-decisions of macalbert/envilder.

Open the folder on GitHubat commit b6a0327

Compare with similar skills

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.

Common Architecture Decisions compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Common Architecture Decisions this skillmacalbert/envilder138—~1.3kAutomated safety check: PassMIT
.NET Native AOT Compatibilitydotnet/skills5.6k2 repos~4.2kAutomated safety check: PassMIT
Dynamo Dotnet ExpertDynamoDS/Dynamo2k—~922Automated safety check: PassApache-2.0
Development Workflowrunceel/ReactiveProperty944—~1.4kAutomated safety check: PassMIT
Scrutinizethananon/9arm-skills3.2k—~1.2kAutomated safety check: PassNone
RAG Code Reviewlyonzin/knowledge-rag290—~1.8kAutomated safety check: PassMIT

Similar skills

  • Official

    Makes .NET projects compatible with Native AOT and trimming by resolving IL trim and AOT analyzer warnings through annotations rather than suppressions.

    5.6k GitHub starsUsed in 2 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Dynamo Dotnet Expert

    DynamoDS/Dynamo

    Write and review C/.NET code in Dynamo following Dynamo coding standards, modern C patterns, and repo conventions.

    2k GitHub stars~922 tokensUpdated today
    DevelopmentAuto-check passed
  • Development Workflow

    runceel/ReactiveProperty

    ReactiveProperty repository development policy. An agent skill from runceel/ReactiveProperty.

    944 GitHub stars~1.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Scrutinize

    thananon/9arm-skills

    Outsider-perspective end-to-end review of a plan, PR, or code change.

    3.2k GitHub stars~1.2k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • RAG Code Review

    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.

    290 GitHub stars~1.8k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Dotnet Csharp

    novotnyllc/dotnet-artisan

    Baseline C skill loaded for every .NET code path. An agent skill from novotnyllc/dotnet-artisan.

    233 GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed

More from macalbert/envilder

All 30 skills in this repo
  • Code Review Perspectives

    macalbert/envilder

    Five independent analysis perspectives for code review: correctness, architecture, security, conventions, and complexity.

    138 GitHub stars~1k tokensUpdated 3 days ago
    Auto-check passed
  • Common Git

    macalbert/envilder

    Git commit messages, PR workflow, and branching strategy using Conventional Commits and Semantic Versioning.

    138 GitHub stars~991 tokensUpdated 3 days ago
    Auto-check passed
  • Common Testing Conventions

    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).

    138 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Doc Maintenance

    macalbert/envilder

    Workflow for maintaining changelogs, READMEs, and documentation files.

    138 GitHub stars~904 tokensUpdated 3 days ago
    Auto-check passed
  • Doc Sync

    macalbert/envilder

    Audit and synchronize documentation across website, READMEs, and docs/.

    138 GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check passed
  • Dotnet Test Doubles

    macalbert/envilder

    Test doubles including Fakes (Bogus), Dummies (AutoFixture), Stubs, Spies, and Mocks (NSubstitute).

    138 GitHub stars~1.4k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Common Architecture Decisions

What does Common Architecture Decisions do?

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.

When should I use Common Architecture 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.

How do I install Common Architecture Decisions in Claude Code?

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.

How do I install Common Architecture Decisions in Codex?

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.

Can I use Common Architecture Decisions in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Common Architecture Decisions need to run?

SKILL.md names no scripts, command-line tools or credentials: Common Architecture Decisions is instructions for the agent only. Our summary lists: Python 3.

Does Common Architecture Decisions access the network?

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.

Is Common Architecture Decisions safe to install?

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.

What licence does Common Architecture Decisions use?

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.

How many tokens does Common Architecture Decisions use?

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.

What are the alternatives to Common Architecture Decisions?

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.

Who maintains Common Architecture Decisions?

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.