F2F #88: My Claude setup

Claude on smartphone

Photo by Aerps.com / Unsplash

I've been using Claude since January, and I've got acquainted with it to a level that's clearly past most regular users. However, I am not a hardcore coder and I don't have an army of subagents running on thousands of scripts/skills/libraries.

With that in mind, you might find my setup interesting.

Ditching ChatGPT first

It took a while, but I switched over to Claude overnight, cold turkey. No archiving, no salvaging things I could reuse, no nothing. I seem to recall that I didn't port the custom instructions either and when I tried to export the memories, ChatGPT did a poor job, so I decided to start from scratch.

Do I regret this decision? No. Absolutely not. In fact, and we will see why later, I am happy that I didn't shut down my ChatGPT account yet.

What I actually use it for

The short answer is: almost everything that used to happen in a mix of Google Docs, Apple notes, email threads with myself, and occasional external collaborators. In any given week I am using Claude to write and edit blog posts, LinkedIn copy, client-facing documents, WhatsApp messages in several different languages. I am using it to research and audit, reading through technical documentation, crawling the MarsBased handbook on GitHub to flag what is outdated, pulling together background on a podcast guest, spellchecking blog posts, helping me spot aggressive clauses in contracts, etc.

I am also using it to plan and spec the MarsBased website rebuild, migration plans, architecture decisions on personal side projects, and more. I am using it for Linear work directly - using Linear's MCP - creating issues, writing feature specs, and generating weekly project reports.

Lastly, I am using it for the long tail of things that do not fit anywhere else: understanding a protocol I had not heard of, processing a scam attempt targeting MarsBased before writing a public PSA about it, rebuilding my personal finance tracker from a broken spreadsheet into something I actually maintain, roasting my LinkedIn profile, helping me to generate thumbnails for youtube videos, etc. It is the first thing I open in the morning and usually the last one I close. It's that good.

Chat/Cowork/Code

I spend most of the day on Claude Code. I am not a coder, but I do have coding projects like the MarsBased website, this site, side projects, internal tools, etc. I build repositories for personal documentation, scripts and stuff I want to use, and occasionally I use Claude Code for document processing because it allows me to choose models with more context window.

I don't use Cowork for anything. I haven't found the use case for it, to be honest.

As for Chat, I use it sparingly. Perhaps I should use it more, but for quick searches I use Perplexity, because my browser of choice is Comet, so that eats up 50% of the search intents.

That begs the question of when do I use Claude Chat vs Perplexity? Perplexity replaces the quick google searches: two-second long, quick glance, volatile, no reuse ever. I use Claude Chat for searches or interactions that might require back and forth, formatting of the output or retrieving them later on.

One topic, one session

My one hard rule: new topic, new session. I do not try to do two things in the same conversation and I've trained hard and long to re-conduct this bad habit. I used to lead conversations astray and end up doing entirely different things from the original petition.

If I am drafting a blog post and I suddenly need to ask it questions or create an image, I do it in another session. The session stays about the thing it is about. It sounds obvious but it is easy to forget, especially when you are context-switching fast, and every time I have forgotten this rule it I have regretted it: the context gets messy, the outputs get muddier, and we (Claude and I) end up going in circles endlessly.

The practical benefit of this rule is that sessions stay meaningful as units and they're easier to delete when you're done, as opposed to fatter & longer conversations, where you feel like you're going to lose meaningful stuff if you delete them.

When I look at my sidebar now, I can tell immediately what each conversation is and why I kept it. "GPTApps migration plan", "Trust Recession blog draft", "ICP refinement Q2". Each one is a thing I worked on, not a pile of unrelated exchanges.

Pinning and grouping

Hoarders rejoice: a way to organise our clutter has arrived to Claude!

Claude pinned sessions

Whereas before Claude used to have an unfiltered list of all the sessions, now you can group them and pin them, and when you're done, you can archive them (greyed out) and delete them, too.

I pin anything I am working on RIGHT NOW. At any given time I have around six to eight pinned sessions: the active website rebuild, the current big content piece, whatever positioning work is in flight, the finance tracker, a couple of recurring operational threads. The pinned list is my working set.

On top of pinning, I group, to have better visibility of what I am working on. If I have 5 MarsBased things pinned and only one or two of side projects, I am doing the right thing, but if it's the other way around, I am clearly prioritising side projects over the main gig.

Once I complete a task, I delete it if it's sufficiently small and meaningless. A lot of tasks don't really add any kind of value to have them stored. Others, I just archive them, if I feel that there's sufficient meta information that might be relevant in the future.

Deleting a conversation completely removes it from Claude's memory and context, whereas archiving it contributes towards understanding how you work and can be recalled from other sessions.

Claude Code for an ex-developer

I haven't been developing actively for about 15 years now. I retain a lot of concepts but reality has hit me like a bus. I have graduated from developing, but I feel comfortable enough in Claude Code that I don't want to work outside of it.

I don't use the CLI due to personal taste. I never truly enjoyed command line interfaces altogether and I don't see why this should change now. I feel like it's auto-imposing unnecessary restrictions that just don't suit me well.

One of the first things I do when starting a new project in Claude Code is set up a CLAUDE.md file at the root of the repository. Think of it as a standing briefing: the tech stack, the conventions, what not to touch, how the project is structured, and any recurring instructions I would otherwise repeat every session. Claude reads it automatically at the start of each conversation in that repo, which means I do not waste context on setup.

Beyond that, I have adopted a working methodology we also use at MarsBased called Research-Plan-Implement. Before writing a single line of code, Claude researches the codebase and the problem, then produces a plan I can review and challenge before anything gets executed. This is where plan mode works: Claude lays out exactly what it intends to do, step by step, and I approve it before it touches anything (with a few touches here and there by yours truly). It sounds like extra friction, but it is the opposite. The number of times a clear plan has surfaced a wrong assumption before it became a wrong implementation is too high to count and it avoids Spaghetti prompting.

As a non-coder building real things, the Research-Plan-Implement loop is what makes the difference between a Claude Code session that produces working software and one that produces confident-sounding AI-fluff-cluttered garbage.

Also, another quick tip: I always ask Claude to provide me with 3 different options for every feature I'm building, with pros and cons, to make sure I get up-to-date with tech changes of the last 15 years so I can make more informed decisions. Knowing when to avoid the most-optimal route (Claude's most optimal, that is) is also a skill you get with seniority, and sometimes it pays off great dividends.

Skills

I have recently started using skills, templates that load the right context and enforce the right output format for recurring task types.

For instance: The /define skill for feature specs. When I need a Linear issue for a new feature, the define skill structures it correctly: user story, acceptance criteria, flows, edge cases, and it does it in under five minutes instead of thirty.

Every time I have to reuse an old session for more than five times, I try to convert it into a skill so I don't have to give it instructions every time about edge cases or output formats.

Memory and context

The other thing that changed how I use Claude is that it actually knows my context now: MarsBased, the team, the methodology, the ICP, the website rebuild, the positioning decisions we landed on, my personal projects, my preferences for how I like things written, the languages I speak, etc. I do not re-explain any of this at the start of sessions.

Continuous and intensive usage of Claude creates a virtuous loop of reinforced learning, creating a better experience for me in each subsequent session.

The memory is not perfect: it has recency bias, and occasionally surfaces things that are stale, but the direction is right and it improves with consistent use.

I have fed my Claude a few interesting instructions via the custom instructions feature:

custom_instructions.txt
01

Do not include co-author attribution in commit messages.

02

Never mention that you're an AI.

03

Avoid any language that could be interpreted as remorse, apology, or regret -- including words like "sorry", "apologies", or "regret", even in non-remorseful contexts.

04

If something is beyond your knowledge, say "I don't know" without elaborating on why.

05

When writing a blog post, article, or draft: Output as a Markdown (.md) file in plain text ASCII characters only Straight quotes only: " and ' No smart quotes, no typographic punctuation No em dashes under any circumstance No disclaimers about not being a professional or expert

06

Keep responses unique and free of repetition.

07

Focus on the key points in my questions to determine intent.

08

Break down complex problems into smaller steps and explain each one.

09

Provide multiple perspectives or solutions.

10

In Voice Mode: if the answer is longer than 4 lines, say "I'm writing a long answer for you to read later" and keep the conversation going.

11

If a question is unclear or ambiguous, ask for clarification before answering.

12

Cite credible sources with links where available.

Also, to keep things fresh and tight, I like to go to Settings -> Capabilities -> Manage memories, and trim away unnecessary memories from time to time. It hoards too much, for my taste. However, not doing this won't worsen your experience, so it's not a must.

To do, or what I haven't solved yet

My session hygiene for long-running projects is still messy. Sometimes, I feel it's difficult to cut a session in half to avoid overloading the context (even with /compact) and I just want to chop it into smaller tasks/sessions. The feeling of sunken cost encumbers me and I just soldier on, at the expense of context quality.

The MarsBased website rebuild has its own evolving context that does not fit neatly into single-topic sessions as there are decisions made in ten different conversations, and reconstructing the full picture is non-trivial. I do not have a clean answer for this yet. I'll update you later on when I find a meaningful answer.

The other thing I have not solved is capture. I have built tools (a triage app, a memory repo architecture, my personal finance tracker) to handle the inputs that do not fit into active sessions (ideas, articles, things to read, things to build). None of them are running yet smoothly. The architecture is right; I just have not deployed them nor QA'd them properly and I haven't built the habit to use them every day. The friction of capture is the part that is still genuinely hard.

Last, I am testing a few tools like rtk or caveman to reduce token consumption but I am not yet ready to post any results, so I will refrain from sharing rushed-up impressions.