Day 2 Afternoon — Hands-On Exercise
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 · Invoice processing use caseBy the end of this exercise you'll have a working invoice processing agent in Claude Cowork — one that extracts data, validates arithmetic, matches purchase orders, flags exceptions, and runs automatically every Monday morning. No code.
Yesterday you created a Cowork project called Finance Risk 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.
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.
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.
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:
💡 This is a starting point — customise at least 2 rules to reflect your actual team's standards before moving on.
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).
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.
Claude should respond with 6 files: invoice_001.pdf through invoice_006.pdf. It will also mention purchase_orders.csv and validation_rules.json. If it says it can't find files, the folder connection may not have completed — try disconnecting and reconnecting it.
Now you'll take your Day 1 Executive Decision Brief template and adapt it for invoice processing — then save it as a permanent Skill. You're not building something new from scratch; you're upgrading what you already built.
Start a new conversation in your project and build an invoice processing prompt step by step. Your prompt should tell Claude to:
Test it first — paste the text of invoice_001.pdf manually. Does the output look right? Iterate until it does.
Once the output looks right, tell Claude to save it:
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.
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: invoice-processor description: Use when processing vendor invoices — extracting line items, verifying arithmetic, matching POs, and flagging exceptions for the AP team review queue. --- ## Role You are a Senior AP Analyst at AnyCompany Financial Group. You are precise and conservative — flag anything uncertain rather than making assumptions. ## Instructions 1. Extract: vendor, invoice number, date, due date, all line items (description, qty, unit price, amount), subtotal, GST %, total due 2. Verify arithmetic: sum (qty × unit price) for all lines; compare to printed subtotal; note any discrepancy 3. Match to purchase_orders.csv: find vendor PO, compare approved amount to invoice total 4. Calculate variance: (invoice − PO) / PO × 100% 5. Apply escalation rules → 6. Output structured result ## Escalation Rules - Variance > 2%: AMOUNT MISMATCH - No PO found: NO PO — manual approval required - Arithmetic error: ARITHMETIC ERROR - GST ≠ 9% (SG vendor): GST DISCREPANCY - Total > SGD 25,000: HIGH VALUE — escalate to Head of Finance ## Output per invoice **[INV NUMBER] — [VENDOR]** Status: ✅ PASS / ⚠️ EXCEPTION / ❌ FAIL Total: SGD [x] | PO: [PO-xxx] | Variance: [x]% Flags: [list or "None"] | Action: [next step] BATCH SUMMARY: [n] invoices | [n] pass | [n] exceptions | SGD [total] flagged ## Guardrails - Never approve — flag or pass only. Approval is human. - If PO match is ambiguous, flag NO PO FOUND — do not guess - All amounts in SGD; flag CURRENCY MISMATCH if another detected
Paste this into Claude, then say: "Save this as a skill called invoice-processor. Activate when I ask to process vendor invoices."
Your Skill is saved, but it's not finished. A Skill that only works on clean invoices isn't production-ready. Time to stress-test it with a deliberately broken invoice — and update the Skill when it misses something.
Ask Claude to process the last invoice in the folder:
Whether or not your Skill caught the error, add an explicit arithmetic verification rule. Tell Claude to update the 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)
Remember the four stages from this morning? Here's exactly what just happened:
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.
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.
You don't need to configure anything. Just describe the schedule in plain English:
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.
You should get a batch summary across all 6 invoices. Invoice_006 should appear in the exceptions with the arithmetic error flagged.
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.
Ask Claude to create all three in one go:
This one line makes Claude automatically read the shared context at the start of every conversation:
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.
In 75 minutes, starting from a Day 1 prompt template, you built a working invoice processing agent. Here's what you're taking home:
Ready for the final activity? Design your next, bigger agent for a real process from your team.
🗺️ Go to Agent Design Canvas →