|
| 1 | +# Copilot Skills |
| 2 | + |
| 3 | +Agent skills for GitHub Copilot CLI that implement the **CodeAct pattern** — collapse multi-step tool chains into a single sandboxed Python execution. |
| 4 | + |
| 5 | +## Install |
| 6 | + |
| 7 | +```bash |
| 8 | +# Install a specific skill |
| 9 | +gh skill install jsturtevant/copilot-skills monty-codeact |
| 10 | +gh skill install jsturtevant/copilot-skills hyperlight-codeact |
| 11 | + |
| 12 | +# Or browse and choose interactively |
| 13 | +gh skill install jsturtevant/copilot-skills |
| 14 | +``` |
| 15 | + |
| 16 | +Then `/skills reload` in Copilot CLI to pick them up. |
| 17 | + |
| 18 | +## Available Skills |
| 19 | + |
| 20 | +### monty-codeact |
| 21 | + |
| 22 | +**CodeAct with [Pydantic Monty](https://github.com/pydantic/monty)** — a minimal, secure Python interpreter written in Rust. |
| 23 | + |
| 24 | +- Sub-microsecond startup (<1μs) |
| 25 | +- Tools called as natural Python functions: `view(path="README.md")` |
| 26 | +- Lightweight: `pip install pydantic-monty` (~4.5MB) |
| 27 | +- Auto-installs dependencies via `uv` if missing |
| 28 | + |
| 29 | +Best for: fast, lightweight tool chaining where full Python isn't needed. |
| 30 | + |
| 31 | +### hyperlight-codeact |
| 32 | + |
| 33 | +**CodeAct with [Hyperlight](https://github.com/hyperlight-dev/hyperlight)** — micro-VM sandbox using WebAssembly. |
| 34 | + |
| 35 | +- Full CPython runtime inside a Wasm sandbox |
| 36 | +- Tools called via `call_tool("view", path="README.md")` |
| 37 | +- Stronger isolation (separate micro-VM per execution) |
| 38 | +- Auto-installs dependencies via `uv` if missing |
| 39 | + |
| 40 | +Best for: when you need full Python support or stronger sandbox isolation. |
| 41 | + |
| 42 | +### Shared features |
| 43 | + |
| 44 | +Both skills discover and register tools that match **Copilot CLI built-in tool names**: |
| 45 | + |
| 46 | +| Copilot CLI tool | Sandbox function | What it does | |
| 47 | +|---|---|---| |
| 48 | +| `view` | `view()` / `call_tool("view")` | Read files / list directories | |
| 49 | +| `create` | `create()` / `call_tool("create")` | Create new files | |
| 50 | +| `edit` | `edit()` / `call_tool("edit")` | Surgical string replacement | |
| 51 | +| `glob` | `glob()` / `call_tool("glob")` | Find files by pattern | |
| 52 | +| `grep` | `grep()` / `call_tool("grep")` | Search file contents (needs `rg`) | |
| 53 | +| `bash` | `bash()` / `call_tool("bash")` | Run shell commands | |
| 54 | +| `sql` | `sql()` / `call_tool("sql")` | SQLite queries | |
| 55 | +| `web_fetch` | `web_fetch()` / `call_tool("web_fetch")` | Fetch URLs (needs `curl`) | |
| 56 | +| `github_api` | `github_api()` / `call_tool("github_api")` | GitHub REST API (needs `gh`) | |
| 57 | + |
| 58 | +## Why CodeAct? |
| 59 | + |
| 60 | +Instead of N individual tool calls (model → tool → model → tool …), the agent writes one Python program that chains all the tools together and runs it in a single turn. This cuts latency by ~50% and token usage by 85%+ for multi-step tasks. |
| 61 | + |
| 62 | +For more on the pattern, see [CodeAct with Hyperlight](https://devblogs.microsoft.com/agent-framework/codeact-with-hyperlight/) from Microsoft. |
| 63 | + |
| 64 | +## License |
| 65 | + |
| 66 | +MIT |
0 commit comments