Files
holocron/plugins/bin
Defame1297 03abcffb77 refactor(bin): cut per-invocation load and repair broken skill references
diagnose read its feedback-loops reference unconditionally, so every
invocation paid for guidance most runs never used; the read is conditional
again and the per-invocation cost drops from 1,278 to 831 words. Its HITL
template moves to assets/ because it is copied out, not read as reference.
prototype's two branch flows move into references/ for the same reason —
only one branch is ever taken.

research could not search the codebase it was asked to research without Grep
and Glob. caveman's description had grown into a paragraph where one sentence
carries the trigger. Four references pointed at things that do not exist: a
to-prd skill, a /setup-matt-pocock-skills command, two cross-skill ../ links
that only resolve in the source tree, and two places calling this project's
Gitea host GitHub.

Addresses #114.
2026-08-31 08:02:03 +00:00
..

bin

A place for things to be binned

Install

Claude Code:

claude plugin marketplace add <owner>/<repo>
claude plugin install bin@<marketplace-name>

GitHub Copilot CLI:

copilot plugin marketplace add <owner>/<repo>
copilot plugin install bin

Local (development):

# Claude Code
claude --plugin-dir ./plugins/bin

# GitHub Copilot CLI
copilot plugin install ./plugins/bin

Contents

Component Path Description
Skills .apm/skills/ → skills/ Slash commands available after install
MCP servers .mcp.json The obsidian server (npx @bitbonsai/mcpvault@0.15.0 docs/), hand-authored at the plugin root

.apm/ is the authoring source; skills/ is the generated mirror plugin hosts scan (ADR-0017). This plugin ships no agents. It is the only plugin here with a non-empty .mcp.json, which is why its compiled manifests are the only ones carrying an mcpServers block.

The two compiled manifests get that block by different routes. .claude-plugin/plugin.json gets it from apm itself: build_plugin_manifest's Claude branch calls collect_mcp_servers, which reads .mcp.json, sanitizes it, and inlines the resulting server objects. .github/plugin/plugin.json gets nothing from apm — the Copilot branch drops the field — so scripts/sync-plugin-content.sh's reinject_mcp_servers() puts it back, as the string ".mcp.json" rather than the resolved objects. Copilot's manifest schema types the field as "string or object — MCP server config path or inline definitions", and a path reference cannot carry a credential into a committed manifest. See ADR-0017's mcpServers amendment.

Author

Defame1297