type: journal schema: entry: one date heading per working session body: 3-5 lines max - what was done, decided, blocked rules:
tasks/ → .claude/tasks/, created .claude/memory/ (5 registries) + .claude/audits/.onboard, init-project + agent onboarder + lib/project-archetypes/dotfiles-meta.md.ship-feature, bugfix, hotfix, feat, commit-change + created /close skill for session-end ritual..gitignore broke tracking (fixed BDR-003); harden/validate dispatcher bash broken after audit move (LRN-002)..claude/audits/ (seo/geo/harden/validate/code-clean) + MIGRATION.md written for existing projects.c721a36..a9606aa) via /commit-change — first real exec of Phase 4 CAPITALIZE.bfcca72); 9 existing entries retrofitted to English in follow-up commit.permissions.defaultMode from "default" to "auto" and dropped disableAutoMode: "disable" (BDR-004); reorganised top-level keys + added effortLevel: "xhigh"; removed stale root TODO.md (already migrated to .claude/tasks/TODO.md).disable* settings use sentinel string "disable", not boolean (LRN-003).f7f033f..1421578) via /commit-change.lib/animation-lib-check.sh + STEP 5e in /init-project (auto-install) + STEP 2.5 in /onboard (opt-in) + read-only detection in plugin-advisor PHASE 1/2/3 + signal in lib/design-gate.md + scaffolder note. motion chosen over legacy framer-motion (BDR-005, LRN-004).JuliusBrussee/caveman as 4th always-on plugin (BDR-006). Full install: plugin + standalone hooks + caveman-shrink MCP scaffold (snippet only, not auto-registered — proxy needs upstream wrapper, LRN-006).claude plugin install doesn't enable (LRN-005) + session-start.sh hardcoded "✅ ON: security-guidance rtk superpowers" regardless of actual state. Added enable_plugin() helper + plugin_enabled() detector reading enabledPlugins from settings.json. Banner now reflects reality.set -euo pipefail when gstack/skills/ missing — wrapped find in brace + || true.0184818..2ec7935).lib/profile.sh + lib/profiles/{design,dev,qa,audit,minimal}.profile partition gstack + personal skills by purpose. Activation toggles symlinks skills/ ↔ skills-disabled/.agents/plugin-advisor.md (DETECT call to profile.sh current + new PROFILE line in OUTPUT + new "Skill profiles" subsection in TOGGLING EXTERNAL TOOLS), lib/toggle-external.sh (header pointer), Makefile (4 targets), skills/profile/SKILL.md (/profile slash command).cmd_current honestly reports "full" when no gstack__* entry exists in skills-disabled/ — avoids "100% match" trap when full gstack on.profile.sh to toggle Claude plugins (claude plugin enable|disable) + MCP servers (magic via lib/toggle-external.sh). Added 4 new profiles: web, seo, web-full, backend. Refined existing profiles to use plugin@<marketplace> syntax + cli entries. Always-on plugins protected by MANAGED_PLUGINS allowlist + PROTECTED_PLUGINS denylist.set web enables ui-ux-pro-max + magic; set seo disables ui-ux-pro-max; set minimal disables ui-ux-pro-max but spares caveman/security-guidance/superpowers. current heuristic respects ties (web-full beats web at 100%)..claude/memory/*.md writes (BDR-009). Rule added to CLAUDE.md "Memory registries" section. Self-applied: CLAUDE.md prose compressed in same pass./caveman:compress (decisions, learnings, blockers, journal, evals) — ~40% input-token reduction per session-start load.example-skills@anthropic-agent-skills plugin in settings.json; gitignored *.original.md compress backups (recoverable via git history).0275eed..639486a) via /commit-change.