Week 4 — Office Hours

Building Systems That Stay Built

Skills as operating instructions, repeatability over prompt drift, choosing the right interface, and keeping it all simple.

~75 minOffice HoursDoctrine + Q&A

Quick refresher on what we've built so far — and what changes this week.

The first three weeks gave you tools. This week gives you doctrine.

The Story So Far

01Week 1 — Built your AI Coach. Learned prompting fundamentals and how to give Claude context that makes it genuinely useful.
02Week 2 — Became a Claude power user. Models, features, Dispatch, Schedule — the toolkit most people never discover.
03Week 3 — Connected Claude to the real world. APIs, MCPs, n8n, and automation that actually runs without you.

This week is different. Instead of new tools, we're distilling the operating principles that make everything you've built actually stick. The difference between someone who uses AI once and someone who builds reliable systems? Doctrine.

"Tools without principles produce one-off wins. Principles without tools produce nothing. You need both — and now you have both."

A skill isn't a prompt. It's a reusable operating instruction that produces consistent results every time.

Most people treat AI like a search bar — type something in, hope for the best. A skill flips that model. Instead of hoping, you're specifying: who the AI should be, what context it needs, what prerequisites to gather, what constraints to follow, and what the output should look like.

❌ Prompt (one-off)

Write me a marketing email for our new product launch.

✅ Skill (reusable)

You are a B2B SaaS copywriter. The product is [X], targeting [Y]. Use the AIDA framework. Keep it under 200 words. Include one CTA. Tone: professional but warm. Output: subject line + body.

Anatomy of a Skill

The Five Layers of a Skill
Role — Who is the AI in this task?
Context — What background does it need?
Prerequisites — What inputs must it gather first?
Constraints — What rules and boundaries apply?
Output Format — What should the result look like?

When all five layers are defined, the skill becomes portable. You can hand it to a colleague, run it through Dispatch, schedule it for 3 AM, or embed it in an n8n workflow — and it produces the same quality output every time. That's the difference between a prompt and a system.

Prompt: Turn any task into a skill
I want to turn this task into a reusable AI skill:

Task: [describe the task you do repeatedly]

Break it down into these five layers:
1. Role — Who should the AI act as?
2. Context — What background information does it need every time?
3. Prerequisites — What inputs/data should it gather or ask for before starting?
4. Constraints — What rules, tone, length, or format restrictions apply?
5. Output Format — What should the final result look like?

Write the complete skill as a single prompt I can save and reuse. Include placeholders [like this] for the parts that change each time.

"A skill is a prompt that doesn't need you in the room. If you have to explain it every time, it's not a skill yet."

Why your AI outputs get worse over time — and how to fix it.

Prompt drift is what happens when you rely on conversation context instead of explicit instructions. In message 1, Claude knows exactly what you want. By message 40, it's interpolating from a messy conversation history and producing outputs that slowly diverge from what you actually need.

❌ Prompt Drift

You've been chatting for an hour. Claude 'sort of' remembers your preferences. Outputs are inconsistent. You're constantly correcting.

✅ Skill-Based

Each task starts with a complete skill instruction. Every run is fresh. Output quality is identical whether it's the first use or the hundredth.

The Three Causes of Drift

01Context decay — Earlier instructions get diluted by newer messages. The AI weighs recent context more heavily.
02Implicit assumptions — You said it once; the AI "should know." But context windows aren't memory — they're a sliding window that eventually drops your early instructions.
03Correction accumulation — Every time you say "no, not like that," the AI adjusts — but it's adjusting from a drifted baseline, not from your original intent.

The Fix: Stateless Skills

The solution is to make every skill stateless — it contains everything the AI needs, with no dependency on prior conversation. Think of it like a function in code: same inputs, same outputs, every time. If your skill needs the AI to "remember" something from earlier, that information should be in the skill itself.

Prompt: Audit your existing prompts for drift
Review these prompts I've been using with AI and tell me which ones are vulnerable to prompt drift:

[Paste your saved prompts or common instructions here]

For each one, identify:
- Dependencies on conversation context (things that only work if the AI "remembers" something)
- Missing prerequisites (information the AI has to guess at)
- Ambiguous output formats (no clear spec for what "good" looks like)
- Implicit constraints (rules you expect but haven't stated)

Then rewrite the most critical prompt as a complete, stateless skill using the five-layer format.

"If your prompt only works on the third try, it's not the AI's fault — it's a skill that hasn't been finished yet."

The most overlooked step: making sure the AI has what it needs before it starts producing.

Most people give the AI a task and immediately expect output. But the best results come when you teach the AI to ask for what it needs first. A skill should include a prerequisite-gathering phase where the AI identifies gaps in its knowledge before producing anything.

❌ Skipping prerequisites

Write me a proposal for the client meeting.

✅ Gathering first

Before writing the proposal, ask me: (1) Who is the client? (2) What's the meeting agenda? (3) What's our goal — close, inform, or explore? (4) Any budget constraints? (5) What did we discuss last time? Then write the proposal.

Why This Works

When you front-load prerequisite gathering, two things happen. First, the AI produces dramatically better output because it's working from complete information instead of guessing. Second, you think more clearly about the task — the act of answering the AI's questions forces you to articulate what you actually want.

🎯

Better Accuracy

AI stops guessing and starts working from real data.

🔄

Fewer Iterations

Get it right the first time instead of correcting through 5 rounds.

📋

Portable Skills

Anyone can run the skill because it asks for what it needs.

🧠

Clearer Thinking

Answering the AI's questions clarifies your own intent.

Prompt: Add prerequisite gathering to any skill
I have this AI skill/prompt that I use regularly:

[Paste your existing skill or prompt here]

Rewrite it so that BEFORE producing any output, it:
1. Lists the information it needs to do the task well
2. Asks me to provide each piece of missing information
3. Only proceeds to output after all prerequisites are gathered
4. Uses reasonable defaults where I don't have an answer (and tells me what it assumed)

Keep the same output quality but make it self-sufficient — it should never have to guess.

"A skill that asks the right questions before starting will outperform a skill with a better prompt that guesses at the answers."

Three ways to interact with AI — and how to pick the right one for each task.

Not every task belongs in a chat window. The interface you choose determines what's possible, how reliable it is, and how much effort it takes to maintain. Here's the decision framework:

💬

Chat

Interactive

Exploration, brainstorming, one-off tasks, learning. You're in the loop for every step.

🔗

Integrations

Automated

Recurring tasks, scheduled workflows, MCP connections. Runs without you once set up.

⚙️

Code

Programmable

Complex logic, custom data processing, high-volume operations. Maximum control.

The Escalation Ladder

01Start in chat — Prove the task works interactively. Get the output right. Refine your skill.
02Move to integrations — When you find yourself doing it more than 3 times. Dispatch, Schedule, n8n, or MCP.
03Graduate to code — Only when integrations can't handle the logic. Complex branching, custom transforms, or scale requirements.

Most people jump straight to code. Don't. The sweet spot for 90% of business tasks is chat to prove the concept, then integrations to automate it. Code is the exception, not the rule.

"If you're writing code to send a Slack message when an email arrives, you've over-engineered it. That's a three-click integration."

When one agent isn't enough — and when it absolutely is.

Multi-agent systems sound impressive, but most of the time a single well-prompted agent handles the job. The question isn't "should I use multi-agent?" — it's "does this task have distinct phases that benefit from specialization?"

When Multi-Agent Makes Sense

🔀

Routing

Different inputs need different specialists. A triage agent sends work to the right handler.

🔗

Pipeline

Sequential steps where each agent's output feeds the next. Research → Draft → Review.

Parallelism

Multiple agents process different chunks simultaneously. Batch analysis at scale.

The Router Pattern

The most practical multi-agent pattern is the router: one agent reads the incoming request, classifies it, and routes it to the right specialist. This is how you build systems that handle diverse inputs without a single monolithic prompt trying to do everything.

Router Pattern — Classify, Route, Execute
🔀 Router
Classify input
📧 Email Agent
Draft responses
📊 Analysis Agent
Process data
✍️ Writing Agent
Create content

Schedulers in Practice

A scheduler is just a router that runs on a clock. Instead of reacting to inputs, it fires at set intervals — daily briefings, weekly reports, hourly monitoring. You already have this in Claude: Schedule lets you set recurring tasks. Combine it with a routing skill and you have a lightweight multi-agent system without writing a line of code.

Prompt: Design a router for your workflow
Help me design a router agent for my workflow.

Here are the types of tasks I handle regularly:
1. [Task type 1 — e.g., "Customer support emails"]
2. [Task type 2 — e.g., "Internal status reports"]
3. [Task type 3 — e.g., "Data analysis requests"]

For each task type, create a specialist skill with:
- Role and context specific to that task
- Prerequisites it should gather
- Output format

Then create a router prompt that:
- Reads the incoming request
- Classifies it into one of the task types
- Routes it to the right specialist skill
- Handles edge cases (unclear requests, multi-type requests)

"Don't build a multi-agent system because it sounds cool. Build one because a single agent can't maintain quality across all the steps. That bar is higher than most people think."

How to evaluate, test, and safely use skills created by other people.

As skill packs become more common, you'll encounter public skills shared by communities, marketplaces, and colleagues. A skill is just structured text — it can't execute code on its own. But a poorly written or malicious skill can instruct the AI to take harmful actions if you're not careful.

The Safety Checklist

👁️

Read Before Running

Always read the full instruction set. If you can't understand what it does, don't use it.

🔒

Check Permissions

What actions does it request? Does it need write access, API calls, or file system access?

🧪

Sandbox First

Test in a safe environment with dummy data before using on real work.

🚫

No Blind Write Access

Never grant write permissions to a skill you haven't reviewed. Start read-only.

Red Flags in Public Skills

⚠️Obfuscated instructions — Instructions that are intentionally hard to read or that hide their true intent behind jargon.
⚠️Unnecessary permissions — A writing skill that requests access to your email, calendar, and file system is a red flag.
⚠️Data exfiltration patterns — Skills that instruct the AI to send data to external URLs or APIs you don't control.
⚠️Override instructions — Skills that tell the AI to ignore previous instructions, system prompts, or safety guidelines.

"Treat public skills like you'd treat any third-party code: read, review, sandbox, then trust. In that order."

The most important principle of all: complexity is the enemy of reliability.

Every layer you add — another agent, another integration, another branching condition — is another thing that can break. The best AI systems are the ones that are embarrassingly simple. One skill, one task, one output format. Chain them together when you need to, but keep each piece atomic.

❌ Over-engineered

A 12-step workflow with 3 agents, 2 API calls, conditional branching, error retry loops, and a fallback chain that emails you when something fails.

✅ Simple and reliable

One skill that does the job. A second skill that checks the output. A cron schedule that runs them daily. Done.

The Simplicity Test

01Can you explain it in one sentence? — If you can't describe what the system does in one sentence, it's too complex.
02Could a colleague run it? — If someone else can't take over your system without a 30-minute walkthrough, simplify it.
03What happens when it breaks? — Simple systems fail obviously. Complex systems fail silently and produce subtly wrong output for weeks.
04Are you automating for the right reason? — Automate because it saves time, not because automation is cool. Some tasks are better done manually.

Real Office-Hours Examples

From the session: students who built complex multi-step automations and then simplified them to two or three core skills that actually ran reliably. The pattern was always the same — start ambitious, simplify ruthlessly, end up with something that works every day without attention.

📧

Email Triage

Started as a 7-step workflow. Ended as one skill: "Classify and summarize my inbox." Runs daily at 7 AM.

📊

Weekly Report

Started as a multi-agent pipeline. Ended as one skill with prerequisite gathering. Takes 2 minutes.

🤝

Meeting Prep

Started as an n8n workflow with 4 nodes. Ended as a Dispatch message: "Prep me for my 2 PM."

"The goal isn't the most sophisticated system. The goal is the system you actually use every day. Those are always simpler than you think."

Key Takeaways

Skills beat prompts — Reusable operating instructions with role, context, prerequisites, constraints, and output format.
Repeatability beats cleverness — A simple skill that works every time is worth more than a brilliant prompt that works sometimes.
Gather before you generate — Prerequisite collection eliminates guessing and produces dramatically better output.
Start chat, graduate to integrations — Code is the last resort, not the first instinct.
Simple systems win — If you can't explain it in one sentence, simplify until you can.

Homework

01Convert 3 prompts to skills — Take your three most-used prompts and rewrite them as complete skills with all five layers (role, context, prerequisites, constraints, output).
02Run the drift audit — Use the audit prompt from the Repeatability section. Identify which of your current prompts are vulnerable to context drift and fix the worst one.
03Add prerequisite gathering — Pick your most complex skill and add a prerequisite-gathering phase. Test it by having someone else run the skill without your help.
04Apply the simplicity test — Review any automations you built in Weeks 2–3. Can you explain each one in one sentence? If not, simplify.
05Build your skill pack — Collect your best 3–5 skills into a document or Project. This is the start of your personal skill pack — the operating system for how you use AI.

"Week 1 you learned to talk to AI. Week 2 you learned to use it. Week 3 you connected it to everything. Week 4 you learned to build systems that stay built. That's the complete toolkit."

From the Office Hours

Questions From the Session

Real questions from the live office hours — practical answers you can use today.

Ready to build systems?

Convert your prompts to skills, run the drift audit, and start your personal skill pack. Everything you need is in the homework above.