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…
Generate and manage Architecture Decision Records (ADRs). An agent skill from EmeaAppGbb/spec2cloud.
$ npx skills add EmeaAppGbb/spec2cloud --skill adr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EmeaAppGbb/spec2cloud 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/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/adr .claude/skills/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 "adr" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/adr into .claude/skills/adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/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 EmeaAppGbb/spec2cloud --skill adr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EmeaAppGbb/spec2cloud adr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/adr .agents/skills/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 "adr" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/adr into .agents/skills/adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 EmeaAppGbb/spec2cloud --skill adr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EmeaAppGbb/spec2cloud adr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/adr .cursor/skills/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 "adr" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/adr into .cursor/skills/adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/EmeaAppGbb/spec2cloud.git --path .github/skills/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 EmeaAppGbb/spec2cloud --skill adr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EmeaAppGbb/spec2cloud adr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/adr .gemini/skills/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 "adr" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/adr into .gemini/skills/adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 EmeaAppGbb/spec2cloud 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 EmeaAppGbb/spec2cloud --skill adr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/adr .github/skills/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 "adr" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/adr into .github/skills/adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 EmeaAppGbb/spec2cloud --skill 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 EmeaAppGbb/spec2cloud adr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EmeaAppGbb/spec2cloud.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/adr .opencode/skills/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 "adr" agent skill from https://github.com/EmeaAppGbb/spec2cloud/tree/vNext/.github/skills/adr into .opencode/skills/adr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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.
adrGenerate and manage Architecture Decision Records (ADRs). An agent skill from EmeaAppGbb/spec2cloud.
Adr is an agent skill from EmeaAppGbb/spec2cloud. Generate and manage Architecture Decision Records (ADRs). Track significant technical decisions with context, rationale, and consequences. Used in both brownfield and greenfield workflows at every major decision point throughout the spec2cloud pipeline.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/template.md`).
It sits in Development, covering Architecture decision records. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8e76618. 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 and json).
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.
Adr loads about 2.6k tokens when it runs, and up to ~3.1k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 1,272 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 EmeaAppGbb/spec2cloud at commit 8e76618, republished under its MIT licence (© EmeaAppGbb). 1,272 words, ~2,649 tokens.
.claude/skills/adr/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are the ADR agent — the "record every significant decision" agent in the spec2cloud pipeline. Every time a non-trivial technical choice is made — a framework is selected, an architecture pattern is chosen, a migration strategy is decided — you create or update an ADR that captures the context, options considered, decision, and consequences.
ADRs are the institutional memory of the project. Six months from now, when someone asks "why did we choose PostgreSQL over MongoDB?" or "why are we using REST instead of GraphQL?", the ADR provides the answer with full context. They prevent re-litigating settled decisions and make the cost of reversing a decision visible.
You operate across the entire spec2cloud pipeline — from initial technology choices in greenfield Phase 1d, through brownfield migration decisions in Phase A, to implementation-time deviations in Phase 2. You are always available and should be invoked at every decision point.
| Phase | Decision Type | Example |
|---|---|---|
| Phase 1d (Tech Stack) | Technology choice | "Use Next.js for the frontend" |
| Phase 1d (Tech Stack) | Infrastructure choice | "Use Azure Container Apps" |
| Phase 1d (Tech Stack) | Database selection | "Use PostgreSQL with Prisma ORM" |
| Phase 2 Step 2 (Contracts) | API pattern | "Use REST with OpenAPI 3.1" |
| Phase 2 Step 2 (Contracts) | Auth pattern | "Use MSAL with Entra ID" |
| Phase 2 Step 3 (Implementation) | Convention deviation | "Deviate from repository pattern for X" |
| Any human gate | Direction change | "Switch from SSR to SPA after review" |
| Phase | Decision Type | Example |
|---|---|---|
| Phase A (Extraction) | Scope decision | "Exclude legacy admin module from migration" |
| Phase A (Assessment) | Path decision | "Modernize incrementally vs full rewrite" |
| Phase A (Assessment) | Migration approach | "Strangler fig pattern for API migration" |
| Phase A (Assessment) | Data migration | "Blue-green database cutover strategy" |
| Gap analysis | Architecture change | "Replace MVC with CQRS for order service" |
| Any human gate | Direction change | "Keep existing auth instead of migrating to Entra" |
Each ADR follows the structure defined in references/template.md. The
format is based on Michael Nygard's ADR standard, extended with a References
section for spec2cloud traceability.
| Field | Description | Required |
|---|---|---|
| Number | Sequential identifier: ADR-001, ADR-002, etc. | Yes |
| Title | Short, imperative decision statement | Yes |
| Status | proposed · accepted · deprecated · superseded | Yes |
| Date | ISO 8601 date of the decision | Yes |
| Context | Facts, constraints, and forces driving the decision | Yes |
| Options Considered | All viable options with pros and cons | Yes |
| Decision | What was decided and the primary rationale | Yes |
| Consequences | Positive and negative outcomes of the decision | Yes |
| References | Links to FRDs, assessments, external docs | No |
proposed → accepted → (deprecated | superseded)Superseded by: ADR-NNN
to the status line and create the new ADR with Supersedes: ADR-NNN.What question are we answering? Frame it as a clear, specific question:
The question should be answerable with a concrete choice.
Collect facts and constraints from extraction and assessment data:
Document only facts — not opinions or preferences. The context section should be understandable by someone who was not in the room.
For each viable option, document:
Use a comparison table for easy scanning:
| Criterion | Option A | Option B | Option C |
|-----------|----------|----------|----------|
| Performance | ✅ Sub-ms reads | ⚠️ 5-10ms reads | ✅ Sub-ms reads |
| Team experience | ✅ 3 years | ❌ None | ⚠️ 6 months |
| Azure integration | ✅ Native | ✅ Native | ❌ Self-hosted |
| Cost (monthly) | $50 | $120 | $0 (compute only) |State the decision clearly and concisely. Include:
Document both positive and negative consequences:
Positive consequences — What benefits does this decision provide?
Negative consequences — What trade-offs are we accepting?
Neutral consequences — What changes but is neither good nor bad?
After creating or updating an ADR, update .spec2cloud/state.json:
{
"adrs": [
{
"number": "ADR-001",
"title": "Use PostgreSQL for transactional data",
"status": "accepted",
"date": "2024-01-15",
"path": "specs/adrs/adr-001-use-postgresql.md"
}
]
}If an ADR supersedes another, update the superseded ADR's status in both the file and state.json.
Commit the ADR (and any state.json updates) with the message format:
[adr] ADR-NNN: {Title}
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>specs/
adrs/
adr-001-use-postgresql.md
adr-002-rest-over-graphql.md
adr-003-strangler-fig-migration.md
...adr-NNN-{slug}.md where:
NNN is zero-padded to 3 digits{slug} is a kebab-case summary of the decision (not the question)adr-007-use-entra-id-for-auth.mdADR numbers are sequential and never reused. If ADR-003 is deprecated, the next ADR is still ADR-004 (or whatever the next number is). Gaps in numbering are acceptable when ADRs are deprecated.
To determine the next number, read the adrs array from
.spec2cloud/state.json and increment the highest existing number.
ADRs are referenced by other artifacts throughout the pipeline:
| Artifact | How It References ADRs |
|---|---|
Tech stack (specs/tech-stack.md) | Each technology entry links to its ADR |
FRDs (specs/frd-*.md) | Architecture decisions affecting a feature link to ADRs |
Increment plan (specs/increment-plan.md) | Migration approach ADRs inform increment ordering |
Copilot instructions (.github/copilot-instructions.md) | Convention ADRs are summarized as instructions |
When creating ADRs, also update the referencing artifacts to include the ADR link. This ensures traceability in both directions.
Record decisions, not discussions. An ADR documents what was decided and why, not the meeting minutes. Keep it focused.
Options must be real. Do not list straw-man options that were never viable. Every option in the "Options Considered" section should be a genuine contender.
Consequences must be honest. Do not hide trade-offs. The value of an ADR is that it makes the cost of a decision visible. If a decision has significant downsides, document them.
Context is facts, not opinions. "Our team has 5 years of Python experience" is context. "Python is the best language" is not.
Never delete ADRs. Deprecated or superseded ADRs are marked as such but kept in the repository. They are historical records.
One decision per ADR. If two decisions are related but distinct (e.g., "use PostgreSQL" and "use Prisma ORM"), create two ADRs. They can reference each other.
Before finalizing an ADR:
adr-NNN-{slug}.md[adr] ADR-NNN: {Title}© EmeaAppGbb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .github/skills/adr of EmeaAppGbb/spec2cloud.
Open the folder on GitHubat commit 8e76618
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 |
|---|---|---|---|---|---|---|
| Adr this skillEmeaAppGbb/spec2cloud | 100 | — | ~2.6k | 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.
EmeaAppGbb/spec2cloud
Provision Azure infrastructure, deploy to Azure Container Apps, and verify via smoke tests.
EmeaAppGbb/spec2cloud
Generate API contracts, shared TypeScript types, and infrastructure resource definitions from Gherkin scenarios and test files.
EmeaAppGbb/spec2cloud
Create Domain-Driven Design proposals from product specs or brownfield extraction outputs.
EmeaAppGbb/spec2cloud
Write application code to make failing tests pass using contract-driven, slice-based architecture.
EmeaAppGbb/spec2cloud
Review PRDs and FRDs through product and technical lenses. An agent skill from EmeaAppGbb/spec2cloud.
EmeaAppGbb/spec2cloud
Read, write, and maintain .spec2cloud/state.json across phases and increments.
Categories
Generate and manage Architecture Decision Records (ADRs). An agent skill from EmeaAppGbb/spec2cloud. Adr is an agent skill from EmeaAppGbb/spec2cloud. Generate and manage Architecture Decision Records (ADRs).
Adr fits situations like: tasks that involve Architecture decision records.
Run `npx skills add EmeaAppGbb/spec2cloud --skill adr -a claude-code`. Or copy the skill folder (.github/skills/adr in EmeaAppGbb/spec2cloud) into .claude/skills/adr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EmeaAppGbb/spec2cloud --skill adr -a codex`. Or copy the skill folder (.github/skills/adr in EmeaAppGbb/spec2cloud) into .agents/skills/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 EmeaAppGbb/spec2cloud --skill 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/adr, .gemini/skills/adr, .github/skills/adr and .opencode/skills/adr in your project.
SKILL.md names no scripts, command-line tools or credentials: Adr 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.
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 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 429 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with 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.
EmeaAppGbb (a GitHub organization) maintains it in EmeaAppGbb/spec2cloud, which has 100 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on April 16, 2026.
Source: EmeaAppGbb/spec2cloud on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.