Skip to content

/context-and-decisions

Govern stable domain context with a narrowly scoped CONTEXT.md when needed, and route hard-to-reverse decisions to ECC's existing architecture-decision-records skill. Use when domain terms require repeated explanation, one term has multiple meanings, unclear language causes

BOOST
From plugin
ecc
277k200 skills71 agents112 commands8 hooks
+1
Install
$ npx -y skills add affaan-m/ECC --skill context-and-decisions --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/context-and-decisions

Context preview

The summary Claude sees to decide when to auto-load this skill.

Govern stable domain context with a narrowly scoped CONTEXT.md when needed, and route hard-to-reverse decisions to ECC's existing architecture-decision-records skill. Use when domain terms require repeated explanation, one term has multiple meanings, unclear language causes

SKILL.md

context-and-decisions.SKILL.md
name: context-and-decisions
description: >-
  Govern stable domain context with a narrowly scoped CONTEXT.md when needed, and route hard-to-reverse decisions to ECC's existing architecture-decision-records skill. Use when domain terms require repeated explanation, one term has multiple meanings, unclear language causes module-boundary mistakes, or domain semantics must remain separate from architecture decisions.

Domain Context and Decision Handoff

Govern “what these business terms mean” separately from “why this option was chosen.” Do not create an empty shell when no stable content exists.

Domain Context Artifact: Domain Language Only

When terms require repeated explanation, one term has multiple meanings, or unclear language causes module-boundary errors, first reuse the repository's existing glossary/domain-model document or the `context` role in `.governance/docs-map.json`. Only when no equivalent exists should you lazily create the default `CONTEXT.md` from `templates/context.example.md`.

Record only:

  • domain terms and precise definitions;
  • relationships among core concepts;
  • confirmed ambiguities and the chosen interpretation;
  • ambiguities still awaiting confirmation from a domain owner.

Do not include implementation details, current state, task schedules, full requirements, decision rationale, or history. Keep those in code/MAP, STATUS/Issue Tracker, Spec, ADR, and LOG respectively. Terms must be traceable to code, contracts, or business evidence. Mark unconfirmed items as `needs confirmation`; do not guess.

ADR Handoff: Reuse the Existing Capability

This skill does not define a second ADR directory, numbering scheme, lifecycle, or template. When a decision is hard to reverse, would confuse a future reader without context, and involves a real tradeoff:

1. Read and execute `architecture-decision-records`, preserving the repository's existing ADR location and format. 2. If no convention exists, let that skill choose the minimum viable location; do not create a separate system here. 3. Link to the ADR from `CONTEXT.md`, the project map, or the relevant Spec/Issue instead of copying the decision body. 4. When a decision is accepted, superseded, or deprecated, append an event to project history according to the living-document rules.

Routine implementation details, easily reversible changes, and short-lived experiments do not need ADRs.

When to Activate

  • Domain terms are repeatedly re-explained or ambiguous language causes implementation drift.
  • The project needs a stable domain-language entry point but has no equivalent document.
  • Context work uncovers a durable decision that should be handed to `architecture-decision-records`.

When to Use

Use this skill when stable domain language needs one evidence-backed home, or when context work reveals a hard-to-reverse decision that belongs in the repository's existing ADR system.

How It Works

1. Reuse the mapped context or glossary artifact when one exists; create `CONTEXT.md` only when no equivalent source of truth is available. 2. Record precise domain definitions, relationships, confirmed interpretations, and explicitly unconfirmed ambiguities without mixing in implementation or task state. 3. Route durable tradeoffs to `architecture-decision-records` and link the resulting ADR instead of copying its rationale into context documents. 4. Keep schedules, blockers, and execution status in the existing issue tracker.

Examples

  • Define an overloaded business term once and link it to the code or contract that proves its meaning.
  • Mark a domain interpretation as `needs confirmation` until a domain owner resolves it.
  • Hand off a durable storage or boundary decision to the existing ADR workflow and link it from the context artifact.

Anti-Patterns

  • Copying current tasks, schedules, full requirements, or implementation details into `CONTEXT.md`.
  • Creating empty context files or a second ADR system for completeness.
  • Treating unconfirmed domain interpretations as facts, or copying ADR bodies into maps and logs.

Related Skills

  • `architecture-decision-records`: the sole ADR methodology for hard-to-reverse decisions.
  • `living-docs-governance`: lifecycle maintenance for the project map, status, and history.
  • `docs-governance`: cross-capability routing and closeout order.

Scheduling and Task Boundary

Keep tasks, status, blockers, and schedules in the project's existing tracker, such as GitHub Issues or Linear, as the single source of truth. Use local `.scratch/` only when no external tracker exists and the project explicitly adopts it. Do not put schedules in `CONTEXT.md`, ADRs, PROJECT_STATUS, or the history index database.

Read more
Ships withecc

Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills

Get the whole plugin, auto-invoked

Other skills on ecc.