evaluate-copilot-teams-extension — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited evaluate-copilot-teams-extension (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
| Metric | Target | How to Measure |
|---|---|---|
| SSO success rate | ≥ 99% | Token acquisition without user prompt |
| Response latency | < 3 seconds | Time from user message to bot reply |
| Adaptive Card render success | 100% | Cards render on desktop + mobile + web |
| Graph API call success | ≥ 99% | API calls returning 200 OK |
| Throttling recovery | 100% | Retry-After honored, no data loss |
| User satisfaction (CSAT) | ≥ 4.0/5.0 | Post-interaction survey |
| Error rate | < 1% | Bot errors / total messages |
| Proactive notification delivery | ≥ 95% | Notifications reaching target users |
# List granted permissions
az ad app permission list --id $APP_ID --query "[].{api:resourceAppId, scope:id}" -o table*.ReadWrite.All when *.Read suffices| Client | Test | Expected |
|---|---|---|
| Teams Desktop (Windows) | Send query → verify card renders | Full card with actions |
| Teams Desktop (Mac) | Same query | Same card layout |
| Teams Mobile (iOS) | Same query | Responsive layout, buttons accessible |
| Teams Mobile (Android) | Same query | Responsive layout |
| Teams Web | Same query | Full card rendering |
# Simulate burst traffic
python evaluation/test_throttling.py --endpoint $BOT_ENDPOINT --rps 100 --duration 60spython evaluation/eval.py --all --output evaluation/report.json --ci-gate| Result | Action |
|---|---|
| All PASS | Publish to production tenant |
| SSO fails | Check app registration, redirect URIs, token config |
| Cards broken on mobile | Simplify card layout, test with Card Designer |
| Response > 5s | Optimize Graph queries, add caching |
| Throttling causes errors | Implement exponential backoff with Retry-After |
| Symptom | Root Cause | Fix |
|---|---|---|
| SSO popup appears | Consent not pre-granted | Admin consent in Azure AD |
| Card blank on mobile | Using unsupported card element | Check Teams card version compatibility |
| Graph returns 403 | Missing permission scope | Add required scope, re-consent |
| Bot responds slowly | No Graph query batching | Use $batch for multiple calls |
| Proactive messages fail | Missing Teams activity permission | Add TeamsActivity.Send to app |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.