72 tips from the creator of Claude Code • What we adopted for Luci & Lucienne
Boris's first thread that started it all. His setup is "surprisingly vanilla."
5 terminal instances, each in its own separate git worktree so edits don't conflict. iTerm2 notifications alert when any Claude needs input.
Our status: We run parallel ticket workers via mc_pickup.py. Just added --worktree for isolation (commit 8543f7a). Main session + workers now won't conflict.
5-10 additional sessions on claude.ai/code. Uses & to background sessions and --teleport to move between local/web. Starts from iPhone, picks up on computer.
Our status: Not applicable — Luci runs server-side only. But Elmar could use claude.ai/code for quick tasks while Luci handles the heavy lifting.
Uses Opus 4.5 (now 4.6) with thinking mode for every task. Slower per-request but faster to completion because less steering.
Our status: We run Opus 4.6 (1M context). Already aligned.
Single CLAUDE.md per repo, shared by the whole team. Updated multiple times per week. "Anytime Claude does something wrong, add it to CLAUDE.md."
Our status: We have CLAUDE.md. Just added "Update CLAUDE.md if you learned something" as step 10 of every Tier 2 task (commit 8543f7a).
Tags @.claude on PRs to add learnings to CLAUDE.md as part of the PR itself. Uses the Claude Code GitHub Action.
Our status: We don't use GitHub Actions. Could add a similar pattern where ticket workers auto-update CLAUDE.md on PR creation.
Most sessions start in plan mode. Plan → refine → auto-accept → Claude one-shots the implementation.
Our status: Added as step 1 of every Tier 2 task. We also have the autoplan skill for complex tasks.
Uses slash commands for workflows done many times daily. Commands checked into git under .claude/commands/ and shared with the team. Commands can include inline Bash.
Our status: We use skills (90+ at ~/.claude/skills/). Same concept, different name. Our skills are more powerful (full SKILL.md with frontmatter, auto-triggering).
Thinks of subagents as "automations for common PR workflows." Examples: code-simplifier.md, verify-app.md, build-validator.md.
Our status: Added "use subagents for complex tasks" to Tier 2 workflow (commit 8543f7a). We already use subagents for research tasks.
Runs formatter on every Write/Edit via hook. Catches the 10% Claude gets wrong.
{
"PostToolUse": [{
"matcher": "Write|Edit",
"hooks": [{"type": "command", "command": "bun run format || true"}]
}]
}
Our status: We have PostToolUse hooks but for MC ticket tracking, not formatting. Could add a Python formatter hook (black/ruff) alongside.
Does NOT use --dangerously-skip-permissions. Uses /permissions to pre-allow safe commands like bun run build:*.
Our status: We use --dangerously-skip-permissions since Luci is infrastructure, not interactive. Boris's approach is better for human developers — ours is correct for an always-on server agent.
Claude uses all his tools autonomously: Slack (MCP), BigQuery (bq CLI), Sentry. MCP config shared with team.
Our status: We have Telegram, Brave Search, Tavily, Firecrawl, Context7 as MCP servers. Could add more (Sentry equivalent for error monitoring).
Uses background agents, Stop hooks for verification, and the "ralph-wiggum" plugin for autonomous loops.
Our status: We have the ralph skill and background ticket workers. Well aligned.
Give Claude a way to verify its own work. This 2-3x the quality of the final result.
Our status: Added "Verify before marking done — run tests, typecheck, lint" as step 4 of every Tier 2 task (commit 8543f7a). We also have playwright for browser testing.
10 more tips from the Anthropic Claude Code team.
Spin up 3-5 git worktrees, each running its own Claude session. "Single biggest productivity unlock." Shell aliases to hop between them. Dedicated "analysis" worktree for logs/queries.
Our status: Just added --worktree to ticket workers in mc_pickup.py.
Have Claude write the plan, then spin up a second Claude to review it as a staff engineer. Switch back to plan mode the moment something goes sideways.
Our status: We have autoplan which runs CEO + design + eng review. The "second Claude reviews the plan" pattern could be added.
Ruthlessly edit over time. One engineer has Claude maintain a notes directory per task/project.
If you do something more than once a day, turn it into a skill/command. Build a /techdebt command. Set up a slash command that syncs 7 days of Slack, GDrive, Asana, and GitHub into one context dump.
Our status: 90+ skills. Well ahead here.
Enable Slack MCP, paste a bug thread, say "fix." Point Claude at docker logs. Say "Go fix the failing CI tests."
Our status: Our ticket workers do exactly this — MC tickets describe bugs, workers fix them.
Challenge Claude for better results. Write detailed specs to reduce ambiguity.
Note for Elmar: Your Telegram voice messages already do this. Consider using voice-to-text for MC ticket descriptions too — more detail = better results.
Route permission requests to Opus via a hook for auto-approval of safe ones. Append "use subagents" for more compute.
Our status: We have x3-finance skill for Sage X3 SQL, flightaware-data for flight data, BigQuery equivalent workflows.
Enable "Explanatory" or "Learning" output style. Have Claude generate visual HTML presentations explaining code. Ask for ASCII diagrams.
Parts 3-7: customization, worktrees, /simplify, /batch, /loop, code review, and more.
Runs parallel agents to review changed code for reuse, quality, and efficiency. We have this as the simplify skill.
Interactively plans code migrations then executes in parallel using dozens of agents with worktree isolation. Could be useful for large refactors across our codebase.
Schedules recurring tasks for up to 3 days unattended — PR babysitting, Slack summaries, deploy monitoring. We have the loop skill plus our own scheduler.
Dispatches a team of agents per PR — catches real bugs. We have second-opinion (council review with Gemini + Codex) and the nightly Larry code review.
Uses deepest reasoning mode. We should ensure all ticket workers run at max effort for complex tasks.
Hook that fires when conversation is auto-compacted (summarized to save tokens). Could save important context to memory before it's compressed away. Relevant to our memory problem.
Names sessions for easy identification. Our sessions are tracked in MC with ticket IDs but don't have human-readable names.
The patterns that emerge across all 72 tips.
Multiple worktrees/sessions running simultaneously. Throw compute at the problem.
Opus with thinking. Slower per-request but faster to completion because less steering needed.
Every mistake becomes a rule. The AI compounds knowledge over time. "Compounding Engineering."
Good plans lead to one-shot implementations. Bad plans lead to spiraling debug sessions.
2-3x improvement when Claude can verify its own work. Tests, typecheck, lint, browser testing.
Slash commands, subagents, hooks for anything done more than once a day.
Connect Claude to all your tools via MCP. Full context = better decisions.
"Surprisingly vanilla" setup. The tool works great out of the box. Focus on CLAUDE.md and workflow, not complex configs.
Don't accept first solutions. Push for elegance. Have Claude review its own work. "Scrap this and implement the elegant solution."
3x faster than typing. More detailed prompts = better results.
How our Luci/Lucienne setup compares to Boris's recommendations.
| Practice | Boris | Our Status | Gap |
|---|---|---|---|
| Parallel sessions | 5 terminals + 5-10 web | Ticket workers + main session | Aligned |
| Git worktrees | Each session in own worktree | Just added to mc_pickup.py | Adopted |
| Opus + thinking | Always Opus, always thinking | Opus 4.6 (1M context) | Aligned |
| CLAUDE.md | Team-shared, updated weekly | Have it, now auto-updating | Aligned |
| Plan mode first | Start every session in plan | Step 1 of Tier 2 workflow | Adopted |
| Verification loops | "Most important tip" | Step 4 of Tier 2 workflow | Adopted |
| Subagents | Liberal use, "use subagents" | Step 2 of Tier 2 workflow | Adopted |
| Skills/commands | Daily workflows as commands | 90+ skills | Ahead |
| MCP integrations | Slack, BigQuery, Sentry | Telegram, Brave, Tavily, etc. | Aligned |
| PostToolUse hooks | Auto-format on Write/Edit | Have hooks, not for formatting | Could add |
| @.claude in PRs | Auto-add to CLAUDE.md from PRs | Not yet | Could add |
| /batch migrations | Parallel agents for large changes | Not yet | To explore |
| /effort max | Deepest reasoning for complex tasks | Not configured | Easy add |
| PostCompact hook | Save context before compression | Not yet | Relevant to memory |
| Voice dictation | 3x faster, more detailed | Elmar uses Telegram voice | Already there |
What we've done and what's left to do.
mc_pickup.py now uses --worktree. Each ticket worker gets an isolated copy.
"Verify before marking done" added as step 4 of Tier 2.
"Use subagents for complex tasks" added as step 2 of Tier 2.
"Update CLAUDE.md if you learned something" added as step 10 of Tier 2.
Key Rule #7: every completed unit of work must be committed.
Add ruff/black auto-format on Write/Edit for Python files.
Save important context to memory before conversation compression. Addresses the memory loss problem.
Ensure ticket workers use maximum reasoning depth for Tier 2 tasks.