Agents & OrchestrationSûr100100/100
Generate Report (Microsoft)
Generate a persistent final-report.md summarizing everything the scenario changed
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs generate-report__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-767e8677a028Microsoft
microsoft/upgrade-agent-plugins
Contenu à copier
---
name: generate-report
description: Generate a persistent final-report.md summarizing everything the scenario changed
metadata:
origin: Microsoft
discovery: system
---
# Generate Scenario Report
Produce a comprehensive `final-report.md` artifact in the scenario folder that summarizes the completed scenario for sharing with teammates or stakeholders.
## When to use
Invoke this skill when the user chooses "generate a detailed report" after a scenario completes. Do NOT generate this automatically — it is an on-demand action.
## Report location
Write the report to `final-report.md` in the scenario folder.
## How to generate
### Step 1 — Gather data
Read these files from the scenario folder. Skip any that don't exist.
| File | What to extract |
|------|-----------------|
| `plan.md` | Original plan structure, task IDs, scope |
| `tasks.md` | Final task states (✅ / ❌ / ⏳), hierarchy |
| `scenario-instructions.md` | User preferences, decisions, recorded choices, confirmed upgrade options |
| `tasks/{taskId}/progress-details.md` | Per-task: files changed, build/test results, issues resolved |
| `tasks/{taskId}/task.md` | Per-task: task spec, scope, acceptance criteria |
Additionally:
- Run `git log --oneline` scoped to the scenario's time range or commits to list all changes committed during this scenario.
- Read detected signals from the most recent `get_state` or `complete_task` response if available — these provide context about what technologies were present in the solution.
If the gathered data is insufficient for a clear Summary (e.g., plan.md doesn't describe what was analyzed), read additional scenario artifacts like `assessment.md` as needed — but only the parts relevant to the report, not the entire file.
### Step 2 — Write the report
Use the template below as the **starting structure**. Follow it section by section. If a section has no applicable data, omit it entirely — do not write empty sections.
**You may add additional sections** when the gathered data contains information that doesn't fit the predefined sections. Use your judgment — if a theme appears across multiple tasks (e.g., "Authentication changes", "Database schema updates", "Test infrastructure"), give it its own section after the standard ones. Use the same formatting style.
### Step 3 — Confirm
After writing, confirm to the user with the full path to the generated report.
---
## Report template
~~~markdown
# {Scenario Name} — Report
**Scenario:** {description from plan.md}
**Outcome:** ✅ Fully completed / ⚠️ Completed with {N} failure(s)
**Projects affected:** {count}
**Tasks:** {completed}/{total} completed
---
## Summary
{2–4 sentence overview: what was upgraded, from what to what, key outcomes. Written for someone who wasn't in the room.}
---
## What Changed
### Packages
{Table of package changes across all projects. Group by change type.}
| Project | Package | Change | From → To |
|---------|---------|--------|-----------|
| ... | ... | Updated / Added / Removed | ... |
### Code Modifications
{Group by category. Common categories for upgrades:}
- **API migrations** — APIs replaced or rewritten (e.g., `HttpModule` → middleware)
- **Configuration changes** — web.config → appsettings.json, startup changes
- **Project file changes** — TFM updates, SDK-style conversions, property changes
- **Build and tooling** — CI/CD updates, build script changes
{For each category, list the key changes with affected files. Be specific but not exhaustive — highlight patterns, not every line.}
### Git Commits
| SHA | Message |
|-----|---------|
| ... | ... |
---
## Task Breakdown
{Use a table when there are 5+ tasks. For fewer, a bullet list is fine. Link to task.md and progress-details.md when they exist.}
| Task | Description | Outcome | Content | Details |
|------|-------------|---------|---------|---------|
| `{taskId}` | {description} | ✅ {one-sentence result} | [task.md](tasks/{taskId}/task.md) | [progress-details.md](tasks/{taskId}/progress-details.md) |
| `{taskId}` | {description} | ❌ {what failed and why} | [task.md](tasks/{taskId}/task.md) | [progress-details.md](tasks/{taskId}/progress-details.md) |
{If any tasks have subtasks, nest them under their parent with indentation. Omit Content/Details links for tasks that don't have the corresponding files.}
---
## Decisions Made
{Key choices recorded in scenario-instructions.md or made during execution. Format as a bullet list.}
- **{Decision}** — {rationale or user preference}
- ...
---
## Build & Test Results
{Final build and test status across affected projects. If all green, say so briefly. If there are failures or warnings, list them.}
| Project | Build | Tests | Warnings |
|---------|-------|-------|----------|
| ... | ✅ | ✅ 42 passed | 0 |
---
## Known Gaps & Follow-up Items
{Anything left incomplete, deferred, or requiring manual attention.}
- **{Item}** — {description and recommended action}
- ...
{If there are no gaps, write: "No known gaps. All tasks completed successfully."}
~~~
## Tone and format
- **Factual and concise** — no marketing language, no celebration
- **Audience: teammates and stakeholders** — assume they understand .NET but weren't watching the upgrade happen
- **Failures are reported honestly** — not downplayed or hidden
- **Tables over prose** — when listing structured data, prefer tables
- **Specific over vague** — "Updated 12 packages across 3 projects" not "Made various package updates"
- **Omit empty sections** — if there are no decisions or no gaps, skip the section entirely rather than writing "None"Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Generate Report (Microsoft)
Run `git log --oneline` scoped to the scenario's time range or commits to list all changes committed during this scenario.
Read detected signals from the most recent `get_state` or `complete_task` response if available — these provide context about what technologies were present in the solution.
**API migrations** — APIs replaced or rewritten (e.g., `HttpModule` → middleware)
**Configuration changes** — web.config → appsettings.json, startup changes
Comment utiliser Generate Report (Microsoft)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Generate Report (Microsoft)
Dis simplement à ton agent quelque chose comme :
Applique le skill generate-report__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-767e8677a028 à cette tâche
Utilise generate-report__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-767e8677a028 pour améliorer cette implémentation
Passe en revue ce sujet avec generate-report__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-767e8677a028
Skills liés à Generate Report (Microsoft)
Acceleration (Microsoft)
Compare synthetic acceleration options and clearly separate scenario value from forecast commitments.Account Overview (Microsoft)
Create a synthetic Acme account overview and identify evidence that merits seller attention.Acroform Writer (Microsoft)
Use this skill whenever the user wants values written INTO an existing PDF form that lives in the connected SharePoint knowledge source — filling out, completing, populating, or submitting a fillable PDF (application, intake sheet, contract, government form) from data they supply, a spreadsheet row, or the conversation. Triggers include "fill out the job application form", "complete the intake form for [person]", "populate our standard NDA template", and "make this ready to send / non-editable" (flatten). The source form should be found via knowledge search; only ask the user to upload it if knowledge search turns up nothing plausible. different task), and do NOT use it on scanned/image-only PDFs that have no real fillable fields — those need OCR or manual overlay instead, which this skill explicitly detects and reports rather than silently failing.