# Project Context Loader

> Load project conventions and generate session context. Use EXPLICITLY when needed, not automatically.

- Skill: `nguyenthienthanh/project-context-loader` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nguyenthienthanh/project-context-loader`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nguyenthienthanh/project-context-loader/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: nguyenthienthanh (https://skillmd.com/u/nguyenthienthanh)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nguyenthienthanh/project-context-loader

---


> **AI-consumed reference.** Optimized for Claude to read during execution.
> Human-readable explanation: see [docs/architecture/HIERARCHICAL_PLANNING.md](../../../docs/architecture/HIERARCHICAL_PLANNING.md)
> or [docs/getting-started/](../../../docs/getting-started/) depending on topic.


# Project Context Loader

Load project conventions and generate session context on demand.

---

## When to Use

**Before:** `/run`, code generation, refactoring, test writing.
**Skip:** Simple questions (no code), when `session-context.toon` already loaded.

---

## Loading Process

### 0. Host-Project Documents First (authoritative)

Before any cache or generated context, read the host project's own documentation — it is written by humans and overrides anything this skill infers:

| File | Priority |
|------|----------|
| `CLAUDE.md` (root) and/or `.claude/CLAUDE.md` | Highest — project instructions (per `rules/workflow/priority-hierarchy.md`) |
| `README.md` (root) | High — purpose, setup, run commands, structure |
| `CONTRIBUTING.md` (if present) | Conventions for changes |

Read them fully on first load of a session (they are usually short). On conflict between these and generated context below, **the host project's docs win** — refresh the cache instead of trusting it.

### 1. Check Cache
If `.claude/session-context.toon` exists and is recent (< 1 hour), use it.

### 2. Generate (If Missing)
Scan codebase for: file naming, import style, export pattern, error handling, testing framework, styling approach. Write to `.claude/session-context.toon`.

### 3. Load Project Config
From `.claude/project-contexts/[project]/`:

| File | When |
|------|------|
| `project-config.yaml` | Always |
| `conventions.md` | Always |
| `rules.md` | Always |
| `repo-map.md` | First task |
| `file-registry.yaml` | When modifying code |
| `architecture.md` | Architecture decisions |

### 4. Smart Loading

```toon
loading_strategy[4]{scenario,files_to_load}:
  Simple question,session-context.toon only
  Bug fix / small change,"session-context.toon + conventions.md + file-registry.yaml"
  New feature / refactor,All 7 files
  Architecture decision,"session-context.toon + architecture.md + repo-map.md"
```

**Token budget:** Simple ~200, Bug fix ~800, Full ~2000, Architecture ~1000.

---

## Session Context Template

```toon
project:
  name: {name}
  stack: {detected}

patterns[7]{type,convention,example}:
  file_naming,PascalCase,UserProfile.tsx
  imports,absolute @/,import { Button } from '@/components/Button'
  exports,named,export const UserCard = ...
  errors,result,return { ok: true, data }
  testing,vitest,describe('UserCard', () => ...)
  styling,tailwind,className="flex items-center"
  ...
```

---

## Commands

- `bash scripts/context-compress.sh` -- generate context
- `rm .claude/session-context.toon` -- force rescan

---

