mcpField
K
knowledge-intake

knowledge-intake

github.com/athola生产力343108 次安装1 天前更新
代码仓库

关于 knowledge-intake

用于处理外部文章、博客和论文的知识治理 Skill,帮助评估内容价值、决定存储位置并规划应用方式。它还通过重复度检查和质量验证,支持维护结构化知识库。

主要功能

  1. 01评估内容重要性与持久性
  2. 02判断存储位置和应用方向
  3. 03检查与现有知识的重复度
  4. 04验证知识条目的质量
  5. 05将知识路由至代码库或基础设施

适用场景

  1. 01整理外部文章或论文
  2. 02决定新知识是否值得保存
  3. 03将技术见解应用于代码库
  4. 04清理或合并过时及重复内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/athola/claude-night-market --skill knowledge-intake

安装后在 Claude Code 中输入/knowledge-intake确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

modules/
discussion-promotion.md
evaluation-rubric.md
konmari-tidying.md
pruning-workflows.md
storage-patterns.md
prompts/
marginal_value_dual.md

详细介绍

知识摄取

将外部资源处理并纳入知识库。当用户分享文章、博客文章或论文链接时,此技能将指导评估、存储决策和应用路由。

适用场景

  • 从会话中捕获和整理知识
  • 将信息摄取到结构化的记忆宫殿中

不适用场景

  • 无需长期存储的临时笔记
  • 无需捕获知识的纯代码变更

介绍

这是一个知识治理框架,针对每项外部资源回答三个问题:

  1. 值得存储吗? - 评估信噪比和相关性
  2. 适用于何处? - 路由至本地代码库或元基础设施
  3. 会取代什么? - 找出需要清理的过时知识

摄取信号

用户分享外部资源链接,表明该资源很重要。

分享这一行为说明该资源通过了用户自己的筛选。我们的工作是:

  • 提取核心模式和见解
  • 确定合适的存储位置和格式
  • 与现有知识结构建立关联
  • 找出应用机会

快速开始

用户分享链接时:

1. FETCH    → Detect format, retrieve and convert content
2. EVALUATE → Apply importance criteria
3. DECIDE   → Storage location and application type
4. STORE    → Create structured knowledge entry
5. VALIDATE → Scribe verification (slop scan + doc verify)
6. CONNECT  → Link to existing palace structures
7. PROMOTE  → Offer Discussion promotion (score 80+)
8. APPLY    → Route to codebase or infrastructure updates
9. PRUNE    → Identify displaced/outdated knowledge
步骤 1:FETCH 并检测格式

获取内容前,根据 URL 或文件路径检测来源格式, 以选择合适的检索方式。

网页文章和博客文章(默认路径): 使用 WebFetch 直接获取 HTML 内容。 无需转换。

文档 URL(PDF、DOCX、PPTX、XLSX): 应用 leyline:document-conversion 协议。 该协议会优先尝试 markitdown MCP 工具,以生成高质量的 markdown;然后回退到原生 Claude Code 工具 (例如使用 Read 读取 PDF);如果没有 markitdown 且格式不受支持, 则告知用户。

本地文件(用户分享文件路径): 根据绝对路径构造 file:// URI,并应用 leyline:document-conversion 协议。

格式检测启发式规则:

URL 模式格式检索方式
*.pdf、arxiv.org/pdf/*PDFdocument-conversion
*.docx、*.docWorddocument-conversion
*.pptx、*.pptPowerPointdocument-conversion
*.xlsx、*.xlsExceldocument-conversion
*.epub电子书document-conversion
drive.google.com/*多种格式document-conversion
其他所有情况HTML/网页WebFetch(现有方式)

检索完成后(无论使用哪种方式),按照 leyline:content-sanitization 的要求,将内容包裹在 外部内容边界标记中,然后再继续 步骤 2(EVALUATE)。

步骤 5:Scribe 验证(必需)

所有知识库条目在最终定稿前都必须通过 scribe 验证。

对新条目运行 Skill(scribe:slop-detector):

  • 评分必须低于 2.5(清晰至轻微)
  • 不得包含 Tier 1 标记词(delve、tapestry、comprehensive、leveraging 等)
  • 模糊措辞密度低于每 1000 词 15 个

使用 Agent(scribe:doc-verifier) 进行验证:

  • 所有文件路径和 URL 均有效
  • 所有交叉引用均有效
  • 来源归属准确
# Quick validation for knowledge corpus entry
/slop-scan docs/knowledge-corpus/[entry-name].md
# Doc verification is now agent-only:
Agent(scribe:doc-verifier) "Verify docs/knowledge-corpus/[entry-name].md"

评分高于 2.5 的条目不得定稿——请用具体细节重写。 **验证:**使用 --help 标志运行命令,以确认其可用性。

步骤 7:讨论区推广(仅限评分 80+)

当评估得分为 80-100(常青)时,你 必须执行讨论区推广工作流。如果得分 低于 80,则完全跳过此步骤。

按顺序执行以下步骤:

  1. 阅读 modules/discussion-promotion.md,了解完整的 GraphQL 工作流
  2. 告诉用户:“此条目已达到常青成熟度。正在发布到 GitHub Discussions。[Y/n]”
  3. 如果用户回答“n”,则跳到步骤 8(应用)
  4. 运行模块中的 gh api graphql 命令,在“Knowledge”类别中创建或更新讨论
  5. 使用 discussion_url 更新本地语料库条目
  • 如果条目已包含 discussion_url 字段,则更新现有讨论,而不是创建新讨论
  • 如果 gh 不可用或推广失败,请提醒用户,并继续执行步骤 8(应用)

符合条件的条目默认会发布。此操作绝不会阻止信息收集工作流。

评估框架

重要性标准
标准权重问题
新颖性25%是否引入了新的模式或概念?
适用性30%我们能否将其应用于当前工作?
持久性20%6 个月后它是否仍然有用?
关联性15%它是否与多个现有概念相关联?
权威性10%信息来源是否可信且论述充分?
评分指南
  • 80-100:常青知识,重点保存,立即应用
  • 60-79:有价值的见解,存入语料库,安排应用
  • 40-59:有用的参考资料,作为幼苗保存,之后再审视
  • 低于 40:优先级较低,仅记录关键引文或跳过

应用路由

本地代码库应用

当知识能直接改进当前项目时应用:

  • Bug 修复模式
  • 性能优化
  • 此代码库的架构决策
  • 工具/库建议

操作:更新代码、添加注释、创建 ADR

元基础设施应用

当知识能改进我们的插件生态系统时应用:

  • 技能设计模式
  • Agent 行为改进
  • 工作流优化
  • 学习/评估方法(如 Franklin Protocol)

操作:更新技能、创建模块、增强 Agent

路由决策树
**Verification:** Run the command with `--help` flag to verify availability.
Is the knowledge...
├── About HOW we build things? → Meta-infrastructure
│   ├── Skill patterns → Update abstract/memory-palace skills
│   ├── Learning methods → Add to knowledge-corpus
│   └── Tool techniques → Create new skill module
│
└── About WHAT we're building? → Local codebase
    ├── Domain knowledge → Store in project docs
    ├── Implementation patterns → Update code/architecture
    └── Bug/issue solutions → Apply fix, document

验证: 使用 --help 标志运行命令,以确认其是否可用。

存储位置

知识类型位置格式
元学习模式docs/knowledge-corpus/完整的记忆宫殿条目
技能设计见解skills/*/modules/技巧模块
工具/库知识docs/references/快速参考
临时见解数字花园幼苗轻量级笔记

整理的必要性(受 KonMari 启发)

“杂乱的宫殿会让思绪也变得杂乱。”

新知识常常会取代旧知识,但时间并非判断标准。 相关性和志向契合度才是。

首席策展人

人类参与者决定保留哪些内容。在进行重大整理之前:

  1. 你正在成为怎样的人? - 你作为开发者的志向
  2. 现在什么让你感到兴奋? - 真诚的热情,而非“应该”
  3. 哪些东西你已经不再需要? - 有意识地放下过去的兴趣
两个问题

对每一条知识,这两个问题的答案都必须是肯定的:

  • 它能带来愉悦吗? - 真诚的热情,而非义务
  • 它有助于实现你的志向吗? - 与你正在成为的人相契合
整理操作
发现操作
已被取代怀着感激归档旧内容,并链接为背景信息
相互矛盾评估双方,保留让你感到愉悦的内容
不再契合怀着感激放手
互为补充创建双向链接

**“说不定哪天会用到”**源于恐惧,而非愉悦。放手吧。

边际价值筛选(防止污染)

“如果它无法教会现有语料库尚未能教会的内容 → 跳过。”

在存储任何知识之前,先运行边际价值筛选器,以防止语料库受到污染。

三步筛选

1. 冗余检查

  • 完全匹配 → 立即拒绝
  • 重叠度 ≥80% → 作为冗余内容拒绝
  • 重叠度为 40-80% → 评估增量(第 2 步)
  • 重叠度 <40% → 可能是新内容,继续存储

2. 增量分析(仅针对部分重叠)

  • 新颖见解/模式 → 高价值(0.7-0.9)
  • 仅表述方式不同 → 低价值(0.2-0.4)
  • 更多示例 → 边际价值(0.4-0.6)
  • 与现有内容矛盾 → 进行调查(0.6-0.8)

3. 整合决策

  • 独立存储:内容新颖,且无显著重叠
  • 合并:通过示例/细节增强现有条目
  • 替换:取代过时知识
  • 跳过:边际价值不足
使用筛选器
from memory_palace.corpus import MarginalValueFilter

# Initialize filter with corpus and index directories
filter = MarginalValueFilter(
    corpus_dir="docs/knowledge-corpus", index_dir="docs/knowledge-corpus/indexes"
)

# Evaluate new content
redundancy, delta, integration = filter.evaluate_content(
    content=article_text,
    title="Structured Concurrency in Python",
    tags=["async", "concurrency", "python"],
)

# Get human-readable explanation
explanation = filter.explain_decision(redundancy, delta, integration)
print(explanation)

# Act on decision
if integration.decision == IntegrationDecision.SKIP:
    print(f"Skipping: {integration.rationale}")
elif integration.decision == IntegrationDecision.STANDALONE:
    # Store as new entry
    store_knowledge(content, title)
elif integration.decision == IntegrationDecision.MERGE:
    # Enhance existing entry
    enhance_entry(integration.target_entries[0], content)
elif integration.decision == IntegrationDecision.REPLACE:
    # Replace outdated entry
    replace_entry(integration.target_entries[0], content)

**验证:**使用 --help 标志运行命令,以验证其是否可用。

筛选输出示例
**Verification:** Run the command with `--help` flag to verify availability.
=== Marginal Value Assessment ===

Redundancy: partial
Overlap: 65%
Matches: async-patterns, python-concurrency
  - Partial overlap (65%) with 2 entries

Delta Type: novel_insight
Value Score: 75%
Teaching Delta: Introduces 8 new concepts
Novel aspects:
  + New concepts: structured, taskgroup, context-manager
  + New topics: Error Propagation, Resource Cleanup

Decision: STANDALONE
Confidence: 80%
Rationale: Novel insights justify standalone: Introduces 8 new concepts

**验证:**使用 --help 标志运行命令,以验证其是否可用。

渐进式自主集成

边际价值筛选器遵循自主级别(参见计划的第 4 阶段):

  • 级别 0:所有决策都需要人工批准
  • 级别 1:在已知领域自动批准得分 ≥85 的内容
  • 级别 2:在已知领域自动批准得分 ≥70 的内容
  • 级别 3:自动批准得分 ≥60 的内容,自动拒绝明显的噪声

当前实现:级别 0(所有环节均有人参与)。

基于 RL 的质量评分

知识语料库使用强化学习信号,根据实际使用模式动态评定条目质量。

锚点问题清晰度门控

使用信号会根据条目的访问情况,在条目存储之后为其评分。它们无法识别从一开始就不够清晰、因而毫无用处的摘要。在写入条目前,应通过 MMPO 双探针(arXiv:2605.30159)对其进行门控,并将其从任务状态改编为知识价值:

  1. 价值探针:这项知识能让我们做什么?指出它能实现的具体能力或支持的决策,而不是主题标签。
  2. 缺口探针:这项知识无法回答什么?列出它留下的范围明确的未解问题,而不是笼统的“需要更多研究”。
价值探针缺口探针决策
指出具体用途缺口明确且具体按评估得分存储
指出具体用途“所有内容”/空白存储,但在明确缺口前将成熟度上限设为幼苗级
含糊(“有用的背景信息”)任意不作为知识存储:仅摘录关键引文,或跳过

此门控采用定性评估,与重要性标准评分互为补充,而非取而代之:摘要即使在适用性方面得分很高,如果无法指出其能实现什么,仍可能无法通过价值探针。 安装 memory-palace:memory-clarity-probe 后,将双探针评估委派给它,并使用其 Recommendation 作为门控依据。

使用信号
信号权重说明
ACCESS+0.1条目已被访问/阅读
CITATION+0.3条目在其他上下文中被引用
POSITIVE_FEEDBACK+0.5用户标记为有帮助
NEGATIVE_FEEDBACK-0.3用户标记为无帮助
CORRECTION+0.2条目已更正/更新
STALE_FLAG-0.4条目被标记为可能已过时
质量衰减模型

知识条目会随时间衰减,除非经过验证:

成熟度半衰期衰减曲线
幼苗级14 天指数
成长期30 天指数
常青级90 天对数

条目按衰减状态分类:

  • 新鲜:保留 >70% 的质量
  • 陈旧:保留 40-70% 的质量
  • 严重:保留 20-40% 的质量
  • 已归档:保留 <20% 的质量
来源溯源跟踪

根据来源重要性进行混合溯源跟踪:

完整溯源(针对重要来源):

  • 带有完整元数据的主要来源
  • 衍生链(由哪些条目衍生而来)
  • 转换历史(摘要、提取等)
  • 验证链(由谁验证以及验证时间)

简单溯源(针对标准来源):

  • 来源类型和 URL
  • 检索时间戳

完整溯源适用于:

  • 研究论文
  • 文档
  • 重要性评分 >= 0.7 的条目
知识协调器

KnowledgeOrchestrator 协调所有质量系统:

from memory_palace.corpus import KnowledgeOrchestrator, UsageSignal

# Initialize orchestrator
orchestrator = KnowledgeOrchestrator(
    corpus_dir="docs/knowledge-corpus", index_dir="docs/knowledge-corpus/indexes"
)

# Record usage events
orchestrator.record_usage("entry-1", UsageSignal.ACCESS)
orchestrator.record_usage("entry-1", UsageSignal.POSITIVE_FEEDBACK)

# Assess entry quality
entry = {"id": "entry-1", "maturity": "growing"}
assessment = orchestrator.assess_entry(entry)
print(f"Quality: {assessment.overall_score:.0%}")
print(f"Status: {assessment.status}")
print(f"Recommendations: {assessment.recommendations}")

# Get maintenance queue
entries = [...]  # Your entry list
queue = orchestrator.get_maintenance_queue(entries)
for item in queue:
    print(f"{item.entry_id}: {item.status} - {item.recommendations}")

# Ingest new content with lineage
from memory_palace.corpus import SourceReference, SourceType

source = SourceReference(
    source_id="src-1",
    source_type=SourceType.DOCUMENTATION,
    url="https://docs.example.com/api",
    title="API Documentation",
)
entry_id, decision = orchestrator.ingest_with_lineage(
    content="# API Reference\n...", title="API Documentation", source=source
)

验证: 使用 --help 标志运行命令,以验证其是否可用。

基于边际价值筛选器的 RL 集成

边际价值筛选器会针对集成决策发出 RL 信号:

from memory_palace.corpus import MarginalValueFilter

filter = MarginalValueFilter(corpus_dir, index_dir)

# Evaluate with RL signal emission
redundancy, delta, integration, rl_signal = filter.evaluate_with_rl(
    content=article_text, title="New Article", tags=["python", "async"]
)

# RL signal contains:
# - signal_type: UsageSignal to emit
# - weight: Signal weight for scoring
# - action: What happened (new_entry_created, entry_enhanced, etc.)
# - decision: Integration decision made
# - confidence: Decision confidence
print(f"RL Signal: {rl_signal['action']} (weight: {rl_signal['weight']})")

验证: 使用 --help 标志运行命令,以验证其是否可用。

工作流示例

用户分享:“看看这篇关于结构化并发的文章”

intake:
  source: "https://example.com/structured-concurrency"

# PHASE 3: Marginal Value Filter
marginal_value:
  redundancy:
    level: partial_overlap
    overlap_score: 0.65
    matching_entries: [async-patterns, python-concurrency]
  delta:
    type: novel_insight
    value_score: 0.75
    novel_aspects: [structured, taskgroup, context-manager]
    teaching_delta: "Introduces structured concurrency pattern"
  integration:
    decision: standalone
    confidence: 0.80
    rationale: "Novel insights justify standalone entry"

# Continue with evaluation if filter passes
evaluation:
  novelty: 75        # New pattern for error handling
  applicability: 90  # Directly relevant to async code
  durability: 85     # Core concept, won't age quickly
  connectivity: 70   # Links to error handling, async patterns
  authority: 80      # Well-known author, cited sources
  total: 82          # Evergreen, store and apply

routing:
  type: both
  local_application:
    - Refactor async error handling in current project
    - Add structured concurrency pattern to codebase
  meta_application:
    - Create module in relevant skill
    - Add to knowledge-corpus as reference

storage:
  location: docs/knowledge-corpus/structured-concurrency.md
  format: memory_palace_entry
  maturity: growing

pruning:
  displaces:
    - Old async error patterns (mark deprecated)
  complements:
    - Existing error handling module
    - Async patterns documentation

验证: 使用 --help 标志运行命令,以验证其是否可用。

队列处理

研究会话和外部内容会自动加入队列,以便在 docs/knowledge-corpus/queue/ 中进行审核。

处理队列条目
# List pending queue entries
ls -1t docs/knowledge-corpus/queue/*.yaml

# Review specific entry
cat docs/knowledge-corpus/queue/2025-12-31_topic.yaml

# Process approved entry
# 1. Create memory palace entry in docs/knowledge-corpus/
# 2. Update queue entry status to 'processed'
# 3. Archive or delete queue entry

验证: 使用 --help 标志运行命令,以验证其是否可用。

队列集成

research-queue-integration 钩子会自动将以下内容加入队列:

  • 包含 3 次以上 WebSearch 调用的头脑风暴会话
  • 包含大量发现、以研究为重点的会话
  • 通过创建队列条目手动添加的内容

队列条目格式:请参阅 docs/knowledge-corpus/queue/README.md

队列状态工作流
**Verification:** Run the command with `--help` flag to verify availability.
pending_review → [Review] → approved/rejected
approved → [Create Entry] → processed
processed → [Archive] → queue/archive/

验证: 使用 --help 标志运行命令,以验证其是否可用。

自动化

  • 运行 uv run python scripts/intake_cli.py --candidate path/to/intake_candidate.json --auto-accept
  • CLI 会运行边际价值筛选器,创建 palace 条目(docs/knowledge-corpus/*.md)和开发者草稿(docs/developer-drafts/),并将审计记录追加到 docs/curation-log.md。
  • 在测试或沙盒中使用 --output-root,以避免修改主知识库。
  • 队列处理:使用 --process-queue 标志以交互方式审核和处理队列中的条目。

详细资源

  • 评估标准:请参阅 modules/evaluation-rubric.md
  • 存储模式:请参阅 modules/storage-patterns.md
  • KonMari 整理理念:请参阅 modules/konmari-tidying.md
  • 整理工作流:请参阅 modules/pruning-workflows.md
  • 讨论内容推广:在第 7 步(PROMOTE)中调用,适用于常青条目(评分 80+)。默认操作为发布。 完整工作流请参阅 modules/discussion-promotion.md。

钩子集成

Memory-palace 钩子会自动检测可能需要进行知识摄入处理的内容:

自动触发条件
钩子事件触发条件
url_detectorUserPromptSubmit用户消息中包含 URL
web_content_processorPostToolUse (WebFetch/WebSearch)获取网络内容后
local_doc_processorPostToolUse (Read)读取知识路径中的文件
research_queue_integrationSessionEnd包含 3 次以上 WebSearch 调用的研究会话
钩子信号

当钩子检测到潜在的知识内容时,会添加上下文消息:

**Verification:** Run `pytest -v` to verify tests pass.
Memory Palace: New web content fetched from {url}.
Consider running knowledge-intake to evaluate and store if valuable.

验证: 使用 --help 标志运行命令,以验证其是否可用。

**Verification:** Run the command with `--help` flag to verify availability.
Memory Palace: Reading local knowledge doc '{path}'.
This path is configured for knowledge tracking.
Consider running knowledge-intake if this contains valuable reference material.

验证: 使用 --help 标志运行命令,以验证其是否可用。

去重

钩子会检查 memory-palace-index.yaml,以避免重复处理:

  • 已知 URL:“内容已编入索引”——跳过重新评估
  • 内容已更改:“内容已更改”——建议更新
  • 新内容:建议进行完整评估
安全检查

在发出摄入信号之前,钩子会验证内容:

  • 大小限制(默认 500KB)
  • 密钥检测(API 密钥、凭据)
  • 防止数据炸弹(重复内容、Unicode 炸弹)
  • 提示注入净化
索引架构对齐

去重索引存储的字段与此技能的评估要求一致:

entries:
  "https://example.com/article":
    content_hash: "xxh:abc123..."
    stored_at: "docs/knowledge-corpus/article.md"
    importance_score: 82           # From evaluation framework, in [0, 100]
    maturity: "growing"            # seedling, growing, evergreen
    routing_type: "both"           # local, meta, both
    last_updated: "2025-12-06T..."

验证: 使用 --help 标志运行命令,以确认其可用性。

集成

  • memory-palace-architect — 以空间方式组织存储的知识
  • digital-garden-cultivator — 管理知识生命周期
  • knowledge-locator — 查找并检索已存储的知识
  • skills-eval(抽象)— 评估元基础设施更新
  • memory-clarity-probe — 用于上述清晰度检查的双探针门控

退出标准

  • 非 2xx 的获取结果会被丢弃,而非存储:HTTP 404/429 响应正文不会生成索引条目(由 web_research_handler 强制执行)
  • 每个存储条目都通过了锚点问题清晰度门控:其价值探针会指出该知识能够支持的具体能力
  • 每个存储条目都有一个 [0, 100] 范围内的 importance_score,并且包含根据应用路由树作出的路由决策
  • 评分低于 40 的条目会作为引文保存或跳过,而不会作为完整知识笔记存储
  • 摄取后,索引可通过其加载器完成往返验证

评论

支持 Markdown