By microsoft
Audit AND interactively build Microsoft Copilot Studio labs (any event/workshop, not just bootcamp) end-to-end via Playwright. Audit mode compares live UI to written instructions and posts fingerprint-deduped findings + fix PRs. Build mode authors a new lab step-by-step with screenshots, gates it through the audit engine, and opens a PR adding the lab to mcs-labs.
Manage the DPAPI-cached workshop-issued test account used by mcs-lab-auditor (show, redeem, clear).
Shortcut for `/audit-event --event bootcamp`. Audits every lab in the Architecture Bootcamp event end-to-end.
Audit every lab in a workshop event end-to-end (bootcamp, buildathon, MCS-in-a-Day, etc.); file one GitHub issue per lab with findings.
Audit a single mcs-labs bootcamp lab end-to-end; file one GitHub issue with findings if any, or log a clean pass locally.
Print a local summary of recent mcs-lab-auditor runs from runtime/audit-history.yml. No browser activity.
Audit Microsoft Copilot Studio labs end-to-end for any event or workshop. Resolves the mcs-labs repo location dynamically (clones/updates it as needed), enumerates auditable scopes from the repo's `_events/` and `_workshops/` collections, drives Playwright through every numbered step of each lab in the chosen scope, compares the live UI to the written instructions with an LLM judge, and either files a GitHub issue (one per lab with findings) or appends a clean-pass entry to a local audit log. Use this skill when the user says "audit the bootcamp", "audit a workshop", "run the lab auditor", "test the mcs-labs labs", or invokes any `/audit-*` command from this plugin.
Interactively BUILD a new Microsoft Copilot Studio lab for the mcs-labs repo, end-to-end. Get a workshop test account, drive Playwright to the Copilot Studio Home page, then capture a lab step-by-step — writing instructions, tips, and screenshots and confirming each step with the user — assemble it into a sibling-formatted `labs/<slug>/README.md`, re-run the finished lab through the existing audit engine as a quality gate, and open a PR on the active instance's lab repo (microsoft/mcs-labs by default). Event/workshop-agnostic: a lab is built and tested standalone; event attachment is optional. Use when the user says "build a new lab", "author a lab", or invokes `/build-lab`.
After mcs-lab-issue-filer has filed (or commented on) the audit issue for a lab, apply the findings' suggested_correction diffs to the lab markdown and copy any proposed_screenshot_replacement images into labs/<slug>/images/. If an OPEN fix-PR for this slug already exists (same author, mergeable), append the commit to it; otherwise open a NEW PR on a run-unique branch `{branch_prefix}/fix-<slug>-content-audit-<run-id>`. Title `<slug>: fix audit findings from #<issue-number>`, body `Closes #<issue-number>`. Dedup is scoped to OPEN PRs only — a merged or closed prior PR never blocks a new one. Should NOT be invoked directly by the user — the orchestrator calls it after mcs-lab-issue-filer returns the issue number.
Convert a lab's findings.json into a GitHub issue body and file it against the active instance's lab repo (microsoft/mcs-labs by default). Checks for an existing open issue with matching labels and comments on it instead of duplicating. Invoked by mcs-lab-auditor after a lab completes with at least one judge-recorded finding above the confidence threshold. Should NOT be invoked directly by the user — it expects a fully-populated run directory and assumes the orchestrator has already filtered out cannot_verify and below-threshold findings.
Open a PR on the active instance's lab repo (microsoft/mcs-labs by default) that adds a NEW lab built by mcs-lab-builder. Stages the assembled `labs/<slug>/README.md` + screenshots, applies the registration entry (root `lab-config.yml` + generator, or direct `_data/lab-config.yml` + `_labs/<slug>.md` writes — per the detected mechanism), commits everything in one commit on a run-unique branch off `origin/main`, and opens the PR. Invoked by mcs-lab-builder at B7 — NOT directly by the user. Do not use this for audit fixes (that is mcs-lab-fix-pr-filer, which patches an existing lab).
Runs pre-commands
Contains inline bash commands via ! syntax
Bash prerequisite issue
Uses bash pre-commands but Bash not in allowed tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
mcs-lab-auditor)A Claude Code plugin that audits and builds labs in a target lab repository end-to-end, driving the live product UI with Playwright.
/audit-*) drives an existing lab's steps, has an LLM judge compare observed behavior to each written instruction, and files one GitHub issue per lab (plus a matching fix-PR) whenever steps are broken or unclear. Clean labs produce a local-only audit-history entry — no GitHub activity when nothing's wrong./build-lab, v0.4.0+) interactively authors a new lab: it gets a workshop account, drives to the Copilot Studio Home page, captures the lab step-by-step (instructions + tips + screenshots, confirming every step), assembles a sibling-formatted labs/<slug>/README.md, re-runs it through the same audit engine as a quality gate, and opens a PR adding the lab.Both modes are event/workshop-agnostic. The audit scope is enumerated from two Jekyll collections in the mcs-labs repo — _events/<id>.md (formal curated events: bootcamp, the buildathons) and _workshops/<id>.md (on-demand workshops: the Azure AI workshop, MCS-in-a-Day, Agent-in-a-Day, the Agent Academy tracks) — via scripts/Get-EventCatalog.ps1. Events and workshops are both first-class audit scopes. Single labs can still be audited individually against the full lab_metadata catalog, and a built lab is created standalone with optional event/workshop attachment — nothing is hardcoded to bootcamp. (The legacy _data/lab-config.yml.event_configs table is now only a last-resort fallback; it has drifted out of sync with the collections.)
Defaults to microsoft/mcs-labs; point it at your own fork + training portal via a user lab-instances.yml — see docs/extending.md.
The plugin writes to the active instance's lab repo through three narrow paths. (a) gh issue create | comment | edit for issues + label hygiene (always on). (b) A fix-PR per audit run with findings: it applies the suggested_correction diffs + screenshot replacements and opens a new PR on a run-unique branch {branch_prefix}/fix-{slug}-content-audit-{run_id} (mcs-labs default prefix: dewain) — unless an open fix-PR for that lab already exists, in which case the run's commit is appended to that PR instead of opening a duplicate. See skills/mcs-lab-fix-pr-filer/SKILL.md. (c) A screenshots-only commit appended to an already-open fix-PR (same-author, mergeable) for the lighter re-audit case — on by default, suppressed with --no-update-screenshots / --no-append-to-pr (CLI) or issues.pr_append.enabled_by_default: false (config). See skills/mcs-lab-pr-appender/SKILL.md.
The plugin will never create a duplicate open issue or PR for a lab that already has one open. Phase 1.4 of every audit run probes gh issue list + gh pr list per slug, and the per-lab disposition uses that result — new findings go into a fingerprint-deduped delta comment on the existing open issue, and a run's fixes are appended to the existing open PR. Dedup is scoped to open items only: a merged or closed prior issue/PR never blocks a new one, so each run with fresh findings gets its own PR on a fresh branch.
Build mode adds two write paths: (1) a "new lab proposal" issue opened as soon as the lab is named — labeled type: new-lab + status: in-progress so the team can see it's In Progress — and (2) a new-lab PR (skills/mcs-lab-new-lab-pr/SKILL.md) on a run-unique branch {branch_prefix}/new-lab-{slug}-{build_id} (mcs-labs default prefix: dewain) off fresh origin/main that closes the proposal issue on merge. Build mode's audit gate itself files nothing on GitHub — its findings stay local and feed the authoring loop until the lab passes.
npx claudepluginhub microsoft/bootcamplabtestplugin --plugin mcs-lab-auditorTurn your coding agent into a SOTA browser agent. Drives a local Playwright workspace via one bash command at a time, saving screenshots and an action log into final_runs/run_<id>/, and visually self-verifies the result.
AGT governance hooks and MCP tools for Claude Code sessions
Azure SDK patterns and best practices for Python developers covering AI, storage, identity, monitoring, messaging, and management libraries.
Azure SDK patterns and best practices for Rust developers covering identity, Key Vault, storage, Cosmos DB, and Event Hubs.
Azure SDK patterns and best practices for Java developers covering AI, communication, storage, identity, monitoring, and management libraries.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
v9.44.1 — Patch release for Gemini environment/version detection and qwen auth gating. Run /octo:setup.
Next.js development expertise with skills for App Router, Server Components, Route Handlers, Server Actions, and authentication patterns
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use