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 Pretend-to/mio-chat-backend --skill trigger-sentinel-authorgit clone --depth 1 https://github.com/Pretend-to/mio-chat-backendWrote 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/pretend-to/mio-chat-backend/trigger-sentinel-author)<a href="https://agentmods.dev/skills/pretend-to/mio-chat-backend/trigger-sentinel-author"><img src="https://agentmods.dev/badge/skills/pretend-to/mio-chat-backend/trigger-sentinel-author/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/pretend-to/mio-chat-backend/trigger-sentinel-author"><img src="https://agentmods.dev/badge/skills/pretend-to/mio-chat-backend/trigger-sentinel-author.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 65 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 110 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00065 | $0.02645 |
| Opus 5 | $0.00032 | $0.01323 |
| Sonnet 5 | $0.00013 | $0.00529 |
| Haiku 4.5 | $0.00006 | $0.00265 |
Grade A, and why
trigger-sentinel-author scanned grade A with 1 finding 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 2d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
import os, sys, json, time, urllib.request How it starts
The opening of the file, as written. The whole thing — 228 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Trigger 哨兵与后台事件监控专家 (Trigger Sentinel Author)
本技能指导 AI Agent(如桐乃及其他助手)掌握 MioChat 核心 Sentinel 系统的设计哲学,并使用 sentinel 工具自主编写、部署和管理后台条件监控哨兵。
1. 核心设计哲学与唤醒机制
Sentinel 系统的核心使命是:让 Agent 拥有在后台自主监控并随时“带着证据醒来”的能力。
核心铁律与角色区分
sentinelvscron的绝对界限:sentinel(条件监控探针):平时在后台静默跑脚本,零 Token 消耗;仅当外部条件满足并在 stdout 输出@WAKE@时,才将证据注入会话唤醒 Agent。cron(纯时间闹钟):无外部条件,到点直接触发 LLM 回复。严禁使用 cron 轮询监控外部状态!
- 唤醒 = 向绑定会话追加一条标准的系统事件注入消息;
- 身份随 Session:唤醒消息注入哪个会话,就由该会话绑定的 Agent 自然接收并处理。
2. 标准两步工作流(铁律)
创建哨兵时,必须严格执行以下两步流,严禁在工具参数中直接塞大段代码:
第一步:编写独立的巡检脚本文件并落盘
使用文件工具在 channels-data/triggers/scripts/ 目录下创建脚本文件(如 btc_watcher.js)。
- 动态参数读取:脚本运行时的上下文参数必须通过
process.env.TRIGGER_PARAMS读取解析(JSON 格式),实现脚本逻辑与阈值配置解耦。 @WAKE@标准契约:满足唤醒条件时,脚本最后一行必须输出:@WAKE@ {"wake": true, "reason": "【事件原因描述】", "data": { ...关键证据与明细... }}
脚本应在自身进程内完成循环、等待、重试和资源清理;检测到条件后输出一条
@WAKE@ 并退出。sentinel 会记录 PID,收到唤醒后停止当前进程;persistent
模式会重新启动脚本继续监听,once 模式则结束生命周期。
所有哨兵脚本都必须读取第一个运行参数:
test:只执行一次快速检查并退出,用于sentinel(action="run")验证脚本可用性和回显结果;loop:正式后台运行,脚本自行循环/等待条件;- 缺少参数或参数不是
test/loop:必须立即报错并以非零码退出。
系统启动后台哨兵时只会传入 loop,调试试跑只会传入 test。不要把运行参数
放到 TRIGGER_PARAMS 中,也不要让脚本在没有运行参数时默认进入后台循环。
Node.js 编写范例(推荐,原生支持 fetch 与 process.env)
// channels-data/triggers/scripts/btc_watcher.js
const runMode = process.argv[2];
if (runMode !== 'test' && runMode !== 'loop') {
console.error('usage: btc_watcher.js test|loop');
process.exit(64);
}
const params = JSON.parse(process.env.TRIGGER_PARAMS || '{}');
const targetPrice = params.targetPrice || 80000;
const symbol = params.symbol || 'BTCUSDT';
async function checkOnce() {
try {
const res = await fetch(`https://api.binance.com/api/v3/ticker/price?symbol=${symbol}`);
const data = await res.json();
const currentPrice = parseFloat(data.price);
if (currentPrice >= targetPrice) {
console.log('@WAKE@ ' + JSON.stringify({
wake: true,
reason: `${symbol} 当前价格 ${currentPrice} 已突破预设警戒线 ${targetPrice}!`,
data: { currentPrice, targetPrice, timestamp: Date.now() }
}));
return true;
}
console.log(`[巡检正常] ${symbol} 当前价格 ${currentPrice},未达到目标 ${targetPrice}`);
return false;
} catch (err) {
console.error('[巡检异常]', err.message);
return false;
}
}
if (runMode === 'test') {
await checkOnce();
process.exit(0);
}
while (true) {
if (await checkOnce()) process.exit(0);
await new Promise((resolve) => setTimeout(resolve, 5 * 60 * 1000));
}
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.
- 2d ago Changed · +16 lines 3d2bf2ea487f
- 4d ago Changed · +93 lines · -1 tokens per session 043b7ead22ae
- 6d ago First seen · 119 lines · 66 tokens per session scan A d659a69f2973
trigger-sentinel-author is a skill published in the GitHub repository Pretend-to/mio-chat-backend (38 stars, last pushed today), licensed MIT. It adds 65 tokens to every session and 2,645 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
skill-creator
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating…
sub-agent-creator
Create, edit, convert, or audit ChatLuna sub-agent markdown files. Use when adding a new sub-agent, refining a sub-agent prompt, choosing a sub-agent's goal and output contract, restricting tools, skills, MCP, or computer permissions, pinning or omitting a model, setting maxTurns, placing agents under local…
agentcli
Use this skill to inspect or change ChatLuna agent admin state — skills, sub-agents, tools, MCP servers, MCP tools, or permission rules. The skill edits a working copy of the agent config inside the sandbox; the user must run chatluna.agent.sync to write changes back to the host instance.
coding-agent
Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code…
skill-creator
Create, install, or update skills in the workspace. Use when (1) installing a skill from a URL or remote source, (2) creating a new skill from scratch, (3) updating or restructuring existing skills. Always use this skill for any skill installation or creation task.
evolve
Start or monitor an evolutionary development loop.