Skip to content

Instantly share code, notes, and snippets.

@soderlind
Last active August 10, 2026 11:40
Show Gist options
  • Select an option

  • Save soderlind/a959dc00583e309c740316aa11e565b3 to your computer and use it in GitHub Desktop.

Select an option

Save soderlind/a959dc00583e309c740316aa11e565b3 to your computer and use it in GitHub Desktop.
Grilling in Teams / M365

Below is a complete build guide for a dedicated Grilling Agent in Copilot Studio. It adapts Matt Pocock’s original grilling skill to Copilot Studio’s capabilities.

You should really check out Matt Pocock’s AI skills at https://www.aihero.dev/skills

The main adaptation replaces sub-agent delegation with Copilot Studio knowledge and research tools, adds safeguards, and produces a structured decision record.

1. Create the skill package

Create this folder:

grilling/
└── SKILL.md

Put the following in SKILL.md:

---
name: grilling
description: >
  Use this skill when the user wants to stress-test, challenge, grill,
  pressure-test, evaluate, or thoroughly examine a plan, decision, proposal,
  product idea, strategy, or assumption.
---

# Grilling

Interview the user persistently but professionally until you reach a shared
understanding of their plan, decision, or idea.

Do not insult the user, manufacture disagreement, or treat confidence as
evidence. Challenge vague answers, contradictions, unsupported assumptions,
hidden dependencies, and unexamined risks.

## Design tree

Map the subject as a design tree.

Each unresolved decision is a node. Decisions that depend on another decision
are child nodes and must not be raised until their prerequisites are settled.

Maintain these categories internally:

- Settled decisions
- Open decisions
- Dependencies
- Assumptions
- Verified facts
- Risks
- Rejected alternatives
- Unresolved questions

## Work in rounds

The frontier consists of every open decision whose prerequisites are settled.

For each round:

1. Identify the current frontier.
2. Ask all frontier questions that can be answered without resolving another
   question in the same round.
3. Number the questions sequentially.
4. Provide a recommended answer for every question.
5. Explain the most important tradeoff briefly.
6. Stop and wait for the user's answers.
7. Incorporate those answers before computing the next frontier.

Do not ask a question whose answer depends on another unresolved question in
the same round.

Format each question as:

❓ **Q[number][short title]**: [question and available choices]

➡️ **Recommendation:** [recommended answer and brief reason]

Never answer a decision on the user's behalf.

## Research facts automatically

Finding facts is the agent's responsibility.

When a decision depends on a factual claim:

1. Use available read-only research tools and knowledge sources automatically.
2. Search approved public sources and permission-accessible organizational
   sources when relevant.
3. Prefer primary and authoritative sources.
4. Distinguish verified facts from assumptions.
5. Cite material factual claims with clickable links when available.
6. Identify internal evidence by document title and location.
7. If a fact cannot be verified, label it as an assumption.
8. Continue with branches that do not depend on the missing fact.

Do not ask the user for information that can be obtained safely from the
available research tools.

## Tool safety

Read-only research can run automatically.

Before using any tool that creates, sends, updates, publishes, purchases,
deletes, or otherwise changes external data:

1. Explain the proposed action and its effect.
2. Ask for explicit confirmation.
3. Do not perform the action until confirmation is received.
4. Report failures accurately and never claim an action succeeded without a
   successful tool result.

## Sensitive information

Respect the user's existing permissions.

- Retrieve only sources the current user is authorized to access.
- Disclose only the information necessary for the decision.
- Never reproduce credentials, access tokens, private keys, or secrets.
- Warn the user before including sensitive organizational details in the
  decision record.
- Do not infer that access permission means unrestricted permission to share.

## Checkpoints

After five question rounds:

1. Summarize the decisions settled so far.
2. Show the remaining frontier and blocked branches.
3. Ask whether the user wants to continue, narrow the scope, or produce an
   interim decision record.

A checkpoint is not completion. Do not describe the analysis as complete while
material branches remain unresolved.

## Completion

The grilling session is complete only when:

- The frontier is empty.
- Material assumptions have been examined.
- Material risks have been addressed or explicitly accepted.
- No decision remains silently assumed.
- The user confirms that the shared understanding is correct.

When the frontier first becomes empty:

1. Summarize the shared understanding.
2. List any accepted risks and assumptions.
3. State whether unresolved questions remain.
4. Ask the user to confirm the shared understanding.
5. Wait for confirmation before producing the final decision record.

## Final decision record

After confirmation, return:

# Decision record

## Objective
What the user is deciding or designing.

## Decision
The final direction.

## Settled decisions
Each material decision and its rationale.

## Evidence
Material verified facts with citations or internal source references.

## Assumptions
Anything not independently verified.

## Rejected alternatives
Alternatives considered and why they were rejected.

## Risks and mitigations
Accepted risks, consequences, and mitigation measures.

## Unresolved items
Any explicitly deferred questions. Write `None` if there are none.

## Next actions
An ordered, actionable list.

Do not perform the next actions unless the user separately authorizes them.

2. Package the skill

You can upload SKILL.md directly. If you prefer a package, compress the folder so the ZIP has SKILL.md at its root:

grilling.zip
└── SKILL.md

Do not add scripts for this version. Copilot Studio accepts supporting files in the ZIP but doesn’t document an executable runtime for Python, JavaScript, PowerShell, or shell scripts.

3. Create the dedicated agent

  1. Open Copilot Studio.
  2. Select the correct Power Platform environment.
  3. Switch to the new agent experience.
  4. Select Agents → New agent.
  5. Create a blank agent.
  6. Name it Grilling Agent.
  7. Set its description to:
A structured critical-thinking agent that stress-tests plans, decisions,
strategies, and ideas through dependency-aware interview rounds.

Uploaded Markdown skills require the new agent experience, which Microsoft currently documents as preview functionality.

4. Configure the agent instructions

Use short agent-level instructions and leave the detailed workflow inside the skill:

You are the Grilling Agent.

Help users stress-test plans, decisions, proposals, strategies, and ideas.
When a user asks to grill, challenge, stress-test, pressure-test, or critically
evaluate something, activate the grilling skill.

Be persistent but professional. Challenge assumptions and contradictions
without being hostile.

Use approved public and organizational sources to verify material facts.
Perform read-only research automatically. Obtain explicit confirmation before
taking any action that changes external data.

Do not bypass the grilling skill's requirement to wait between interview
rounds or its final shared-understanding confirmation.

Save the agent.

5. Upload the skill

  1. Open the agent’s Build tab.
  2. Find Skills in the components panel.
  3. Select Add skill.
  4. Select Upload a skill.
  5. Upload either SKILL.md or grilling.zip.
  6. Wait for validation.
  7. Confirm that grilling appears in the Skills list.

Copilot Studio uses the YAML description to decide when the skill applies. Microsoft’s documented upload formats are a Markdown skill file or a ZIP containing SKILL.md and optional supporting files. Microsoft skill-upload documentation

6. Add organizational knowledge

For permission-aware internal research:

  1. In Build, find Knowledge.
  2. Select Add knowledge.
  3. Add the appropriate organizational sources, such as SharePoint.
  4. Choose sources whose permissions and content are appropriate for the agent.
  5. Give every source a clear description.
  6. Verify that results are permission-trimmed for the current user.
  7. Test with users who have different permission levels.

Knowledge provides evidence and context; it does not perform actions.

Avoid uploading sensitive documents as unrestricted static files if different users should see different content. Use a source that preserves user permissions.

7. Add public-web research

Configure an approved read-only research capability using one of the tool types available in your environment:

  • A suitable Power Platform connector
  • An MCP server exposing search and page-retrieval tools
  • A secured REST API or custom connector
  • A Copilot Studio workflow backed by an approved search service

Give tools specific descriptions, for example:

Search authoritative public websites for facts needed to evaluate a user's
plan. Use for current or externally verifiable claims. This tool is read-only.

If you use separate search and page-reading tools, explain the division:

Public web search:
Find relevant candidate sources.

Read public page:
Retrieve content from a selected source so its claims can be verified and cited.

Copilot Studio currently identifies connectors, MCP servers, workflows and custom APIs as mechanisms for executable external capabilities. Available tool types

8. Test skill activation

Open Preview and try:

Grill my plan to launch a paid WordPress plugin.

The agent should:

  1. Identify the initial independent decisions.
  2. Ask them together as one numbered round.
  3. Recommend an answer for each.
  4. Stop and wait.
  5. Recalculate the frontier after your response.

Also test these variations:

Stress-test my plan to migrate our customer portal.
Challenge this hiring proposal.
Help me pressure-test a new subscription model.

A nonmatching request such as this should not start a grilling interview:

Summarize this paragraph.

If activation is unreliable, adjust the skill’s YAML description before expanding the general agent instructions.

9. Test research behavior

Present a plan containing a current factual assumption:

Grill my plan to launch this service in Norway. Assume all relevant privacy
requirements are unchanged from 2022.

Verify that the agent:

  • Recognizes the legal claim as time-sensitive
  • Uses an approved research capability
  • Prefers authoritative sources
  • Cites material findings
  • Separates evidence from inference
  • Continues questioning unaffected branches
  • Does not ask you to research facts it can retrieve itself

For legal, financial, medical, or security-sensitive scenarios, configure sources carefully and treat the agent as decision support—not the final authority.

10. Test the five-round checkpoint

Continue through five rounds. At that point, the agent should:

  • Summarize settled decisions
  • Show remaining branches
  • Identify blocked decisions
  • Ask whether to continue, narrow the scope, or produce an interim record

It should not declare the process complete merely because five rounds elapsed.

11. Test completion

Continue until the design tree is exhausted.

The agent should first present the shared understanding and request confirmation. It must not immediately generate the final record.

Reply:

Confirmed.

It should then produce:

# Decision record

## Objective
...

## Decision
...

## Settled decisions
...

## Evidence
...

## Assumptions
...

## Rejected alternatives
...

## Risks and mitigations
...

## Unresolved items
None

## Next actions
1. ...

12. Publish

  1. Finish Preview testing.
  2. Select Publish.
  3. Open Channels.
  4. Enable Microsoft 365 Copilot and Microsoft Teams.
  5. Configure the display name, icon, description, and availability.
  6. Submit it for administrator review.
  7. Ask the administrator to restrict the initial rollout to a test group.
  8. Validate research permissions and citations with that group.
  9. Expand availability only after the pilot succeeds.

The grilling skill materially shaped this design: decisions are dependency-ordered, asked in complete frontier rounds, periodically checkpointed, and confirmed before a final decision record is produced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment