DO NOT invoke directly - loaded automatically by ALL agents via frontmatter in cc10x-router workflows. MANDATORY skill loaded at start and updated at end of EVERY workflow. Persists context, learnings, decisions, and progress to .claude/cc10x/ folder. Without this, context is lost on compaction. Agents are invoked through cc10x-router workflows (BUILD/REVIEW/DEBUG/PLAN) - do not invoke agents or this skill directly.
/plugin marketplace add romiluz13/cc10x/plugin install cc10x@cc10xThis skill is limited to using the following tools:
EVERY WORKFLOW MUST:
1. LOAD memory at START (and before key decisions)
2. UPDATE memory at END (and after learnings/decisions)
If memory is not loaded: You work blind, repeat mistakes, lose context. If decisions made without checking memory: You contradict prior choices, waste effort.
If memory is not updated: Next session loses everything learned. If learnings not recorded: Same mistakes will be repeated.
BOTH SIDES ARE NON-NEGOTIABLE.
"My memory resets between sessions. The Memory Bank is my ONLY link to previous work."
Without memory persistence:
Memory is the difference between an expert who learns and a novice who forgets.
.claude/
└── cc10x/
├── activeContext.md # Current focus + learnings + decisions (MOST IMPORTANT)
├── patterns.md # Project patterns, conventions, gotchas
└── progress.md # What works, what's left, verification evidence
Current state of work - ALWAYS check this first:
# Active Context
## Current Focus
[What we're actively working on RIGHT NOW]
## Recent Changes
- [Change 1] - [file:line]
- [Change 2] - [file:line]
## Next Steps
1. [Immediate next action]
2. [Following action]
3. [After that]
## Active Decisions
| Decision | Choice | Why |
|----------|--------|-----|
| [Decision 1] | [What we chose] | [Reasoning] |
| [Decision 2] | [What we chose] | [Reasoning] |
## Learnings This Session
- [Insight 1]: [What we learned]
- [Insight 2]: [What we learned]
## Blockers / Issues
- [Blocker 1]: [Status]
## User Preferences Discovered
- [Preference]: [Details]
## Last Updated
[timestamp]
Project-specific knowledge that persists:
# Project Patterns
## Architecture Patterns
- [Pattern]: [How this project implements it]
## Code Conventions
- [Convention]: [Example]
## File Structure
- [File type]: [Where it goes, naming convention]
## Testing Patterns
- [Test type]: [How to write, where to put]
## Common Gotchas
- [Gotcha]: [How to avoid / solution]
## API Patterns
- [Endpoint pattern]: [Convention used]
## Error Handling
- [Error type]: [How project handles it]
## Dependencies
- [Dependency]: [Why used, how configured]
What's done, what's not:
# Progress Tracking
## Current Workflow
[PLAN | BUILD | REVIEW | DEBUG]
## Completed
- [x] [Task 1] - [verification evidence]
- [x] [Task 2] - [verification evidence]
## In Progress
- [ ] [Task 3] - [current status]
## Remaining
- [ ] [Task 4]
- [ ] [Task 5]
## Verification Evidence
| Check | Command | Result |
|-------|---------|--------|
| Tests | `npm test` | exit 0 (34/34) |
| Build | `npm run build` | exit 0 |
## Known Issues
- [Issue 1]: [Status]
## Evolution of Decisions
- [Date]: [Decision changed from X to Y because Z]
| Trigger | Action | Why |
|---|---|---|
| Session start | Load ALL 3 files | Fresh context needed |
| Workflow start | Load ALL 3 files | Before BUILD/REVIEW/DEBUG/PLAN |
| Continuation session | Load ALL 3 files | Resume from where we left |
| User says "continue" | Load activeContext.md | Get current state |
| Before This Action | Read This File | Why |
|---|---|---|
| Making architectural decision | patterns.md | Check existing patterns |
| Choosing implementation approach | patterns.md + activeContext.md | Align with conventions + prior decisions |
| Starting to build something | progress.md | Check if already done |
| Debugging an error | activeContext.md + patterns.md | May have seen before + known gotchas |
| Planning next steps | progress.md | Know what's remaining |
| Reviewing code | patterns.md | Apply project conventions |
| Making any decision | activeContext.md (Active Decisions table) | Check prior decisions |
| Situation | Action | Why |
|---|---|---|
| User references "what we did" | Load activeContext.md | Get history |
| You're about to repeat work | Load progress.md | Check if done |
| You're unsure of convention | Load patterns.md | Project standards |
| Error seems familiar | Load patterns.md (Common Gotchas) | Known issues |
| Decision feels arbitrary | Load activeContext.md | Prior reasoning |
What do I need? → Which file?
─────────────────────────────────────────
Current state / focus → activeContext.md
Prior decisions + reasoning → activeContext.md (Active Decisions)
What we learned → activeContext.md (Learnings)
Project conventions → patterns.md
How to structure code → patterns.md
Common gotchas to avoid → patterns.md
What's done / remaining → progress.md
Verification evidence → progress.md
Before ANY decision, ask:
If memory has relevant info:
If memory is empty/irrelevant:
# MUST run before ANY work
echo "=== LOADING MEMORY ==="
mkdir -p .claude/cc10x
# Load active context (CRITICAL)
if [ -f .claude/cc10x/activeContext.md ]; then
echo "--- Active Context ---"
cat .claude/cc10x/activeContext.md
else
echo "No active context found - starting fresh"
fi
# Load patterns
if [ -f .claude/cc10x/patterns.md ]; then
echo "--- Patterns ---"
cat .claude/cc10x/patterns.md
else
echo "No patterns found"
fi
# Load progress
if [ -f .claude/cc10x/progress.md ]; then
echo "--- Progress ---"
cat .claude/cc10x/progress.md
else
echo "No progress found"
fi
echo "=== MEMORY LOADED ==="
MUST update before completing ANY workflow:
# Update active context with current state
cat > .claude/cc10x/activeContext.md << 'EOF'
# Active Context
## Current Focus
[What we just finished / what's next]
## Recent Changes
- [Changes made this session]
## Next Steps
1. [What to do next]
## Active Decisions
| Decision | Choice | Why |
|----------|--------|-----|
| [Decisions made] | [Choice] | [Reason] |
## Learnings This Session
- [What we learned]
## Last Updated
[current date/time]
EOF
echo "Memory updated successfully"
# Append new pattern to patterns.md
cat >> .claude/cc10x/patterns.md << 'EOF'
## [Category]
- [Pattern]: [Details learned]
EOF
# Update progress.md with completion status
# Include verification evidence!
ALL agents MUST:
Failure to update memory = incomplete work.
If you catch yourself:
If you catch yourself:
STOP. Load/update memory FIRST.
| Excuse | Reality |
|---|---|
| "I know what we decided" | You might not. Check the Active Decisions table. |
| "No patterns yet" | Check anyway. Absence of pattern is also info. |
| "Fresh project" | Still load - may have user preferences recorded. |
| "I just read it" | Conversation may have compacted. Re-read to be sure. |
| "Quick question, no need" | Quick questions often need prior context. |
| Excuse | Reality |
|---|---|
| "Small task, no need" | Small tasks have context too. Always update. |
| "I'll remember" | You won't. Conversation compacts. Write it down. |
| "Takes too long" | 30 seconds to save vs losing hours of context. |
| "Memory is optional" | Memory is MANDATORY. No exceptions. |
| "Already in conversation" | Conversation gets compacted. Files persist. |
| "Just this once skip" | One skip = lost context = repeated mistakes. |
Cannot check all boxes? Memory cycle incomplete. Fix before continuing.
START → Load Memory → Do Work → Update Memory → END
↑ ↑ ↑
MANDATORY Check before MANDATORY
decisions
The Full Cycle:
1. LOAD all memory (START)
2. CHECK memory before decisions (DURING)
3. UPDATE memory with learnings (END)
Memory persistence is not a feature. It's a requirement.
Your effectiveness depends entirely on memory accuracy. Treat it with the same importance as the code itself.
READ without WRITE = Stale memory. WRITE without READ = Contradictory decisions. Both are equally critical.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.