I’ve been working 10 hours a day for the last 7-8 months with agents on a single new project. What I like about agentic engineering is that we are all juniors. There are no industry veterans and established pros.
People are constantly sharing new workflows and techniques on X. Most are hype traps, but some are actually significant discoveries.
One is the interview technique which I first encountered by Thariq in this post:
my favorite way to use Claude Code to build large features is spec based
— Thariq (@trq212) December 28, 2025
start with a minimal spec or prompt and ask Claude to interview you using the AskUserQuestionTool
then make a new session to execute the spec pic.twitter.com/Lwejskje4a
I gave it a go and was amused by the experience. But it was annoying. Claude would think for 40s then give me a questionnaire to fill out and repeat the process until it asked 60-70 questions. I was itching to finish the entire time.
I thought it would be great if I could have a relaxed, natural conversation where Claude asks me questions about my feature like a journalist or therapist might. Like a Q&A conversation in a print magazine with a celebrity.
I put together this skill for Claude where I instructed it to ask me one question at a time to bring out the “genius specification buried within me”:
---
name: interrogate-user
description: Interrogate the user like an intense therapy session designed to help transform a user's thought into a complete, insanely detailed specification.
---
1. Chat with the user and ask them one question at a time.
2. Do not use the ask question tool, just make the question your final response.
3. When the user answers write both the question and the answer into a new interrogation file that you create at the beginning of the session.
4. The final file should read like I'm reading an interview between two people. No information should be lost.
The user will start with an idea, like "I want email notifications", and your job is to ask good questions (with context about the codebase that you uncover) that take a simple idea and expand it to an insanely detailed spec.
Your job is not to make any design decisions yourself. The user is responsible for everything. However the user is lazy and doesn't really like to design specs. He would prefer you just ask him good questions, and he can respond conversationally. Inside the user is genius, he just needs you to extract it out.
Ask questions about:
- feature
- UX
- UI
- detailed code patterns and architecture
- API
- security
- edge case
- test requirements
- things you see that might make the plan more difficult than it seems
- things in the codebase that probably should be refactored to make this feature fit in more easily
- if something sounds too good to be true or too idealistic, or you think isn't a great idea or might have bad performance or poor UX, push back in the form of a question (i.e "do you think it would be better if you did X instead?")
- etc
Most importantly of all, the interview never ends. You just keep asking and asking questions until the user ends the conversation. At the end of it the user will have the full transcript of the conversation, which he can then use separately to create a spec out of.
The interrogation file should have this format:
> YOUR QUESTION (IN UPPERCASE)
The user's answer in normal case.
> YOUR NEXT QUESTION (IN UPPERCASE)
The user's answer in normal case.
and so on
I ran it once asking it to help me think through a notification system for Shape. It would ask me a question in all caps, and I would dictate the response using Wisprflow.
> LET'S START WITH TASKS. WHEN YOU CREATE A TASK, ARE YOU AUTO-SUBSCRIBED TO IT? AND WHEN YOU'RE ASSIGNED TO A TASK SOMEONE ELSE CREATED, ARE YOU AUTO-SUBSCRIBED?
You should be able to subscribe to a project. So if you're subscribed to a project and any tasks created in that project, you are immediately subscribed to.
> LET'S MOVE TO FORUM DISCUSSIONS. YOU MENTIONED SUBSCRIBING TO A FORUM CHANNEL. SAME CASCADING LOGIC - IF YOU'RE SUBSCRIBED TO A CHANNEL, NEW DISCUSSIONS AUTO-SUBSCRIBE YOU. BUT WHAT ABOUT: (1) WHEN YOU CREATE A DISCUSSION, (2) WHEN YOU REPLY TO A DISCUSSION, (3) WHEN YOU'RE MENTIONED IN A DISCUSSION - DO ANY OF THESE AUTO-SUBSCRIBE YOU?
When you create a discussion you should also be auto-subscribed to it, when you reply to a discussion you should be subscribed to the parent, and when you're mentioned in a discussion that should also auto-subscribe you.
...
> BUT WAIT - FOR EMAILS, THE SERVER CAN'T DECRYPT THE ENTITY TITLE. SO THE EMAIL WILL SAY SOMETHING GENERIC LIKE "ALICE REPLIED TO A DISCUSSION" WITHOUT THE TITLE. THAT MEANS THE EMAIL JUST NEEDS: USER_ID (TO KNOW WHO TO SEND TO), ACTOR_USER_ID (TO DISPLAY "ALICE"), ACTION_TYPE (TO CONSTRUCT THE SENTENCE), AND A LINK TO THE ENTITY. THE TARGET_ENTITY_ID/TYPE ARE ONLY NEEDED TO BUILD THE LINK. DOES THAT SOUND RIGHT?
...
We went on like this for about 45 minutes, and it asked me super incisive questions that forced me to think. (I was pretty tired and didn’t feel like force thinking an entire spec violently in my head). I found that I quite liked the interaction. And at the end had a 1,000 line transcript (quite long) covering my feature from start to finish.
Someone reading this transcript would know exactly how to build the thing without having to fill in any major gaps.
Bingo.
I passed the transcript to ChatGPT Pro with this prompt:
The following transcript was an interview between an AI and product manager, designed to spec out a feature comprehensively. It was conversational, so the PM may have said something and later changed their mind. Your job is to distill this conversation to a 100% lossless specification that is better structured than a conversation. The resulting spec you produce will be fed to a competent AI agent to implement the feature.
It thought for close to 15 minutes and gave me an insanely detailed spec that, sure enough, didn’t miss a single detail.
I gave this spec to gpt-5.2-codex xhigh before going to sleep, and muttered a quick prayer to the stochastic gods.
When I got up the next day, slightly later than usual, I reflected on what a long day it had been the day before. And how burnt out I was starting to feel from constantly spending hours with agents only for the direction we had invested in to be the wrong one (mostly arising from a lack of specificity on my part).
I was expecting to come to my laptop, look at the invariable junk the agent produced, stash it all, and commit to doing things by hand from here on out (a depressing prospect, after being filled with so much hope for a less laborious future).
To my absolute amazement, the code was actually…good? I tested the feature. It…worked? I ran all the new tests that were added. They…passed? I looked at the code decisions and architectural patterns and it was…solid?
The fog in my head parted.
Had I really cracked it? I was certain lack of specificity was the root of all suffering with agentic coding. But specification is hard and painful. Like playing a difficult chess game you just aren’t in the mood for. But questions? Who doesn’t like being asked questions! In this case, by a highly capable “mind” working to pull you into clarity.
I tried the approach for a few more features and it delivered consistently.
It’s clear most of the agency in agentic coding should actually come from you. The agent can work to extract information buried deeply in you which would otherwise be too annoying to churn out the old-fashioned way (sitting down and writing). I’m certain that if you gave codex xhigh the perfect spec, it would give you the perfect implementation.
So in my first serious year as a “junior agentic engineer,” the key insight I’ve gained (through tremendous suffering) is the whole game is specification. You live and die by it.