CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/tool-selection-decision-record

Defines the output contract for writing down a chosen developer tool as a portable decision record: the observed project signal, exactly one primary recommendation, rationale that names the rejected alternative, what to read next, and a mandatory list of the conditions that would flip the choice. Adapts Architecture Decision Record conventions (context, decision, consequences, status, supersede rather than edit) to tool selection, and refuses any recommendation inferred from a README or a folder name instead of a manifest, lockfile, config file, or existing test directory. Distinct from a catalog or advisor that compares candidate tools on their merits: this owns the shape of the written record, not the comparison. Use when a tool has just been chosen (test framework, build tool, linter, package manager, migration tool) and the choice needs to be recorded so a later reader can see the signal, the rejected alternative, and what would reverse it.

75

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

adr-background.mdreferences/

ADR background and field mapping

Deep reference for the tool-selection-decision-record SKILL.md. How this record's eight fields map onto the canonical five-part Architecture Decision Record, and why the ADR Consequences field is split into two here. The spine keeps the field table and the four rules; this file carries the ADR provenance.

Canonical ADR shape

An ADR is "a document that captures an important architecture decision made along with its context and consequences" (joelparkerhenderson/architecture-decision-record), and the canonical five-part shape is Title, Context, Decision, Status, Consequences (Nygard, Documenting Architecture Decisions). A tool choice is a decision of exactly that kind: it "addresses a functional or non-functional requirement that is architecturally significant" (adr.github.io).

This record keeps the ADR skeleton and tightens three things generic ADR templates leave open: how many tools may be recommended (Rule 1), what counts as admissible evidence for the context (Rule 2), and whether the reversal conditions are optional (Rule 3).

How the fields map to a standard ADR

ADR field (Nygard)Field here
TitleTitle
StatusStatus
Context ("the forces at play")Signal, restricted to observed project evidence
DecisionDecision, restricted to one tool
Consequences ("all consequences ... not just the positive ones")Rationale (the why-not clause) plus Flip conditions

The split of Consequences into two fields is deliberate. Nygard requires that "all consequences should be listed here, not just the 'positive' ones" (source), and in practice tool records collapse to a list of benefits unless the negative half has its own heading with its own required content.

SKILL.md

tile.json