Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

I’ve always enjoyed trading card games. I used to play Pokémon and Yu-Gi-Oh!, and while I never actually played Magic: The Gathering, I did pick up a beginner box out of curiosity. More recently, I discovered the Flesh and Blood TCG—it looks amazing, and I’m still trying to find games for it at my local card shops. For Pokémon, at least, I can hop into matches on the Live app.
As I got back into the TCG scene, I noticed something that bugged me: in each game’s competitive meta, only a small subset of cards and strategies are considered truly viable. That felt a little stale. I figured an LLM could shake things up—by semantically searching a full database of cards, it could design competitive decks around unconventional strategies.
With that in mind, I set out to build a competitive Porygon-themed deck. I was hoping an LLM could help me make decks centered on Pokémon I actually want to use instead of just following the meta. And, well… I did manage to cobble together a Porygon deck. But so far, I’ve lost every single game I’ve played with it.
Since I’m obviously incredibly awesome at everything I do, that leaves only one possible conclusion: the problem isn’t me—it’s the LLM!
That frustration became the spark for the AI-powered TCG deck-building app I’m building now.
A week ago, I started working on this project for real. My first attempt at a card ingestion pipeline was a classic case of “vibe coding”—a little planning here, some coding there, and a lot of improvisation. This time, I wanted to do it properly, so I grabbed the context engineering template from colean00’s GitHub and committed to a full, methodical planning session.
My understanding of this template is that we issue prompts that are used to create more intricate prompts. Those intricate prompts are what we then feed to Claude to generate the actual code.
I really like this approach because it lets me focus on high-level concepts that need to be designed, while still giving me the flexibility to dig into details when needed. I got into software engineering and computer science so I could build applications—not spend all day micromanaging every single function signature from scratch.
I’m approaching this project via the template because ChatGPT is really good at generating markdown files, and the template’s workflow depends on them. The /generate-prp and /execute-prp slash commands that Claude understands require markdown, so the format fits perfectly.
It’s surprisingly easy to generate all of the necessary context just by chatting with ChatGPT and answering its questions. For example, I can have ChatGPT break a project down into major components, and the structure it produces usually matches what I would have designed myself. From there, I instruct it to ask me any questions it needs answered, and it fills in the gaps.
In other words: ChatGPT is generating all of the planning markdown files, which will then be used to generate all of the Project Requirements Prompts that Claude will use to write all of the code.
I’m sure I’ll come up with my own templates as I do more “context engineering,” but for now, this one’s working great.
I set out to make a comprehensive planning document for the card ingestion feature—something future-me could thank current-me for.
Here’s what I wanted to cover:
Once the planning doc is finalized, I’m going to have Cursor generate scripts to:
The first planning prompt I gave was:
“It looks like the module structure for the data ingestion includes 7 different files. Please explain the purpose of all 7 files.”
It took ~45 seconds to respond, but I liked its modular approach—it’s designed so new TCGs can be added without overhauling existing code.
Error handling was baked in without me having to ask for it. It accounted for:
Occasionally, Firefox would pop up with “This page is slowing down Firefox.” I didn’t check the console, but there was a lot of waiting. In the downtime, I played my Switch or sleeved some Flesh and Blood cards.
This is still just the planning stage, but already it feels like I’m building something that will save countless hours of tedious work in the future—not just for me, but for anyone who’s ever wanted to build a deck without switching between ten tabs.
This post was generated with the help of generative AI. You can view the original conversation here.