context-extract

Context Extract Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "context-extract" with this command: npx skills add yousufjoyian/claude-skills/yousufjoyian-claude-skills-context-extract

Context Extract Skill

CUMULATIVE context extraction - always appends, never overwrites.

Triggers

  • "extract context"

  • "save conversation"

  • "export context"

  • "dump context"

Core Principle: APPEND ONLY

Each extraction ADDS to existing context files. This builds a complete project history over time.

Output Structure

<project>/.claude/context/ ├── HISTORY.md # Cumulative session log (append-only) ├── DECISIONS.md # All decisions ever made (append-only) ├── DIRECTIONS.md # Direction changes and pivots (append-only) └── archive/ # Old files if manual cleanup needed └── HISTORY_pre_YYYY-MM-DD.md

Workflow

Step 1: Read Existing Context Files

PROJECT=$(basename $(pwd)) CONTEXT_DIR=~/local_workspaces/$PROJECT/.claude/context TIMESTAMP=$(date +%Y-%m-%d_%H%M)

mkdir -p $CONTEXT_DIR/archive

Read existing files to understand current state

cat $CONTEXT_DIR/HISTORY.md 2>/dev/null || echo "[No history yet]" cat $CONTEXT_DIR/DECISIONS.md 2>/dev/null || echo "[No decisions yet]" cat $CONTEXT_DIR/DIRECTIONS.md 2>/dev/null || echo "[No direction changes yet]"

Step 2: Detect Direction Changes

CRITICAL: Compare what was PLANNED vs what actually HAPPENED.

Check these sources for planned direction:

  • Previous HISTORY.md "Next Actions" section

  • CONTEXT.md "Resume" section

  • User's initial request this session

If work diverged from plan, document it in DIRECTIONS.md:

Direction Change: YYYY-MM-DD HH:MM

Original Plan: [What was supposed to happen]

What Actually Happened: [What we did instead]

Why the Pivot: [Reason - user request, blocker discovered, better approach found, etc.]

Impact: [What this means for the project going forward]

Step 3: Append to HISTORY.md

APPEND a new session block (never replace):


Session: YYYY-MM-DD HH:MM

Goal

[What this session aimed to accomplish]

Accomplished

  • Task 1
  • Task 2
  • [→] Task 3 (in progress)
  • Task 4 (not started)

Files Changed

  • path/file.ts - [what changed]
  • path/new.ts - NEW: [purpose]

Commands Run

[key commands only]

Errors &#x26; Solutions

- Error: [description]
Fix: [how resolved]

Next Actions

- [Priority 1]

- [Priority 2]

Notes

[Any context for future sessions]


### Step 4: Append to DECISIONS.md

**APPEND** any new decisions (check for duplicates first):

```markdown
---

## YYYY-MM-DD: [Decision Title]

**Context:** [Why this decision was needed]

**Options Considered:**
1. [Option A] - [pros/cons]
2. [Option B] - [pros/cons]

**Decision:** [What was chosen]

**Rationale:** [Why]

**Affected Files:** [list]

**Reversible:** [Yes/No - and how if yes]

Step 5: Append to DIRECTIONS.md (if applicable)

Only add if direction changed from what was planned:

---

## YYYY-MM-DD HH:MM: [Pivot Description]

**Was Planning To:** [original plan]

**Instead Did:** [what happened]

**Trigger:** [user request / blocker / discovery / better idea]

**Old Direction:**
[brief description of abandoned path]

**New Direction:**
[brief description of new path]

**Carryover:** [what from old direction still applies]

**Abandoned:** [what's being dropped]

Step 6: Git Commit

cd ~/local_workspaces/$PROJECT

git add .claude/context/

git commit -m "$(cat &#x3C;&#x3C;'EOF'
docs(context): Append session context YYYY-MM-DD HH:MM

- Added session to HISTORY.md
- [N] new decisions recorded
- [Direction change noted / No direction change]

Co-Authored-By: Claude Opus 4.5 &#x3C;noreply@anthropic.com>
EOF
)"

git push origin $(git branch --show-current) 2>/dev/null || echo "Push skipped"

Step 7: Confirm

Context appended successfully!

HISTORY.md:
  + Session YYYY-MM-DD HH:MM added
  Total sessions: [N]

DECISIONS.md:
  + [N] new decisions added
  Total decisions: [M]

DIRECTIONS.md:
  + Direction change recorded: [title]
  OR
  (no direction change this session)

Git: [commit hash] pushed to origin/main

Direction Change Detection

Ask yourself before extracting:

- What did CONTEXT.md say to do next?

- What did the user actually ask for?

- Did we do what was planned, or something different?

Common direction changes:

- User requested different feature mid-session

- Discovered blocker that required pivot

- Found better approach than originally planned

- Scope change (bigger or smaller)

- Priority shift (different feature first)

Always document WHY - future agents need to know the reasoning.

File Size Management

If HISTORY.md exceeds ~500 lines:

# Archive old content
mv $CONTEXT_DIR/HISTORY.md $CONTEXT_DIR/archive/HISTORY_pre_$(date +%Y-%m-%d).md

# Start fresh with reference
echo "# Project History (continued)

Previous history archived: archive/HISTORY_pre_$(date +%Y-%m-%d).md

---
" > $CONTEXT_DIR/HISTORY.md

Example: Direction Change Entry

---

## 2026-01-19 22:00: Gemini Migration Instead of Voice Improvements

**Was Planning To:** Improve voice input detection and add wake word support

**Instead Did:** Migrated Council backend from Claude CLI to Gemini API

**Trigger:** User request - provided detailed migration plan

**Old Direction:**
Voice UX improvements - better mic handling, wake word "Hey Claude"

**New Direction:**
Backend modernization - direct Gemini API, streaming, no subprocess

**Carryover:** Voice improvements still on roadmap, now lower priority

**Abandoned:** Nothing permanently - voice work deferred

Integration with Other Skills

Skill
Relationship

session-save

Quick ~250 token summary; context-extract is comprehensive history

onboard

Reads HISTORY.md and DECISIONS.md for full project context

synopsis

Visual snapshot; context-extract is text archive

Key Differences from session-save

Aspect
session-save
context-extract

Size
~250 tokens
Unlimited (cumulative)

Overwrites
Yes (CONTEXT.md)
Never (append only)

Purpose
Quick handoff
Full project memory

Direction tracking
No
Yes

Decision log
No
Yes

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

tesseract

No summary provided by upstream source.

Repository SourceNeeds Review
General

youtube-transcript

No summary provided by upstream source.

Repository SourceNeeds Review
General

folder

No summary provided by upstream source.

Repository SourceNeeds Review
General

context-manager

No summary provided by upstream source.

Repository SourceNeeds Review