⚠️ Update (2026-07-22): the analysis below is superseded by live testing on GitHub Copilot CLI 1.0.73 — see the correction comment. Key reversal: maister-copilot is runnable — .md agents register (as maister-copilot:<name>), the skill + task(agent_type) tools map maister's orchestration, and Claude-format hooks work. The real fix is generator-side reference-naming + not deleting hooks, not re-engineering.
Got this analysis, as I sometimes use maister-copilot, perhaps I could try to fix it a little? What do you think?
It's 100% auto-generated by platforms/copilot-cli/build.sh (a 9-step cp/rm/sed transform) from plugins/maister/, and CI (build-copilot.yml) rebuilds+auto-commits it on every source change. I confirmed empirically: the committed output is byte-identical to a fresh build (100 files) and passes all 6 make validate checks. So generation is deterministic, fresh, and self-consistent by its own contract.
① Functionality parity — near-total
┌─────────────────┬─────────┬─────────┬──────────────────┐
│ Category │ maister │ copilot │ Δ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Skills │ 17 │ 17 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Agents │ 25 │ 25 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Commands │ 6 │ 6 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Orchestrators │ 5 │ 5 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ MCP (.mcp.json) │ 1 │ 1 │ ✓ byte-identical │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Hooks │ 4 │ 0 │ −4 (dropped) │
└─────────────────┴─────────┴─────────┴──────────────────┘
104 → 100 files; the entire delta is the deleted hooks/ dir — the only functional loss. 63/100 common files are byte-identical; 37 differ only textually.
② Correctness & consistency — self-consistent, but NOT a faithful runnable port
The validator passes, but it only checks .md/command surface conventions and misses every semantically material gap. 9 deduplicated defects remain — 100% generator-side (build.sh); the source maister plugin is valid, zero source-side defects. Top ones:
- 🔴 D-ORCH (HIGH) — the one real execution blocker: maister orchestrates via a Task/subagent_type API + programmatic Skill tool; Copilot has capable subagents (task//fleet) and skills but not that API, and agents ship as .md not the required .agent.md → they don't register. Workflows don't run end-to-end as written.
- 🔴 D-HOOKS (HIGH) — hooks/ deleted even though Copilot fully supports plugin hooks; drops a PreToolUse destructive-command safety guard, yet CLAUDE.md still documents a ## Hooks section and an agent still claims that guard exists.
- 🔴 D-INSTR (HIGH) — split-brain: skills point to .github/copilot-instructions.md (35+ refs) that doesn't ship, while the plugin still ships an unrenamed CLAUDE.md and root prose still says "CLAUDE.md".
- 🟠 D-REFS (HIGH/MED) — the maister:→maister- rewrite mints ~107 maister-development / subagent_type: maister-gap-analyzer refs that resolve to nothing (Copilot invokes flat: /development), contradicting the plugin's own "no prefix" note.
- 🟡 MED — plugin.json description still says "for Claude Code"; a whole ## Claude Code Documentation section survives; commands/ may not even load (undeclared path).
- ⚪ LOW — the platform note literally reads "Use ask_user instead of ask_user" (a transform-ordering bug).
Verification caught a significant error: the platform gatherer first claimed ask_user doesn't exist ("interaction is dead"). I verified against first-party GitHub docs — ask_user is a real native Copilot tool (--no-ask-user flag; Issue #2109 is only about the ACP bridge). I overturned that verdict, so the port has one real blocker (orchestration), not two.
Bottom line
Installable and partially functional, but not faithfully run-as-written. A sed-only transform can't bridge maister's execution model. A viable port needs real re-engineering (rename agents → .agent.md, remap the Task/Skill orchestration onto Copilot's task//fleet/skills, convert—not delete—hooks, fix manifest/branding, and extend make validate to catch these classes). All recommendations target build.sh/source — never the generated files.
Got this analysis, as I sometimes use maister-copilot, perhaps I could try to fix it a little? What do you think?
It's 100% auto-generated by platforms/copilot-cli/build.sh (a 9-step cp/rm/sed transform) from plugins/maister/, and CI (build-copilot.yml) rebuilds+auto-commits it on every source change. I confirmed empirically: the committed output is byte-identical to a fresh build (100 files) and passes all 6 make validate checks. So generation is deterministic, fresh, and self-consistent by its own contract.
① Functionality parity — near-total
┌─────────────────┬─────────┬─────────┬──────────────────┐
│ Category │ maister │ copilot │ Δ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Skills │ 17 │ 17 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Agents │ 25 │ 25 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Commands │ 6 │ 6 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Orchestrators │ 5 │ 5 │ ✓ │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ MCP (.mcp.json) │ 1 │ 1 │ ✓ byte-identical │
├─────────────────┼─────────┼─────────┼──────────────────┤
│ Hooks │ 4 │ 0 │ −4 (dropped) │
└─────────────────┴─────────┴─────────┴──────────────────┘
104 → 100 files; the entire delta is the deleted hooks/ dir — the only functional loss. 63/100 common files are byte-identical; 37 differ only textually.
② Correctness & consistency — self-consistent, but NOT a faithful runnable port
The validator passes, but it only checks .md/command surface conventions and misses every semantically material gap. 9 deduplicated defects remain — 100% generator-side (build.sh); the source maister plugin is valid, zero source-side defects. Top ones:
Verification caught a significant error: the platform gatherer first claimed ask_user doesn't exist ("interaction is dead"). I verified against first-party GitHub docs — ask_user is a real native Copilot tool (--no-ask-user flag; Issue #2109 is only about the ACP bridge). I overturned that verdict, so the port has one real blocker (orchestration), not two.
Bottom line
Installable and partially functional, but not faithfully run-as-written. A sed-only transform can't bridge maister's execution model. A viable port needs real re-engineering (rename agents → .agent.md, remap the Task/Skill orchestration onto Copilot's task//fleet/skills, convert—not delete—hooks, fix manifest/branding, and extend make validate to catch these classes). All recommendations target build.sh/source — never the generated files.