Skills, MCP and hooks#
PacketCode can load written instructions as Agent Skills, run local MCP servers and call lifecycle hooks. Each extension can influence or execute work, so review it before enabling it.
This page requires the current source build described on Install.
Packaged release v0.5.1 does not expose the skills command.
Skills#
Use packetcode skills to inspect available operations. Install only from a
source you trust, review SKILL.md and any referenced scripts, and choose user
or project scope deliberately. Verify by restarting PacketCode and checking that
the expected skill appears in /help or the skill list.
MCP servers#
[mcp.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem@2026.8.31", "."]
enabled = true
timeout_sec = 10
The example grants access to PacketCode's current project directory. Stdio MCP servers run as child processes under your account. Their tools remain permission-gated, but the server process itself is not sandboxed. Review and update pinned versions deliberately.
Hooks and statusline#
Hooks can observe lifecycle events and may be able to block selected actions. The statusline command renders external state with a bounded timeout. Commands should be fast, deterministic and free of secrets in their output.
Verify#
Start PacketCode in a disposable project, inspect the loaded extension list and invoke one read-only action. Confirm the command, working directory and tool name match the configuration. Disable the extension and restart PacketCode to confirm it is no longer available.
If it does not work#
| Symptom | Check | Recovery |
|---|---|---|
| An MCP server never starts | Its own startup output | See An MCP server does not start |
| A skill is not offered | Whether the project is trusted and the skill is discoverable | An untrusted project does not load project-scoped extensions |
| A hook does not fire | Whether the hook is configured where you think it is | Hooks are configuration, not code the agent chooses to run |
| An extension weakens an approval | — | Stop using it. Extensions must not widen the approval boundary; that is the contract |