u/Difficult-Sugar-4862

One line that stops AI from filling in the blanks when it doesn't know the answer

Ask any AI to summarize a document, analyze a project, or pull together a status update. When it hits a gap — missing data, unclear ownership, unconfirmed status — it fills in something plausible. You won't always notice until the plausible thing turns out to be wrong.

Add this to any prompt where accuracy matters:

If you cannot find evidence for a field, write UNKNOWN.
Do not infer, assume, or guess.

Before and after

Without it, a project summary looks like this:

Status: Project appears on track
Owner: Likely assigned to the project manager
Next steps: Recommend scheduling a review

With it:

Status: UNKNOWN — no update found in sources.
        Last confirmed: "on track" per meeting notes, Apr 22.
Owner: UNKNOWN — no explicit assignment in any source.
Next steps: UNKNOWN

The second version looks incomplete. It's more honest. The UNKNOWNs tell you exactly where to look next instead of giving you false confidence.


Where it works

  • Summarizing emails or meeting notes into a status update
  • Research briefs — you see which claims have sources and which don't
  • Document gap analysis — missing sections surface as UNKNOWN instead of getting quietly skipped
  • Any structured template where a wrong answer is worse than a blank field

Tested with: ChatGPT, Copilot, Claude. All respect the instruction reliably.

What prompts do you use this in? Curious if anyone's found edge cases where it breaks.

reddit.com
u/Difficult-Sugar-4862 — 20 hours ago

I track every active project with Copilot Cowork using real email, Teams and meeting data. Here's the full prompt.

Every project I run generates emails across three threads, a Teams channel nobody keeps clean, four meetings with no shared notes, and files scattered across two SharePoint sites. Before this, pulling it all together for a status update took 20 minutes of tab-switching and still missed things.

Cowork reads all of it and builds four structured files. Here's exactly what it produces and how I set it up.

What gets created

Four files per project:

  • project.md — objective, scope, status, stakeholders, open questions, sources used
  • decisions.md — append-style log with date, decision, source, and confidence level
  • risks.md — evidence-based risks only, with owner and mitigation (UNKNOWN where it genuinely can't find them)
  • links.md — Teams channels, SharePoint folders, key contacts, split into verified vs. needs verification

One thing to know about where they land: Cowork writes files into its session folder in OneDrive (Documents/Cowork/sessions/[session-id]/output/), not an arbitrary path you specify. After Cowork creates them, I move them to my preferred location. That's a manual step but takes 30 seconds. Screenshot of the session folder in the comments.

Sample output — project.md

(Real output from my own Cowork session, names and company replaced. Fields marked UNKNOWN are intentional — Cowork found no evidence, so it left them blank rather than guessing.)

---
title: "GenAI Ops — Project Charter"
slug: genai-ops
status: active
owner: [Project Owner]
sponsor: [Senior Leader]
cadence: Biweekly ([Senior Leader] + [Infra Director] + [Project Owner])
last_synced: 2026-05-22 (post-session #2)
---

# GenAI Ops

## Purpose

Coordinate the deployment, governance, and adoption of GenAI tooling across
Infrastructure & Operations and the wider Digital Team. The project tracks
active pilots, governance decisions, license direction, and risks across the
M365 Copilot, GitHub Copilot, selective Claude enablement, and IT service
desk agent surfaces.

## Current Status (as of 2026-05-22, post-session #2)

- **Konverso POC** — PROCEED. NDA signed, success criteria and cybersecurity
  questionnaire prepared. Testing starts week of 2026-06-08. [Project Owner]
  drives during design phase; [ServiceNow Owner] + ServiceNow team are
  technical owners.
- **WorkNext POC** — DEFERRED. Plugin removability is a blocker (cannot be
  removed once installed per [ServiceNow Owner]). [Project Owner] to validate
  technically and contractually. Overlap with Konverso acknowledged.
- **GitHub Copilot — FinOps** — Final seat set: 3 confirmed users. No further
  licences will be issued to FinOps. [SRE Engineer] access requested —
  pending.
- **Claude (Anthropic via M365 Copilot)** — 4 users provisioned and confirmed.
  [Leadership Contact] activation pending. Claude access extended to US
  people (no additional residency concern). Direct Anthropic 100-licence
  track remains closed pending data-residency resolution. Mid-June decision
  point with [Licence Owner].
- **ServiceNow market investigation** — Significant annual contract triggered
  evaluation of BMC Helix Alex, EC Vista, and Jira/Atlassian for AI
  capabilities and interop. Principle: stay tool-independent.
- **M365 Copilot usage (May 5 export)**: ~15,000 Chat users (66% active,
  34% zero-prompt), 347 Premium seats (85% active, 15% inactive).
- **Agent inventory**: ~400 agents built per dashboard; monitoring still manual.

## Stakeholders

| Role | Involvement |
|---|---|
| Senior Leader / Sponsor | Approval authority for pilots, budgets, licence direction |
| Infrastructure Director | Biweekly review co-lead |
| Project Owner | Technical lead, execution |
| Licence Owner | Controls GitHub Copilot Enterprise seat allocation — UNKNOWN email |
| Leadership Contact | M365 Copilot Premium pilot user (Claude-enabled) |
| FinOps Manager | FinOps pilot use-case validation |
| ServiceNow Owner | API quota for Konverso; WorkNext plugin technical owner |
| ITSM Analyst | Incidents/requests analysis, improvement plan |
| DPO | Privacy — green light on selective Claude enablement |

## Open Questions

- Are FinOps + SRE seats within existing GitHub Copilot Enterprise
  allocation, or do they require new budget approval?
- Which FinOps workflows should the @finops-analyzer extension target first?
  (pending — self-discovery in progress)
- ServiceNow API quota headroom and test access for Konverso? ([ServiceNow Owner])
- WorkNext plugin: can it be removed under any condition, and are there
  contractual exit terms?
- Leadership Copilot-licence inventory — who else gets Claude in the next batch?
- Reconciliation of ~400-agent dashboard figure against historical admin snapshots?

## Cross-Project Boundaries

- **BMC Helix**: ITSM comparator in market investigation. Not absorbed.
- **MDM data quality (department assignments)**: Raised as potential AI
  use case. Held as candidate spillover — pending sponsor confirmation.
- **GAIA / Dynatrace GenAI features**: Scope UNKNOWN. Monitor only.

Why the design works

Most Copilot prompts ask it to summarize a project. The problem: Copilot fills gaps with plausible content. Two weeks later you realize the "confirmed decision" it wrote was actually a suggestion someone made in a chat and nobody approved.

This prompt flips that:

  • Evidence only — Outlook, Teams, Calendar, OneDrive items, nothing invented
  • UNKNOWN is explicit — if it can't find a piece of information, the field stays UNKNOWN
  • No writes until you approve — Cowork shows you every draft, lists what is fact vs. assumption vs. unknown, then stops and waits

The approval gate (Step 5 in the prompt) maps directly to Cowork's plan mode. It presents the full write plan before touching anything.

What this requires

This is a Copilot Cowork prompt. It requires Frontier enrollment.

Standard Copilot Chat can run the discovery and draft the files, but won't execute the cross-app search at this depth or write the files to OneDrive.

To check your enrollment: M365 Admin Center → Copilot settings → Frontier.

The prompt

You are going to help me set up a structured "project second brain" inside Microsoft 365 using my real work data (emails, Teams, meetings, files).

GOAL:
Create a clean, structured project workspace that I can keep updated over time.

PROJECT DETAILS:
Project name: [PROJECT NAME]
Project slug: [short-name-no-spaces]
Aliases (optional): [other names or acronyms used in emails/Teams]

FILES TO CREATE:
- project.md
- decisions.md
- risks.md
- links.md

---

STEP 1 — DISCOVER MY PROJECT CONTEXT

Search and analyze:
- Outlook emails related to this project
- Teams chats and channels
- meetings and calendar events
- relevant files in OneDrive / SharePoint

Focus ONLY on items that clearly belong to this project.
If something is ambiguous, flag it.

---

STEP 2 — PROPOSE PROJECT STRUCTURE

Based on what you find:

1. Confirm the target folder structure
2. List the sources you used:
   - emails
   - Teams channels/chats
   - meetings
   - files
3. Highlight:
   - missing information
   - ambiguous project references
   - possible overlaps with other projects

---

STEP 3 — DRAFT INITIAL PROJECT FILES

Create drafts (DO NOT WRITE YET) for:

### project.md
Include:
- Objective
- Scope
- Current status (use UNKNOWN if unclear)
- Latest verified updates
- Current priorities
- Next steps
- Stakeholders
- Open questions
- Last reviewed
- Sources used

---

### decisions.md
Append-style list with:
- Date observed
- Decision
- Source
- Confidence
- Verification needed

IMPORTANT:
If something is discussed but not clearly approved → mark as "pending verification"

---

### risks.md
List:
- Risk
- Evidence
- Impact (if clear)
- Owner (or UNKNOWN)
- Mitigation (or UNKNOWN)
- Confidence

Do NOT invent severity or ownership.

---

### links.md
Organize:
- Teams channels
- Key people
- SharePoint / OneDrive folders
- Documents
- Dashboards

Split into:
- Verified links
- Needs verification

---

STEP 4 — VALIDATE BEFORE CREATION

Before creating anything:

1. Show:
   - all draft files
   - all UNKNOWN fields
   - any conflicts or inconsistencies
2. Explicitly list:
   - what is fact
   - what is assumption
   - what is unknown
3. Show a "write plan"

---

IMPORTANT RULES:

- Evidence first: only use actual emails, Teams, meetings, or files
- Do NOT guess missing information
- Keep UNKNOWN values explicit
- Do NOT infer:
  - ownership
  - due dates
  - project status
  - decisions
- If unsure → flag, don't fill
- Keep everything concise and structured

---

STEP 5 — WAIT FOR MY APPROVAL

Do NOT create or modify files yet.

Stop after showing:
- drafts
- sources
- validation notes
- write plan

I will review and then tell you to proceed.

M365 Copilot with Frontier enrollment, commercial tenant, May 2026.

reddit.com
u/Difficult-Sugar-4862 — 20 hours ago
▲ 10 r/NerdyChefs+1 crossposts

Claude is now the default in Excel — this prompt format works noticeably better than my old GPT ones

Since May 4, Claude is the default model in Excel for most commercial M365 tenants. I've been testing the switch and one thing changed my approach: Claude responds much better to explicit "if you don't know, say so" instructions than GPT did.

With GPT I kept prompts vague to avoid hallucinated explanations. With Claude I can be more directive.

Here's what I'm using for budget variance reviews:

You are reviewing a budget vs actuals spreadsheet for [month/period].

Step 1 — Identify the top 5 cost variances that are both over 10% and over $[threshold].
Step 2 — For each one, give one likely cause based only on data visible in this sheet. If the data doesn't support a clear cause, say "cause unclear from available data."
Step 3 — Categorize each as: INVESTIGATE / MONITOR / EXPECTED.
Step 4 — Write a 3-sentence summary I can paste directly into a status update email.

Do not invent explanations. Do not reference data not visible in this sheet.

What worked:

  • The "do not invent explanations" instruction actually sticks — Claude says "cause unclear" instead of fabricating a reason
  • The 4-step structure produces consistent output every time
  • Step 4 is genuinely paste-ready

What didn't work:

  • Combining analysis and formula suggestions in the same prompt — output quality drops. Keep them separate.

Tested with Claude Opus 4.7 in Copilot Chat. If Claude isn't your default in Excel yet, your admin can enable it: M365 Admin Center → Copilot → Settings → AI providers.

What are you testing since the switch?

reddit.com
u/Difficult-Sugar-4862 — 4 days ago

I've been building Copilot Studio agents for months, here are 5 new ones and the design rule behind each

Most Copilot Studio agents get built for the obvious use cases: summarise emails, write status reports, answer HR questions. Those are fine.

The agents that are harder to build, and more valuable, are the ones that enforce standards. Here are 5 I just added to the library, all paste-ready, no coding.


1. Document Validation Agent (Commercial & Legal)

Checks any document against a defined standard and produces a structured findings report. Critical / Major / Minor — cited by section, with the exact policy clause that triggers each finding and a recommended action.

The design rule: never let it rewrite the document. Validation and correction are separate jobs. The moment it starts editing, you lose the audit trail.

You are a document validation specialist. Your job is to check 
documents against a defined standard, policy, or requirement set 
and produce a structured findings report.

Output format:
VALIDATION REPORT
Overall result: PASS / CONDITIONAL PASS / FAIL

CRITICAL FINDINGS (block approval)
[Finding]. [Section] — [Issue] | Required by: [clause] | Action: [correction]

MAJOR FINDINGS (require resolution before sign-off)
[Same format]

MINOR FINDINGS
[Same format]

REVIEWER NOTE: This validation is based solely on the standard 
provided. Human review is required before formal approval.

2. IT Self-Service Agent (IT & Digital)

First-line IT support for employees. Handles password guidance, software requests, connectivity issues, and policy lookups. When it can't resolve something, it generates a pre-filled escalation summary for the helpdesk — not just "please contact IT."

The design rule: one hard guardrail. If the user reports anything that looks like a security incident (phishing, unexpected software, unusual account activity), it stops troubleshooting immediately and routes to the security team. No exceptions.


3. Customer Onboarding Agent (Customer Success)

Generates phased onboarding plans, welcome emails, kickoff agendas, milestone check-ins, and handover summaries. Everything adapts to the customer's product tier, team size, and stated goal.

The design rule: it refuses to generate anything until you give it the customer context. Onboarding assets that ignore the customer's actual situation are worse than generic ones — they signal you weren't listening.


4. Procurement / Vendor Assessment Agent (Commercial & Legal)

Evaluates supplier proposals against defined criteria. Produces individual scorecards, a side-by-side comparison matrix, risk summaries, and a recommendation brief.

The design rule: it never recommends a non-compliant vendor regardless of total score. And it surfaces trade-offs explicitly — it doesn't present the top scorer as the only viable option.


5. Brand Voice Enforcer (Writing & Communication)

Reviews content against a brand voice guide you provide. Returns deviations by type (tone, vocabulary, structure, formatting), a corrected version, and style notes for the writer to apply going forward.

The design rule: it only applies rules from the guide you give it. No generic style preferences, no personal taste. If the guide is ambiguous, it flags the ambiguity rather than guessing.


The pattern across all five: each agent does one job, refuses to do adjacent jobs, and is explicit about the line.

The agents that cause problems in production are the ones that try to be helpful beyond their scope, they're harder to trust and harder to audit. Narrow scope + explicit refusals = the agents people actually keep using.

Drop a comment if you want the full instruction blocks or the repo link, happy to share the ones most relevant to your setup.

reddit.com
u/Difficult-Sugar-4862 — 7 days ago

Prompts that extract structured data from messy emails, what works and what doesn't

Been building an agent that reads flight confirmation emails and creates calendar blocks automatically. Had to figure out the right way to prompt an AI to extract structured data from unstructured text reliably. Here's what I learned.

What works

1. Give it the output schema first, then the source

>You are extracting flight details from a confirmation email.
>
>Return ONLY a JSON object with these fields:
>
>
>
>If any field cannot be found with confidence, return null for that field. Do not guess.
>
>Email: [PASTE EMAIL HERE]

The schema-first approach makes the AI treat the email as evidence to search, not a document to summarize. The "do not guess" instruction eliminates hallucinated IATA codes when the email only names the city.

2. Separate the extraction from the reasoning

When I tried to do extraction + timezone conversion in a single prompt, accuracy dropped. Splitting it into two steps fixed it:

Step 1 — extract raw values exactly as they appear in the email (no conversion)

Step 2 — pass the extracted values to a second prompt:

>The departure time is [TIME] at [AIRPORT]. Convert this to UTC. If the timezone cannot be determined from the airport code, return the original time and flag timezone_uncertain: true.

Keeping each step single-purpose makes errors easier to catch and fix.

3. Add a confidence field

>For each field, also return a confidence value: "high", "medium", or "low".
>
>

This lets the agent decide whether to proceed or flag for human review, rather than silently passing bad data downstream.

What doesn't work

"Extract the flight details from this email" — too open. The AI summarizes instead of extracts. You get "the traveler is flying from Paris to London on Tuesday" instead of structured fields you can use.

Asking for everything in one prompt — extraction + timezone conversion + duplicate detection in a single instruction produces confident-sounding output that is wrong in subtle ways. One job per prompt.

The pattern that holds up: schema first, source second, one job per prompt, explicit handling for uncertainty. Works on Concur confirmations, Egencia, and direct airline emails — even when the format changes between bookings.

What extraction use cases are you running into where this pattern breaks?

reddit.com
u/Difficult-Sugar-4862 — 8 days ago

Your AI has a bad desk.

You rewrote the prompt four times. The output got marginally better and still missed the point. The instruction was never the problem.

Think of a researcher with the right documents pulled, the right constraints visible — compared to one reasoning from memory with irrelevant files piled on the desk. The researcher's ability doesn't change. The environment does. The model works the same way.

This is context engineering. Not prompt engineering. Different layer.

The four things that need to be on the desk before you generate anything:

System role — who the model is and what constraints it operates under.
Retrieved context — the actual documents, data, and worked examples it reasons with.
Task — one clear instruction.
Constraints — what to do with uncertainty, what format to produce, what not to infer.

The before/after that makes this concrete:

Before: "Summarize this earnings report and flag any risks." The model doesn't know your definition of risk, your materiality threshold, or what format your team uses. It produces a competent generic summary. You rewrite the prompt wondering why it missed the thing that mattered.

After: System role defines the analyst persona. Retrieved context loads the current quarter, prior quarter, and the company's stated risk threshold (>15% deviation). Task is specific. Constraints define the 3-section output format and explicitly say "if data is missing, note data gap — do not estimate."

The instruction barely changed. The desk did.

Signs context is your actual problem (not the instruction):

  • Output is internally consistent but wrong about your specific situation
  • Adding more detail to the instruction doesn't change quality
  • High variance between runs — plausible but wildly different answers

The desk is the part most people skip. Fix the desk before touching the instruction.

Happy to share the before/after template if anyone wants it, drop a comment.

reddit.com
u/Difficult-Sugar-4862 — 9 days ago

Lessons learned deploying M365 Copilot agents, the billing assumptions that cost us

We deployed several M365 Copilot agents for internal use, assumed the Copilot license covered everything, and got a few things wrong. Writing this up because I've seen the same misconceptions come up repeatedly with other teams.

Lesson 1: The Copilot license zero-rates a lot, but not autonomous triggers

We knew about the zero-rate inclusion. AI-generated answers, SharePoint lookups, Graph grounding, all covered for licensed users within fair usage. What we didn't model correctly: autonomous triggers. Every time an agent acts without a user asking, scheduled check, event trigger, workflow firing, it costs 5 credits ($0.05), billed as an agent action. That applies regardless of how many M365 Copilot licenses your tenant has. There is no exception. We had an agent monitoring a shared inbox. 500 emails a month = 2,500 credits in trigger costs, plus 4 actions per email (5 credits each) and 2 AI responses per email (2 credits each) stacked on top. Total: ~14,500 credits/month — about $116 at PAYG, or covered by a single $200 prepaid pack. The license covered none of it.

Lesson 2: The "fair usage" ceiling is unpublished

The zero-rate inclusion for licensed users comes with a fair usage limit. We asked Microsoft what the threshold was. The answer: it's not published. It exists, it can be enforced, and the number has never been disclosed. For low-volume internal agents this probably doesn't matter. For high-volume deployments, document processing agents, meeting summary agents running for 500 users, it's a real planning risk.

Lesson 3: Custom engine agents generate two separate bills

If you build an agent on Azure OpenAI rather than using the native Copilot Studio model, you get Azure token costs on the Azure invoice AND potentially Copilot Credits on the Power Platform invoice. At the same time. Easy to miss if only one team is watching billing.

Lesson 4: Agents disable at 125% capacity, end users see an error, not silence

When a prepaid credit pack hits 125% of capacity, Copilot Studio disables the agent for the rest of the billing month. End users attempting to use the agent get a message: "This agent is currently unavailable. It has reached its usage limit." Admins are notified via email and the Power Platform admin center. Enable PAYG as an overage backstop so this doesn't happen in production.

Lesson 5: AI Builder credits disappear November 2026

If any of your agents use AI Builder capabilities (document processing, form recognition), the seeded credits bundled with Power Platform licenses end November 2026. After that they bill at Copilot Credit rates. Worth flagging to finance now.

Pulled all of this together into a reference with verified sources, full billing rates table, and five scenarios with line-by-line math:

kesslernity.com/blog/m365-copilot-agents-cost-model

Happy to go deeper on any of these in the comments, especially the autonomous trigger math, since that's the one that catches most teams off guard.

reddit.com
u/Difficult-Sugar-4862 — 10 days ago

12 copy-paste prompts for Claude power users: context engineering, chain-of-thought steering, subagent delegation, and more

A prompt pack for practitioners who use Claude daily and want repeatable, high-leverage patterns rather than one-off experiments.

The problem

Most advanced Claude usage advice is either too abstract ("engineer your context carefully") or too specific to one person's workflow. What's missing is a set of structural prompts that work across different tasks — prompts you reach for on day 30 as readily as day 1.

These cover the patterns that come up repeatedly: keeping long sessions from drifting, steering extended thinking before it runs, designing tight system prompts, debugging outputs you don't understand, and delegating cleanly to subagents.

4 prompts from the pack

1. Context budget management (long sessions)

You have approximately 180k tokens of context available. Treat this as a resource. Before continuing, compress all prior reasoning into a concise "state block" (max 200 words): key decisions made, open questions, current objective. Then proceed from there.

Prevents reasoning drift in multi-hour sessions. Forces the model to surface what it actually remembers vs. what it's inferring from noise.

2. Failure-mode-first reasoning (extended thinking)

Before answering, enumerate the 3 most common failure modes for this class of problem. State each one explicitly. Then produce your answer with those failure modes actively avoided — note where you avoided each one.

Works best with your reasoning model. The enumeration step forces deliberate rather than pattern-matched outputs. Particularly useful for architecture decisions and debugging.

3. Minimal viable system prompt

You are a [role]. Your job is [one sentence]. When uncertain, say so explicitly rather than hedging. Do not hedge the same point more than once. Output format: [bullets / prose / code]. Audience: [who they are and what they already know].

Six constraints that cover the main behavioral failure modes: scope creep, false confidence, hedging loops, format inconsistency, and audience mismatch. The "do not hedge more than once" constraint alone cuts response length significantly.

4. Prompt self-diagnosis

Here is a prompt I wrote:

[paste prompt]

Here is the output I got:

[paste output]

Analyze: what did my prompt cause the model to optimize for? Where did the framing create ambiguity? Write a revised version and explain each change.

The fastest way to get better at writing prompts is to have the model explain why your current one failed. Iterate twice and most prompts become structurally sound.

How these work structurally

All four use the same underlying pattern: they give the model an explicit behavior constraint before the task, rather than describing the desired output after the fact. "Before answering, enumerate failure modes" is structurally different from "give me a careful answer." The first one creates a forcing function; the second is just a request.

Variations worth testing

  • The context state block prompt can be adapted with a word count other than 200 — shorter for tight sessions, longer if you need to preserve more intermediate reasoning.
  • The failure-mode prompt works well inverted: "enumerate 3 failure modes, then argue that none of them apply to this specific case." Good for stress-testing your own assumptions.
  • The system prompt template scales down to a single-use prompt in a one-shot session — just add "For this conversation only:" as a prefix.

Discussion

The full pack covers 12 patterns including tool use orchestration, multi-turn memory design, CLAUDE.md configuration, output formatting control, and subagent delegation (source: https://www.nerdychefs.ai/pack/claude-opus-46-power-user-pack).

What patterns do you find yourself reaching for repeatedly that aren't covered here? Specifically curious whether anyone has developed reliable patterns for multi-agent coordination — the delegation prompts in the pack work well for single-hop subagents but get messier with more than two hops.

u/Difficult-Sugar-4862 — 10 days ago

Prompts that extract structured data from messy emails — what works and what doesn't

Been building an agent that reads flight confirmation emails and creates calendar blocks automatically. Had to figure out the right way to prompt an AI to extract structured data from unstructured text reliably. Here's what I learned.

What works

1. Give it the output schema first, then the source

>You are extracting flight details from a confirmation email.
>
>Return ONLY a JSON object with these fields:
>
>
>
>If any field cannot be found with confidence, return null for that field. Do not guess.
>
>Email: [PASTE EMAIL HERE]

The schema-first approach makes the AI treat the email as evidence to search, not a document to summarize. The "do not guess" instruction eliminates hallucinated IATA codes when the email only names the city.

2. Separate the extraction from the reasoning

When I tried to do extraction + timezone conversion in a single prompt, accuracy dropped. Splitting it into two steps fixed it:

Step 1 — extract raw values exactly as they appear in the email (no conversion)

Step 2 — pass the extracted values to a second prompt:

>The departure time is [TIME] at [AIRPORT]. Convert this to UTC. If the timezone cannot be determined from the airport code, return the original time and flag timezone_uncertain: true.

Keeping each step single-purpose makes errors easier to catch and fix.

3. Add a confidence field

>For each field, also return a confidence value: "high", "medium", or "low".
>
>

This lets the agent decide whether to proceed or flag for human review, rather than silently passing bad data downstream.

What doesn't work

"Extract the flight details from this email" — too open. The AI summarizes instead of extracts. You get "the traveler is flying from Paris to London on Tuesday" instead of structured fields you can use.

Asking for everything in one prompt — extraction + timezone conversion + duplicate detection in a single instruction produces confident-sounding output that is wrong in subtle ways. One job per prompt.

The pattern that holds up: schema first, source second, one job per prompt, explicit handling for uncertainty. Works on Concur confirmations, Egencia, and direct airline emails — even when the format changes between bookings.

What extraction use cases are you running into where this pattern breaks?

reddit.com
u/Difficult-Sugar-4862 — 11 days ago

Has anyone built a Copilot agent that auto-blocks calendar time when a flight is booked?

Got this request from a user this week:

>"Is there a way to have a Copilot agent automatically create a 2hr calendar block for airport processes whenever a flight is booked?"

Use case: two people share a travel schedule. Whenever either books a flight, a 2hr buffer should auto-appear in both their Outlook calendars, no manual step, fully autonomous.

My questions are specifically around the Copilot Studio agent design:

  1. Trigger — the most reliable source I can see is the confirmation email from their corporate travel tool. Is anyone triggering Copilot agents off email patterns for this kind of thing, or is an autonomous scheduled trigger (polling a folder) the more practical approach?
  2. AI parsing vs. deterministic — the confirmation emails are fairly consistent but not perfectly structured. Worth using a generative AI step in the agent to extract departure date/time/airport, or overkill for this use case?
  3. Writing to two calendars — the block needs to land on both people's Outlook calendars. How are others handling the permissions side for an autonomous agent doing calendar writes on behalf of multiple users?

Has anyone shipped a Copilot agent doing something similar? Curious what held up in production vs. what needed rethinking.

reddit.com
u/Difficult-Sugar-4862 — 11 days ago

Built a free prompt library with 1900+ prompts. Now starting a newsletter to teach when and why to use them.

Quick context: nerdychefs.ai is a free AI prompt library, no account, no paywall, just copy-paste. Been building it for 18 months.

The gap I kept noticing: prompts without context produce inconsistent results. Someone grabs a prompt for writing a brief, it works great, then they use the same approach for a research task and it falls apart. Not because the prompt is wrong, because the judgment around when and how to use it is missing.

Starting a weekly newsletter called The Prompt Pantry to close that gap. The site gives you the ingredients. The newsletter teaches you to cook.

No hype, no AI discourse, no gear reviews. Just practical workflows and the reasoning behind them.

First issue: end of mai. Free. https://pantry.nerdychefs.ai

u/Difficult-Sugar-4862 — 14 days ago

👋Welcome to r/nerdychefs - Introduce Yourself and Read First!

Hey everyone! I'm u/Difficult-Sugar-4862, a founding moderator of r/nerdychefs.
This is our new home for all things related to [ADD WHAT YOUR SUBREDDIT IS ABOUT HERE]. We're excited to have you join us!

What to Post
Post anything that you think the community would find interesting, helpful, or inspiring. Feel free to share your thoughts, photos, or questions about [ADD SOME EXAMPLES OF WHAT YOU WANT PEOPLE IN THE COMMUNITY TO POST].

Community Vibe
We're all about being friendly, constructive, and inclusive. Let's build a space where everyone feels comfortable sharing and connecting.

How to Get Started

  1. Introduce yourself in the comments below.
  2. Post something today! Even a simple question can spark a great conversation.
  3. If you know someone who would love this community, invite them to join.
  4. Interested in helping out? We're always looking for new moderators, so feel free to reach out to me to apply.

Thanks for being part of the very first wave. Together, let's make r/nerdychefs amazing.

reddit.com
u/Difficult-Sugar-4862 — 16 days ago

The prompts that failed and what I replaced them with, commitment tracking across ChatGPT, Claude, and Copilot

Commitment tracking is the use case where most people start with a bad prompt and wonder why the output is useless. Here's what doesn't work, what does, and why the difference matters across tools.


The bad prompt (tried on ChatGPT, Claude, and Copilot — all failed similarly):

Review my emails from this week and tell me what I need to follow up on.

What it returns: A list of every email that mentions a next step — including ones you already handled, ones where someone else owns the action, and half-finished sentences Copilot misread as commitments. Useless.

Why it fails: No definition of "commitment." No time boundary that matters. No evidence-of-follow-up check. You get volume, not signal.


The prompt that actually works:

Tool: M365 Copilot Cowork (Frontier) — schedulable. Or run manually in Claude/ChatGPT by pasting email text. Role: Anyone managing multiple stakeholders across email and chat

Search my emails and Teams messages from the last 14 days. Find every instance where I committed to doing something — including phrases like "I will", "I'll send", "I'll follow up", "I'll check", "let me get back to you", "I'll have this to you by".

For each commitment found:
- Who I made it to
- What I committed to
- When I committed to it
- Whether there is any evidence I followed through

Sort by age — oldest first. Flag any that are more than 5 days old with no follow-up.

For Claude/ChatGPT (manual version): Paste the last 2 weeks of sent emails directly into the prompt. Works well — just more manual than Cowork.

Why it works: The specific phrase list ("I will", "I'll send", etc.) is the key. Without it, AI pattern-matches on anything that looks like a task and produces noise. With it, it's hunting for a specific commitment signature that correlates with actual promises.

What the output looks like: A table with 5-15 rows. The ones flagged red (5+ days, no follow-up) are the only ones you act on immediately. Everything else is a check-in.

Limitation: Only as good as the emails/messages you give it. If your commitments live in Slack or WhatsApp, this won't catch them.

reddit.com
u/Difficult-Sugar-4862 — 16 days ago

The pre-meeting brief prompt I use with Claude, 90 seconds, under 150 words, ready before the call starts

I've tried variations of this prompt across ChatGPT, Claude, and M365 Copilot. Claude gives the best output on the tone/relationship reading — it's more willing to say "this exchange felt transactional" than the others, which tend to soften everything.

This version works with Claude.ai or the API. The M365 Copilot version (which can actually search your emails) is in the comments.


Tool: Claude (claude.ai or API — claude-sonnet-4 or above) Role: Account manager, consultant, anyone in client-facing roles

I'm preparing for a meeting with [Name] at [Company/Team].

Here's the relevant context from our recent exchanges: [paste 3-5 recent emails or meeting notes directly into the prompt]

From this, give me:
- The last 3 topics we discussed — newest first, one line each
- Any open items or commitments on either side — list each with the date raised
- The tone of our last exchange — positive, tense, neutral, transactional — and one sentence on why you read it that way
- One thing I should bring up proactively based on what you see

Keep the total output under 150 words. I need to read this before a call starts.

Why it works: The 150-word constraint forces it to prioritise — you get the 4 things that matter, not a summary of everything. The "why you read it that way" instruction on tone is the line that prevents vague answers like "seems positive" — it has to show its reasoning.

What didn't work:

Summarise my recent conversations with [Name] and tell me what to discuss in our meeting.

This produces a 500-word recap you don't have time to read before the call. No structure, no prioritisation, no tone reading.

Limitation: You're pasting context manually — Claude can't access your email directly without an integration. If you're on M365 Copilot with Frontier access, Cowork can pull the history automatically.

reddit.com
u/Difficult-Sugar-4862 — 16 days ago

Most people who try Cowork write Chat prompts into it and wonder why it feels the same. There's one specific behavior that makes it different and once you see it, you write prompts differently.

I asked Cowork to prepare a stakeholder update for a meeting with a colleague. Here's what happened that Chat never does:

  1. It named the task itself "Prepare GenAI Stakeholder Update Friday." I didn't give it a title. It inferred the context and created a named, persistent work item.
  2. It ran three searches, not one: "GenAI Francesco", "GenAI", "generative AI project", it triangulated automatically.
  3. It stopped after the searches and showed me exactly which emails and Teams messages it found, the actual document titles and senders, before writing a single word of the draft.
  4. Only after I could verify the sources did it write the output.

That sequence is not Chat. Chat searches once and summarises what it picks. Cowork searches, identifies, reads the full content, shows you the sources, then drafts. You can steer at each step.

The other thing most people miss: you can schedule Cowork prompts. Once a prompt runs cleanly, click the clock icon next to the send button. You get up to 5 recurring slots. These are not power automate workflows — it's natural language, set once, runs automatically.

The framework that works for Cowork prompts

Every Cowork prompt needs four things. Think of it as briefing a capable colleague who has read access to your whole M365 environment:

  1. Goal — the outcome you want (not the steps)
  2. Inputs — which sources to search (email, Teams, calendar, SharePoint — be specific)
  3. Output — what to produce and in what format
  4. Boundaries — what needs your approval before any action is taken

Here are the ones I've been running:

Monday week-start briefing (I have this scheduled for 7 AM every Monday)

Every Monday at 7:00 AM, prepare my week-start briefing. Search my emails and Teams messages from the last 7 days and my calendar for this week. Produce:
- Unresolved email threads I have not replied to — list each with sender, subject, and age, sorted oldest first
- Commitments I made to others in the last 7 days that I have not followed up on — list each with the date I made it and who I made it to
- Meetings this week that need preparation — for each one, include key context from my past exchanges with those attendees
- One thing I should proactively reach out about this week based on what you found

Format as a briefing I can read in under 3 minutes. Do not send or post anything — deliver this as a message to me only.

Stakeholder update — multi-step (this is the one where the source-review behavior shows up)

I need to prepare a stakeholder update for [project name]. Do the following in sequence:

Step 1: Search my emails and Teams from the last 2 weeks for any updates, blockers, or decisions related to this project. Show me what you found — the actual message subjects, senders, and key content — before moving to Step 2.

Step 2: From what you found, identify the 3 most important developments to highlight.

Step 3: Draft a 5-bullet stakeholder update:
- What happened
- What is next and who owns it
- What needs a decision
- Key risks or concerns
- Suggested subject line for the email

Do not send anything. Present the draft for my review.

The "show me what you found before moving to Step 2" instruction is the key line. Without it, Cowork may skip straight to drafting. With it, you get a checkpoint where you can verify the sources are right before the output is written.

Commitment tracker (scheduled Wednesday 9 AM — catches things before they go cold)

Every Wednesday at 9:00 AM, search my emails and Teams messages from the last 14 days. Find every instance where I committed to doing something — including phrases like "I will", "I'll send", "I'll follow up", "I'll check", "let me get back to you", "I'll have this to you by". For each commitment found:
- Who I made it to
- What I committed to
- When I committed to it
- Whether there is any evidence I followed through

Sort by age — oldest first. Flag any that are more than 5 days old with no follow-up. Do not send or post anything.

Pre-meeting brief (run this 15 minutes before any important call)

I have a meeting with [Name] coming up. Search all my emails, Teams messages, and meeting notes involving them from the last 90 days. Produce a pre-meeting brief:
- The last 3 topics we discussed — newest first
- Any open items or commitments on either side with the date each was raised
- The tone of the last exchange — positive, tense, neutral, transactional
- One thing I should bring up proactively based on what you found

Show me the source messages you are drawing from before writing the brief. Keep the final brief under 150 words.

One design principle

Cowork prompts fail when they read like Chat prompts, "summarise my emails about X." They work when they read like a brief to a capable assistant who has full M365 access but can't ask you questions mid-task: specific about which sources, explicit about what output looks like, clear about what needs your sign-off before action.

The 5 scheduled slots are limited, treat each one as a high-value decision. The Monday briefing and commitment tracker are the two I'd prioritise for anyone managing multiple stakeholders.

Happy to share the full collection if useful.

reddit.com
u/Difficult-Sugar-4862 — 17 days ago