context-and-decisions
Helps your agent organize domain context with clear documents. It separates important terms and decisions, preventing confusion. Useful when technical terms need explanation or have multiple meanings.
What it does
This tool helps organize and explain the meanings of important project terms. It also directs complex decisions to an existing decision-logging system.
When to use it
- ✓When technical terms need repeated explanation.
- ✓When a word has multiple meanings within the project.
- ✓When important, hard-to-reverse decisions need to be recorded.
Example of what to ask your AI
“Explain what 'active customer' means in this project and log the decision on how to handle late payments.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It first looks for term explanations in existing documents. If none are found, it creates a file to record meanings. Important decisions are sent to another logging system.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add affaan-m/ECC --skill context-and-decisionsOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/context-and-decisions/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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:
- Read and execute
architecture-decision-records, preserving the repository's existing ADR location and format. - If no convention exists, let that skill choose the minimum viable location; do not create a separate system here.
- Link to the ADR from
CONTEXT.md, the project map, or the relevant Spec/Issue instead of copying the decision body. - 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
- Reuse the mapped context or glossary artifact when one exists; create
CONTEXT.mdonly when no equivalent source of truth is available. - Record precise domain definitions, relationships, confirmed interpretations, and explicitly unconfirmed ambiguities without mixing in implementation or task state.
- Route durable tradeoffs to
architecture-decision-recordsand link the resulting ADR instead of copying its rationale into context documents. - 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 confirmationuntil 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.
FAQ
What should I not put in this document?
Do not include implementation details, task schedules, full requirements, or decision history. Keep this information in other places like code, task trackers, or decision records.
What is an 'ADR'?
ADR stands for 'Architecture Decision Record'. It's a document explaining an important, hard-to-reverse decision about how something in the project was built or decided.
When should I create a new context file?
Create a new context file only if there isn't an existing glossary or domain model document in the project to explain the terms.
Details
Original description by the author
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.
repo: affaan-m/ECC
Popularity
- GitHub stars
- 280k
- Ranking position
- #29
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
academy-guide
Has your agent recommend courses and tutorials for learning Claude. It's useful when you have questions about how to use Claude or its products.
anthropics/skills
claude-api
Provides information about the Claude API, like models, pricing, and settings. It's useful for developers using the Claude API in their projects.
anthropics/skills
ponytail-help
Provides a quick guide on how to use tools and commands. It helps to understand the available functionalities.
DietrichGebert/ponytail