decisions.md: - BDR-013: client-handover 6-chapter doc — promote scores §2 + NAP §4 (supersedes BDR-011 4-chapter structure). - BDR-014: personal SKILL.md descriptions follow "Use when [triggers]…" pattern + 1024-char frontmatter spec limit. - Backfilled missing BDR-012 Index row (entry existed in body, Index skipped in prior session). learnings.md: - LRN-014: pandoc base gfm strips header id attrs — need `gfm+gfm_auto_identifiers` for internal anchor links. - LRN-015: BrightLocal Free Tools retired 2026 — Moz Local Citation Checker is current free NAP-audit replacement. - LRN-016: pandoc GFM checkbox markup breaks adjacent-sibling CSS — target `li > input[type="checkbox"]` directly, not `+ *` siblings. - Backfilled missing LRN-013 Index row. journal.md: - 2026-05-11 session: orchestrator audit + writing-skills CSO fixes + client-handover 6-chapter restructure + 4 atomic commits e2425ca..0fb634d. Co-Authored-By: Claude <noreply@anthropic.com>
11 KiB
11 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 session-end ritual. - 2nd user verify-gate caught bugs:
.gitignorebroke tracking (fixed BDR-003); harden/validate dispatcher bash broken after 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 exec 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 + addedeffortLevel: "xhigh"; removed stale rootTODO.md(already migrated to.claude/tasks/TODO.md). - Learning: Claude Code
disable*settings use sentinel string"disable", not 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) +session-start.shhardcoded "✅ 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/ 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),skills/profile/SKILL.md(/profileslash command). cmd_currenthonestly reports "full" when nogstack__*entry exists inskills-disabled/— avoids "100% match" trap when full gstack 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 toggle Claude plugins (claude plugin enable|disable) + 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%).
2026-05-05
- Mandated caveman format on all
.claude/memory/*.mdwrites (BDR-009). Rule added to CLAUDE.md "Memory registries" section. Self-applied: CLAUDE.md prose compressed in same pass. - Compressed 5 existing registries via
/caveman:compress(decisions, learnings, blockers, journal, evals) — ~40% input-token reduction per session-start load. - Side chores: disabled
example-skills@anthropic-agent-skillsplugin in settings.json; gitignored*.original.mdcompress backups (recoverable via git history). - 4 atomic commits (
0275eed..639486a) via/commit-change.
2026-05-06
- darwin-skill round 1 across 18 personal skills. Mean 83.4 → 88.7 (+5.3). 16 keeps, 2 reverts (code-clean, doc — D2 dry_run noise). Branch
auto-optimize/skills-20260506-1730. 22 commits, 35 files changed. - Top gains (analyze +18.5, skills-perso +11.9, refactor +11.0, hotfix +9.0) all from same shape: edge-case table in agent file. Captured as LRN-008.
- LRN-009: dry_run ratchet too strict for skills already >91; LRN-010:
~/.claude/skills,agentssymlink to Documents/claude — git operations must run from there. - Audit report
.claude/audits/DARWIN-SKILL-OPTIMIZATION.md. Eval log~/.agents/skills/darwin-skill/results.tsv(38 rows). Branch awaits manual review before merge.
2026-05-07
- /client-handover gates SEO classique + GEO (IA) independently at ≥17/20 (BDR-010). Was: combined display only, gate fired on SEO alone. Now: 4-axis gate (SEO, GEO, HARDEN, VALIDATE), axis-aware fix loop, per-axis override transparency.
- Pattern captured as LRN-011: single subagent emits N gated scores → labeled extraction + axis-aware loop + per-axis escalation. Generalizes to future multi-metric audits (e.g. /harden split TLS/headers/redirects).
- 1 atomic commit
5569a80(feat(client-handover): split SEO + GEO scores, gate GEO at ≥17/20). Bash unit testedextract_score_labeledon 4 cases (new format, /100 normalize, legacy fallback, GEO UNKNOWN strict) — all OK. - /client-handover deliverable refactor (BDR-011): 4-chapter structure (brief+pourquoi / fait ≤300w sans jargon / actions client / détails techniques) + branded HTML+PDF via ZenQuality identity (greens
#1A3A25/#2D5A3D/#4A7C59/#87A878, Inter+Playfair Display, cover page logo+tagline). Cascade renderer: MD→HTML (pandoc>python markdown>npx marked) then HTML→PDF (weasyprint>wkhtmltopdf>chromium). - STEP 15 hard gates: chapter 2 word count ≤300 (
wc -w) + forbidden-token grep (no/seo,/harden,/validate,SEO.md,SCORE_*etc. in chapters 1–3). Chapter 4 may use them in glossary. - LRN-012 captured: bash heredoc + stdin pipe collision (
printf | python3 - <<'PY' ... PY) silently drops piped data — heredoc wins stdin. Diagnose viabash -x. Fix: pass via env var or file path, never via stdin combined with heredoc. Hit during v1handover-to-pdf.sh, fixed before commit. - 1 atomic commit
e06b52a(feat(client-handover): 4-chapter doc structure + branded HTML/PDF rendering). End-to-end tested with synthetic boulangerie handover (179w chapter 2, no leaks, HTML 11KB + PDF 33KB via weasyprint).
2026-05-07 — /client-handover PDF rendering bugfix
- Fixed 3 bugs in
/client-handoverPDF generation reported onLIVRAISON.pdftest render. - Bug 1 (critical): MD→HTML converter chain — host had no pandoc, no python-markdown, fell to
npx marked < "$src"which dumped marked CLI's owncli.jssource instead of converting (marked 16.x stdin regression). PDF was 2 pages of marked binary source. Fix:npx --yes marked --gfm -i "$src". → LRN-013. - Bug 2: cover bg was cream
#F5F0EBwith 8mm green stripe — washed out. Final state after iteration:--white-purebg + subtle radial sage/forest tints +--black-deeptext +--green-forestaccents (eyebrow/meta labels/footer/border). Solid green-dark tried first then rejected (too heavy for long client doc). → BDR-012. - Bug 3: SVG logo
logo-horizontal.svgblended into cream bg. DefaultLOGO_URLswitched tohttps://zenquality.fr/assets/logo-horizontal-1024.png(URL provided by user). High contrast on white bg. - Verified: regenerated
LIVRAISON.pdf→ 164 KB, 19 pages, full content rendered, white cover with black title + green-forest accents + visible PNG logo. - Files touched:
skills/client-handover/scripts/handover-to-pdf.sh,skills/client-handover/resources/branding/zenquality.css,agents/client-handover-writer.md.
2026-05-11
- Personal-skills orchestrator audit via
/darwin-skill. 18 skills classified: 5 true orchestrators (ship-feature, seo, init-project, onboard, client-handover) + 12 single-delegation (justified — 6 agents reused multi-place) + 1 self-contained (skills-perso). All orchestrators verified doing real multi-agent dispatch. client-handoverpattern is skill→1 agent→subagents (3-level indirection) vs other 4 orchestrators' skill→multi-agent (2-level). Justified by agent complexity (1703 lines) — moving orchestration into SKILL.md would bloat. Description updated to make orchestrator role explicit./seo,/harden,/validateexecution verified inside client-handover-writer agent — dispatches general-purpose subagents reading the target skill files. Real parallelization, not sequential.- Description CSO fix per
/writing-skills: 5 skills had frontmatter >1024 chars (client-handover 1920, doc 1390, seo 1378, geo 1189, validate 1050) — all compressed under spec. 3 orchestrators (ship-feature, init-project, onboard) had workflow-summary descriptions (shortcut risk) — rewritten to "Use when [triggers]…" pattern. Captured as BDR-014. - client-handover deliverable restructured 4→6 chapters (BDR-013 supersedes BDR-011): scores promoted to §2 for 30s visual-proof-of-impact, NAP table promoted to §4 as prerequisite before §5 todos. Pandoc bumped to
gfm+gfm_auto_identifiersfor internal anchor links (LRN-014). - NAP checklist polish (commit
abd2612): added "Description courte" field + replaced retired BrightLocal Free Tools with Moz Local Citation Checker (LRN-015). - CSS bugfix (commit
465fe9e): pandoc GFM checkbox markup<li><input ...> text…</li>has no wrapper class, adjacent-sibling ruleli input + *yanks<a>/<code>siblings out of flow. Fixed by targetingli > input[type="checkbox"]directly. Captured as LRN-016. - 4 atomic commits
b15b275..1da6a31via/commit-change. Decisions BDR-013, BDR-014 + learnings LRN-014, LRN-015, LRN-016 capitalized. Pre-existing BDR-012 + LRN-013 Index rows backfilled (prior session entries existed in body but missing from Index).