- BDR-007: Skill profiles partition gstack by usage (v1, skill-only). Decision to ship lib/profile.sh + symlink-based toggle for skills, with plugin/MCP entries advisory in v1. Rationale: the existing toggle-external.sh enable|disable gstack is too coarse — it disables checkpoint/ship/learn alongside design skills. Profiles hide the irrelevant skills without uninstalling the gstack repo. Alternatives rejected: forking SKILL.md to strip the gstack preamble (re-fork on every upgrade — preamble already degrades gracefully via `|| true`); per-skill toggle via claude plugin enable/disable (gstack skills are not marketplace plugins); removing symlinks (lossy if user has local edits). - BDR-008: Profile system v2 — extend to plugins + MCPs + CLIs. Reverses the "advisory only" stance from BDR-007 alternative #4. User feedback: pure-skill toggling left ui-ux-pro-max/magic always loaded regardless of profile, so passive token cost didn't drop enough on profile switch. Solution: real claude plugin enable/ disable for an explicit MANAGED_PLUGINS allowlist (3 entries) + PROTECTED_PLUGINS denylist for always-on (caveman, security- guidance, superpowers). MCP magic delegated to toggle-external.sh. Other MCPs stay advisory because each needs specific config. Adds 4 new profiles: web, seo, web-full, backend. - Journal: 2026-05-04 entry summarizing the v1 ship, then a follow-up block for the v2 extension (new profiles, plugin auto-toggle, tie- breaker for `current`). - TODO.md: marked done — v1 (Skill profiles) section and v2 (Profile system v2 — extension plugins/MCPs/CLIs) section, both with their full subtask lists. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.2 KiB
4.2 KiB
| type | schema | rules | |||||||
|---|---|---|---|---|---|---|---|---|---|
| journal |
|
|
Journal
2026-04-23
- Restructured tree:
tasks/→.claude/tasks/, created.claude/memory/(5 registries) +.claude/audits/. - Adapted CLAUDE.md + skills
onboard,init-project+ agentonboarder+lib/project-archetypes/dotfiles-meta.md. - Added CAPITALIZE step in
ship-feature,bugfix,hotfix,feat,commit-change+ created/closeskill for the session-end ritual. - 2nd user verify-gate caught bugs:
.gitignorewas breaking tracking (fixed in BDR-003); harden/validate dispatcher bash was broken after the audit move (LRN-002). - Audits routed to
.claude/audits/(seo/geo/harden/validate/code-clean) +MIGRATION.mdwritten for existing projects. - 9 atomic commits (
c721a36..a9606aa) via/commit-change— first real execution of Phase 4 CAPITALIZE. - Decisions logged: BDR-002, BDR-003. Learnings: LRN-002. Blockers: BLK-002.
- English-only rule enforced in all CAPITALIZE specs (commit
bfcca72); 9 existing entries retrofitted to English in follow-up commit.
2026-04-27
- Settings: switched
permissions.defaultModefrom"default"to"auto"and droppeddisableAutoMode: "disable"(BDR-004); reorganised top-level keys and addedeffortLevel: "xhigh"; removed stale rootTODO.md(already migrated to.claude/tasks/TODO.md). - Learning: Claude Code
disable*settings use the sentinel string"disable", not a boolean (LRN-003). - 3 atomic commits (
f7f033f..1421578) via/commit-change. - Animation lib autoflow added: new helper
lib/animation-lib-check.sh+ STEP 5e in/init-project(auto-install) + STEP 2.5 in/onboard(opt-in) + read-only detection inplugin-advisorPHASE 1/2/3 + signal inlib/design-gate.md+ scaffolder note.motionchosen over legacyframer-motion(BDR-005, LRN-004).
2026-05-03
- Added
JuliusBrussee/cavemanas 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). - Discovered two co-masking bugs:
claude plugin installdoesn't enable (LRN-005) andsession-start.shwas hardcoding "✅ ON: security-guidance rtk superpowers" regardless of actual state. Addedenable_plugin()helper +plugin_enabled()detector readingenabledPluginsfromsettings.json. Banner now reflects reality. - Side fix: doctor.sh exited under
set -euo pipefailwhen gstack/skills/ was missing — wrapped find in brace +|| true. - 3 atomic commits (
0184818..2ec7935).
2026-05-04
- Built skill profile system (BDR-007):
lib/profile.sh+lib/profiles/{design,dev,qa,audit,minimal}.profilepartition gstack + personal skills by purpose. Activation toggles symlinksskills/↔skills-disabled/. - Wired into
agents/plugin-advisor.md(DETECT call toprofile.sh current+ newPROFILEline in OUTPUT + new "Skill profiles" subsection in TOGGLING EXTERNAL TOOLS),lib/toggle-external.sh(header pointer),Makefile(4 targets), andskills/profile/SKILL.md(/profileslash command). cmd_currenthonestly reports "full" when nogstack__*entry exists inskills-disabled/— avoids the "100% match" trap when the full gstack is on.- Tested end-to-end: list/show/current/diff/set/reset/apply all green; shellcheck clean; symlink state restored after reset.
- Profile system v2 (BDR-008): extended
profile.shto actually toggle Claude plugins (claude plugin enable|disable) and MCP servers (magicvialib/toggle-external.sh). Added 4 new profiles:web,seo,web-full,backend. Refined existing profiles to useplugin@<marketplace>syntax +clientries. Always-on plugins protected byMANAGED_PLUGINSallowlist +PROTECTED_PLUGINSdenylist. - Verified:
set webenables ui-ux-pro-max + magic;set seodisables ui-ux-pro-max;set minimaldisables ui-ux-pro-max but spares caveman/security-guidance/superpowers.currentheuristic respects ties (web-full beats web at 100%).