PR Design Doc
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
Write an Architectural Decision Record in this repo's docs/adr/ following its Log4brains conventions — filename, title, metadata, and the sections that are required versus optional.
$ npx skills add SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SSWConsulting/SSW.VerticalSliceArchitecture add-adr --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/SSWConsulting/SSW.VerticalSliceArchitecture.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-adr .claude/skills/add-adr && 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 "add-adr" agent skill from https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adr into .claude/skills/add-adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-adr", 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/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adrType 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 SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SSWConsulting/SSW.VerticalSliceArchitecture add-adr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/add-adr .agents/skills/add-adr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-adr" agent skill from https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adr into .agents/skills/add-adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-adr", 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 SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SSWConsulting/SSW.VerticalSliceArchitecture add-adr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/add-adr .cursor/skills/add-adr && 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 "add-adr" agent skill from https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adr into .cursor/skills/add-adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-adr", 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/SSWConsulting/SSW.VerticalSliceArchitecture.git --path .claude/skills/add-adr--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 SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SSWConsulting/SSW.VerticalSliceArchitecture add-adr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/add-adr .gemini/skills/add-adr && 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 "add-adr" agent skill from https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adr into .gemini/skills/add-adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-adr", 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 SSWConsulting/SSW.VerticalSliceArchitecture add-adrInstalls 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 SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/add-adr .github/skills/add-adr && 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 "add-adr" agent skill from https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adr into .github/skills/add-adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-adr", 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 SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SSWConsulting/SSW.VerticalSliceArchitecture add-adr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/add-adr .opencode/skills/add-adr && 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 "add-adr" agent skill from https://github.com/SSWConsulting/SSW.VerticalSliceArchitecture/tree/main/.claude/skills/add-adr into .opencode/skills/add-adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-adr", 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.
add-adrWrite an Architectural Decision Record in this repo's docs/adr/ following its Log4brains conventions — filename, title, metadata, and the sections that are required versus optional.
Add Adr is an agent skill from SSWConsulting/SSW.VerticalSliceArchitecture. Write an Architectural Decision Record in this repo's docs/adr/ following its Log4brains conventions — filename, title, metadata, and the sections that are required versus optional. Use when the user says "add an ADR", "record this decision", "write an ADR", "document why we chose X", or when a discussion settles an architecturally significant choice that nothing currently writes down.
Its SKILL.md is about 1.5k 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. The repository describes itself as: An enterprise ready solution template for Vertical Slice Architecture. This template is just one way to apply the Vertical Slice Architecture. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 42e7a70. 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.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Add Adr loads about 1.5k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 704 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 SSWConsulting/SSW.VerticalSliceArchitecture at commit 42e7a70, republished under its MIT licence (© SSWConsulting). 704 words, ~1,494 tokens.
.claude/skills/add-adr/SKILL.md (or your agent's skills folder).An ADR captures one architecturally significant decision — what was decided, why,
and what was rejected. The set lives in docs/adr/, is managed by
Log4brains (.log4brains.yml), and is
published as a static site from main.
ADRs are immutable. Once merged, the only thing that changes is the status. A
decision that gets reversed doesn't get edited — it gets a new ADR, and the old one
is marked superseded by [link]. Write it as a record of what was true on the date,
not as living documentation.
Write one when the decision constrains future work and someone will later ask "why is it like this?" — a framework or library choice, a persistence or hosting pattern, a convention every slice has to follow. Skip it for reversible implementation details, bug fixes, and anything a code comment covers.
YYYYMMDD-<kebab-slug>.md, where the date is when the decision was made, not
when the record was written.
The slug usually leads with the category, but it isn't mandatory — both shapes exist in the repo:
20251018-api-use-fastendpoints-instead-of-minimal-apis.md
20260515-vertical-slices-use-a-folder-per-slice.md
20260612-use-aggregate-specification-classes-with-factory-methods.mdCopy docs/adr/template.md. It carries the full section structure with inline
<!-- --> guidance on what each part is for and which are optional. Don't hand-roll
the skeleton — the template is the source of truth for the shape.
docs/adr/index.md is the Log4brains site homepage, not a manual index. There is
nothing to register — dropping the file in docs/adr/ is enough.
H1, pattern [Category] - [Decision], or just the decision when no category fits:
API - Use FastEndpoints instead of Minimal APIsDatabase - Use SQL Temporal Tables when data auditing is requiredUse Aggregate Specification Classes with Factory MethodsCategories in use: API, Project, Vertical Slices. Introduce a new one when
the decision genuinely doesn't fit — don't force it into an existing category.
- Status: accepted
- Deciders: Daniel Mackay, Anton Polkanov
- Date: 2026-06-12
- Tags: domain, specifications
Technical Story: <GitHub issue link> <!-- optional -->Status is one of draft, proposed, accepted, rejected, deprecated, or
superseded by [xxx](yyyymmdd-xxx.md). Don't invent a deciders list — ask who was
involved, or leave the placeholder for the PR author to fill in.
Tags are free-form and lowercase. Existing ones cluster around technology (dotnet,
sql, azure), architecture (vsa, clean-architecture), domain (api,
database, security), and process (testing, deployment, observability).
Required: Context and Problem Statement, Considered Options, Decision Outcome. Everything else in the template is optional — include it when it adds something.
Chosen option: "X", because <reasoning>, then the
consequences.✅ for positive, ❌ for negative. Every
option gets honest cons; an option with no downsides means the analysis is thin.CONTEXT.md and avoid the synonyms
it lists under Avoid — a slice is a slice, not a module or a handler.src/WebApi/Features/Heroes/CreateHero/) and to related ADRs by
relative path. Images go in docs/adr/l4b-static/ — Log4brains serves that folder
at the site root, so reference them as /l4b-static/<file> with alt text. The
folder doesn't exist yet; create it with the first image.The decisions that keep recurring here, and where the existing patterns live:
src/WebApi/Features/{Feature}/,
with CreateHero as the reference shape. See ADR 20260515-vertical-slices-use-a-folder-per-slice.Summary classes. See ADR 20251018-api-use-fastendpoints-instead-of-minimal-apis.20260612-use-aggregate-specification-classes-with-factory-methods.Guid.CreateVersion7().AddEFMigrations migrations resource, and a run-mode-only Seeder.If the new ADR contradicts an existing one, say so explicitly rather than quietly overriding it — name the ADR and argue why it's worth reopening.
© SSWConsulting, 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 .claude/skills/add-adr of SSWConsulting/SSW.VerticalSliceArchitecture.
Open the folder on GitHubat commit 42e7a70
Add Adr 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 |
|---|---|---|---|---|---|---|
| Add Adr this skillSSWConsulting/SSW.VerticalSliceArchitecture | 407 | — | ~1.5k | Automated safety check: Pass | MIT | |
| PR Design DocOpenHands/OpenHands | 90k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Cto AdvisorIbrahim-3d/orchestrator-supaconductor | 380 | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Improve Codebase Architectureywwynm/EverythingDone | 144 | 15 repos | ~1.3k | Automated safety check: Pass | GPL-3.0 | |
| Domain Modelingbrim-borium/spotify_sdk | 166 | 5 repos | ~806 | Automated safety check: Pass | Apache-2.0 | |
| Design Doc MermaidSpillwaveSolutions/design-doc-mermaid | 175 | 1 repos | ~5.6k | Automated safety check: Pass | None |
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
Ibrahim-3d/orchestrator-supaconductor
Technical leadership guidance for engineering teams, architecture decisions, and technology strategy.
ywwynm/EverythingDone
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/.
brim-borium/spotify_sdk
Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.
SpillwaveSolutions/design-doc-mermaid
Create Mermaid diagrams (flowchart, sequence, class, ER, state, C4, architecture) from text or source code.
DrCatHicks/learning-opportunities
Facilitates deliberate skill development during AI-assisted coding.
SSWConsulting/SSW.VerticalSliceArchitecture
Scaffold a new domain entity or aggregate in this Vertical Slice Architecture template — the entity itself, its strongly typed ID, errors, specification, EF Core configuration, DbSet, the mandatory…
SSWConsulting/SSW.VerticalSliceArchitecture
Scaffold a slice in this Vertical Slice Architecture template — one use case in its own folder, with its FastEndpoints endpoint, request, response, validator, and summary, plus the Feature and Group…
SSWConsulting/SSW.VerticalSliceArchitecture
A skill your agent uses when the user is working with an Aspire distributed application and needs to operate the AppHost or its resources through the Aspire CLI: start, restart, stop, or wait on the…
SSWConsulting/SSW.VerticalSliceArchitecture
Bump the SSW.VerticalSliceArchitecture.Template NuGet package version to cut a new release.
Categories
Write an Architectural Decision Record in this repo's docs/adr/ following its Log4brains conventions — filename, title, metadata, and the sections that are required versus optional. VerticalSliceArchitecture. Write an Architectural Decision Record in this repo's docs/adr/ following its Log4brains conventions — filename, title, metadata, and the sections that are required versus optional.
Add Adr fits situations like: the user says add an ADR; record this decision; document why we chose X; A discussion settles an architecturally significant choice that nothing currently writes down.
Run `npx skills add SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a claude-code`. Or copy the skill folder (.claude/skills/add-adr in SSWConsulting/SSW.VerticalSliceArchitecture) into .claude/skills/add-adr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a codex`. Or copy the skill folder (.claude/skills/add-adr in SSWConsulting/SSW.VerticalSliceArchitecture) into .agents/skills/add-adr 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 SSWConsulting/SSW.VerticalSliceArchitecture --skill add-adr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-adr, .gemini/skills/add-adr, .github/skills/add-adr and .opencode/skills/add-adr in your project.
SKILL.md names no scripts, command-line tools or credentials: Add Adr is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: github.com. 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.
Add Adr 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.5k tokens (SKILL.md is roughly 6k 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 Add Adr: PR Design Doc (OpenHands/OpenHands, 90k stars), Cto Advisor (Ibrahim-3d/orchestrator-supaconductor, 380 stars), Improve Codebase Architecture (ywwynm/EverythingDone, 144 stars) and Domain Modeling (brim-borium/spotify_sdk, 166 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SSWConsulting (a GitHub organization) maintains it in SSWConsulting/SSW.VerticalSliceArchitecture, which has 407 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: SSWConsulting/SSW.VerticalSliceArchitecture on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.