A

[02] · The stack

How I work with
Claude Code, Cursor & Claude.ai.

Eight practical hacks I’ve landed on over a year of daily use — the CLAUDE.md setup, the plan-before-code loop, the hooks that prevent the worst mistakes, the skills system, the MCP connectors I use for life admin. Steal anything. Tell me what you’d add.

“The unfair advantage isn’t the model. It’s the scaffoldingyou build around it.”

— operating principle

[01]The eight

Each one is small.
Together they compound.

  1. [01]Setup

    Start every machine with CLAUDE.md

    What it is

    A 10-principle file at ~/.claude/CLAUDE.md that loads automatically into every Claude Code session. Mine codifies: think before coding, simplicity-first, surgical changes, verify before claiming, no error-masking, no narrator comments, git hygiene.

    Why it matters

    The same rules I’d otherwise repeat in every prompt — now applied across every conversation, every project, every model. CLAUDE.md is the cheapest leverage in the entire stack: write the rule once, get it enforced forever.

    Building blocks

    • ·~/.claude/CLAUDE.md (global)
    • ·./CLAUDE.md per project for overrides
    • ·User instructions > skill > default cascade
    • ·Pairs naturally with .cursor/rules/*.mdc for Cursor
  2. [02]Workflow

    Plan mode before code mode — always

    What it is

    Before any non-trivial change I dispatch the Plan subagent or open Plan mode. The conversation has to reach a plan I approve before any Edit or Write tool can fire.

    Why it matters

    Bad approaches die in plan, not in 200 lines of code. Cuts rework by 3–5×, makes the LLM’s assumptions visible, and gives me a clean checkpoint to push back on before commits land.

    Building blocks

    • ·Plan subagent (subagent_type=Plan)
    • ·ExitPlanMode tool for approval
    • ·/plan slash command for one-line invocation
    • ·Plans saved to .claude/plans/* for resumption
  3. [03]Agent

    Specialised subagents on every task

    What it is

    I almost never let the main agent do everything. code-reviewer for review, debugger for stack traces, Explore for codebase questions, Plan for architecture, ui-designer for visual passes — each one in parallel when independent.

    Why it matters

    Specialists protect the main context window and produce sharper output. The reviewer doesn’t need the design history; the debugger doesn’t need the project bio. Right context, right tool, fewer tokens, better critique.

    Building blocks

    • ·Task tool with subagent_type=<role>
    • ·Opus for code-writing / reviewing
    • ·Sonnet for Explore / Plan
    • ·Background mode for long-running scans
  4. [04]Hook

    PreToolUse hooks for hard-stop guardrails

    What it is

    Shell-level hooks block destructive patterns: `git add -A`, `git add .`, `git commit -am`, and `git push` to `production` or `main`. The agent literally cannot bypass them — they error before the command runs.

    Why it matters

    Hooks turn intent into infrastructure. The hardest mistakes to fix are the ones that already happened. A hook makes them impossible, which is more reliable than discipline.

    Building blocks

    • ·~/.claude/settings.json hooks.PreToolUse
    • ·Bash regex matcher + deny response
    • ·Three hard rules I never override
    • ·Hooks also fire on SessionStart / UserPromptSubmit
  5. [05]Skill

    Skills as versioned markdown, not system prompt

    What it is

    Every recurring workflow gets a .md skill file with frontmatter (name + description). The agent loads it on demand based on description match — not via a 15,000-token mega-prompt.

    Why it matters

    Domain knowledge belongs in files anyone on the team can read, edit, and review in a PR. The agent only pulls in what’s relevant to the stage it’s in. Contextual compression by design, not by truncation.

    Building blocks

    • ·~/.claude/skills/* (personal)
    • ·.claude/skills/* (project)
    • ·.cursor/skills/* (Cursor variant)
    • ·Frontmatter: name, description, model overrides
  6. [06]Memory

    Auto-memory across conversations

    What it is

    File-based memory at ~/.claude/projects/<proj>/memory/ that survives context compaction. Typed entries: user preferences, feedback, project state, references to external systems.

    Why it matters

    LLMs forget at the context window. Auto-memory turns ‘every conversation is day one’ into ‘this assistant knows me.’ Saving the why alongside the rule lets future-me judge edge cases instead of blindly following.

    Building blocks

    • ·MEMORY.md index (always loaded, <200 lines)
    • ·user / feedback / project / reference types
    • ·[[name]] cross-links between memories
    • ·Frontmatter: name, description, metadata.type
  7. [07]MCP

    MCP connectors as one surface for life admin

    What it is

    Wire Gmail, Calendar, Drive, Linear into the same Claude.ai conversation. Draft an email, schedule the meeting, file the Linear ticket — in one sentence. Same surface for code and life.

    Why it matters

    The 30 seconds I used to spend tab-switching between Gmail → Calendar → Linear becomes ‘do all three.’ The agent becomes the universal verb across every tool I touch.

    Building blocks

    • ·claude.ai/customize/connectors
    • ·Gmail · drafts, threads, labels
    • ·Calendar · schedule + availability
    • ·Linear · issues, comments, projects
    • ·Drive · search + read
  8. [08]Workflow

    Cursor + Claude Code, side by side

    What it is

    Cursor for in-editor refactors and chat-driven multi-file edits. Claude Code for terminal-level orchestration, subagents, MCP, anything that needs to touch multiple tools at once. Claude.ai chat for life admin and async drafts.

    Why it matters

    They’re not competitors — they’re three modes of the same brain. Picking all three is cheaper than picking wrong, and the shared CLAUDE.md / AGENTS.md / .cursor/rules makes them speak the same dialect.

    Building blocks

    • ·Cursor → .cursor/rules/*.mdc
    • ·Claude Code → ~/.claude/CLAUDE.md
    • ·Claude.ai → project instructions + connectors
    • ·All three share repo .md skill files

[02] · Coda

Got a hack
I should steal back?

Every engineer I admire has a workshop like this — mostly different from mine. If you have a setup, hook, skill, or workflow that’s changed how you work, tell me about it.