Skip to content

maister-copilot? could I touch it perhaps (the scripts)? #8

Description

@robmar-net

⚠️ 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions