Skip to content

This is the MBR (MyBetterRates) KB vault (D:\FSS\KB\MBR\). There is a separate FSS Business KB vault at D:\FSS\KB\Business\. Never write files from one vault into the other. Each has its own git repo and task system.

KB Task & Note Management — Claude Code Instructions

Section titled “KB Task & Note Management — Claude Code Instructions”

Full guide: D:\FSS\KB\Business\03_Processes\Simple Markdown Task Management\SMTM_System.md

WSL Path: /mnt/d/FSS/KB/MBR/_WorkingOn/ Windows Path: D:\FSS\KB\MBR\_WorkingOn\

_WorkingOn/
├── Tasks/
│ ├── _tmp.md # Scratch file for quick/temporary tasks
│ ├── Tasks-Template.md # SSoT template for task files
│ └── Name.md # Named task files — no date prefix (active until complete)
├── Projects/[name]/
│ ├── STATUS.md # Phase tracking + feedback (AI reads first)
│ ├── SPEC.md # Requirements (no date prefix, stays current)
│ ├── PLAN.md # Approach + phases (stays current)
│ ├── TASKS.md # Active task checklist (stays current)
│ ├── LESSONS.md # Insights captured during project
│ └── logs/ # YYYY-MM-DD_Description.md (session logs)
└── Research/[topic]/
  1. Read Tasks/_tmp.md
  2. If working on a project: read Projects/[name]/STATUS.md
  3. Check ## Feedback in STATUS.md — act on it before proceeding

Quick task (no log needed): Add checkbox to Tasks/_tmp.md — tick when done, fill in Claude Response section, never delete history.

Substantive task (needs context across sessions):

  • Create Tasks/Task-Name.md from Tasks-Template.md (no date prefix)
  • Single file for entire lifecycle — append Claude Response / Talbot Response to END, never delete history
  • AI always appends ## Talbot Response + --- after its section
  • Use /task-continue [filename] to continue; /task-complete [filename] to close

Session end:

  1. Tick completed checkboxes in STATUS.md, update Last Updated date
  2. Write log: Projects/[name]/logs/YYYY-MM-DD_Description.md
  3. Add blank ## Feedback section to log
  4. Update Tasks/_tmp.md

YYYY-MM-DD_Description.md — no TYPE prefix on completed logs.

After any session that adds or modifies KB content, suggest a git commit. Do not wait for the user to ask. Automatically propose the commit with a meaningful message covering what changed. The KB repo is /mnt/d/FSS/KB/MBR/.


Favicon generation: adding a new brand to generate-favicon.mjs

Section titled “Favicon generation: adding a new brand to generate-favicon.mjs”

Three places need updating when adding a brand to scripts/generate-favicon.mjs:

  1. Logo filename branch (logoFileName conditional)
  2. Glyph-hiding block — SD hides char-dollar, MBR hides char-bar; match the element ID to the brand’s SVG structure
  3. brandNames map for the site.webmanifest
  4. The brand allowlist in main() (if (!['sd', 'ts', 'mbr'].includes(brand)))

The neutral-color mapping (black→primary, gray→secondary) is a no-op for brands with actual colors already in the SVG — the script still works correctly without any special-casing.

SVG favicon verification: inline SVGs only in Playwright

Section titled “SVG favicon verification: inline SVGs only in Playwright”

img src="file:///..." does not work in Playwright’s headless browser (page.setContent). To verify SVG rendering at multiple sizes, read the SVG files with fs.readFileSync and embed them directly as inline SVG in the HTML string. Use a sized() helper that replaces width="N" height="N" in the SVG tag to render at different display sizes.

SMTM task files use Name.md format — never YYYY-MM-DD_Name.md. Dates belong in log files and project logs, not task files. Task files are active work; their creation date is captured in frontmatter or git history.

CSS keyframe animation: set explicit initial state in CSS

Section titled “CSS keyframe animation: set explicit initial state in CSS”

When using @keyframes for logo/UI animations, the element’s state before the animation fires depends on the browser. Always set explicit CSS properties (e.g. opacity: 1 or opacity: 0) on the element itself — don’t rely solely on the 0% keyframe value. This prevents a flash-of-wrong-state on page load before the animation initialises. This is especially relevant for stacked elements (e.g. grid-area: 1/1) where the initial visibility must be correct before the first keyframe fires.

Multi-session design tasks (logo iterations, UX explorations) should produce:

  1. Lean decision log in 09_Logs/Decisions/YYYY-MM-DD_Description.md — what was decided and why
  2. Full task file moved to _WorkingOn/Brainstorming/archive/YYYY-MM-DD_TaskName.md — full iteration history as design audit trail

The relevant spec doc (e.g., Brand.md) canonizes the final outcome. Never delete the iteration history — a single session’s reasoning can resolve future ambiguity about why a decision was made.


After any task that produces a log or task file, the final message must include both paths:

📄 Task/log file:
WSL: /mnt/d/FSS/KB/MBR/_WorkingOn/...
Windows: D:\FSS\KB\MBR\_WorkingOn\...
SkillWhat it does
/task-start [file]First session on a task: read, execute, append first Claude Response
/task-continue [file]Process latest Talbot Response in task file, append Claude Response
/task-complete [file]Close task: LESSONS.md candidates, purge, log/delete, commit offer
/session-closeProject session end: write log, update STATUS.md, update _tmp.md
/project-start [name]Create project folder with STATUS.md and initial structure