| name | declarative-agent-sample-review |
| description | Review PRs for declarative agent samples (da-* folders) in pnp/copilot-pro-dev-samples. Use when reviewing da-* sample submissions, checking manifest versions, validating README format. Triggers on "review PR", "review this sample", or PR review requests for declarative agent samples. |
Declarative Agent Sample Review
Review declarative agent sample PRs (folders starting with da-) for compliance with repo guidelines.
Workflow
- Checkout PR:
gh pr checkout <number>
- Verify sample folder starts with
da-
- Run checks below, collecting comments (file, line, issue)
- Submit all comments in single API call (GitHub limitation)
Checks
1. Manifest Schema Versions
Fetch latest versions from Microsoft Learn docs (never use other samples as reference):
| Manifest | File | Property | Docs |
|---|
| App | appPackage/manifest.json | manifestVersion | learn.microsoft.com/microsoft-365/extensibility/schema |
| Declarative Agent | appPackage/*DeclarativeAgent.json | version + $schema | learn.microsoft.com/microsoft-365-copilot/extensibility/declarative-agent-manifest |
| API Plugin | appPackage/ai-plugin.json | schema_version | learn.microsoft.com/microsoft-365-copilot/extensibility/api-plugin-manifest |
2. m365agents.yml
- No
projectId - auto-generated on provision, must not be committed
- Check both
m365agents.yml and m365agents.local.yml
3. README.md
Compare against templates/README-template.md:
4. assets/sample.json
Compare against templates/sample-template.json:
- name:
pnp-copilot-pro-dev-<sample-folder>
- url/downloadUrl: correct sample folder path
- authors: matches actual contributors (verify against PR author)
- URLs: consistent locale format
Submitting Reviews
GitHub API cannot add comments to pending reviews after creation. Collect all comments first.
Get commit SHA:
gh pr view <PR> --json headRefOid
Create review.json:
{
"commit_id": "<sha>",
"event": "REQUEST_CHANGES",
"body": "Summary message",
"comments": [
{"path": "file/path", "line": 10, "body": "Issue description"}
]
}
Submit:
gh api repos/pnp/copilot-pro-dev-samples/pulls/<PR>/reviews --method POST --input review.json
Convert to Draft
After submitting a review with requested changes, convert the PR to draft:
gh pr ready <PR> --undo