Stop letting AI write your code first. This is the exact setup from my Reel: 4 old engineering rules from Matt Pocock's talk "Software Fundamentals Matter More Than Ever" (AI Engineer Europe 2026), turned into skills and prompts you can use today with Claude Code.
#1. Install the 4 skills in 30 seconds
Matt Pocock's skills are free and open source (MIT): github.com/mattpocock/skills.
In your terminal:
claude plugin install mattpocock-skills@claude-plugins-officialThen open Claude Code in your project and run this once per repo. It asks which issue tracker you use and where to save docs:
/setup-matt-pocock-skillsThe skills behind the 4 rules:
| Rule | Skill | What it does |
|---|---|---|
| 1. Let the AI grill you | /grill-me, /grill-with-docs |
Claude interviews you in rounds before any code |
| 2. Give it your project's language | /grill-with-docs |
Builds a shared glossary and documents decisions |
| 3. Test first | /tdd |
Red, green, refactor in small steps |
| 4. You design the boundaries | /improve-codebase-architecture |
Finds deep modules with simple interfaces |
#2. My full 16-question Stripe session
Real session in Claude Code on a small SaaS app (Next.js + Drizzle). My prompt was only:
/grill-me Add Stripe subscriptions to my app.
Round 1
- Billing intervals: Should Pro be monthly-only for now, with annual billing added later?
- Checkout flow: Should "Go Pro" send users to Stripe-hosted Checkout and back to /dashboard, or embed a payment form with Stripe Elements?
- Managing a subscription: Should the dashboard get a "Manage billing" button that opens Stripe's Customer Portal, instead of building those screens yourself?
- Free trial: Should Pro start immediately with no trial?
- Product setup: Should the Pro product and price be created once in the Stripe dashboard, with the app reading the price ID from an env var?
- Tax: Should this skip Stripe Tax and VAT for now, so $12 is the flat price?
My answer: "Yes to all, but give Pro a 14-day free trial." The next round adapted to that answer.
Round 2
- Card up front: Should Checkout require a card to start the trial, so it converts to paid automatically unless they cancel?
- One trial per user: Should each user get only one trial, so someone who cancels and comes back pays immediately?
- Source of truth: Should Stripe be the source of truth, with webhooks writing the subscription status to the database?
- Who counts as Pro: Should trialing, active and past_due count as Pro, and everything else drop back to Free?
- Cancellation: Should cancelling keep Pro until the end of the paid period?
- Creating Stripe customers: Should the Stripe customer be created the first time someone clicks "Go Pro", instead of at signup?
- Return from Checkout: The webhook may arrive after the user is back. Should the page sync the subscription itself with the same function the webhook uses?
- Free-plan limits: Should limit enforcement stay out of this change, since invoices don't exist yet?
Round 3
- Logged-out "Go Pro": Should a logged-out visitor go through login and land straight in Checkout?
- Pricing page state: Should the Pro card show "Current plan" for Pro users and "Start 14-day trial" for everyone else?
Then Claude summarised the plan and stopped:

That's the point: 16 decisions settled, 0 lines of code written, and nothing silently assumed.
#3. The 4 rules as copy-paste prompts
No skills installed? These prompts get you most of the way in any AI coding tool.
#Rule 1: Let the AI grill you
Before you write any code, interview me about this feature. Ask your questions in rounds, number them, and give your recommended answer for each one. Wait for my answers before the next round. Look up facts in the codebase yourself instead of asking me. Don't write code until I confirm we share the same understanding.#Rule 2: Give it your project's language
Scan this codebase and write GLOSSARY.md: a table of the domain terms we use (term, meaning, where it lives in the code). From now on, use exactly these terms in plans, names, commits and messages. If a new concept comes up, propose a term and add it.#Rule 3: Test first
Work test-first. For the next small behaviour: write one failing test, run it and show me the failure. Then make it pass with the smallest change, run the tests again, and refactor while they stay green. Never write more than one test ahead.#Rule 4: You design the boundaries
I own the interfaces, you own the implementation. Propose the public interface for this module (function names, inputs, outputs, errors) and wait for my approval. After that, implement everything behind it and don't change the interface without asking me first.#4. My CLAUDE.md starter template
Put this in the root of your repo as CLAUDE.md and fill in the brackets. Claude Code reads it at the start of every session.
# [Project name]
[One paragraph: what this app does and for whom.]
## How we work
- Before any feature: run /grill-me (or ask me questions first). No code until I confirm the plan.
- Use the terms in GLOSSARY.md for names, plans and messages.
- Test first: red, green, refactor. Run the tests after every change.
- Don't change a public interface (see Modules) without asking me.
## Modules
| Module | Interface (I own this) | Notes |
|---|---|---|
| billing | subscribe(), cancel(), isPro(user) | Stripe; webhooks are the source of truth |
## Commands
- Dev: `npm run dev`
- Test: `npm test`
- Types: `npm run typecheck`#Credits
The 4 rules and the skills are from Matt Pocock: watch his talk "Software Fundamentals Matter More Than Ever" at AI Engineer Europe 2026. The prompts and the CLAUDE.md template are my own versions.
Made by @sangeeths.ai: practical AI workflows from an AI engineer. Follow on Instagram for more. Share this kit: sangeeths.ai/grill · All free kits: sangeeths.ai
