# Copilot prompt pack

Version 1.0 · Tested portions updated 23 October 2026. Source check, initial report generation, core interactions and original-report refresh passed in the episode tenant. Revision results were mixed; this is a reproducible prompt pack, not a promise that all requested features are delivered.

Open the imported SharePoint list and select **Copilot in SharePoint**. Replace the list URL token with the actual list link. These are requests to test, not a guarantee of generated features. Use only the synthetic demo data.

## 1. Check the source before designing

```text
Use only the Juniper Service Operations - EP022 Demo list at [LIST URL].
Tell me how many items you can read, the available columns, counts by Status,
and the sum of ActualCostUSD. Use the entire list, not just the visible rows.
State any unreadable items or retrieval limits. Do not create a report yet.
```

Compare with expected-results-v1.md. Resolve missing rows and types before continuing.

## 2. Build the first report

```text
Create an interactive HTML report named Juniper-Service-Operations-EP022.html
from the SharePoint list [LIST URL]. Read all accessible list items and keep
the report connected to this list using the supported SharePoint live-data
capability, so it can refresh when opened. If that is unavailable, label the
output as a snapshot and explain the limitation. Do not change the list.

Title: Juniper Service Operations. Add a small “Synthetic training data” label.
Use 23 October 2026 as the reporting cutoff, displayed separately from the
time the data was loaded. Use USD consistently.

Create three presentation tabs: Leadership, Operations and Finance.
Leadership: total work orders, completed, open, overdue-open and blocked;
status distribution; monthly intake grouped by OpenedDate; top issues with
links to the relevant work orders. Recommendations must be labelled as such.
Operations: searchable and sortable table, Region / Priority / Status filters,
and a detail panel showing WorkDescription, ProgressNotes, Blocker and NextAction.
Finance: estimated and actual costs for completed jobs, variance by service
type, completed jobs over estimate, and actual costs to date on open work.

Open = any Status except Completed or Cancelled.
Overdue-open = open with DueDate earlier than 2026-10-23.
On-time completion = CompletedDate on or before DueDate, among completed jobs.
Variance = ActualCostUSD minus EstimatedCostUSD for completed jobs only.
The portable demo import stores dates as ISO YYYY-MM-DD text. Parse them as calendar dates without timezone conversion. CustomerRating is text containing 1–5 or empty: convert only nonempty values to numbers. Do not turn blank dates or ratings into zero. Count each WorkOrderKey once.
Display the number of included records and recalculate cards/charts with filters.

Use a clean navy, teal and white design, generous spacing, readable chart labels,
clear active filters and a Reset filters control. Support keyboard interaction
and a useful narrow-screen layout. Include source-list and methodology links.
Audience tabs are presentation choices, not permission boundaries.

Save as a draft in the current site's Site Pages library if this feature is
available. Otherwise save to a supported library on this site and tell me the
exact filename, library and link. Do not publish or share it with anyone.
```

## 3. Revise the same report after browsing

```text
Update the existing Juniper-Service-Operations-EP022.html report at [REPORT URL].
Keep its source connection and metric definitions.
Make Leadership the default tab. Keep the existing labelled horizontal status
bars. Add an “Overdue only” filter and a visible count of matching
work orders. In Operations, add an expandable detail view for the long notes
and a “Next action” column. Make Reset filters restore the entire dataset.
Keep all existing functions that still work. Save the revision without publishing.
Tell me exactly what changed and any request you could not implement.
```

If the existing file produces an edit conflict, ask Copilot to preserve it and save a separate version. In the lab, v2's overdue filter passed but the search count was stale and details were missing. A repair prompt fixed the count in v3, while the North preset and detail controls still failed. A final complete rewrite in v4 passed the count, overdue58, North30 with correct sort, Next action and keyboard notes checks. Verify rendered behavior independently; Copilot's completion message is not test evidence.

Example bounded repair:

```text
Searching 0299 displays one row but the matching count still says 300.
The Operations table also lacks the requested Next action and detail cells.
Repair the rendered controls and event handlers. Use a single selected-record
set for search, all filters, the count, cards and charts. Make every row render
its own Next action and keyboard-operable notes control. Preserve source
connection and metric definitions. Save a new version, keeping earlier files.
Do not publish, share or change the list. State what you could not verify.
```

## 4. Adapt the presentation for a branch meeting

```text
In the same report, add a clearly labelled North-region preset for the operations
meeting. It should show outstanding work by due date, with Critical before High
when dates match. Preserve an obvious way to return to All regions. Show the
matching row count. This is a convenience filter; do not claim it restricts access.
```

## 5. Inspect storage and prepare a move

```text
For [REPORT URL], identify the actual file name, site and library, and whether
it is a draft page or a library file. Tell me which list it reads and how data
refresh works. If any of this cannot be inspected, say so. Do not change access,
publish, move or delete anything in this step.
```

After recording the original location and creating a test copy, use the observed **Move to** or **Edit in SharePoint** route. Verify destination access, source-list access, assets, old/new URLs and refresh. Do not substitute an unsupported move because a prompt claims success.

## 6. Diagnose a mismatch

```text
The verified source controls show [EXPECTED VALUE] for [METRIC], but the report
shows [OBSERVED VALUE]. Check source scope, all retrieved items, filters, missing
values, duplicate WorkOrderKey values and the agreed metric definition. Explain
the cause and repair the calculation using the source data. Do not hard-code the
expected value, fabricate missing items or change the underlying list to fit it.
```

Optional after the main test: request a printable summary or filtered CSV export. Demonstrate these only if the generated control works, preserves selected filters and exports the expected records. A button's appearance is not proof.
