Intelligence Ingestion Skill
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.
Design Philosophy
"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:
- 1. No Self-Modifying Agents. Auto-generated Skills are isolated as drafts. You, the human operator, must review and approve them before they activate.
- Skills are the new Config. No need to modify configuration files or monster if-else scripts. A single Skill file defines a capability.
- Build. For. Agents. Built with an MCP manifest, structured outputs, and CLI installation so that any Agent in the ecosystem can find, understand, and use it.
Permissions & Privacy
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 | INLINECODE1 | 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 | 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 |
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.
Prerequisites
| Tool | Purpose | Required? |
|---|
| Obsidian | Knowledge storage (notes land here) | ✅ Required |
| OpenClaw |
Skill host + Agent orchestration | ✅ Required |
Configuration
Edit config.json after installation:
CODEBLOCK0
| Field | Description | Default |
|---|
| INLINECODE8 | Absolute path to Obsidian Vault root | None (Required) |
| INLINECODE9 |
Subfolder for intelligence notes |
20_Intelligence |
|
landscape_path | Strategic Landscape file path (relative to workspace) |
STRATEGIC_LANDSCAPE.md |
|
output_dir | Directory for non-knowledge outputs | None (Optional) |
Storage Strategy: Obsidian = Knowledge Inputs (Analysis/Notes), Output = Content Generation (Posts/Scripts)
First-time Setup
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.
Triggers
Auto-triggers on:
- - User sharing a URL (x.com, github.com, arxiv.org, etc.)
- User pasting an article/tweet block
- User prompts like "analyze this", "evaluate this", "what do you think about this"
- User forwarding content from Telegram or any chat interface
Does not trigger on:
- - General questions unrelated to external knowledge
- Explicit commands to simply summarize
- E-commerce, music, or entertainment links
Content Extraction Strategy (Critical)
Different sources require different extraction methods. The Agent must run down this priority chain:
Standard Web Pages
CODEBLOCK1
X/Twitter (Aggressive Anti-Scraping)
X strictly prevents unauthenticated scraping. Use this degradation chain:
CODEBLOCK2
Principle: Never return empty-handed. Even if extraction fails, inform the user exactly which step failed, why, and how to fix it.
GitHub
CODEBLOCK3
Paywalls / Login Walls
1. Mark as unreachable and analyze based solely on user-provided summary
The 8-Step Pipeline
Step 1: READ — Extract Content
Execute extraction according to the Strategy chain. Log the successful extraction method.
Step 2: CLASSIFY — Categorize
Assign
1 primary category + up to 2 tags:
| Category | Description | Example |
|---|
| INLINECODE16 | Infrastructure / protocols / networking | MCP, Pilot Protocol |
| INLINECODE17 |
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 | 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 |
Step 3: ANALYZE — Strategic Valuation
Formulate the following breakdown:
CODEBLOCK5
Step 4: MAP — Correlate with Architecture
Read {landscape_path} (Strategic Landscape). Answer:
- - What architectural layer does this impact?
- What existing components does this depend on?
- Does the Landscape map need to be updated?
(If Landscape file does not exist, skip and prompt user in Step 8 to initialize.)
Step 5: STORE — Mint Obsidian Note
Target Path: INLINECODE25
Template:
CODEBLOCK6
Step 6: SYNTHESIZE — Auto-Skill Generation (Evolution Step)
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:
- 1. Gap Analysis: Compare current
skills/ directory and Strategic Landscape to confirm this is a missing capability. - Draft Minting: Create a new Skill folder in
{workspace}/skills/_drafts/:
CODEBLOCK7
- 3. SKILL.md Template:
CODEBLOCK8
- 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.
Step 7: REMEMBER — Update Core Memory
- 1. Mandatory: Append to daily log INLINECODE30
- If 🔴 Critical: Sync update to INLINECODE31
- If Tool related: Flag
TOOLS.md for review - If Skill Draft Synthesized: Log the draft path and flag it as entirely pending human review.
Step 8: RESPOND — Feedback to Operator
Respond 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]
Companion: Strategic Landscape
Intelligence Ingestion pairs directly with your Strategic Landscape:
- - Intelligence Ingestion = The "Information Input"
- Strategic Landscape = The "Capability Map"
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.
Complete Execution Example
Input
CODEBLOCK10
Execution
CODEBLOCK11
Output
📥 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
Edge Cases
| 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 | Auto-create
{workspace}/skills/_drafts/ |
Quality Checklist
Before responding, verify (using ls or checks):
- - [ ] Obsidian note minted as INLINECODE37
- [ ] Daily memory log appended
- [ ] Source URL retained in metadata
- [ ] Strategic Value scored
- [ ] Capability Shift assessed
- [ ] Skill draft synthesized (if applicable, verify
_drafts/ path exists) - [ ] Strategic Landscape updated (if applicable)
- [ ] Operator received standard Step 8 output
- [ ] Explicit fallback reasoning provided if extraction failed
情报摄取技能
你在喂养比你更聪明的东西。
这项技能确保你确切知道它吃了什么,变成了什么。
MCP 兼容: 此技能附带一个遵循 MCP 能力声明规范的 manifest.json 文件,使其可被任何兼容 MCP 的 Agent 工作流发现和调用。
设计理念
把我的私人数据/密钥交给40万行靠感觉编写的怪物代码,这完全不可取 — Andrej Karpathy
本技能秉持信任优先的设计理念:
- 1. 无自我修改型 Agent。 自动生成的技能被隔离为草稿。必须由你(人类操作员)审查并批准后才能激活。
- 技能即新配置。 无需修改配置文件或庞大的 if-else 脚本。一个技能文件即可定义一项能力。
- 为 Agent 而构建。 内置 MCP 清单、结构化输出和 CLI 安装,使生态系统中的任何 Agent 都能发现、理解并使用它。
权限与隐私
此技能会向本地文件系统写入文件,并可能访问敏感的浏览器状态。 以下是其涉及内容的完全透明说明:
| 权限 | 内容 | 原因 |
|---|
| 文件写入 | {obsidianvault}/{intelligencefolder}/ | 创建结构化情报笔记 |
| 文件写入 |
{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:
json
{
obsidianvaultpath: /path/to/your/Obsidian_Vault,
intelligencefolder: 20Intelligence,
landscapepath: STRATEGICLANDSCAPE.md,
output_dir: /path/to/your/output
}
| 字段 | 描述 | 默认值 |
|---|
| obsidianvaultpath | Obsidian 仓库根目录的绝对路径 | 无(必需) |
| intelligencefolder |
情报笔记的子文件夹 | 20Intelligence |
| landscape
path | 战略全景文件路径(相对于工作空间) | STRATEGICLANDSCAPE.md |
| output_dir | 非知识类输出的目录 | 无(可选) |
存储策略:Obsidian = 知识输入(分析/笔记),输出 = 内容生成(帖子/脚本)
首次设置
如果 STRATEGIC_LANDSCAPE.md 不存在,该技能将自动生成一个空模板。
如果 Obsidian 仓库路径不存在或 config.json 缺失,该技能将报错并提供修复步骤。
触发条件
自动触发于:
- - 用户分享 URL(x.com、github.com、arxiv.org 等)
- 用户粘贴文章/推文块
- 用户提示如分析这个、评估这个、你怎么看这个
- 用户从 Telegram 或任何聊天界面转发内容
不触发于:
- - 与外部知识无关的一般性问题
- 明确要求仅做摘要的命令
- 电商、音乐或娱乐链接
内容提取策略(关键)
不同来源需要不同的提取方法。Agent 必须按此优先级链执行:
标准网页
- 1. readurlcontent(url) → 若成功,使用它
- 回退 → 引导用户粘贴内容
X/Twitter(严格反爬)
X 严格阻止未经认证的爬取。使用此降级链:
- 1. xurl 技能(推荐) → 使用 X API v2 的原生 OpenClaw 技能
- 最可靠的方法
- 需要 xurl 认证
- 2. 回退 → 网络搜索推文文本(通常被搜索引擎索引)
- 回退 → 要求用户粘贴原始文本
原则:绝不空手而归。 即使提取失败,也要告知用户具体哪一步失败、原因以及如何修复。
GitHub
- 1. readurlcontent(url) → 通常可访问
- 如果是仓库根目录 → 定位 README.md
- 如果是 Issue/PR → 定位标题、描述和主要评论
付费墙 / 登录墙
- 1. 标记为不可访问,仅基于用户提供的摘要进行分析
8 步处理流程
第 1 步:读取 — 提取内容
根据策略链执行提取。记录成功的提取方法。
第 2 步:分类 — 归类
分配
1 个主要类别 + 最多 2 个标签:
| 类别 | 描述 | 示例 |
|---|
| infra | 基础设施/协议/网络 | MCP、Pilot 协议 |
| strategy |
架构决策/路由/成本优化 | 模型路由、多账户 |
| skill | Agent 技能/工具/能力 | 技能模式、MCP 接口 |
| business | 商业模式/市场信号 | SaaS 框架、定价 |
| theory | 概念框架/思维模型 | 贝叶斯、决策理论 |
| tutorial | 学习资料/指南 | Claude Code、Agent 循环 |
| product | 新工具/服务发布 | LM Studio、模型发布 |
| threat | 风险/安全/弃用 | API 变更、漏洞 |
第 3 步:分析 — 战略估值
形成以下分解:
markdown
战略评估
- - 这是什么? [一句话摘要]
- 价值主张: [具体能力/收益]
- 可操作性: [它支持的具体输出/项目]
- 战略价值: [🔴 关键 / 🟡 高 / 🟢 中 / ⚪ 低]
- 竞争优势: [不知道这个的代价是什么?]
- 能力边界变化: [Agent 现在能做之前不能做的事是什么?]
第 4 步:映射 — 与架构关联
读取 {landscape_path}(战略全景)。回答:
- - 这影响哪个架构层?
- 这依赖于哪些现有组件?
- 全景地图是否需要更新?
(如果全景文件不存在,跳过并在第 8 步提示用户初始化。)
第 5 步:存储 — 创建 Obsidian 笔记
目标路径:{obsidianvaultpath}/{intelligencefolder}/YYYYMMDDSource_Title.md
模板:
markdown
[标题]
来源: 链接
日期: YYYY-MM-DD
类别: [主要] / [标签]
战略价值: [🔴/🟡/🟢/⚪] + 原因
提取方法: [readurl / browser / search / userpaste]
摘要
[2-3 段核心摘要]
关键要点
[编号列表]
架构影响
[与当前系统的关系]
能力边界变化
[Agent 现在能做什么 vs 之前。如果没有,写无]
行动项
[后续步骤。如果没有,写N/A]
分析笔记: [直接、尖锐、有见地的分析]
第 6 步:合成 — 自动技能生成(进化步骤)
触发条件: 内容描述了一个 可操作的工具、API、协议或技术,而 Agent 当前缺少该能力。
不触发如果: 内容纯属理论、观点文章、Agent 已具备的能力,或战略价值被评为 ⚪ 低。
执行:
- 1. 差距分析: 比较当前 skills/ 目录和