Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alonf/specrew --skill external-commsgit clone --depth 1 https://github.com/alonf/specrewWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alonf/specrew/external-comms)<a href="https://agentmods.dev/skills/alonf/specrew/external-comms"><img src="https://agentmods.dev/badge/skills/alonf/specrew/external-comms/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alonf/specrew/external-comms"><img src="https://agentmods.dev/badge/skills/alonf/specrew/external-comms.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00020 | $0.03005 |
| Opus 5.5 | $0.00008 | $0.01202 |
| Sonnet 5.5 | $0.00004 | $0.00601 |
| Haiku 4.5 | $0.00002 | $0.00300 |
Grade A, and why
external-comms scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to external-comms — 658 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 330 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Context
Phase 1 is draft-only mode.
- PAO scans issues and discussions, drafts responses with the humanizer skill, and presents a review table for human approval.
- Human review gate is mandatory — PAO never posts autonomously.
- Every action is logged to
.squad/comms/audit/. - This workflow is triggered manually only ("PAO, check community") — no automated or Ralph-triggered activation in Phase 1.
Patterns
1. Scan
Find unanswered community items with GitHub MCP tools first, or gh issue list / gh api as fallback for issues and discussions.
- Include open issues and discussions only.
- Filter for items with no squad team response.
- Limit to items created in the last 7 days.
- Exclude items labeled
squad:internalorwontfix. - Include discussions and issues in the same sweep.
- Phase 1 scope is issues and discussions only — do not draft PR replies.
Discussion Handling (Phase 1)
Discussions use the GitHub Discussions API, which differs from issues:
- Scan:
gh api /repos/{owner}/{repo}/discussions --jq '.[] | select(.answer_chosen_at == null)'to find unanswered discussions - Categories: Filter by Q&A and General categories only (skip Announcements, Show and Tell)
- Answers vs comments: In Q&A discussions, PAO drafts an "answer" (not a comment). The human marks it as accepted answer after posting.
- Phase 1 scope: Issues and Discussions ONLY. No PR comments.
2. Classify
Determine the response type before drafting.
- Welcome (new contributor)
- Troubleshooting (bug/help)
- Feature guidance (feature request/how-to)
- Redirect (wrong repo/scope)
- Acknowledgment (confirmed, no fix)
- Closing (resolved)
- Technical uncertainty (unknown cause)
- Empathetic disagreement (pushback on a decision or design)
- Information request (need more reproduction details or context)
Template Selection Guide
| Signal in Issue/Discussion | → Response Type | Template |
|---|---|---|
| New contributor (0 prior issues) | Welcome | T1 |
| Error message, stack trace, "doesn't work" | Troubleshooting | T2 |
| "How do I...?", "Can Squad...?", "Is there a way to...?" | Feature Guidance | T3 |
| Wrong repo, out of scope for Squad | Redirect | T4 |
| Confirmed bug, no fix available yet | Acknowledgment | T5 |
| Fix shipped, PR merged that resolves issue | Closing | T6 |
| Unclear cause, needs investigation | Technical Uncertainty | T7 |
| Author disagrees with a decision or design | Empathetic Disagreement | T8 |
| Need more reproduction info or context | Information Request | T9 |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 330 lines · 20 tokens per session scan A a32cc840a78c
external-comms is a skill published in the GitHub repository alonf/specrew (55 stars, last pushed yesterday), licensed MIT. It adds 20 tokens to every session and 3,005 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to external-comms, differing in 658 lines, and is treated as a copy.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…