Self-monitor Anthropic usage so work doesn't get cut off mid-task, and schedule automatic resumption at the reset time instead of just stalling.
- Before starting any new task or subtask.
Set up automatic iTerm2 tab titles for my Claude Code worktree workflow. Follow these steps exactly.
Write the following to ~/.local/bin/tabtitle verbatim, then chmod +x it:
#!/usr/bin/env bash
# Rename this iTerm2 tab to the current worktree name (or $1 if given).
# Uses AppleScript, so it works from captured subprocesses like Claude Code tools.Personal setup notes + re-setup guide. This documents a PreToolUse hook
added to global Claude Code settings on 2026-07-21 (in a session working on
the bloomwatch repo) to stop a recurring class of mistake: work meant for a
git worktree silently landing in the main checkout instead (or vice versa).
When Claude Code works inside a git worktree (via the native EnterWorktree
| node_modules | |
| .token.json | |
| .env |
| import csv | |
| import genanki | |
| from gtts import gTTS | |
| import unicodedata | |
| import re | |
| import os | |
| import sys | |
| from pathlib import Path | |
| if len(sys.argv) < 2: |
| export const getSettlement = (transactions) => { | |
| const settlement = [] | |
| let recurProtection = 0 | |
| while (true) { | |
| const balances = getBalances(transactions.concat(settlement)) | |
| if (allBalancesZero(balances)) break | |
| if (recurProtection++ > 1e2) { | |
| console.log({ settlement }) |
| $source = "C:\Program Files (x86)\World of Warcraft\_classic_era_\Screenshots" | |
| $destination = "C:\Users\branv\Proton Drive\bran.van.der.meer\My files\70 - Backups\wow-classic\Screenshots" | |
| $zipFolder1 = "C:\Program Files (x86)\World of Warcraft\_classic_era_\Interface" | |
| $zipFolder2 = "C:\Program Files (x86)\World of Warcraft\_classic_era_\WTF" | |
| $zipLocation = "C:\Users\branv\Proton Drive\bran.van.der.meer\My files\70 - Backups\wow-classic\" | |
| $zipDate = Get-Date -Format "yyyy-MM-dd" | |
| $zipFileName = "$zipLocation\wowclassic-backup-$zipDate.zip" | |
| if (!(Test-Path -Path $destination)) { |
| <!doctype html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta | |
| name="viewport" | |
| content="width=device-width, initial-scale=1, viewport-fit=cover" | |
| /> | |
| <title>video test</title> | |
| </head> |
| import { describe, expect, it } from 'vitest' | |
| import { Table, Match } from './six-nations-table' | |
| import { | |
| matches2table, | |
| updateTable, | |
| getTable, | |
| orderTable, | |
| PgamesPlayed, | |
| WgamesWon, | |
| LgamesLost, |
| const allPeople = ['Aisha', 'Amina', 'Anya', 'Carlos', 'Chen', 'Liam', 'Nia', 'Oliver', 'Raj', 'Yuki' ] | |
| const peopleAlreadySpeaking = ['Anya', 'Raj'] | |
| const numberOfPeople = 2 | |
| // Fisher–Yates shuffle | |
| function shuffle(list) { | |
| const xs = list.slice() | |
| let currentIndex = xs.length | |
| let randomIndex |