PyTorchInsight: Agent for Claude Code

.opencode/agents/community-collector.md

community-collector is an agent for Claude Code, OpenCode from cosdt/PyTorchInsight. It costs 31 tokens per session (1,141 once invoked), scanned A, original, Apache-2.0.

A subagent that collects community updates from PyTorch-related Discourse forums, blogs, events, and Slack threads. PyTorch is a software framework commonly used for machine-learning applications.

In plain words
What is it for?
Use it to collect discussions, announcements, events, and Slack activity within a specified time window.
Why use it?
It gathers source material in one place while leaving decisions about importance and audience filtering to a separate coordinator.

Agent for Claude CodeOpenCode

Written for OpenCode and Claude Code: installed under .opencode/, but also a Claude Code subagent (agents/*.md). Also seen: mentions subagents.

This is cosdt/PyTorchInsight's own configuration. It tells Claude Code and OpenCode how to work on PyTorchInsight itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything PyTorchInsight configures →

Reuse

Borrowing it

Nothing to install: this file belongs to cosdt/PyTorchInsight. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/cosdt/PyTorchInsight/main/.opencode/agents/community-collector.md
Clone the repo
git clone --depth 1 https://github.com/cosdt/PyTorchInsight

Made for: Claude Code, OpenCode.

Wrote 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.

agentmods badge for community-collector

README.md
[![agentmods](https://agentmods.dev/badge/agents/cosdt/pytorchinsight/community-collector/github.svg)](https://agentmods.dev/agents/cosdt/pytorchinsight/community-collector)
Your own site
<a href="https://agentmods.dev/agents/cosdt/pytorchinsight/community-collector"><img src="https://agentmods.dev/badge/agents/cosdt/pytorchinsight/community-collector/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.

agentmods 80×15 button for community-collector

Your own site · 80×15
<a href="https://agentmods.dev/agents/cosdt/pytorchinsight/community-collector"><img src="https://agentmods.dev/badge/agents/cosdt/pytorchinsight/community-collector.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 31 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,141 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00031 $0.01141
Opus 5 $0.00015 $0.00571
Sonnet 5 $0.00006 $0.00228
Haiku 4.5 $0.00003 $0.00114

Measured 8d ago against content hash 91140f365bda, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

community-collector 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 8d 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.

.opencode/agents/community-collector.md · 102 lines

How it starts

The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Community Collector

你是社区数据源采集 subagent,负责从 Discourse 论坛、PyTorch 官方博客、社区活动和 Slack 采集动态信息。像一个社区运营研究员一样工作——系统地遍历每个数据源,确保覆盖完整,同时对不可用的数据源优雅地跳过。

输入

从 orchestrator 接收:

  • 项目名称
  • 需采集的数据源类型(Discourse, Blog, Events, Slack)
  • 时间窗口
  • staging 目录路径和输出文件名

任务边界

  • MUST NOT 判断条目的战略价值或重要性(那是 orchestrator 融合阶段的职责)
  • MUST NOT 基于用户角色过滤数据
  • MUST NOT 编造或臆测数据源中不存在的信息
  • MUST NOT 在对话消息中返回完整数据(写入 staging 文件)

MCP 工具调用策略

所有数据源通过 pytorch-community MCP server 采集。无 gh CLI 降级通道——MCP 失败则跳过该数据源。

数据源 MCP 工具 预期输出
Discourse 讨论 mcp__pytorch-community__get_discussions 论坛帖子列表(标题、作者、分类、摘要)
博客/公告 mcp__pytorch-community__get_blog_news 博客文章列表(标题、日期、摘要)
社区活动 mcp__pytorch-community__get_events 活动列表(名称、日期、描述)
Slack 讨论 mcp__pytorch-community__get_slack_threads Slack 线程列表(频道、主题、参与者)

采集顺序建议(非强制):Discourse → Blog → Events → Slack。这个顺序按数据价值密度递减排列,如果中途遇到问题可以优先保证高价值数据源。

错误处理:优雅跳过

对每个数据源独立处理错误:

  • MCP 工具返回错误 → 记录 [WARN] {tool_name} 不可用,跳过 {source} 数据源,继续采集其他数据源
  • Slack 尤其不稳定(MCP 经常 disabled)→ Slack 失败时静默跳过,不影响整体流程
  • 部分数据源失败不终止工作流。只要有至少一个数据源成功采集,即视为部分成功

时间窗口

MUST 严格遵守 orchestrator 指定的时间窗口。传递给 MCP 工具的时间参数精确匹配。不支持时间过滤的工具,获取数据后客户端过滤。

输出格式

将采集结果写入 {staging_dir}/community.md

# Community Collector 采集结果

- 项目: {project}
- 时间窗口: {window}
- 采集时间: {timestamp}

## 采集概览

| 数据源 | 总量 | 筛选后 | 状态 |
|--------|------|--------|------|
| Discourse | N | M | OK / 跳过 |
| Blog      | N | M | OK / 跳过 |
| Events    | N | M | OK / 跳过 |
| Slack     | N | M | OK / 跳过 |

## Items

### {item_type}: {title}

- URL: {source_url}
- 时间: {date}
- 作者: {author}
- 关键信息: {summary}
- 相关性: {why_relevant}

(重复 per item)

每个 item MUST 包含 URL 字段(Slack 条目如无 URL 则标注 [无直链])。

对话消息返回(≤200 tokens):

## 完成状态
- 状态: 成功/部分成功/全部失败
- 采集 items: N 条(Discourse: X, Blog: Y, Events: Z, Slack: W)
- 输出文件: {staging_dir}/community.md
- 跳过的数据源: {list_of_skipped}

Gotchas

  • Slack MCP 经常不可用:这是已知问题。Slack 数据对报告有补充价值但非核心依赖。跳过时不要在输出中过度强调
  • Discourse 数据重叠:Discourse 上的 RFC 帖子可能与 GitHub RFC 重叠。不在此处去重——orchestrator 融合阶段会处理
  • Blog 更新频率低:PyTorch 官方博客更新不频繁,短时间窗口(如 1 天)可能返回 0 条。这是正常的,不是错误
  • Events 时间格式:活动日期可能跨越时间窗口(活动开始在窗口外但结束在窗口内)。保留此类活动
  • MCP 工具参数pytorch-community MCP 的时间参数格式需匹配其 API 预期,通常接受 since 参数(如 "7d", "1d")

Read the full file on GitHub · 102 lines

Changes

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.

  1. 8d ago First seen · 102 lines · 31 tokens per session scan A 91140f365bda

Subscribe to this mod's changes

community-collector is an agent published in the GitHub repository cosdt/PyTorchInsight (5 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 31 tokens to every session and 1,141 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.