Back to Brain Lab Skill · Convert to Copilot · convert-to-copilot/
Skill Claude

Convert to Copilot

convert-to-copilot/

4 views 0 downloads

Port a Claude Code agent, with its command and skills, to one GitHub Copilot agent. Maps tools, models and sub-agent calls, validates the result and ships scripts for both directions.

Convert to Copilot: Brain Lab skill for Claude Code

Port a Claude Code agent, with its command and skills, to one GitHub Copilot agent that works the same way.

Why use it

  • Your team uses both Claude Code and GitHub Copilot, and every agent has to be written twice.
  • Copilot has no skills or commands: a straight copy loses the knowledge and the triggers the agent depends on.
  • Hand-ported agents drift, wrong tool aliases (fetch instead of web), dead file paths, task tracking that fails silently.

What it does

  • Merges the agent + its launch command into one .github/agents/{name}.agent.md, with the command's trigger phrases in the description.
  • Splits every skill into .copilot_utils/{name}/context/ (what to use) and trees/ (how to decide), and rewrites each skill reference to a file path.
  • Maps tools, models and frontmatter: WebFetch → web, TaskCreate → manage_todo_list, opus → Claude Opus 4.5, drops color / memory / isolation / skills / allowed-tools.
  • Converts sub-agent calls to handoffs (VS Code) or runSubagent() (GitHub Copilot).
  • Validates the result, every referenced path exists, aliases are correct, body under 30,000 characters, and prints a conversion report.
  • Ships scaffold scripts for both directions (claude-to-copilot, copilot-to-claude) and a full worked example.

Benefits

  • Write the agent once. Claude Code stays the source; Copilot gets a faithful port.
  • No lost knowledge. Skills become referenced context files, not a pasted wall of text.
  • Correct on the first run. The tool and model tables catch the aliases that break Copilot agents.
  • Reviewable. Each phase writes its output to .copilot-convert-results/, so you can see every decision.

Install

Download this skill and copy the convert-to-copilot folder to .claude/skills/convert-to-copilot/ in your project, or to ~/.claude/skills/convert-to-copilot/ to use it in every project. Claude Code finds it on its own; you can also call it with /convert-to-copilot.

Part of the Agent Engineering bundle. To get the whole set as a Claude Code plugin: /plugin marketplace add endorphin-ai/hasbrains-agent-kit, then /plugin install agent-engineering@hasbrains-agent-kit.

Source: endorphin-ai/hasbrains-agent-kit. License: MIT.

Files (17)

Files

conversion-output.md
# Conversion Phases 5–7: Write, Validate, Report

See also: `conversion-phases.md` (phases 1–3) · `conversion-body.md` (phase 4)

---

## Phase 5: Write Output Files

Write all files in this order:

1. `.github/agents/{agent_name}.agent.md`
    - Frontmatter from Phase 3
    - PROGRESS TRACKING section (from Phase 4.3) at top of body
    - Converted body from Phase 4

2. All `.copilot_utils/{agent_name}/context/*.md` — knowledge files
3. All `.copilot_utils/{agent_name}/trees/*.md` — decision tree files
4. Any `.copilot_utils/{agent_name}/scripts/*` — script files
5. `.copilot_utils/{agent_name}/memory/` — copy memory files found in Phase 1

---

## Phase 6: Validate → `{output_folder}/6-validation.md`

Run the full checklist. Write PASS/FAIL for each item:

```markdown
# Validation Results

| Check                                              | Status | Notes         |
| -------------------------------------------------- | ------ | ------------- |
| {output_agent} exists                              | ✅/❌  |               |
| Frontmatter: description with triggers             | ✅/❌  |               |
| Frontmatter: tools array (no "fetch")              | ✅/❌  |               |
| Frontmatter: model (expanded)                      | ✅/❌  |               |
| No separate command file created                   | ✅/❌  |               |
| No .prompt.md or .instructions.md                  | ✅/❌  |               |
| Task tracking uses manage_todo_list with operation | ✅/❌  |               |
| All .copilot_utils/ refs resolve to real files     | ✅/❌  |               |
| Scripts executable + paths correct                 | ✅/❌  |               |
| Memory paths updated                               | ✅/❌  |               |
| MCP calls preserved                                | ✅/❌  |               |
| Agent body ≤ 30,000 chars                          | ✅/❌  | {count} chars |
```

If any check FAILS, fix before proceeding to Phase 7.

---

## Phase 7: Conversion Report (console output)

```markdown
## Conversion Report

### Agent Created

- ✅ .github/agents/{name}.agent.md — {N} phases, tools: [{tools}], model: {model}

### Command Absorbed

- 🔗 /{command-name} → merged into agent description + argument-hint

### Skill Context Created (.copilot_utils/{agent-name}/)

| File                         | Type          | Source skill        |
| ---------------------------- | ------------- | ------------------- |
| context/{skill}.md           | knowledge     | {skill} SKILL.md    |
| trees/{skill}.md             | decision tree | {skill} SKILL.md    |
| context/{skill}-templates.md | templates     | {skill} references/ |

### Memory

- 📝 .copilot_utils/{agent-name}/memory/ — {N files copied / none}

### Task Tracking

- 🔄 TaskCreate/TaskUpdate → manage_todo_list ({N} todos)

### Preserved As-Is

- ✅ MCP tool calls
- ✅ Bash commands and git workflow
- ✅ Phase structure and numbering
- ✅ Error handling
- ✅ ALWAYS_DO / NEVER_DO rules
- ✅ Final report format

### Not Created (by design)

- ❌ No .prompt.md (command absorbed into agent)
- ❌ No .instructions.md
- ❌ No .github/skills/
```