用途:LocalIntelligence 是面向任意美国城市的市政情报聚合器,把建筑许可、犯罪、新企业、公职人员、立法、选举、逮捕和本地新闻八类本地数据汇总成一份每日 JSON 摘要,供 Pulse LOCAL 标签页使用。犯罪数据委托给专门的 crime-stats 技能。
主要能力:八个抓取器并行运行,写入一份 JSON 摘要;目标城市在运行时从 PRINCIPAL_IDENTITY.md 的 Hometown 行解析,不在技能内硬编码,也没有回退城市。工作流包括 DailyBrief、Construction、Crime、Business、Officials、Legislation、Elections、Arrests、News,各有触发短语。
使用方式:先检查 ~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/LocalIntelligence/ 是否存在用户自定义(PREFERENCES.md、来源覆盖、API 密钥),存在则覆盖默认值。同目录 sources.json 保存按城市的确定性来源列表。执行工作流时发送语音通知:curl -s -X POST http://localhost:31337/notify -H "Content-Type: application/json" -d '{"message": "Running WORKFLOWNAME in LocalIntelligence"}' > /dev/null 2>&1 &,并输出文本通知。刷新命令为 bun run Tools/Refresh.ts,加 --fill 会在抓取后由 ClaudeFill.ts 对空段落做一次联网研究补全。抓取顺序:内置抓取器 → UserSources.ts → ClaudeFill.ts,确定性数据优先。输出写入 ~/.claude/LIFEOS/MEMORY/DATA/LocalIntelligence/<YYYY-MM-DD><city><state>_digest.json,latest.json 需同时写入 CUSTOMIZATIONS 与 MEMORY/DATA 两处路径。Pulse 模块只读 latest.json,端点 GET /api/local-intelligence 与 POST /api/local-intelligence/refresh,每日 6 点由 PULSE.toml 定时任务刷新。
限制:无 Hometown 行则不抓取,也不得虚构城市。各城市 API 质量差异大,部分城市仅有 PDF;抓取器遇无数据应返回 source_status: "unavailable" 而非失败。Census 建筑许可调查为月度数据,不能承诺“今日许可”。OpenStates 覆盖州议会而非市议会,市议会立法为尽力而为。Patch RSS 路径因州而异,失败时回退到 Google News 主题搜索。警长记录抓取依辖区而定,不绕过 CAPTCHA、不使用付费抓取服务。聚合搜索源需同时设置 when:Nd 与 max_age_days。Google News 链接为 news.google.com 重定向,标题后缀可用 strip_title_suffix: true 处理。市政 CivicPlus 站点常硬拦截机器人,不直接接入。source_status 的 empty 与 unavailable 含义不同。ClaudeFill 输出须经 validateSection() 校验,只能补充不能覆盖。全空运行不得覆盖已有 latest.json。旧摘要保留用于趋势查询,清理由用户决定。本地报纸付费墙不被绕过。技能正文需保持通用,发布前用 rg 检查不得含具体城市、邮编、县或用户路径。