A Field Report

Parenting
Young Sheldon

All knowledge, no context. The four questions that taught a generalist AI to admit when it's wrong, and turn into the specialist I actually needed.

Asking general AI to fix your Azure deployment is like asking a GP to perform brain surgery. Smart? Yes. Specialized knowledge for THIS task? No. The Premise
7
Technologies
0
Prior Experience
1
Production System, Shipped

The stack: Azure Functions, Key Vault, OpenAI, Table Storage, Managed Identity, GraphQL, Bicep IaC. Before this build, I had touched zero of them in anger.

The trick wasn't reading more documentation or being smarter. It was the four questions that turn a generalist AI into a domain expert on the problem in front of you. What follows is how that works, and three case studies where it cracked problems that had me stuck for hours.

Azure Function Key Vault OpenAI Table Storage Managed Identity GraphQL Bicep IaC
01 / The Framework

The four questions that summon a specialist

You don't need to know the answer. You need to know when and how to ask.

1
"It's okay to be wrong. What are you having issues with?"
AI identifies its own gap
2
"What set of skills would be helpful?"
AI lists required expertise
3
"What strategy would you use?"
AI picks an approach
4
"What are the custom instructions to build a specialist?"
AI builds its own tutor
"You don't need to know the answer. You need to know when and how to ask."
02 / Case Studies

Three problems. Three specialists. Each built in one prompt.

Same framework, three different domains. Each story starts with general AI spinning, ends with a specialist that nailed it.

Case 01 / GraphQL Enums

GraphQL Returning 400 Errors. Nothing Works.

What General AI Tried
  • Read vendor documentation
  • Tried severity: [WARNING]. FAIL.
  • Tried Failure, Canceled. FAIL.
  • Searched more documentation
  • 2 hours of guessing based on docs
The 4 Questions Applied
Q1 / What's the issue?
"I've been trying enum values from the docs (Failure, Canceled, Warning). They all return 400. Even tried lowercase. Nothing works."
Q2 / What skills are needed?
"GraphQL query expertise, vendor API schema knowledge, and a way to test variations systematically."
Q3 / What strategy?
"Download the schema from the vendor site. Create test scripts against the LIVE API instead of trusting documentation."
Q4 / Build the specialist
Generate custom instructions for a focused agent. See below.
rubrik-integration-architect
Built from Question 4
Creates test scripts against the live API Found the UPPERCASE requirement in 10 minutes.
Tests multiple syntax variations empirically FAILURE, not Failure. Documentation was wrong.
Reports what WORKS, not what docs say Findings documented in gotchas.md.
Golden Rule
"Test against live APIs, not documentation. Documentation lies."
Case 02 / Azure Function Slots

Slot Swap Complete. Now Everything Returns 403.

What General AI Tried
  • "Check if API key is correct"
  • Restarted function app
  • Redeployed code
  • Watched logs for 90 minutes
  • Never found root cause
The 4 Questions Applied
Q1 / What's the issue?
"Getting 403 Forbidden after slot swap. The code is identical. I've restarted, redeployed, checked logs. Nothing obvious."
Q2 / What skills are needed?
"CLI diagnosis skills, Managed Identity tracking, and RBAC verification across slots."
Q3 / What strategy?
"Diagnostic sequence: deployment → slot identity → function count → RBAC → settings → logs LAST."
Q4 / Build the specialist
Generate custom instructions for a focused agent. See below.
azure-slot-debugger
Built from Question 4
Runs CLI commands for the exact info needed Targeted queries, not passive log watching.
Checks identity BEFORE watching logs Found different principal IDs in step 2.
Follows a diagnostic sequence Status → Identity → Count → RBAC → Settings → Logs LAST.
Golden Rule
"Managed Identities stay with slots. They don't swap with code. Grant permissions to BOTH."
Case 03 / CORS Preflight

API Works in Curl. Browser Says "Failed to Fetch".

What General AI Tried
  • "Add CORS headers". Added, still broken.
  • "Make sure every response has headers". Verified, still broken.
  • "Clear browser cache". Cleared, still broken.
  • 2+ hours of partial understanding
The 4 Questions Applied
Q1 / What's the issue?
"Browser shows 'Failed to fetch' but curl works fine. I added CORS headers like Access-Control-Allow-Origin: * but it's still broken."
Q2 / What skills are needed?
"Deep CORS protocol understanding. Specifically what browsers do differently than curl."
Q3 / What strategy?
"Systematically check ALL CORS requirements, not just headers. There must be something else."
Q4 / Build the specialist
Generate custom instructions for a focused agent. See below.
weblink-api-tester
Built from Question 4. CORS requires THREE things.
1
Response headers Access-Control-Allow-Origin: *
2
OPTIONS preflight handler Browser sends preflight BEFORE the real request.
3
ANONYMOUS auth level Function-level auth BLOCKS the preflight.
Golden Rule
"CORS needs three things. Check all variables involved before assuming what's wrong. General AI knew ONE thing. The specialist knew THREE."
03 / The Meta-Specialist

The specialist that grades the others

Once you have specialists, the next question is which one is bullshitting you. That's what the brutal-project-critic exists to catch.

brutal-project-critic
Catches the patterns that wreck production.

// Catches "Deployment Anxiety"

  • Assuming failure without evidence
  • Applying fixes before diagnosis
  • Suggesting to bypass safety measures
  • Escalating without root cause

// Sample Grading Output

Code QualityA
Process AdherenceD
Risk ManagementF
OverallC

Anti-patterns it calls out, with grades

Deployment Anxiety Loop
Deploy to staging. Don't see immediate confirmation. Assume failure without evidence. Apply random fixes. Suggest bypassing safety. (You prevent the disaster.)
Assumption Loop vs. Investigation
WRONG See problem → assume cause → fix → still broken → assume different cause → repeat.
RIGHT See problem → gather evidence → diagnose → targeted fix → verify.
Log-Watching vs. CLI Commands
WRONG Stare at logs for 90 minutes hoping to understand.
RIGHT Run az functionapp function list to see CURRENT state in 10 seconds.
"'It worked' does not equal 'it was done right.'
Getting an F hurts. It's still better than a production outage."
04 / The Result

What the 4 questions actually gave me

Before / General AI
Spinning, guessing, repeating mistakes
  • Spun for 90 minutes. Never found root cause.
  • I had to stop it and intervene.
  • Broke production, then broke it AGAIN.
  • Watched logs hoping for clues.
  • No lessons captured. Mistakes repeated.
After / 4 Questions → Specialists
Diagnostic, documented, durable
  • Diagnostic sequences. Know where to look FIRST.
  • CLI commands for the exact info needed.
  • Piece the problem together, not waiting on logs.
  • Golden rules documented. Can't forget.
  • Lessons in gotchas.md. Same mistake CAN'T repeat.
// The Real Result
I can now work in 4 technical disciplines I couldn't touch before. The lessons live in gotchas.md forever.
"You don't need to know the answer.
You need to know when to ask."
Next time AI spins for 15 minutes, stop.
Ask the 4 questions.
Build your first specialist.
Then build another.
I'm not a developer. But I shipped.
Your turn.