mine.adrs

Create and maintain Architecture Decision Records (ADRs) for significant project decisions. Tracks context, choices, consequences, and alternatives.

16 stars

Best use case

mine.adrs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Create and maintain Architecture Decision Records (ADRs) for significant project decisions. Tracks context, choices, consequences, and alternatives.

Teams using mine.adrs should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/mine.adrs/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/mine.adrs/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/mine.adrs/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How mine.adrs Compares

Feature / Agentmine.adrsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Create and maintain Architecture Decision Records (ADRs) for significant project decisions. Tracks context, choices, consequences, and alternatives.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Architecture Decision Records

Lightweight system for recording significant architectural and technical decisions.

## When to Activate

- Making architecture or design pattern choices
- Selecting technologies, libraries, or frameworks
- Planning major refactors that change system structure
- Changing infrastructure or deployment strategies
- Introducing breaking changes to APIs or data models

## ADR Template

```markdown
# ADR-NNNN: Title

## Status
Accepted

## Context
What is the issue or situation that requires a decision? Include relevant
constraints, requirements, and forces at play.

## Decision
What is the change that we're proposing and/or doing? State the decision
clearly and concisely.

## Consequences
What becomes easier or harder as a result of this decision? Include both
positive and negative consequences.

## Alternatives Considered
What other options were evaluated? Why were they rejected? Keep it brief
but include the key trade-offs.
```

## Directory Convention

The recommended location is `design/adrs/`:

```
design/adrs/
├── 0001-use-sqlite-for-persistence.md
├── 0002-adopt-command-pattern.md
└── ...
```

ADRs are numbered sequentially and append-only — superseded decisions get a `Superseded by: ADR-NNN` status, not deleted.

## Relationship with Research and Audits

ADRs sit in a workflow with research briefs and audits:

1. **Research** (`/mine.research`) explores the problem space and evaluates options
2. **ADR** records the chosen option and why
3. Research prereqs then guide the implementation of that decision

A research brief without a corresponding ADR means the work is still exploratory. An ADR without a research brief means the decision was straightforward enough not to need one.

**Audits** (`/mine.audit`) are backward-looking assessments that may surface issues requiring architectural decisions — those decisions get recorded as ADRs.

## Workflow

### Creating a New ADR

1. Check existing ADRs: `ls design/adrs/` (or `adrs/`) to find the next sequence number
2. Create the directory if it doesn't exist
3. Name the file: `NNNN-kebab-case-title.md` (zero-padded, e.g., `0001`)
4. Fill in all sections — Context and Alternatives are the most valuable parts
5. Set Status to `Accepted`

### Updating an Existing ADR

- **Superseded**: When a new ADR replaces an old one, update the old ADR's Status to `Superseded by ADR-XXXX` and link to the new one
- **Deprecated**: When a decision is reversed without replacement, set Status to `Deprecated` and add a note explaining why

### What Makes a Good ADR

**Good titles** describe the decision, not the problem:
- "Use PostgreSQL for persistence" (not "Database choice")
- "Adopt event sourcing for order processing" (not "Order system design")
- "Switch from REST to GraphQL for client API" (not "API refactor")

**Good context** explains the forces and constraints:
- What problem are we solving?
- What constraints exist (team size, timeline, existing tech)?
- What quality attributes matter most (performance, maintainability)?

**Good consequences** are honest about trade-offs:
- What do we gain?
- What do we lose or accept as a cost?
- What new risks or complexities does this introduce?

## Status Values

| Status | Meaning |
|--------|---------|
| `Accepted` | Decision is active and in effect |
| `Superseded by ADR-XXXX` | Replaced by a newer decision |
| `Deprecated` | Decision reversed, no longer applies |

## Example

```markdown
# ADR-0001: Use SQLite for Local Development Database

## Status
Accepted

## Context
The application needs a local database for development and testing.
Developers use different operating systems and we want minimal setup
friction. Production uses PostgreSQL.

## Decision
Use SQLite for local development and testing environments. Production
will continue to use PostgreSQL. We will use an ORM abstraction layer
to minimize database-specific code.

## Consequences
- Easier onboarding: no database server installation needed
- Faster test execution: in-memory SQLite for unit tests
- Risk of subtle behavior differences between SQLite and PostgreSQL
- Must avoid PostgreSQL-specific features in application code

## Alternatives Considered
- **Docker PostgreSQL**: Closer to production but adds Docker dependency
  and slower test startup. Rejected for development friction.
- **In-memory data structures**: Simplest but no SQL testing. Rejected
  because we need to test query logic.
```

Related Skills

minecraft-bukkit-pro

16
from diegosouzapw/awesome-omni-skill

Master Minecraft server plugin development with Bukkit, Spigot, and

managing-adrs

16
from diegosouzapw/awesome-omni-skill

Create and manage Architecture Decision Records (ADRs) with auto-numbering, template detection, and index maintenance. Use when user mentions "ADR", "architecture decision", "document this decision", "create ADR", editing ADR files (docs/adr/, doc/adr/, .adr/), or discussing architectural choices and tradeoffs.

create-adrs

16
from diegosouzapw/awesome-omni-skill

Create Architecture Decision Records (ADRs) documenting strategic technical decisions while acknowledging ecosystem E(t) constraints. Use when choosing cloud providers, languages, frameworks, databases, or architectural patterns.

1-determine-techstack

16
from diegosouzapw/awesome-omni-skill

Determine the type of project and summarize the tech stack. Your summary should include:

qwen_training_data_miner_prototype

16
from diegosouzapw/awesome-omni-skill

Qwen Training Data Miner (Prototype)

analyze-silver-miner-metal-ratio

16
from diegosouzapw/awesome-omni-skill

以「銀礦股價格 ÷ 白銀價格」的相對比率衡量礦業股板塊相對於金屬本體的估值區間(偏貴/偏便宜),並用歷史分位數與類比區間推導「底部/頂部」訊號與情境推演。

templar-miner-claude-skill

16
from diegosouzapw/awesome-omni-skill

This skill should be used when setting up, optimizing, or managing Templar AI miners on Bittensor Subnet 3 (netuid 3). Use it for tasks involving miner configuration, performance optimization, troubleshooting gradient scoring issues, managing Bittensor wallets with btcli, monitoring miner metrics, renting GPUs via Basilica for mining operations, or strategizing to achieve top miner ranking in the Templar decentralized training network. Integrates seamlessly with the basilica-cli-helper skill for GPU rentals.

ore-miner

16
from diegosouzapw/awesome-omni-skill

Autonomous ORE mining on Solana via refinORE. Onboard humans, start/stop sessions, optimize tile strategies, track P&L, manage risk, auto-restart, multi-coin mining (SOL/USDC/stablecoins), DCA/limit orders, staking.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

testing-builder

16
from diegosouzapw/awesome-omni-skill

Automatically generates comprehensive test suites (unit, integration, E2E) based on code and past testing patterns. Use when user says "write tests", "test this", "add coverage", or after fixing bugs to create regression tests. Eliminates testing friction for ADHD users.

Testing Anti-Patterns

16
from diegosouzapw/awesome-omni-skill

This skill should be used when encountering "flaky tests", "test maintenance issues", "slow test suites", "brittle tests", "test code smells", "test debugging problems", or when tests are hard to understand, maintain, or debug.

testcontainers-integration-tests

16
from diegosouzapw/awesome-omni-skill

Use when integration tests require real infrastructure (database, message queue, cache) or when mocking infrastructure is insufficient. Defines container lifecycle, test isolation, and performance optimization for Testcontainers-based testing.