- best-practices/: 11 topic files + INDEX.md extracted from cluster-bootstrap and custom-claude-skills (validation, k8s, helm, ansible, secrets, debugging, etc.) - settings.yaml: pipeline config (log retention, tracked projects, max logs per run) - CLAUDE.md: updated with best-practices loading and pipeline documentation - memory/log/: first session log demonstrating the format Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Session Log — 2026-03-12
Summary
Created the claude-foundations repo on Gitea (skynet org), built a best-practices folder with 11 topic files extracted from cluster-bootstrap and custom-claude-skills, then designed and implemented a three-tier knowledge distillation pipeline (/log, /reflect-logs, /distill-best-practices).
Decisions
- Decision: Separate
/reflect-logsfrom existing/reflect— Rationale: different purpose (continuous vs milestone), different cadence, avoids overcomplicating the existing skill - Decision: Use MD5 hashes for reflection state, git SHAs for distill state — Rationale: log files may not be committed when reflected; distill explicitly works across committed repos
- Decision: Timestamp-based session IDs (HHMMSS) — Rationale: human-readable, naturally sorted, no external dependencies
- Decision: Pruning happens in
/lognot/reflect-logs— Rationale: runs most frequently, keeps log dir clean as side effect of the most common operation - Decision:
/distill-best-practicesis interactive (proposals before changes) — Rationale: cross-project conventions need human judgment
Gotchas Discovered
- [skills] Symptom: install.sh failed with exit 1 on broken symlink — Fix: old reflect symlink pointed to pre-move path (
~/dev/claude/custom-claude-skills/instead of~/dev/claude/projects/custom-claude-skills/).readlink -fon a broken symlink returns empty string, causing comparison failure underset -e. Fixed by removing stale symlink and re-running. - [skills] Symptom: skills created mid-session not available as slash commands — Fix: skills are discovered at session start, not dynamically. New skills require a new session to become available.
Key Context
- Best practices files are in claude-foundations/best-practices/ with INDEX.md as the card catalog
- Settings for the pipeline live in claude-foundations/settings.yaml
- State files:
.reflection-state.json(per-project),best-practices/.distill-state.json(in claude-foundations) - SSH key for ai_enablement is password-protected — needs ssh-agent loaded before git push
Process Notes
- The plan mode workflow worked well for this — explored existing patterns, designed the architecture, got approval, then executed cleanly
- Creating all 11 best-practices files in parallel (single Write batch) was efficient