The Rabbit Hole of Refinement
The prior notebook section (Creating the R6Hub with Claude) covers building the basics of the tracker with Claude. At this point, I had spent ~1 hour to generate a fairly good outcome. I turned my attention to see how I could refine it.
Starting a new chat
I decided to start a new chat in my Claude Project. At the time, I thought it made sense as a natural break. Later, I learned this can also be a good practice to stop bloating Claude’s context window (adding too much context can be bad; it’s an effect called context stuffing). My first challenge: get Claude to see the Artifact that had been created in the prior chat. When I had read that “Projects allow shared context”, I thought that I could reference a common history and tell Claude to get information from another chat. This was incorrect. When I asked Claude to access the Artifact from the prior session, it informed me that it did not have access to other chats, in a Project or not.

I was a little confused about the utility of Projects at this point. Digging some more, I learned that the true utility of Projects comes from the ability to create a shared repository by uploading documents, and from the ability to create Project-specific instruction sets. This lets you set up a very specific version of Claude that is knowledgeable on a specific topic and acts in a specific way without affecting your broader Claude setup. In effect, with each Project you can create a bespoke Claude that’s perfectly suited for the task at hand.
Now that I knew this, I still had to find a way to get this new chat to know about the Artifact. At this point I wasn’t ready to say the Artifact was in a finalized state and I planned to keep iterating on it, so I opted to copy it into a chat instead of adding it as a file to the project. Finally, Claude could see what had been built so far and so we could get to work.
Takeaway 1
My high level takeaway from this experience: be extremely intentional and focused when doing any iteration work with AI.
Take time to plan the work and set up a course of action instead of doing each set of updates live and on the fly. I didn’t do this, and I found that added friction to the process. Sometimes I would need to backtrack, causing a lot of rework.
Sometimes I would have Claude touch the same section a few different times instead of a one-shot rewrite. Each rewrite caused Claude to look through the whole code file, eating up a lot of my usage limit.
I also found that some edits introduced errors or bugs into the code. While some bugs were probably inevitable, I think the repeated rewrites and edits increased the number of errors. If I had spent more time planning, I could have limited a lot of this and made my edits more streamlined.
I wanted to share a little detail on the goals I tried to achieve with my refinements, and some of the tactics that came out of it. While my methodology was not the best, I do think there were some practical tactics that came up.
Anti-Hallucination
My first idea was to focus on the accuracy of the output. One risk I’ve read about - and seen, in my occasional use of AI as a search tool - are hallucinations. I asked Claude to identify ways to improve the accuracy for each tracker refresh.
In the other chat session in the project, we created a centralized hub for Rainbow 6 Siege content. I'd like to explore techniques that can protect the data from hallucinations and inaccuracies. What are the best ways to update the tracker so that, when it is refreshed, it is as accurate as possible?Then, I asked Claude to start editing the code and implementing the improvements it had suggested. The updates would:
- Require Claude to go search external resources instead of relying on internal memory, ensuring it always gathered new updates instead of guessing at what an update might be;
- Limit the sources it would look at to ensure quality of the inputs used in the refresh;
- Conduct a self-validation step to double-check its own output before presenting it to users; and
- Add visible flags to the user to show when information was low confidence or couldn’t be refreshed as per the required sources.
Token Efficiency
My second focus was on efficiency. Each time I clicked the “refresh” button, it would essentially shoot off a pre-packaged prompt to Claude. I wanted to minimize how much of my usage each refresh would cost. To do this, I asked Claude to review the tracker and identify ways to minimize tokens.
Awesome. Now let's focus on token efficiency. What modifications do we need to make to this version to achieve the following priorities:
1. Minimize token usage and Claude calls (high priority)
2. Optimize speed of resultsI’m not sure if these changes were actually impactful or just made me feel better - token optimization is a topic I need to research more deeply. I’m including the two ideas that made the most sense here: Aside'Makes Sense' can be a trapI realize that “it seems to make sense” can be a major pitfall with AI outcomes, since they are designed to sound confident. Please keep that in mind and take all these ideas with a pinch of salt
- Stripping out prose from the pre-packaged prompt. Basically, prose isn’t really value-added, and condensing this down can save on a lot of input.
- Creating a block of shared rules that are applicable to all aspects of the refresh. Instead of repeating the same instructions over and over within each section’s refresh prompt, this minimizes the input while still ensuring the rules are followed.
Takeaway 2
My second big takeaway is that AI truly is a black box.
Many of the updates I asked for were difficult to verify or validate, and I needed to take Claude’s word that they were implemented correctly.
Some edits could be visually verified after they were implemented, but others required diving into the code.
This particular tracker was a low stakes project, and I didn’t care enough to invest the time unpacking the code (my intent was to learn how the AI works, the output was secondary), but I found this to be a growing friction point as I got deeper into the refinements. Without a way for me to validate the updates, it was difficult to trust the AI outcomes.
If you don’t plan for this, it can lead to dubious quality or investing more time than anticipated to verify changes.
Here’s a link to my chat so you can read through the details if you’d like. (note: ignore the final prompt where I ask for feedback. That’s the subject of a future project! I also don’t recommend this as a way of getting feedback):
https://claude.ai/share/51f5d7f3-6be1-4513-9fc8-1a55ac13e57b
I think planning my work would have saved me some time and effort. In my next Notebook, I start to learn from my mistakes a bit. I’m still working on the R6Hub as I try to debug the mess I’ve created here, but I learn that relying on Claude chat as the main coding entity is not a recipe for success.