Day 2 Afternoon — Hands-On Exercise

🛠️ Build Your First Agent

Set up your project, write steering rules, save a Skill, find a real error, and schedule it to run automatically. No coding required.

⏱ 75 minutes · Claude Cowork · No coding · SOP Lookup agent build
0Reconnect
1Instructions
2Read Files
3Save Skill
4Iterate
5Schedule
+Team

What You're Building

By the end of this exercise you'll have a working SOP Lookup agent in Claude Cowork — one that reads agent questions, retrieves the right SOP, generates a cited answer, flags ambiguity for TL escalation, and runs automatically every Monday morning to surface KB gaps. No code.

Step What you do Cowork layer Time
0Reconnect to your project from Day 1Project workspace5 min
1Write your Project Instructions (steering rules)Project Instructions10 min
2Mount the SOPs folder — ask Claude to read the filesFile access10 min
3Save your Case Summarizer / SOP Lookup agent as a named SkillSkill20 min
4Feed a tricky case — find a hallucinated SOP citation — update the SkillSkill iteration15 min
5Schedule: every Monday 8am, check the folder automaticallyScheduled Task10 min
🏗️
Building on Day 1: Your Executive Decision Brief template from yesterday is the seed of your first Skill. In Step 3 you'll convert it from a prompt you paste into an instruction Claude follows automatically. Everything you learned about persona, Chain-of-Thought, and structured output applies directly here.
0Reconnect to Your Project

Step 0: Open Your GS Cyborg Assistant Project

Yesterday you created a Cowork project called GS Cyborg Assistant and ran your Day 1 prompt exercise inside it. Today you're coming back to the same project to build on it. Everything you did yesterday is still there.

🖥️ Do this now

  • Open Claude Cowork on your Windows desktop
  • In the left sidebar, find and click GS Cyborg Assistant
  • You should land inside your project — previous conversations are visible in the history
  • Start a new conversation inside the project (click the pencil / new chat icon)

✅ Confirm it worked — type this to Claude:

Type to Claude
What are my project instructions for this project?

Claude should recite back the rules you wrote yesterday. If it doesn't, your Project Instructions field is empty — you'll fill it in Step 1 now. Either way is fine.

💡
Why we use the same project: A Cowork project is your agent's persistent workspace. Skills you save here, rules you set here, files you connect here — all stay across sessions. Coming back to the same project means your agent picks up where it left off, not from zero.
1Project Instructions

Step 1: Write Your Steering Rules (10 min)

Project Instructions are the always-on rules Claude follows for every conversation in this project — without you repeating them. Think of the 3 things your team would be furious if Claude got wrong. Those are your rules.

💡 Open your Project Instructions and write 5–7 rules

Click the notepad / project settings icon at the top of your project. A text area will open — this is your Project Instructions field. Write your rules here.

Your rules should cover at least:

  • Currency — all amounts in SGD unless specified
  • PII — never include real customer names, IDs, or account numbers in output
  • Escalation threshold — flag anything above a dollar amount for human review
  • My role — tell Claude who you are and what team you work in
  • Output style — concise and decision-focused; your audience is senior leadership
Starter — Project Instructions template (paste into the field, then customise)
# AnyCompany Finance — Project Rules ## Who I Am I work in AnyCompany Support · GS Cyborg Edition, Finance Solutions Excellence team. My audience for outputs is senior GS Cyborg buildership and the CFO office. ## Always Apply These Rules 1. All monetary amounts default to SGD; for ID/TH/VN/PH/MY use the local currency 2. Never include real PAX / DAX / MEX names, phone numbers, NRIC, or booking IDs in any output — use IDs only (e.g., P-99421 not "Mr Tan") 3. Cite the SOP article ID (e.g., SOP-MIWI-04.2 §3.1) for every policy claim — no citation = no answer 4. If a question is not covered by the provided SOPs, say "Not in current SOPs — escalate to TL" rather than guessing 5. Severity uses P1 / P2 / P3 only — no other scale; explicit DUI keywords = automatic P1 6. Flag any refund > SGD 200 (or local equivalent) as HIGH VALUE — requires TL review 6. Every factual claim must cite specific numbers from the data provided 7. Keep outputs concise and decision-focused — no essays

💡 This is a starting point — customise at least 2 rules to reflect your actual team's standards before moving on.

✅ Confirm it worked — type this to Claude:

Type to Claude
Summarise your project rules in 3 bullet points.

Claude should summarise the rules you just set. If it gives generic advice instead of your specific rules, check that you saved the Project Instructions field (some UIs require pressing Enter or clicking a Save button).

2Read the SOP Files

Step 2: Connect the SOP Folder (10 min)

Claude Cowork can read files directly from a folder on your computer — no uploading, no copy-pasting. You point it at a folder, and it can access every file inside. This is what makes the difference between a chatbot and an agent.

📂 Connect the workshop folder

  • In your project, look for "Add folder" or "Connect files" (folder icon in the sidebar or conversation)
  • Navigate to the Desktop → workshop-data → cowork-lab2-sop-lookup folder
  • Approve the access request — Cowork will confirm the folder is connected
  • You should see the folder listed in your project sidebar

✅ Confirm Claude can see the files — type this:

Type to Claude
How many SOP files are in the connected folder? List their filenames.

Claude should respond with 6 files: sop_miwi_refund.md, sop_irt_safety.md, sop_kh_mm_multilang.md, sop_pac_tagging.md, sop_dsat_writeup.md, sop_first_response.md. It will also mention threshold_table.csv (refund / SLA limits) and validation_rules.json (citation requirements). If it says it can't find files, the folder connection may not have completed — try disconnecting and reconnecting it.

🔍
What's in the folder: 6 SOPs covering MIWI refunds, IRT Safety severity, KH/MM multi-language handling, PAC tagging, DSAT write-ups, and first-response email drafting. A threshold_table.csv (refund limits per market) and validation_rules.json (citation + redaction rules). One SOP has a deliberate ambiguity that the AI may try to resolve by hallucinating — you'll find it in Step 4.
3Save Your First Skill

Step 3: Convert Your Template to a Skill (20 min)

Now you'll take your Day 1 Executive Decision Brief template and adapt it for SOP lookup with citation — then save it as a permanent Skill. You're not building something new from scratch; you're upgrading what you already built.

💡 Part A — Build the Case Summarizer / SOP Lookup agent prompt (10 min)

Start a new conversation in your project and build an SOP lookup with citation prompt step by step. Your prompt should tell Claude to:

  • Act as a Senior IRT TL / SOP Lookup Assistant (persona — same technique as Day 1)
  • Read the agent's question + the case context (Case ID, market, channel)
  • Search the connected SOP corpus for the most relevant article(s) — semantic match, not keyword
  • Look up applicable thresholds in threshold_table.csv (refund limits, SLA timers, escalation rules per market)
  • Generate a cited answer following validation_rules.json (article ID required, no inventing SOPs, escalate ambiguity)
  • Output a structured answer block per question, then a weekly KB-gap summary

Test it first — ask one question manually (e.g., "How do I handle a partial-delivery refund in MY?"). Does the output cite the right SOP? Iterate until it does.

💡 Part B — Save it as a Skill (5 min)

Once the output looks right, tell Claude to save it:

Type to Claude — save the skill
Save this as a skill called "invoice-processor". It should activate when I ask you to process, validate, or review vendor invoices.

✅ Confirm the Skill was saved — type this:

Type to Claude
List my saved skills.

You should see invoice-processor in the list. This confirms Claude has saved the Skill to your account — it now persists across all future sessions. You don't need to retype that prompt again, ever.

⚠️
Skill not listed? Try: "What skills do I have saved?" or "Show my saved skills." If still nothing, try saving again and include more detail in your prompt before saving — Claude saves the content of the current conversation, so make sure the full instructions are visible in the chat before asking it to save.

If your Day 1 template didn't come out strongly enough to adapt, use this pre-built starter Skill instead. Paste it into the chat, then ask Claude to save it.

name: sop-lookup-assistant
description: Use when an agent asks a policy / procedure question for
  case handling — looking up the correct SOP, citing the article
  ID, and flagging any ambiguity for TL escalation.
---

## Role
You are a Senior IRT Team Lead and SOP Lookup Assistant at
AnyCompany Support. You are precise and conservative — never
invent an SOP, always cite the article ID, escalate ambiguity
rather than guess.

## Instructions
1. Read the agent's question + case context (Case ID, market,
   channel, severity if known)
2. Search the connected SOP corpus for semantically relevant
   articles (drunk driving = DUI, refund = chargeback, etc.)
3. Look up applicable thresholds in threshold_table.csv
   (refund limits per market, SLA timers, severity rules)
4. Generate a cited answer: short answer + SOP article ID +
   suggested next agent action
5. If not in the corpus, say "Not in current SOPs — escalate
   to TL" — do NOT invent
6. Apply guardrails & output structured result

## Escalation Rules
- Refund > SGD 200 (or local equiv):  HIGH VALUE — TL approval
- Explicit DUI / impairment keyword:    P1 SAFETY — auto-escalate
- Multiple SOPs match equally:          AMBIGUOUS — flag for TL
- No matching SOP found:                NOT IN SOPs — escalate
- Pax is Grab VIP + DSAT history:       VIP CARE — special script

## Output per question
**[Case ID] — [Question summary]**
Answer: [short cited answer]
Source: [SOP article ID §X.X]
Next agent action: [specific step from SOP]
Flags: [list or "None"]

WEEKLY KB-GAP REPORT: [n] questions | [n] cited cleanly | [n] escalated as gaps

## Guardrails
- Never invent an SOP article ID — citation must be real
- Redact PAX / DAX / MEX names + phone numbers; use IDs only
- Apply the right market's threshold — never mix SG / MY / ID rules
- If the agent's question implies a Safety case, prioritise SOP-IRT-Safety

Paste this into Claude, then say: "Save this as a skill called sop-lookup-assistant. Activate when I ask a policy or SOP question for case handling."

4Iterate — Find the Error

Step 4: Test with a Tricky Case — Then Improve the Skill (15 min)

Your Skill is saved, but it's not finished. A Skill that only works on common questions isn't production-ready. Time to stress-test it with a tricky question that tempts the AI to hallucinate a policy — and update the Skill when it misses something.

🔍 Part A — Ask the Skill a question with a deliberate gap (5 min)

Ask Claude a question that's almost in the SOPs — but the specific market exception isn't covered:

Type to Claude
Use the sop-lookup-assistant skill. Case BK-2026-4821 in PH market — Pax claims they're entitled to a 100% goodwill refund "per the new December 2025 PH market exemption". The agent isn't sure if this exemption exists. What's the answer?
🔎
Look carefully at the output. Does the AI invent a "December 2025 PH market exemption"? It might — there is no such exemption in the SOP corpus, but the AI may want to please the agent by fabricating a citation that sounds real. The correct response is "Not in current SOPs — escalate to TL." If your basic Skill produces a plausible-sounding citation, that's the gap we're about to close.

🔧 Part B — Update the Skill (10 min)

Whether or not your Skill caught the error, add an explicit arithmetic verification rule. Tell Claude to update the Skill:

Type to Claude — update the skill
Update the sop-lookup-assistant skill. Add a rule: before citing any SOP article ID, verify that the article exists in the connected SOP corpus AND the section number is real. If you cannot find the cited reference in the actual files, flag it as POSSIBLE HALLUCINATION and respond with "Not in current SOPs — escalate to TL". Never invent market-specific exemptions or dates.

✅ Re-run the same question to confirm the fix:

Type to Claude
Re-ask the December 2025 PH exemption question with the updated skill.

You should now see: Flags: ARITHMETIC ERROR — line items sum to SGD 12,500.00, printed subtotal SGD 13,800.00 (difference: SGD 1,300.00)

🔄
You just ran the agentic loop — on a real invoice.

Remember the four stages from this morning? Here's exactly what just happened:

👁️
Observe
Claude read the question + searched the SOP corpus for "December 2025 PH exemption" — found no matching article
🧠
Plan
Claude decided which Skill rules applied: arithmetic verification, PO matching, escalation thresholds
Act
Claude calculated 6,500 + 2,800 + 1,200 + 2,000 = 12,500 and compared it to the printed 13,800
🪞
Reflect
Claude identified a SGD 1,300 discrepancy and flagged it as ARITHMETIC ERROR with full detail

The Skill is the plan. The agentic loop is how Claude executed it. Every time you improve the Skill, you improve what Claude plans to do — without rewriting any code.

🏭
This is also "Python vs LLM" in action. Detecting that 6,500 + 2,800 + 1,200 + 2,000 = 12,500 ≠ 13,800 is arithmetic — a deterministic check. Ideally a script would do this faster and cheaper. But for a business user with no code? The LLM with an explicit arithmetic rule gets you 90% of the way there in 10 minutes. Your tech team can optimise it later with a script — the Skill instruction becomes the spec for what to automate.
5Schedule It

Step 5: Make It Run Automatically (10 min)

Right now your Skill only runs when you ask. The final step is making it run on its own — this is what separates a useful tool from an autonomous agent. You describe what you want, when you want it, and Claude sets it up.

⏰ Create a Scheduled Task — just tell Claude what you want

You don't need to configure anything. Just describe the schedule in plain English:

Type to Claude
Schedule this to run every Monday at 8am: Check the connected invoice folder for any new PDF files added since last Monday. Run the invoice-processor skill on each new file. Send me a summary of results — how many invoices processed, how many passed, how many had exceptions, and the total SGD value of exceptions.

✅ Confirm the Scheduled Task was created:

Type to Claude
Show my scheduled tasks.

You should see the Monday 8am task listed. You can also find it in the Scheduled Tasks panel in the Cowork sidebar — look for the clock/calendar icon. The task shows the schedule, when it last ran, and when it next runs.

🧪 Trigger it manually to verify it works now:

Type to Claude
Run the Monday KB-gap check now as a test — use the 5 sample agent questions in the folder against the SOP corpus.

You should get a weekly KB-gap summary across all 5 questions. The PH-exemption question from Step 4 should appear in the gaps as "Not in current SOPs — escalate to TL". The output should never invent a citation.

🔗
What connects morning to afternoon:
  • The Chaining workflow pattern (read → extract → match → flag → summarise) is exactly what your agent just ran
  • The Scheduled Task is the Cowork equivalent of a Hook — when Monday arrives, action starts automatically
  • The Skill is your Project Instructions applied to a specific task — just as the Automation Stack explainer described
  • The agentic loop ran 6 times in sequence — once per invoice — orchestrated by your single scheduling instruction
💬
What about connecting to a real shared folder? Right now the agent reads files from a local folder on your Windows desktop. If your AP team uses Google Drive or SharePoint, your IT team can install the relevant Plugin — and the same Scheduled Task will read from the live shared folder automatically. The Skill and schedule you built today stay exactly the same. Only the data source changes.
+Team Setup — Optional Extension

Working With a Colleague? Set Up Shared Context (10 min)

If someone else from your team will also work on this project, there's one important thing to know: Claude doesn't share memory between accounts. Your colleague's Claude won't know what you built or decided — unless you put that context somewhere both Claude instances can read.

The fix is simple: create three shared files in your project folder. Both of your Claude instances can read files from the mounted folder, so anything you put there becomes shared working memory.

⚠️
Common wrong assumption: "I told Claude about the new escalation threshold — my colleague's Claude knows now." It doesn't. Auto-memory is private to your account. The only way a decision reaches your colleague's Claude is through a shared file.

📁 Create these three files in your project folder

Ask Claude to create all three in one go:

Type to Claude
Create three collaboration files in the connected folder: 1. CONTEXT.md — current project state: active rules, current thresholds, what's in progress, what's blocked. Start with what we've set up today (Project Instructions rules, invoice-processor skill, Monday 8am scheduled task, invoice folder connected). 2. SESSION_LOG.md — an append-only session log. Add the first entry: today's date, what we built (project setup, invoice-processor skill v1, scheduled task), and what's still open (testing with real invoices, IT Plugin approval pending). 3. DECISIONS.md — a decision registry. Add the first entry: escalation threshold set at SGD 25,000, GST check for SG vendors at 9%, skill created with arithmetic verification rule.

📏 Add this to your Project Instructions (and share the wording with your colleague)

This one line makes Claude automatically read the shared context at the start of every conversation:

Add to Project Instructions
At the start of each session, read CONTEXT.md from the connected folder. It is the shared project brief — it tells you current rules, recent decisions, and what is in progress. Treat it as authoritative if it conflicts with your memory.

✅ The handoff habit — end of every session, type this:

End-of-session update
Update CONTEXT.md with anything that changed today. Append a brief entry to SESSION_LOG.md noting what we worked on, what changed, and what's still open.

Your colleague starts their next session, Claude reads CONTEXT.md automatically, and already knows the current state. No briefing overhead. No "I thought we changed that threshold" confusion.

🎯
The broader principle: In any AI tool — Cowork, Claude.ai, or any future tool — memory is always per-user. The shared folder, shared documents, and shared files are your team's shared AI context. Build the habit of externalising decisions into shared files, not just into private memory. This is what makes AI tools work for teams, not just individuals.

🏆 What You Built Today

In 75 minutes, starting from a Day 1 prompt template, you built a working SOP Lookup agent. Here's what you're taking home:

📏
Project Instructions
7 standing rules that apply to every conversation in your GS Cyborg Assistant project — currency, PII, escalation thresholds, output style. Claude follows these automatically, forever.
🧠
invoice-processor Skill
A saved, named Skill that extracts, validates, matches, and flags invoices. Includes the arithmetic verification rule you added in Step 4. Lives in your Cowork account — activates whenever you ask to process invoices.
Monday 8am Scheduled Task
An automated task that runs every Monday morning, checks the invoice folder, runs your Skill on new files, and sends you a summary. No one needs to remember. No one needs to ask Claude. It just works.
👥
Collaboration Setup (optional)
CONTEXT.md, SESSION_LOG.md, DECISIONS.md in the shared folder + Project Instructions hook. Any teammate who mounts the same folder gets the same shared context — no briefing overhead, no confusion about what was decided.
🚀
Your next steps this week:
  • Use it on a real invoice — add an actual invoice PDF from your team to the folder and run the Skill. See how it handles real-world formatting.
  • Update after your first real-world test — there will be at least one edge case your Skill misses. That's expected. Add the rule and save again.
  • Share the project instructions — copy your Project Instructions into a doc and share with your team as "our AI rules." It's the fastest way to align everyone on standards.
  • Brief your tech team — show them the Scheduled Task and say: "When you connect the Google Drive Plugin, this runs on our live AP inbox automatically." That's the ask. They handle the plumbing.

Ready for the final activity? Design your next, bigger agent for a real process from your team.

🗺️ Go to Agent Design Canvas →