From workflow-skills
Scan CLAUDE.md and extract architectural decisions, constraints, tech stack, and key patterns into the memory system. Use when starting a new project, after updating CLAUDE.md, or to sync project docs into cross-session memory.
npx claudepluginhub arosenkranz/claude-code-config --plugin workflow-skillsThis skill is limited to using the following tools:
Read CLAUDE.md with full comprehension, classify sections intelligently, and store high-value entries in the memory system using `mcp__memory__*` tools.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
Read CLAUDE.md with full comprehension, classify sections intelligently, and store high-value entries in the memory system using mcp__memory__* tools.
/harvest-memory — harvest CLAUDE.md in current working directory/harvest-memory --all — harvest CLAUDE.md from every project under ~/Code/Locate CLAUDE.md: Check ./CLAUDE.md, then ./.claude/CLAUDE.md. If --all flag is provided, glob ~/Code/*/CLAUDE.md and process each project in turn.
Derive scope: Use project:<basename-of-cwd> as the scope (e.g., project:kranz-tv).
Parse sections: Split the file by ## headings. For each section, classify as high-value or skip:
| Section heading contains | Entity suffix | entity_type | Skip? |
|---|---|---|---|
| Architecture | architecture | decision | No |
| Scheduling | scheduling | decision | No |
| Data flow | data-flow | decision | No |
| Key hooks | key-hooks | decision | No |
| Routing | routing | decision | No |
| Channel import | channel-import | decision | No |
| Constraints | constraints | decision | No |
| Key Patterns | key-patterns | decision | No |
| Tech Stack | tech-stack | project | No |
| Observability | observability | service | No |
| Commands | — | — | Yes |
| Environment Variables | — | — | Yes |
| Testing | — | — | Yes |
| TypeScript | — | — | Yes |
Check existing entries: For each high-value section, call mcp__memory__memory_get_entity with name=<project>-<suffix> and scope=project:<project>. Compare stored content to current section content.
Store or update:
mcp__memory__memory_store with confidence=0.95 and source='skill:harvest-memory'mcp__memory__memory_store to update (the tool upserts)Output results table:
| Entity Name | Type | Action | Preview (60 chars) |
|--------------------------|----------|------------------|-------------------------------------|
| kranz-tv-architecture | decision | created | KranzTV is a retro cable TV experi… |
| kranz-tv-scheduling | decision | updated | getSchedulePosition(channel, times… |
| kranz-tv-tech-stack | project | unchanged | — |
The SessionEnd hook harvests sections via raw awk text extraction into SQLite directly. This skill uses Claude's full comprehension to:
Use source tag skill:harvest-memory so hook entries (tagged hook:harvest) coexist without conflict.
# heading--all mode, process each project directory and report a combined results table