agents/skills/bob-tools/SKILL.md
Use when working in a BobProtocol project and you need to understand or run the project tool scripts in agents/tools, especially chat.py, mkf.py, setup_agent_links.py, and teardown_agent_links.py. This skill explains which commands to run, when to prefer Makefile wrappers, what each tool writes, and how to avoid flooding Codex context.
npx skillsauth add drusifer/via bob-toolsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
One-line summary: Use BobProtocol project tools through their stable command surfaces, usually make, and only call scripts directly for setup or debugging.
TLDR:
Use make chat MSG="..." PERSONA="..." CMD="..." TO="..." for team log messages.
Use make <target> for project automation; mkf.py wraps most targets automatically and writes full output to build/build.out.
Use python agents/tools/setup_agent_links.py after installing/updating BobProtocol so Claude, Codex, root instruction links, via MCP, and Codex MCP are configured.
Use python agents/tools/teardown_agent_links.py --dry-run to inspect generated links before removing them.
| Tool | Preferred command | Use for | Writes |
|------|-------------------|---------|--------|
| agents/tools/chat.py | make chat MSG="..." PERSONA="..." CMD="..." TO="..." | Append short structured messages to agents/CHAT.md | agents/CHAT.md |
| agents/tools/mkf.py | make <target> [V=-v/-vv/-vvv] | Capture build/test output and post build status | build/build.out, agents/CHAT.md |
| agents/tools/setup_agent_links.py | python agents/tools/setup_agent_links.py | Create discovery links for Claude, Codex, root instruction files, delegate MCP setup to via, ensure the via index exists, register via with Codex MCP, and create missing project capabilities | .claude/skills, $CODEX_HOME/skills, root symlinks; .mcp.json via via; .via/index.db; Codex config via codex mcp add; agents/PROJECT.md when absent |
| agents/tools/teardown_agent_links.py | python agents/tools/teardown_agent_links.py --dry-run | Remove discovery links created by setup and delegate MCP teardown to via/Codex | .claude/skills, $CODEX_HOME/skills, root symlinks; via may remove its own MCP config; Codex config via codex mcp remove |
make chat and make <target> are the public interface.make output into the conversation. mkf.py exists to keep full logs in build/build.out.build/build.out only when the tail or exit code is not enough.make build-status messages replace the previous make build entry instead of appending, so routine build/test runs do not fill agents/CHAT.md.agents/skills/*/SKILL.md, adding a new persona docs folder, or installing BobProtocol into another project.--dry-run first. It removes only symlinks that point back into the current project and leaves Codex .system skills untouched.Use through Make:
make chat MSG="Fixed parser bug" PERSONA="Neo" CMD="swe fix" TO="Trin"
Direct form, mainly for debugging:
python agents/tools/chat.py "Fixed parser bug" --persona Neo --cmd "swe fix" --to Trin
Notes:
CMD is auto-prefixed with * when missing.TO defaults to all.--to flags are supported by the Python tool.PERSONA=make and CMD=build, chat.py overwrites the final chat entry if that entry is also a make build message.Do not call mkf.py directly during normal work. The Makefile routes normal targets through it.
make test
make test V=-vv
make tldr V=-vvv
Verbosity:
V: quiet, full log in build/build.outV=-v: stderrV=-vv: stderr plus filtered failure linesV=-vvv: full stdout and stderrAfter a run, use:
tail -20 build/build.out
Run this from the project root after setup or skill changes:
python agents/tools/setup_agent_links.py
It discovers:
agents/*.docs/SKILL.mdagents/skills/*/SKILL.mdIt creates:
.claude/skills/<name> links for Claude-style skill discovery$CODEX_HOME/skills/<name> links so Codex loads BobProtocol skills on startupAGENTS.md, GEMINI.md, CHATGPT.md, .cursorrules, .github/copilot-instructions.mdvia install mcp when via is installed, then hardening .mcp.json with HOME=<project-root> and --no-webvia index <project-root> when .via/index.db is missingcodex mcp add via --env HOME=<project-root> -- <via> mcp serve --no-web <project-root> when codex and via are installedagents/PROJECT.md when it is missing, with via: enabled only if via MCP setup succeededIf writing to $CODEX_HOME/skills fails under sandboxing, rerun with approval. Restart Codex after creating or changing Codex skill links.
Run this from the project root to undo setup:
python agents/tools/teardown_agent_links.py --dry-run
python agents/tools/teardown_agent_links.py
It removes only generated links/config owned by this project:
.claude/skills/* symlinks that point into this repo$CODEX_HOME/skills/* symlinks that point into this repoAGENTS.md, GEMINI.md, CHATGPT.md, .cursorrules, .github/copilot-instructions.mdvia uninstall mcpcodex mcp remove viaIt does not remove real files, unrelated symlinks, or $CODEX_HOME/skills/.system.
Use --keep-mcp to skip via uninstall mcp.
tools
HCI Expert and UX Advocate. Use for user story review, usability testing, HCI evaluation, API/CLI feedback, sprint user review gates, and usability defect filing.
development
Run tests using the project Makefile. Use for executing test suites, running specific tests, and validating code changes.
tools
Full sprint implementation cycle. Covers planning, phase Bloop, sprint close, retrospective, and launch. Use *plan sprint to start, then *impl <phase> for each phase.
testing
Switch to a specialized agent persona or invoke a persona directly. Use to delegate work to the right specialist.