Files
gh-overlord-z-claudeshack/skills/oracle
2025-11-30 08:46:50 +08:00
..
2025-11-30 08:46:50 +08:00
2025-11-30 08:46:50 +08:00
2025-11-30 08:46:50 +08:00
2025-11-30 08:46:50 +08:00
2025-11-30 08:46:50 +08:00
2025-11-30 08:46:50 +08:00

Oracle Skill

Project Memory & Learning System for Claude Code

Oracle is a sophisticated memory and learning system that tracks interactions, learns from corrections, maintains knowledge across sessions, and generates token-efficient context to prevent wasted effort and repeated mistakes.

The Problem

When working with LLMs across multiple sessions:

  • Context is lost between sessions
  • Mistakes repeat because corrections aren't remembered
  • Tokens are wasted explaining the same things
  • Knowledge doesn't compound - each session starts from zero
  • Patterns aren't detected - automation opportunities missed

The Solution

Oracle provides:

  • 📝 Session Recording - Track what happens, what works, what doesn't
  • 🧠 Learning from Corrections - When you correct Claude, it's remembered
  • 🔍 Smart Context Injection - Load only relevant knowledge when needed
  • 📊 Pattern Detection - Identify automation opportunities
  • 📈 Knowledge Compounding - Learning accumulates over time
  • 🤖 Auto-Script Generation - Automate repeated patterns

Quick Start

1. Initialize Oracle

python .claude/skills/oracle/scripts/init_oracle.py

This creates .oracle/ directory with knowledge management structure.

2. Record Your First Session

After working with Claude:

python .claude/skills/oracle/scripts/record_session.py --interactive

Answer prompts to record what you learned, what was corrected, decisions made.

3. Load Context Next Session

python .claude/skills/oracle/scripts/load_context.py

Oracle loads relevant knowledge so Claude starts context-aware.

4. Query Knowledge Anytime

python .claude/skills/oracle/scripts/query_knowledge.py "authentication"

Search the knowledge base for relevant information.

Core Features

🎯 Session Recording

Track every session's:

  • Activities and accomplishments
  • Files changed and why
  • Decisions made and rationale
  • Learnings and discoveries
  • Corrections and mistakes
  • Questions asked and answered

Usage:

# Interactive mode (recommended)
python .claude/skills/oracle/scripts/record_session.py --interactive

# Quick mode
python .claude/skills/oracle/scripts/record_session.py \
  --summary "Implemented auth" \
  --learnings "Use bcrypt not md5" \
  --corrections "innerHTML->textContent for user input"

🧠 Knowledge Management

Oracle maintains categorized knowledge:

Category Purpose Example
Patterns Code patterns, architecture decisions "Use factory pattern for DB connections"
Preferences Team/user style preferences "Prefer functional over OOP"
Gotchas Known issues, pitfalls "Connection pool must be closed"
Solutions Proven solutions "Use cursor-based pagination"
Corrections Mistakes to avoid "Don't use innerHTML with user input"

Usage:

# Search all knowledge
python .claude/skills/oracle/scripts/query_knowledge.py "database"

# Filter by category
python .claude/skills/oracle/scripts/query_knowledge.py --category gotchas

# Filter by priority
python .claude/skills/oracle/scripts/query_knowledge.py --priority critical

# Recent learnings
python .claude/skills/oracle/scripts/query_knowledge.py --recent 10

💡 Smart Context Injection

Oracle uses tiered context loading:

Tier 1 (Critical): Always load

  • Critical gotchas
  • Recent corrections
  • High-priority patterns

Tier 2 (Relevant): Load when relevant

  • Related patterns
  • Similar solutions
  • Contextual preferences

Tier 3 (Archive): Load on request

  • Full history
  • All solutions
  • Complete timeline

Usage:

# Session start context
python .claude/skills/oracle/scripts/generate_context.py --session-start

# Task-specific context
python .claude/skills/oracle/scripts/generate_context.py --task "implement API"

# Update claude.md
python .claude/skills/oracle/scripts/generate_context.py --output claude.md --update

🔍 Pattern Detection & Automation

Oracle analyzes sessions to find:

  • Repeated tasks → automation candidates
  • Common corrections → update defaults
  • Frequent queries → add to auto-inject
  • Token-heavy operations → create scripts

Usage:

# Analyze patterns
python .claude/skills/oracle/scripts/analyze_patterns.py

# Generate automation scripts
python .claude/skills/oracle/scripts/analyze_patterns.py --generate-scripts --threshold 3

Integration

claude.md Integration

Add Oracle context to claude.md:

## Project Knowledge (Oracle)

<!-- ORACLE_CONTEXT_START -->
<!-- Auto-generated - Run: python .claude/skills/oracle/scripts/generate_context.py --output claude.md --update -->
<!-- ORACLE_CONTEXT_END -->

Update it:

python .claude/skills/oracle/scripts/generate_context.py --output claude.md --update

Session Start Hook

Auto-load context at session start:

# Create hook
cat > .claude/hooks/session-start.sh << 'EOF'
#!/bin/bash
python .claude/skills/oracle/scripts/load_context.py
EOF

chmod +x .claude/hooks/session-start.sh

Git Hook Integration

Auto-track commits:

# Create post-commit hook
cat > .git/hooks/post-commit << 'EOF'
#!/bin/bash
python .claude/skills/oracle/scripts/record_commit.py
EOF

chmod +x .git/hooks/post-commit

See References/integration-guide.md for complete integration options.

Directory Structure

.oracle/
├── knowledge/
│   ├── patterns.json          # Code patterns
│   ├── preferences.json       # Team preferences
│   ├── gotchas.json          # Known issues
│   ├── solutions.json        # Proven solutions
│   └── corrections.json      # Historical corrections
├── sessions/
│   └── YYYY-MM-DD_HHMMSS_*.md  # Session logs
├── timeline/
│   └── project_timeline.md   # Chronological history
├── scripts/
│   └── auto_*.sh             # Generated automation
├── hooks/
│   └── *.sh                  # Integration hooks
├── index.json                # Fast lookup index
└── README.md                 # Oracle documentation

Scripts Reference

Script Purpose
init_oracle.py Initialize Oracle for a project
record_session.py Record session activities and learnings
query_knowledge.py Search knowledge base
generate_context.py Generate context summaries
analyze_patterns.py Detect patterns and automation opportunities
load_context.py Load context (for hooks)
record_commit.py Record git commits (for hooks)

Run any script with --help for detailed options.

Workflow Examples

Example 1: Daily Development

# Morning - load context
python .claude/skills/oracle/scripts/load_context.py

# Work with Claude...

# Evening - record session
python .claude/skills/oracle/scripts/record_session.py --interactive

Example 2: Bug Fix

# Search for related knowledge
python .claude/skills/oracle/scripts/query_knowledge.py "bug keywords"

# Fix bug with Claude...

# Record the fix
python .claude/skills/oracle/scripts/record_session.py \
  --summary "Fixed bug in authentication" \
  --learnings "Root cause was connection timeout - added retry logic"

Example 3: New Feature

# Get context for the feature
python .claude/skills/oracle/scripts/generate_context.py --task "user profile feature"

# Implement feature...

# Record decisions and patterns
python .claude/skills/oracle/scripts/record_session.py --interactive
# Document: decisions made, patterns used, learnings

Example 4: Weekly Maintenance

# Analyze for patterns
python .claude/skills/oracle/scripts/analyze_patterns.py --generate-scripts

# Review knowledge base
python .claude/skills/oracle/scripts/query_knowledge.py --summary

# Update claude.md
python .claude/skills/oracle/scripts/generate_context.py --output claude.md --update

Best Practices

1. Record Sessions Immediately

Don't wait - record while details are fresh.

2. Be Specific in Corrections

"That's wrong" "Don't use innerHTML -> use textContent to prevent XSS"

3. Use Consistent Tags

Review existing tags before creating new ones.

4. Prioritize Ruthlessly

  • Critical: Security, data loss, breaking issues
  • High: Important patterns, frequent gotchas
  • Medium: Helpful solutions, preferences
  • Low: Nice-to-know, historical context

5. Leverage Automation

When Oracle suggests automation, implement it.

6. Review Monthly

Knowledge bases get stale - review and update regularly.

7. Integration is Key

Set up hooks so Oracle works automatically.

Philosophy

"What is learned once should never be forgotten. What works should be remembered. What fails should be avoided."

Oracle operates on:

  • KISS: Simple, readable formats
  • Token Efficiency: Dense storage, strategic recall
  • Learning from Feedback: Adapt when corrected
  • Progressive Recall: Load what's needed, when needed
  • Human-Readable: No special tools required

Success Indicators

Oracle is working when:

  • Similar questions get "I remember we..."
  • Corrections don't repeat
  • Context is relevant without asking
  • Knowledge base grows steadily
  • Scripts reduce repetitive tasks
  • Timeline shows clear project evolution

Warning signs:

  • Same corrections repeating
  • Duplicate knowledge entries
  • Irrelevant context injections
  • No automation scripts generated
  • Timeline has gaps

Documentation

  • SKILL.md: Full skill definition and workflows
  • References/knowledge-schema.md: Knowledge entry structure
  • References/session-log-template.md: Session recording template
  • References/integration-guide.md: Integration options and patterns
  • References/pattern-library.md: Common patterns and anti-patterns

Troubleshooting

Context Not Loading

# Check Oracle exists
ls -la .oracle/

# Test manually
python .claude/skills/oracle/scripts/load_context.py --verbose

Knowledge Not Relevant

# Use task-specific context
python .claude/skills/oracle/scripts/generate_context.py --task "specific task"

# Review and update tags
python .claude/skills/oracle/scripts/query_knowledge.py --category patterns

Too Much Context

# Use tier 1 only (critical)
python .claude/skills/oracle/scripts/generate_context.py --tier 1

# Review priorities
python .claude/skills/oracle/scripts/query_knowledge.py --priority critical

Use Cases

Solo Developer

  • Track personal learnings
  • Build institutional knowledge
  • Automate repeated tasks
  • Prevent repeating mistakes

Team Project

  • Share knowledge via git
  • Onboard new members
  • Maintain consistency
  • Document tribal knowledge

Open Source

  • Help contributors understand patterns
  • Document decisions and rationale
  • Reduce repetitive questions
  • Build comprehensive knowledge base

Learning New Technology

  • Record discoveries
  • Track corrections
  • Build reference materials
  • Compound knowledge over time

Examples

See Assets/ directory for:

  • Example knowledge entries
  • Sample session logs
  • Generated automation scripts

Contributing

Oracle is part of ClaudeShack. Improvements welcome!

  • Suggest new patterns
  • Propose script enhancements
  • Share successful workflows
  • Report issues

Version

Oracle v1.0

  • Initial release
  • Core knowledge management
  • Session recording
  • Pattern detection
  • Context generation
  • Automation script generation

"Remember everything. Learn from mistakes. Never waste context."