All projects

Active, in daily use since late September 2026 ยท September 2026 to November 2026 (rules dated from 2026-09-28; hooks from 2026-10-02; health check from 2026-10-13; latest health report read: 2026-11-05)

Claude and Agent Setup

A shared set of AI skills, hooks, memory notes and a supervisor session that makes many Claude Code sessions follow the same rules.

  • Claude Code
  • Markdown skills (SKILL.md)
  • Node.js scripts (.mjs)
  • PowerShell
  • Windows directory junctions
  • Obsidian vault
  • MCP tools (Blender, Figma, Roblox Studio)
  • Scheduled tasks

My role

I directed AI to build this. I am not a software developer. I set the rules in plain chat messages, corrected the assistant when it got something wrong, approved each hook and threshold, and tested the results. Claude Code wrote the scripts, skill text and notes. Most of the skills in the folder are third-party packs I installed, not things I made.

What it is

I run many Claude Code sessions at the same time, usually one per project. Without a shared setup each session starts blank and repeats old mistakes. So I built a shared folder that holds a global rules file, 60 skills (reusable how-to procedures) and 5 small hooks (scripts that run on events such as sending a prompt or finishing a turn). Two PCs load the same folder through Windows junctions, so a lesson learned in one session is available to every other session.

On top of that sits a memory layer: per-project note folders, a searchable Obsidian vault called Claude Brain, a small command-line tool that indexes the notes, and a short always-loaded file where each line records a mistake I caught and what to do instead. A supervisor session, called the Architect, checks on the other sessions, guards the PC's memory, and verifies claims against live sources instead of trusting stale status notes.

Be clear about what is mine and what is not. I directed AI to build the rules, 15 custom skills, 5 hooks, the health check and the Architect scripts. The other 45 skills are third-party or derived from the LihFolk Vault (CC BY 4.0, credit "LihFolk Vault V1"), which is not my work. The sort of skills into custom, vault-derived and third-party is inferred from content and licence strings because the folder has no git history.

How it was built

  1. Wrote the rules as I spoke themI gave instructions and corrections in chat and Claude recorded them as dated rules in one global CLAUDE.md. The Shared setup file is 286 lines; the health check counted the full loaded rules (with imports) at 351 lines and 61,497 characters on 2026-11-05.
  2. Made the folder shared across two PCsThe skills and hooks folders live in one shared folder and each PC links to it with directory junctions. The rules file is loaded with an @import line. A bug found on 2026-10-13 (unescaped spaces and a BOM meant the shared rules silently never loaded on my PC) was fixed and written into the README.
  3. Collected skillsThe folder holds 60 skills. By my inference there are 15 custom ones written by Claude from my rules (for example the Roblox game pipeline, a 52-category game quality check, intent-check, brain-learn), 10 Roblox engineering skills derived from the LihFolk Vault, and 35 installed third-party skills (Remotion, Obsidian, motion and visual design packs).
  4. Added five fail-open hooksClaude wrote five Node hooks, 425 lines in total: learn-from-corrections (flags a repeated correction), vault-hint (adds matching vault notes to Roblox work), rule-router (injects only the matching rule topics, 14,000 byte cap), done-gate (warns when a turn claims done without evidence) and architect-never-idle (keeps the supervisor session working, stops after 25 blocks). Each has an off switch and none blocks the work.
  5. Tuned hooks against past dataThe correction hook was tuned by replaying 194 past prompts (fires on about 12 percent). The done-gate was measured on 467 past turns and produced 0.2 percent false warnings before it was switched on.
  6. Built the memory layerPer-project memory folders (19 with a MEMORY.md index), the Claude Brain Obsidian vault with numbered areas, a dependency-free memory.mjs tool (find, hub, show, grep, lint, build) and the MISTAKES.md list (60 one-line entries). The brain-learn skill makes filing a lesson step one of learning.
  7. Imported a third-party reference vaultOn 2026-10-28 I had the LihFolk Vault (825 notes on Roblox engineering, CC BY 4.0) merged into the Brain as area 07, with a small search script and a hook that surfaces matches. It is a reference the workflow draws on, not something I wrote.
  8. Created the Architect supervisor sessionA dedicated Claude session checks in on the others every 30 minutes, keeps a registry (51 sessions on 2026-10-16), and has PowerShell and Node helpers: sysstat.ps1 for memory headroom and idle time, fgwin.ps1 to detect when I am in a ranked game, placesaved.mjs to read Roblox's own version list, and a 684-line health check.
  9. Added scheduled checks24 scheduled task folders exist, such as the daily setup health check and a skills scout. The health check verifies that the rules loaded in live sessions, flags oversized always-loaded text and snapshots changes. 13 daily reports exist between 2026-10-13 and 2026-11-05.
  10. Tested whether memory actually helpsAn agent-lab prototype set (done-gate, intent check, case bank, rule router) has eval scripts, and a rematch study used agent arms with no notes, a plain Obsidian vault, or the pairpipe plugin. I did not find the study results in the files I read.

Decisions and why

One shared folder linked by junctions instead of copying files per PC
A fix or a new rule reaches every session on both PCs at once, and there is a single place to check.
Hooks warn and add context; they never block
A hook that blocks work can loop or stall a session. Fail-open with an off-switch file kept them safe to run on every turn.
Keep a short always-loaded MISTAKES.md and route the rest by topic
The health report showed always-loaded text reaching 60 to 88 KB for some projects, and long rules files lose adherence. Short one-line lessons stay loaded; longer rules are injected only when relevant.
Verify against a live source before reporting or asking me to do something
A stale status line once led to me being asked to save a file six or more times. A script that reads the real version list replaced the status line.
Check the game process, not the foreground window, before heavy tests
A retry loop relaunched about 30 Studio windows and pulled me out of a ranked match, because launching a window changes the foreground.
Credit the LihFolk Vault and keep third-party skills labelled
The vault is CC BY 4.0 and the skill packs belong to their authors. This page should not claim them.

Hardest problems

Shared rules silently did not load on my PC
Found that spaces in the import path needed backslash escapes and the file had to be BOM-free (2026-10-13). A canary string in the rules header plus a daily health check now confirms they load in live sessions.
The PC froze from memory exhaustion twice (2026-10-07 and 2026-10-09) with several Studio windows open
Wrote sysstat.ps1 to measure commit headroom (RAM plus page-file maximum minus committed) and set thresholds: ask under 10 GB, never start a play test under 6 GB.
Tests kept interrupting my ranked game
fgwin.ps1 and the rules now check whether the game process is running, and allow only one Studio window with no focus-stealing actions while it is.
Repeated asks from stale status notes
placesaved.mjs reads Roblox's version list and compares it with the local file time, so the answer comes from a live source.
Rules file growing too large to follow
The health check flags it (351 lines on 2026-11-05, above the 200-line guideline it uses), and the rule-router hook injects only matched topics, capped at 14,000 bytes. The size problem is flagged but not fully solved.
Some sessions started without the rules
The daily check lists sessions that did not receive the global rules. On 2026-11-05 it checked 72 live sessions and found 7 without them, so the fix is to restart those sessions.

Numbers

Skills in the shared folder60 (15 custom, 10 vault-derived, 35 third-party; split is inferred)2026-11-06
Hooks5 scripts, 425 lines2026-11-06
Prompts replayed to tune the correction hook1942026-10-02
Past turns used to test the done-gate467 turns, 0.2 percent false warnings2026-10-28
Scheduled task folders242026-11-06
Daily health reports on disk132026-11-05
Live sessions checked for the global rules72 checked, 7 without them2026-11-05
Global rules loaded61,497 characters, 351 lines2026-11-05
Mistakes list entries60 one-line entries2026-11-06
Per-project memory indexes192026-11-06
Saved sessions in the Architect registry512026-10-16
Claude Brain: game notes and idea notesabout 1,300 game notes; 306 game-idea notes2026-11-06
LihFolk Vault notes (third-party, not my work)825, CC BY 4.0, credit "LihFolk Vault V1"2026-10-28
Health check script size684 lines2026-11-06

Timeline

  • 2026-09-28First dated shared rule (Roblox Script Sync) recorded in the global rules file.
  • 2026-10-02Correction-learning hook tuned on 194 past prompts.
  • 2026-10-09Architect supervisor session given delegated approval limits; memory-headroom script written after two PC freezes.
  • 2026-10-13Shared-import bug fixed and daily health check created.
  • 2026-10-16Architect never-idle hook added; registry of 51 sessions written.
  • 2026-10-28LihFolk Vault merged into the Brain; done-gate and vault-hint hooks added.
  • 2026-10-29Rule-router hook, intent-check and senior-architect-onboarding skills adopted.
  • 2026-10-30MISTAKES.md always-loaded list requested and started.
  • 2026-11-02Game detection changed from foreground window to process check after a watcher relaunched about 30 windows.
  • 2026-11-05Latest health report read: 72 sessions checked, 7 without the rules.

What I took from it

  • Most of the value comes from recording corrections the same day and making the rule load automatically, not from any single clever script.
  • Measure automation before trusting it: replaying past prompts and turns showed which hooks were noisy before they went live.
  • Check a live source instead of a status note. Stale notes caused repeated work.
  • A big rules file has a cost. Keeping text short and routing by topic matters, and I have not fully solved the size problem.

Links