Back to skills
SKILL.md
Zeng740307 Hot Monitor Docs
ASecurity> 目的:这份文档用于说明当前已落地的工作区原生 Skill 封装结果,并保留能力边界、触发语句、参数映射与工作流示例,供后续维护与扩展参考。
- 4 stars
- 0 votes
- 0 copies
- 5 views
- Added September 12, 2026
Works with
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add aibot88/sec_skill_store --skill zeng740307-hot-monitor-docs --agent claude-codeAre you the author of Zeng740307 Hot Monitor Docs?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-zeng740307-hot-monitor-docs)# AI热点情报台 Skill 封装说明
> 目的:这份文档用于说明当前已落地的工作区原生 Skill 封装结果,并保留能力边界、触发语句、参数映射与工作流示例,供后续维护与扩展参考。
## 当前落地状态
当前项目已经落地 1 个工作区原生 Agent Skill:
- `.github/skills/hot-monitor/SKILL.md`
随包附带文件:
- `.github/skills/hot-monitor/references/api-contract.md`
- `.github/skills/hot-monitor/evals/evals.json`
当前封装策略:
- 使用 1 个总 Skill 覆盖“查热点 / 管监控 / 配系统 / 触发扫描”四类意图
- 优先通过本地 HTTP API 执行,不依赖前端 UI 点击
- 兼容 `http://localhost:8000` 与 `http://localhost:8001` 两个端口
- 删除监控项时要求二次确认
已完成的联测范围:
- 状态读取
- 热点查询
- 监控新增与删除
- 扫描触发
- 设置更新
测试邮件未纳入自动联测默认步骤,因为会产生真实外部副作用。
## 1. Skill 目标
AI热点情报台面向 AI 编程博主,核心目标是把“发现热点、追踪关键词、确认系统状态、触发扫描”这四类动作封装成可复用的 Agent Skill。
技能不应依赖前端点击完成业务,而应直接调用后端 HTTP API。
## 2. 推荐拆分方式
建议至少拆成 4 个能力块,也可以合并为 1 个总 skill 后在内部路由:
| 能力块 | 主要用途 | 推荐接口 |
| -------- | -------------------------------------------------- | -------------------------------------------------------------------------- |
| 热点查询 | 查询热点列表、按条件筛选、读取热点详情 | `GET /api/v1/topics`、`GET /api/v1/topics/{id}` |
| 监控管理 | 添加关键词/账号、启停监控、删除监控、查看命中 | `GET/POST/PATCH/DELETE /api/v1/keywords`、`GET /api/v1/keywords/{id}/hits` |
| 系统配置 | 读取配置、更新扫描参数、更新通知参数、发送测试邮件 | `GET/PUT /api/v1/settings`、`POST /api/v1/settings/test-email` |
| 扫描控制 | 手动触发扫描、查看扫描执行状态、读取调度器状态 | `POST /api/v1/topics/scan`、`GET /api/v1/settings/status` |
## 3. 触发语句建议
下面这些自然语言,应该能稳定触发 skill:
- 帮我看一下今天有哪些 AI 热点
- 找热度大于 7 的热点
- 看看哪些热点是监控词命中的
- 帮我添加一个关键词监控:GPT-5
- 帮我监控 OpenAI 的 X 账号
- 把某个关键词监控停掉
- 立刻刷新热点
- 看一下现在系统有没有在扫描
- 帮我把扫描间隔改成 6 小时
- 发一封测试邮件看看通知通不通
## 4. 输入输出约定
### 4.1 查询类输出
查询热点或命中记录时,建议 skill 输出统一字段:
- 标题
- 来源名称
- 来源类型
- 热度分数
- 发现时间
- 发布时间(如果有)
- AI 摘要
- 是否监控词命中
- 是否已推送
- 原始链接
如果是列表结果,默认返回 5 到 10 条,除非用户明确要求更多。
### 4.2 变更类输出
新增、更新、删除或触发扫描时,建议输出:
- 动作是否成功
- 目标对象是谁
- 实际生效的关键参数
- 若失败,返回后端 message 或 detail
## 5. 安全与确认策略
- 新增关键词、更新设置、触发扫描:可以直接执行,但执行后要回显结果
- 删除关键词:建议先确认目标条目,避免误删
- 修改系统设置:如果用户没有给出完整值,skill 应先追问,而不是猜测
- 当热点扫描已经在执行时,skill 不应重复触发,而应转为说明当前状态
## 6. 真实接口规格
### 6.1 查询热点
```http
GET /api/v1/topics?limit=20&min_heat=5&sort=heat
```
支持参数:
| 参数 | 类型 | 说明 |
| ------------ | ------ | -------------------------------------------- |
| limit | int | 返回条数,默认 50 |
| offset | int | 分页偏移 |
| min_heat | int | 最低热度过滤 |
| sort | string | `newest` / `heat` / `matched` / `unnotified` |
| source_names | string | 多来源过滤,逗号分隔 |
| keyword_mode | string | `all` / `matched` / `unmatched` |
| time_range | string | `all` / `6h` / `24h` / `48h` / `7d` |
| tag | string | 单标签过滤 |
| q | string | 标题和摘要搜索 |
返回字段重点:
```json
{
"id": 1,
"title": "Anthropic Launches Claude Opus 4.7",
"summary": "Anthropic 发布新模型并强调安全能力。",
"raw_content": "...",
"source_url": "https://...",
"source_name": "Anthropic Blog",
"source_type": "官方",
"heat_score": 8,
"tags": ["Claude", "AI Safety"],
"is_notified": false,
"keyword_id": null,
"published_at": "2026-04-21T08:00:00Z",
"relevance_score": null,
"relevance_reason": null,
"engagement": { "likes": 320 },
"source_metrics": {},
"discovered_at": "2026-04-21T09:12:52Z"
}
```
### 6.2 手动触发扫描
```http
POST /api/v1/topics/scan
```
成功返回:
```json
{ "message": "扫描任务已触发,正在后台执行", "triggered": true }
```
如果已有扫描在执行中:
```json
{ "message": "已有扫描任务正在执行,请稍后查看结果", "triggered": false }
```
### 6.3 监控词管理
```http
GET /api/v1/keywords
POST /api/v1/keywords
PATCH /api/v1/keywords/{id}
DELETE /api/v1/keywords/{id}
GET /api/v1/keywords/{id}/hits
```
新增关键词示例:
```json
{ "keyword": "GPT-5", "type": "keyword", "enabled": true }
```
新增账号示例:
```json
{
"keyword": "OpenAI 官方",
"type": "account",
"platform": "twitter",
"account_id": "openai",
"enabled": true
}
```
关键词列表筛选参数:
| 参数 | 类型 | 说明 |
| -------- | ------ | ------------------------------ |
| enabled | string | `all` / `enabled` / `disabled` |
| type | string | `all` / `keyword` / `account` |
| platform | string | 平台精确过滤 |
| search | string | 名称或账号 ID 搜索 |
| sort | string | `created_desc` / `created_asc` |
### 6.4 系统设置
```http
GET /api/v1/settings
PUT /api/v1/settings
POST /api/v1/settings/test-email
GET /api/v1/settings/status
```
状态返回重点字段:
```json
{
"scheduler_running": true,
"next_run": "2026-04-21T09:55:00Z",
"total_topics": 67,
"total_keywords": 5,
"scan_running": false,
"scan_started_at": "2026-04-21T08:55:40Z",
"scan_finished_at": "2026-04-21T08:57:01Z",
"last_scan_success_at": "2026-04-21T08:57:01Z",
"last_scan_duration_seconds": 81.0,
"last_scan_error": null
}
```
## 7. 推荐工作流模板
### 7.1 “刷新热点”
1. `POST /api/v1/topics/scan`
2. 如果 `triggered=true`,再调用 `GET /api/v1/settings/status` 轮询扫描状态
3. 当 `scan_running=false` 时,向用户回报扫描完成情况
### 7.2 “帮我监控某个关键词”
1. 检查用户给出的词或账号信息是否完整
2. 调用 `POST /api/v1/keywords`
3. 返回新增条目 ID、监控类型、启用状态
### 7.3 “今天有哪些值得写的热点”
1. 调用 `GET /api/v1/topics`
2. 默认带上适度筛选,如 `sort=heat` 或 `time_range=24h`
3. 输出结构化列表,而不是直接回传原始 JSON
## 8. Base URL 约定
- 默认:`http://localhost:8000`
- 备用:`http://localhost:8001`
如果 skill 运行时默认端口访问失败,应允许切换 base URL,而不是直接判定服务不可用。
## 9. 封装建议
- 如果你打算做一个总 skill,description 应明确覆盖“热点、监控词、扫描、设置、系统状态”这些触发词
- 如果你打算拆 skill,优先拆成“热点查询”和“监控管理”两大块,配置与扫描控制可作为附属能力
- 最终 SKILL.md 应尽量直接复用这份文档里的能力边界、参数表和工作流模板,减少二次整理
Files in this skill
- SKILL.md
- source.json
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.