Skip to content
Back to skills

Establishing Project Context

ASecurity

Use when entering a project for the first time, or when the user asks to establish shared language, define domain terms, or create a project glossary.

  • 9 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
code-qualitygodebuggingcode-reviewdocumentation

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add Undermybelt/hermes-skills --skill establishing-project-context --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Establishing Project Context?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Establishing Project Context
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/undermybelt-establishing-project-context/badge)](https://www.skillsdirectory.com/skills/undermybelt-establishing-project-context)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: establishing-project-context
description: Use when entering a project for the first time, or when the user asks to establish shared language, define domain terms, or create a project glossary.
---

# Establishing Project Context

## Overview

Maintain a `CONTEXT.md` file at the project root that defines the project's domain language — a single source of truth for terminology shared between the agent and the human. Borrowed from Domain-Driven Design's "ubiquitous language" principle.

CONTEXT.md is about the user's project domain, NOT about Aegis governance. For Aegis governance docs, see `docs/current/` and `docs/adr/`.

## Where CONTEXT.md Lives

- **Single project**: `<project_root>/CONTEXT.md`
- **Monorepo / multiple bounded contexts**: `<project_root>/CONTEXT-MAP.md` maps context names to their locations:

  ```
  ordering → src/ordering/CONTEXT.md
  billing  → src/billing/CONTEXT.md
  ```

  System-wide terms still go in root `CONTEXT.md`.

Create files lazily — only when you have something to write.

## When to Use

**On first entering a project:**

1. Check if `CONTEXT.md` (or `CONTEXT-MAP.md`) exists
2. If not, ask briefly: "Want me to set up a shared language glossary for this project?"
3. If yes, start with 3-5 core domain terms, then iterate

**During brainstorming / planning / debugging:**

- When user uses a vague or overloaded term, propose a precise canonical term
- Check against existing CONTEXT.md glossary before proposing
- Write each term resolution immediately — don't batch

## CONTEXT.md Format

See `CONTEXT-FORMAT.md` in this directory for the canonical template.

Key rules:
- Only include terms meaningful to domain experts
- Don't couple CONTEXT.md to implementation details
- Each term: name, one-sentence definition, and what to avoid calling it
- Record resolved ambiguities so they aren't re-litigated

## Integration with Aegis Workflows

- **brainstorming**: Reads CONTEXT.md in Step 1 (Explore project context), tightens terminology during Step 4 (Ask clarifying questions)
- **writing-plans**: Uses CONTEXT.md terms in plan task descriptions
- **systematic-debugging**: References CONTEXT.md for canonical component names

## Boundary: CONTEXT.md vs baseline/

CONTEXT.md and `docs/aegis/baseline/` serve different purposes:

| | CONTEXT.md | baseline/ |
|---|-----------|-----------|
| What | Domain language, ubiquitous terminology | Technical architecture snapshot |
| Audience | Domain experts + agents | Agents + developers |
| Content | Terms, definitions, resolved ambiguities | Ownership, contracts, dependencies, anti-patterns |
| Updates | Immediately on term resolution | After architecture review or material change |
| Trigger | establishing-project-context skill | brainstorming, writing-plans, code-review, systematic-debugging |

Do NOT put implementation details in CONTEXT.md.
Do NOT put domain glossary terms in baseline/.

## Red Flags

- Don't turn CONTEXT.md into architecture documentation (that's ADRs)
- Don't add implementation details (class names, file paths, config keys)
- Don't batch term updates — write immediately when resolved
- Don't create CONTEXT.md without user consent

Files in this skill

  • CONTEXT-FORMAT.md967 B
  • SKILL.md3.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…