Intelligence Ingestion by sarahmirrand001-oss/openclaw-skill-intelligence-ingestion
npx skills add https://github.com/sarahmirrand001-oss/openclaw-skill-intelligence-ingestion --skill 'Intelligence Ingestion'你正在喂养比你更聪明的东西。 此技能确保你确切知道它吃了什么以及它变成了什么。
MCP 兼容: 此技能附带一个遵循 MCP 能力声明规范的 manifest.json,使其可被任何 MCP 兼容的 Agent 工作流发现和调用。
"把我的私人数据/密钥交给 40 万行靠感觉编码的怪物一点也不吸引人" — Andrej Karpathy
此技能秉承信任优先的设计理念:
此技能会向你的本地文件系统写入文件,并可能访问敏感的浏览器状态。 关于其触及内容的完全透明:
| 权限 | 内容 | 原因 |
|---|---|---|
| 文件写入 | {obsidian_vault}/{intelligence_folder}/ |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 创建结构化的智能笔记 |
| 文件写入 | {workspace}/STRATEGIC_LANDSCAPE.md | 当摄取关键信息时更新能力图谱 |
| 文件写入 | {workspace}/skills/_drafts/ | 创建自动合成的技能草稿(隔离,永不自动加载) |
| 文件写入 | {workspace}/memory/ | 追加到每日记忆日志 |
| 文件创建 | STRATEGIC_LANDSCAPE.md | 首次运行时若缺失则从模板自动创建 |
| 文件读取 | {workspace}/skills/ | 读取现有技能以在合成期间进行差距分析 |
| 网络 | 用户提供的 URL | 通过 HTTP 获取内容;若主要获取失败可能回退到搜索 |
| 凭证 | xurl X API 认证(可选) | 用于通过 xurl 技能进行经过身份验证的 X/Twitter API v2 访问 |
隐私说明: "永不空手而归"的回退策略意味着每次摄取技能可能会发起多次外部网络请求(直接获取 → xurl → 网络搜索)。所有获取的内容都存储在本地 Obsidian 库中;除了原始获取请求外,不会将数据传输到第三方服务器。
| 工具 | 用途 | 必需? |
|---|---|---|
| Obsidian | 知识存储(笔记存放于此) | ✅ 必需 |
| OpenClaw | 技能宿主 + Agent 编排 | ✅ 必需 |
安装后编辑 config.json:
{
"obsidian_vault_path": "/path/to/your/Obsidian_Vault",
"intelligence_folder": "20_Intelligence",
"landscape_path": "STRATEGIC_LANDSCAPE.md",
"output_dir": "/path/to/your/output"
}
| 字段 | 描述 | 默认值 |
|---|---|---|
obsidian_vault_path | Obsidian 库根目录的绝对路径 | 无(必需) |
intelligence_folder | 智能笔记的子文件夹 | 20_Intelligence |
landscape_path | 战略图谱文件路径(相对于工作空间) | STRATEGIC_LANDSCAPE.md |
output_dir | 非知识输出的目录 | 无(可选) |
存储策略:Obsidian = 知识输入(分析/笔记),Output = 内容生成(帖子/脚本)
如果 STRATEGIC_LANDSCAPE.md 不存在,技能将自动生成一个空模板。如果 Obsidian 库路径不存在或 config.json 缺失,技能将报错并提供修复步骤。
自动触发于:
不触发于:
不同来源需要不同的提取方法。Agent 必须按此优先级链执行:
1. read_url_content(url) → 如果成功,使用它
2. 回退 → 引导用户粘贴内容
X 严格防止未经身份验证的爬取。使用此降级链:
1. xurl 技能(推荐)→ 使用 X API v2 的原生 OpenClaw 技能
- 最可靠的方法
- 需要 xurl 身份验证
2. 回退 → 网络搜索推文文本(通常被搜索引擎索引)
3. 回退 → 要求用户粘贴原始文本
原则:永不空手而归。 即使提取失败,也要准确告知用户哪一步失败了、原因以及如何修复。
1. read_url_content(url) → 通常可访问
2. 如果是仓库根目录 → 目标 README.md
3. 如果是 issue/PR → 目标标题、描述和主要评论
1. 标记为不可访问,仅基于用户提供的摘要进行分析
根据策略链执行提取。记录成功的提取方法。
分配 1 个主要类别 + 最多 2 个标签:
| 类别 | 描述 | 示例 |
|---|---|---|
infra | 基础设施 / 协议 / 网络 | MCP, Pilot Protocol |
strategy | 架构决策 / 路由 / 成本优化 | 模型路由,多账户 |
skill | Agent 技能 / 工具 / 能力 | 技能模式,MCP 接口 |
business | 商业模式 / 市场信号 | SaaS 框架,定价 |
theory | 概念框架 / 心智模型 | 贝叶斯,决策理论 |
tutorial | 学习材料 / 指南 | Claude Code, Agent Loops |
product | 新工具/服务发布 | LM Studio, 模型发布 |
threat | 风险 / 安全 / 弃用 | API 变更,漏洞 |
制定以下细分:
## 战略评估
- **这是什么?** [一句话总结]
- **价值主张:** [具体能力/收益]
- **可操作性:** [它支持的具体输出/项目]
- **战略价值:** [🔴 关键 / 🟡 高 / 🟢 中 / ⚪ 低]
- **竞争优势:** [不知道这个信息的代价是什么?]
- **能力边界转移:** [Agent 现在能做什么以前不能做的事?]
读取 {landscape_path}(战略图谱)。回答:
(如果图谱文件不存在,跳过并在步骤 8 提示用户初始化。)
目标路径:{obsidian_vault_path}/{intelligence_folder}/YYYYMMDD_Source_Title.md
模板:
# [标题]
**来源:** [链接](URL)
**日期:** YYYY-MM-DD
**类别:** [主要] / [标签]
**战略价值:** [🔴/🟡/🟢/⚪] + 原因
**提取方法:** [read_url / browser / search / user_paste]
---
## 摘要
[2-3 段核心总结]
## 关键要点
[编号列表]
## 架构影响
[与当前系统的关系]
## 能力边界转移
[Agent 现在能做什么 vs 以前。如果没有,写"无"]
## 行动项
[后续步骤。如果没有,写"不适用"]
---
**分析笔记:** [直接、尖锐、有主见的分析]
触发条件: 内容描述了一个 可操作的工具、API、协议或技术,且 Agent 当前缺乏此能力。
不触发条件: 内容纯属理论、观点文章、Agent 已具备的能力,或战略价值评级为 ⚪ 低。
执行:
skills/ 目录和战略图谱,确认这是一个缺失的能力。{workspace}/skills/_drafts/ 中创建一个新的技能文件夹:skills/_drafts/[技能名称]/
├── SKILL.md # 生成的行为定义
└── README.md # 简要描述、来源、依赖项
3. SKILL.md 模板:
---
name: [技能名称]
version: 0.1.0-draft
description: >
[基于摄取内容生成的描述]
由智能摄取自动合成,来源:[来源 URL]
---
# [技能名称]
> 🧬 此技能由智能摄取自动生成,需要人工审查。
> 来源:[URL]
> 生成日期:YYYY-MM-DD
## 先决条件
[从内容中提取的依赖项:API 密钥、CLI 工具、服务]
## 触发条件
[根据能力描述,何时应触发]
## 执行流程
[从摄取的文档中提取的逐步逻辑]
## 输入/输出
- **输入:** [预期输入]
- **输出:** [预期输出]
4. 安全隔离: 草稿保留在 _drafts/ 中,并被 Agent 运行时忽略。操作员必须审查代码并手动将其移动到 skills/ 目录以激活它。
{workspace}/memory/YYYY-MM-DD.md{landscape_path}TOOLS.md 以供审查严格按照此布局响应:
📥 已摄取:[标题]
📂 类别:[类别]
🎯 价值:[🔴/🟡/🟢/⚪] [一句话]
🔄 能力转移:[增量解释 / 无]
🧬 技能草稿:[已生成 → skills/_drafts/[名称]/ | 不适用]
💾 已归档:Obsidian → {intelligence_folder}/[文件名]
🗺️ 图谱:[已更新 / 未更改 / 缺失]
⚡ 行动:[审查草稿 / 审查图谱 / 无]
智能摄取直接与你的 战略图谱 配对:
每次摄取 🔴 关键信息时,图谱会自动更新,提供 Agent 知道什么、能做什么以及盲点在哪里的实时视图。
Analyze this: https://x.com/kaboraAI/status/1234567890
Step 1: READ
→ 调用 xurl 技能 → 成功
→ 内容:"MCP is the new TCP for agents. 97M downloads..."
Step 2: CLASSIFY
→ 主要类别:infra
→ 标签:skill, strategy
Step 3: ANALYZE
→ 价值:🔴 关键
→ 能力转移:技能必须立即采用 MCP 接口。
Step 4: MAP
→ 影响层:第 2 层(通信)+ 第 4 层(编排)
→ 更新图谱:是
Step 5: STORE
→ Obsidian 节点:20_Intelligence/20260225_kaboraAI_MCP_Agent_TCP.md
Step 6: SYNTHESIZE
→ 差距:Agent 当前缺乏自动 MCP 模式生成
→ 草稿:skills/_drafts/mcp-schema-generator/SKILL.md
→ 逻辑:读取现有技能并自动生成 MCP JSON
Step 7: REMEMBER
→ 更新 memory/2026-02-25.md
→ 更新 STRATEGIC_LANDSCAPE.md
→ 记录草稿:mcp-schema-generator 待审查
Step 8: RESPOND
📥 已摄取:MCP is the new TCP for agents
📂 类别:infra / skill, strategy
🎯 价值:🔴 关键 — MCP 下载量突破 9700 万次,预示着 24 个月的标准制定窗口期
🔄 能力转移:技能需要 MCP 接口才能被外部集群发现
🧬 技能草稿:已生成 → skills/_drafts/mcp-schema-generator/
→ 功能:自动将 OpenClaw 技能编译为 MCP 模式
→ 审查:mv skills/_drafts/mcp-schema-generator skills/mcp-schema-generator
💾 已归档:Obsidian → 20_Intelligence/20260225_kaboraAI_MCP_Agent_TCP.md
🗺️ 图谱:已更新(通信 + 编排层)
⚡ 行动:审查模式生成器草稿;计划全舰队审计
| 条件 | 处理程序 |
|---|---|
| 多个 URL | 分别处理;创建独立的笔记 |
| 冗余信息 | 映射到现有笔记;追加或引用 |
| 非英语内容 | 分析原始内容;用用户母语撰写笔记 |
| 无法访问的 URL | 标记为失败;分析用户提供的任何上下文 |
| 用户提供了分析 | 与评估整合;不覆盖 |
config.json 缺失 | 停止;流式传输修复步骤 |
| 图谱缺失 | 跳过步骤 4;在步骤 8 提示初始化 |
| 所有 X/Twitter 回退均失败 | 要求用户粘贴文本 |
| 纯理论/观点 | 跳过 SYNTHESIZE;标记为不适用 |
| 能力已存在 | 跳过 SYNTHESIZE;标记为现有 |
_drafts/ 缺失 | 自动创建 {workspace}/skills/_drafts/ |
在响应前,验证(使用 ls 或检查):
YYYYMMDD_Source_Title.md_drafts/ 路径存在)每周安装
–
仓库
GitHub 星标
2
首次出现
–
安全审计
You are feeding something smarter than you. This Skill ensures you know exactly what it ate and what it became.
MCP Compatible: This Skill ships with a manifest.json that follows the MCP capability declaration spec, making it discoverable and invokable by any MCP-compatible Agent workflow.
"giving my private data/keys to 400K lines of vibe coded monster is not very appealing at all" — Andrej Karpathy
This Skill embraces a trust-first design philosophy:
This Skill writes files to your local filesystem and may access sensitive browser state. Full transparency on what it touches:
| Permission | What | Why |
|---|---|---|
| File Write | {obsidian_vault}/{intelligence_folder}/ | Creates structured intelligence notes |
| File Write | {workspace}/STRATEGIC_LANDSCAPE.md | Updates capability map when critical info is ingested |
| File Write | {workspace}/skills/_drafts/ | Creates auto-synthesized Skill drafts (isolated, never auto-loaded) |
| File Write | {workspace}/memory/ | Appends to daily memory logs |
| File Create | STRATEGIC_LANDSCAPE.md |
Privacy Note: The "never return empty-handed" fallback policy means the Skill may make multiple external network requests per ingestion (direct fetch → xurl → web search). All fetched content is stored locally in your Obsidian vault; no data is transmitted to third-party servers beyond the original fetch.
| Tool | Purpose | Required? |
|---|---|---|
| Obsidian | Knowledge storage (notes land here) | ✅ Required |
| OpenClaw | Skill host + Agent orchestration | ✅ Required |
Edit config.json after installation:
{
"obsidian_vault_path": "/path/to/your/Obsidian_Vault",
"intelligence_folder": "20_Intelligence",
"landscape_path": "STRATEGIC_LANDSCAPE.md",
"output_dir": "/path/to/your/output"
}
| Field | Description | Default |
|---|---|---|
obsidian_vault_path | Absolute path to Obsidian Vault root | None (Required) |
intelligence_folder | Subfolder for intelligence notes | 20_Intelligence |
landscape_path | Strategic Landscape file path (relative to workspace) | STRATEGIC_LANDSCAPE.md |
output_dir |
Storage Strategy: Obsidian = Knowledge Inputs (Analysis/Notes), Output = Content Generation (Posts/Scripts)
If STRATEGIC_LANDSCAPE.md does not exist, the Skill will automatically generate an empty template. If the Obsidian Vault path does not exist or config.json is missing, the Skill will error and provide remediation steps.
Auto-triggers on:
Does not trigger on:
Different sources require different extraction methods. The Agent must run down this priority chain:
1. read_url_content(url) → If successful, use it
2. Fallback → Direct user to paste content
X strictly prevents unauthenticated scraping. Use this degradation chain:
1. xurl Skill (Recommended) → Native OpenClaw skill using X API v2
- Most reliable method
- Requires xurl authentication
2. Fallback → Web search the tweet text (often indexed by search engines)
3. Fallback → Ask user to paste the raw text
Principle: Never return empty-handed. Even if extraction fails, inform the user exactly which step failed, why, and how to fix it.
1. read_url_content(url) → Usually accessible
2. If repo root → Target README.md
3. If issue/PR → Target title, description, and primary comments
1. Mark as unreachable and analyze based solely on user-provided summary
Execute extraction according to the Strategy chain. Log the successful extraction method.
Assign 1 primary category + up to 2 tags:
| Category | Description | Example |
|---|---|---|
infra | Infrastructure / protocols / networking | MCP, Pilot Protocol |
strategy | Architectural decisions / routing / cost op | Model routing, multi-account |
skill | Agent Skills / tools / capabilities | Skill patterns, MCP interfaces |
business | Business models / market signals | SaaS frameworks, pricing |
theory | Conceptual frameworks / mental models |
Formulate the following breakdown:
## Strategic Assessment
- **What is it?** [One-sentence summary]
- **Value Proposition:** [Specific capability/benefit]
- **Actionability:** [Specific outputs/projects it enables]
- **Strategic Value:** [🔴 Critical / 🟡 High / 🟢 Medium / ⚪ Low]
- **Competitive Advantage:** [What is the cost of NOT knowing this?]
- **Capability Boundary Shift:** [What can the Agent do now that it couldn't do before?]
Read {landscape_path} (Strategic Landscape). Answer:
(If Landscape file does not exist, skip and prompt user in Step 8 to initialize.)
Target Path: {obsidian_vault_path}/{intelligence_folder}/YYYYMMDD_Source_Title.md
Template:
# [Title]
**Source:** [Link](URL)
**Date:** YYYY-MM-DD
**Category:** [Primary] / [Tags]
**Strategic Value:** [🔴/🟡/🟢/⚪] + reason
**Extraction Method:** [read_url / browser / search / user_paste]
---
## Abstract
[2-3 paragraph core summary]
## Key Takeaways
[Numbered list]
## Architectural Impact
[Relationship with current systems]
## Capability Boundary Shift
[What the Agent can do now vs before. If none, write "None"]
## Action Items
[Next steps. If none, write "N/A"]
---
**Analytical Notes:** [Direct, sharp, opinionated analysis]
Trigger: Content describes an actionable tool, API, protocol, or technique that the Agent currently lacks.
Do NOT trigger if: Content is purely theoretical, an opinion piece, a capability the Agent already possesses, or ranked ⚪ Low purely regarding strategic value.
Execution:
skills/ directory and Strategic Landscape to confirm this is a missing capability.{workspace}/skills/_drafts/:skills/_drafts/[skill-name]/
├── SKILL.md # Generated behavior definition
└── README.md # Brief description, source, dependencies
3. SKILL.md Template:
---
name: [Skill Name]
version: 0.1.0-draft
description: >
[Generated description based on ingestion]
Auto-synthesized by Intelligence Ingestion from: [Source URL]
---
# [Skill Name]
> 🧬 This Skill was auto-generated by Intelligence Ingestion and requires human review.
> Source: [URL]
> Generated: YYYY-MM-DD
## Prerequisites
[Dependencies extracted from content: API Keys, CLI tools, services]
## Trigger Conditions
[When should this trigger based on capability description]
## Execution Flow
[Step-by-step logic pulled from ingested docs]
## Input/Output
- **Input:** [Expected input]
- **Output:** [Expected output]
4. Security Isolation: Drafts remain in _drafts/ and are ignored by the Agent runtime. The operator must review the code and manually move it to the skills/ directory to activate it.
{workspace}/memory/YYYY-MM-DD.md{landscape_path}TOOLS.md for reviewRespond exactly in this layout:
📥 Ingested: [Title]
📂 Class: [Category]
🎯 Value: [🔴/🟡/🟢/⚪] [One sentence]
🔄 Cap Shift: [Delta explanation / None]
🧬 Skill Draft: [Generated → skills/_drafts/[name]/ | N/A]
💾 Archived: Obsidian → {intelligence_folder}/[Filename]
🗺️ Landscape: [Updated / Unchanged / Missing]
⚡ Action: [Review draft / Review landscape / None]
Intelligence Ingestion pairs directly with your Strategic Landscape :
Every time 🔴 Critical information is ingested, the Landscape updates automatically, providing a real-time view of what the Agent knows, what it can do, and what the blind spots are.
Analyze this: https://x.com/kaboraAI/status/1234567890
Step 1: READ
→ xurl Skill invoked → Success
→ Content: "MCP is the new TCP for agents. 97M downloads..."
Step 2: CLASSIFY
→ Primary: infra
→ Tags: skill, strategy
Step 3: ANALYZE
→ Value: 🔴 Critical
→ Cap Shift: Skills must adopt MCP interfaces immediately.
Step 4: MAP
→ Impact Layer: Layer 2 (Communication) + Layer 4 (Orchestration)
→ Update Landscape: Yes
Step 5: STORE
→ Obsidian Node: 20_Intelligence/20260225_kaboraAI_MCP_Agent_TCP.md
Step 6: SYNTHESIZE
→ Gap: Agent currently lacks automatic MCP schema generation
→ Draft: skills/_drafts/mcp-schema-generator/SKILL.md
→ Logic: Reads existing Skills and auto-generates MCP JSON
Step 7: REMEMBER
→ Updated memory/2026-02-25.md
→ Updated STRATEGIC_LANDSCAPE.md
→ Logged Draft: mcp-schema-generator pending review
Step 8: RESPOND
📥 Ingested: MCP is the new TCP for agents
📂 Class: infra / skill, strategy
🎯 Value: 🔴 Critical — MCP passing 97M downloads signals 24-month standardization window
🔄 Cap Shift: Skills require MCP interfaces to be discovered by external swarms
🧬 Skill Draft: Generated → skills/_drafts/mcp-schema-generator/
→ Function: Auto-compiles OpenClaw Skills to MCP schemas
→ Review: mv skills/_drafts/mcp-schema-generator skills/mcp-schema-generator
💾 Archived: Obsidian → 20_Intelligence/20260225_kaboraAI_MCP_Agent_TCP.md
🗺️ Landscape: Updated (Communication + Orchestration layers)
⚡ Action: Review schema generator draft; plan fleet-wide audit
| Condition | Handler |
|---|---|
| Multiple URLs | Process separately; create independent notes |
| Redundant info | Map to existing note; append or reference |
| Non-English | Analyze raw content; write notes in user's native tongue |
| Unreachable URL | Mark as failed; analyze whatever context user provided |
| User provided analysis | Integrate with assessment; do not override |
config.json missing | Halt; stream remediation steps |
| Landscape missing | Skip Step 4; prompt initialization in Step 8 |
| All X/Twitter falls fail | Ask user to paste text |
| Pure theory/opinion | Skip SYNTHESIZE; mark N/A |
| Capability exists | Skip SYNTHESIZE; mark existing |
_drafts/ missing |
Before responding, verify (using ls or checks):
YYYYMMDD_Source_Title.md_drafts/ path exists)Weekly Installs
–
Repository
GitHub Stars
2
First Seen
–
Security Audits
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
60,400 周安装
| Auto-creates from template if missing on first run |
| File Read | {workspace}/skills/ | Reads existing Skills for gap analysis during synthesis |
| Network | User-provided URLs | Fetches content via HTTP; may fall back to search if primary fetch fails |
| Credential | xurl X API auth (Optional) | Used for authenticated X/Twitter API v2 access via the xurl Skill |
| Directory for non-knowledge outputs |
| None (Optional) |
| Bayes, decision theory |
tutorial | Learning material / guides | Claude Code, Agent Loops |
product | New tool/service releases | LM Studio, model drops |
threat | Risk / security / deprecations | API changes, vulnerabilities |
Auto-create {workspace}/skills/_drafts/ |