User Input
$ARGUMENTS
Purpose
ADRs are binding architectural context for dotCMS and live only in the private repo
dotCMS/platform-adrs. This skill surfaces the ADRs relevant to the work being planned so
they are used as input to the plan. It is invoked automatically as a before_plan hook
(see .specify/extensions.yml) and can also be run manually.
This skill is read-only. It NEVER creates, edits, or commits an ADR. ADRs are authored
only in dotCMS/platform-adrs via its own new-adr.sh process. Spec-Kit may only propose
an ADR (recorded in the plan's "Proposed ADRs" section).
Steps
Derive keywords. Use
$ARGUMENTSif provided. Otherwise read the current feature spec (from.specify/feature.json→feature_directory→spec.md) and extract keywords: affected subsystem, technologies, data stores (e.g.search,elasticsearch,workflow,content-drive,rest,permissions), and whether it touches legacycom.dotmarketing.*.Run the lookup (read-only; always exits 0):
.specify/scripts/bash/adr-context.sh <keyword> <keyword> ...If it reports a network/permission problem, tell the user to check
gh auth statusand reviewdotCMS/platform-adrs/INDEX.mdmanually — then continue (do not block planning).For each promising match, optionally read the ADR body for detail:
gh api repos/dotCMS/platform-adrs/contents/decisions/<file>.md -q .content | base64 -dPay attention to status: treat
acceptedADRs as binding; noteproposedones as directional.Summarize for the plan. Emit a short list the
/speckit-planstep will fold into the plan's ADR Alignment (Gate) section:- Relevant ADRs (id, title, status, link, one-line relevance).
- Any likely conflict with an accepted ADR (must be resolved in the plan).
- Candidate proposals if the work implies a new decision — as proposals only.
Reminder to the planner: fill the plan's ADR Alignment section from this output. Do not create any ADR. New decisions are proposed, then authored separately in
dotCMS/platform-adrs.