plugins/claude-code-expert/skills/cc-second-brain/SKILL.md
Manage the three-tier memory system (engram + Obsidian vault + plugin rules) for Claude Code setups. Use this skill whenever saving CC-setup findings, consolidating engram into durable knowledge, writing repo docs to the Obsidian vault, or running /cc-memory subcommands. Triggers on phrases like "save this pattern", "promote to memory", "update the vault", "consolidate memory", "write an ADR", and whenever work on CC plugins, hooks, agents, skills, or autonomy profiles concludes.
npx skillsauth add markus41/claude cc-second-brainInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Three-tier memory: engram (working) + Obsidian vault (durable) + plugin rules (baseline). Full separation-of-concerns in conventions.md and topic-key-taxonomy.md.
Did work just conclude?
│
├─ Is it a one-off observation, decision, or discovery?
│ └─ YES → engram (tier 1) — mem_save with CC topic_key (see taxonomy)
│
├─ Is it a reusable pattern (used or useful in ≥ 2 repos)?
│ └─ YES → Obsidian (tier 2) — Research/Claude-Code/Patterns/{slug}.md
│ with frontmatter auto_generated: false if user-curated
│
├─ Is it repo-specific durable knowledge?
│ └─ YES → Obsidian (tier 2) — Repositories/{org}/{repo}.md
│ or Decisions/NNNN-title.md for ADRs
│
└─ Is it a rule every consumer-repo Claude should follow?
└─ YES → plugin rules (tier 3) — memory/rules/cc-always.md
(only the plugin maintainer edits this)
Call mem_save with CC topic_key. See topic-key-taxonomy.md for full prefix table.
Required: title, content (What/Why/Where/Learned format).
Recommended: topic_key starting with cc/*, type (decision/bugfix/architecture/discovery/pattern/config/preference), scope (project or personal).
Examples:
mem_save({
title: "Chose protect-sensitive-files hook for all new setups",
type: "decision",
topic_key: "cc/hooks/protect-sensitive-files",
content: "**What**: Default install on every /cc-setup run\n**Why**: Prevents writes to .env / credentials / keys\n**Where**: memory/rules/cc-always.md\n**Learned**: Hook matcher Write|Edit is correct — don't also match MultiEdit, it inherits"
})
Preferred: use Obsidian MCP tools (mcp__obsidian__*) if loaded — they append/update via the Local REST API.
Fallback: direct Write tool at vault paths.
Auto-generated note frontmatter (consolidator only):
---
auto_generated: true
source: engram
topic_key: cc/patterns/{slug}
reinforcement_count: 7
first_seen: 2026-04-09
last_updated: 2026-04-16
tags: [claude-code, pattern, auto]
---
User-curated note frontmatter:
---
title: {short title}
created: {YYYY-MM-DD}
tags: [claude-code, type/pattern]
---
Durability invariant: notes WITHOUT auto_generated: true are user-curated. Consolidator never overwrites them. If you're writing a note on behalf of the user, use auto_generated: false explicitly.
memory/rules/cc-always.md — user-only (edit via /cc-memory edit-always).
memory/rules/cc-patterns.md — consolidator-only.
memory/rules/DRAFT.md — consolidator-only (conflicts).
Do NOT hand-edit cc-patterns.md or DRAFT.md — the consolidator owns them.
| Need | Tool |
|---|---|
| "Have we solved this before?" | mem_search with cc/ prefix hint → mem_context for recent history |
| "What's the current rule for X?" | Read memory/rules/cc-always.md and memory/rules/cc-patterns.md |
| "What patterns exist for Y?" | Obsidian MCP search or Grep on Research/Claude-Code/Patterns/ |
| "What does this repo know?" | Read Repositories/{org}/{repo}.md first |
| Subcommand | Action |
|---|---|
| search <query> | engram mem_search scoped to cc/* keys |
| export [--domain ...] | write human digest to memory/digests/{date}.md |
| consolidate | run consolidator: engram → Obsidian + cc-patterns.md |
| edit-always | open memory/rules/cc-always.md |
| review | open memory/rules/DRAFT.md (conflicts) |
| status | show: last consolidation, pattern count, draft count, cc/* observation count |
| Tool | Used for |
|---|---|
| mem_search | Find cc/* observations |
| mem_get_observation | Fetch full content of a match |
| mem_context | Recent session context for timing |
NEVER used by the consolidator: mem_save, mem_update, mem_delete. Those are Claude-in-session or user-manual operations only.
Repositories/{org}/{repo}.md with auto_generated: true when it's actually hand-curated → consolidator will overwrite it later.memory/rules/cc-patterns.md by hand → consolidator will clobber your edits on next run. Put hand-curation in cc-always.md.mem_session_summary at end of session → next session starts blind; consolidator has less to work with.tools
Build Teams-native agents with the Teams SDK (formerly Teams AI Library v2) — App class, activity routing, adaptive cards, streaming, AI-generated labels, feedback, message extensions, Teams-as-MCP-server, and the bring-your-own-AI pattern with Agent Framework.
tools
Run agents on Microsoft Foundry (formerly Azure AI Foundry) Agent Service — prompt agents vs hosted agents, threads/runs and the Responses API, built-in tools (Bing grounding, code interpreter, file search, MCP, OpenAPI, A2A), connected agents, Entra agent identity, SDKs, and observability/evaluations.
tools
Build and host custom engine agents with the Microsoft 365 Agents SDK — AgentApplication, the Activity protocol, channel reach via Azure Bot Service, hosting Agent Framework or Semantic Kernel engines, and the Agents Toolkit/Playground workflow. Successor to the Bot Framework SDK.
tools
Design, govern, and extend Microsoft Copilot Studio agents — topics, generative orchestration, knowledge, tools and MCP, agent flows, autonomous triggers, publishing channels, Copilot Credits pricing, and solution-based ALM on Power Platform.