Token导航 LogoToken导航TokenDH.com
开发external-serviceclawhub未标认证来源可访问clear审计提醒

nm-memory-palace-knowledge-intakenm 记忆宫殿知识摄入

Agent Skill

nm-memory-palace-knowledge-intake 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,109

周安装

87

GitHub Stars

公开资料未说明

下载量

689
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:nm-memory-palace-knowledge-intake(nm 记忆宫殿知识摄入)
来源仓库:https://github.com/athola/nm-memory-palace-knowledge-intake
安装命令:
openclaw skills install nm-memory-palace-knowledge-intake
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install nm-memory-palace-knowledge-intake

简介

用于补充开发相关能力,支持外部资源处理为存储的知识。

  • 适合在 OpenClaw 中承接开发任务时使用。
  • 可结合来源仓库和 README 继续核验具体用法。
  • 安装命令:openclaw skills install nm-memory-palace-knowledge-intake。
  • 建议确认权限范围和维护状态,避免触发联网或文件读写。

SKILL.md

name
knowledge-intake
description
|
version
1.8.2
triggers
metadata
{"openclaw": {"homepage": "https://github.com/athola/claude-night-market/tree/master/plugins/memory-palace", "emoji": "\�\�", "requires": {"config": ["night-market.memory-palace-architect", "night-market.digital-garden-cultivator", "night-market.leyline:evaluation-framework", "night-market.leyline:storage-templates", "night-market.leyline:document-conversion", "night-market.scribe:slop-detector"]}}}
source
claude-night-market
source_plugin
memory-palace
Night Market Skill — ported from claude-night-market/memory-palace. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Table of Contents

Knowledge Intake

Systematically process external resources into actionable knowledge. When a user links an article, blog post, or paper, this skill guides evaluation, storage decisions, and application routing.

When To Use

  • Capturing and organizing knowledge from sessions
  • Ingesting information into structured memory palaces

When NOT To Use

  • Temporary notes that do not need long-term storage
  • Code-only changes without knowledge capture needs

What It Is

A knowledge governance framework that answers three questions for every external resource:

  1. Is it worth storing? - Evaluate signal-to-noise and relevance
  2. Where does it apply? - Route to local codebase or meta-infrastructure
  3. What does it displace? - Identify outdated knowledge to prune

The Intake Signal

When a user links an external resource, it is a signal of importance.

The act of sharing indicates the resource passed the user's own filter. Our job is to:

  • Extract the essential patterns and insights
  • Determine appropriate storage location and format
  • Connect to existing knowledge structures
  • Identify application opportunities

Quick Start

When a user shares a link:

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

Step 1: FETCH with Format Detection

Before retrieving content, detect the source format from the URL or file path to choose the right retrieval method.

Web articles and blog posts (default path): Use WebFetch to retrieve HTML content directly. No conversion needed.

Document URLs (PDF, DOCX, PPTX, XLSX): Apply the leyline:document-conversion protocol. This tries the markitdown MCP tool first for high-quality markdown, then falls back to native Claude Code tools (Read for PDFs, etc.), then informs the user if the format is unsupported without markitdown.

Local files (user shares a file path): Construct a file:// URI from the absolute path and apply the leyline:document-conversion protocol.

Format detection heuristics:

URL PatternFormatRetrieval
*.pdf, arxiv.org/pdf/*PDFdocument-conversion
*.docx, *.docWorddocument-conversion
*.pptx, *.pptPowerPointdocument-conversion
*.xlsx, *.xlsExceldocument-conversion
*.epubE-bookdocument-conversion
drive.google.com/*Variousdocument-conversion
Everything elseHTML/webWebFetch (existing)

After retrieval (regardless of method), wrap the content in external content boundary markers per leyline:content-sanitization before proceeding to Step 2 (EVALUATE).

Step 5: Scribe Validation (Required)

All knowledge corpus entries MUST pass scribe validation before finalizing.

Run Skill(scribe:slop-detector) on the new entry:

  • Score must be < 2.5 (Clean to Light)
  • No Tier 1 markers (delve, tapestry, comprehensive, leveraging, etc.)
  • Hedge word density < 15 per 1000 words

Use Agent(scribe:doc-verifier) to validate:

  • All file paths and URLs exist
  • All cross-references valid
  • Source attributions accurate
# 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"

DO NOT finalize entries with slop score > 2.5 - rewrite with concrete specifics. Verification: Run the command with --help flag to verify availability.

Step 7: Discussion Promotion (Score 80+ Only)

When the evaluation score is 80-100 (evergreen), you MUST execute the Discussion promotion workflow. If the score is below 80, skip this step entirely.

Execute these steps in order:

  1. Read modules/discussion-promotion.md for the

full GraphQL workflow

  1. Tell the user: "This entry has reached evergreen

maturity. Publishing to GitHub Discussions. [Y/n]"

  1. If the user says "n", skip to Step 8 (APPLY)
  2. Run the gh api graphql commands from the module

to create or update a Discussion in the "Knowledge" category

  1. Update the local corpus entry with discussion_url
  • If the entry already has a discussion_url field,

update the existing Discussion instead of creating a new one

  • If gh is unavailable or promotion fails, warn

the user and continue to Step 8 (APPLY)

Publishing is the default for qualifying entries. It never blocks the intake workflow.

Evaluation Framework

Importance Criteria

CriterionWeightQuestions
Novelty25%Does this introduce new patterns or concepts?
Applicability30%Can we apply this to current work?
Durability20%Will this remain relevant in 6+ months?
Connectivity15%Does it connect to multiple existing concepts?
Authority10%Is the source credible and well-reasoned?

Scoring Guide

  • 80-100: Evergreen knowledge, store prominently, apply immediately
  • 60-79: Valuable insight, store in corpus, schedule application
  • 40-59: Useful reference, store as seedling, revisit later
  • Below 40: Low priority, capture key quote only or skip

Application Routing

Local Codebase Application

Apply when knowledge directly improves current project:

  • Bug fix patterns
  • Performance optimizations
  • Architecture decisions for this codebase
  • Tool/library recommendations

Action: Update code, add comments, create ADR

Meta-Infrastructure Application

Apply when knowledge improves our plugin ecosystem:

  • Skill design patterns
  • Agent behavior improvements
  • Workflow optimizations
  • Learning/evaluation methods (like Franklin Protocol)

Action: Update skills, create modules, enhance agents

Routing Decision Tree

**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

Verification: Run the command with --help flag to verify availability.

Storage Locations

Knowledge TypeLocationFormat
Meta-learning patternsdocs/knowledge-corpus/Full memory palace entry
Skill design insightsskills/*/modules/Technique module
Tool/library knowledgedocs/references/Quick reference
Temporary insightsDigital garden seedlingLightweight note

The Tidying Imperative (KonMari-Inspired)

"A cluttered palace is a cluttered mind."

New knowledge often displaces old—but time is not the criterion. Relevance and aspirational alignment are.

The Master Curator

The human in the loop defines what stays. Before major tidying:

  1. Who are you becoming? - Your aspirations as a developer
  2. What excites you now? - Genuine enthusiasm, not "should"
  3. What have you outgrown? - Past interests consciously left behind

The Two Questions

For each piece of knowledge, both must be yes:

  • Does it spark joy? - Genuine enthusiasm, not obligation
  • Does it serve your aspirations? - Aligned with who you're becoming

Tidying Actions

FindingAction
SupersedesArchive old with gratitude, link as context
ContradictsEvaluate both, keep what sparks joy
No longer alignedRelease with gratitude
ComplementsCreate bidirectional links

"I might need this someday" is fear, not joy. Release it.

Marginal Value Filtering (Anti-Pollution)

"If it can't teach something the existing corpus can't already teach → skip it."

Before storing ANY knowledge, run the marginal value filter to prevent corpus pollution.

The Three-Step Filter

1. Redundancy Check

  • Exact match → REJECT immediately
  • 80%+ overlap → REJECT as redundant
  • 40-80% overlap → Evaluate delta (Step 2)
  • <40% overlap → Likely novel, proceed to store

2. Delta Analysis (for partial overlap only)

  • Novel insight/pattern → High value (0.7-0.9)
  • Different framing only → Low value (0.2-0.4)
  • More examples → Marginal value (0.4-0.6)
  • Contradicts existing → Investigate (0.6-0.8)

3. Integration Decision

  • Standalone: Novel content, no significant overlap
  • Merge: Enhances existing entry with examples/details
  • Replace: Supersedes outdated knowledge
  • Skip: Insufficient marginal value

Using the Filter

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)

Verification: Run the command with --help flag to verify availability.

Filter Output Example

**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

Verification: Run the command with --help flag to verify availability.

Progressive Autonomy Integration

The marginal value filter respects autonomy levels (see plan Phase 4):

  • Level 0: ALL decisions require human approval
  • Level 1: Auto-approve 85+ scores in known domains
  • Level 2: Auto-approve 70+ scores in known domains
  • Level 3: Auto-approve 60+, auto-reject obvious noise

Current implementation: Level 0 (all human-in-the-loop).

RL-Based Quality Scoring

The knowledge corpus uses reinforcement learning signals to dynamically score entry quality based on actual usage patterns.

Usage Signals

SignalWeightDescription
ACCESS+0.1Entry was accessed/read
CITATION+0.3Entry was cited in another context
POSITIVE_FEEDBACK+0.5User marked as helpful
NEGATIVE_FEEDBACK-0.3User marked as unhelpful
CORRECTION+0.2Entry was corrected/updated
STALE_FLAG-0.4Entry marked as potentially outdated

Quality Decay Model

Knowledge entries decay over time unless validated:

MaturityHalf-LifeDecay Curve
Seedling14 daysExponential
Growing30 daysExponential
Evergreen90 daysLogarithmic

Entries are classified by decay status:

  • Fresh: >70% quality retained
  • Stale: 40-70% quality retained
  • Critical: 20-40% quality retained
  • Archived: <20% quality retained

Source Lineage Tracking

Hybrid lineage tracking based on source importance:

Full Lineage (for important sources):

  • Primary source with complete metadata
  • Derivation chain (what entries it was derived from)
  • Transformation history (summarization, extraction, etc.)
  • Validation chain (who validated and when)

Simple Lineage (for standard sources):

  • Source type and URL
  • Retrieval timestamp

Full lineage is used for:

  • Research papers
  • Documentation
  • Entries with importance score >= 0.7

Knowledge Orchestrator

The KnowledgeOrchestrator coordinates all quality systems:

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\
...",
    title="API Documentation",
    source=source
)

Verification: Run the command with --help flag to verify availability.

RL Integration with Marginal Value Filter

The marginal value filter emits RL signals on integration decisions:

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']})")

Verification: Run the command with --help flag to verify availability.

Workflow Example

User shares: "Check out this article on structured concurrency"

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

Verification: Run the command with --help flag to verify availability.

Queue Processing

Research sessions and external content are automatically queued for review in docs/knowledge-corpus/queue/.

Processing Queue Entries

# 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

Verification: Run the command with --help flag to verify availability.

Queue Integration

The research-queue-integration hook automatically queues:

  • Brainstorming sessions with 3+ WebSearch calls
  • Research-focused sessions with substantial findings
  • Manual additions via queue entry creation

Queue entry format: See docs/knowledge-corpus/queue/README.md

Queue Status Workflow

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

Verification: Run the command with --help flag to verify availability.

Automation

  • Run uv run python scripts/intake_cli.py --candidate path/to/intake_candidate.json --auto-accept
  • The CLI runs marginal value filter, creates palace entries (docs/knowledge-corpus/*.md),

developer drafts (docs/developer-drafts/), and appends audit rows to docs/curation-log.md.

  • Use --output-root in tests or sandboxes to avoid mutating the main corpus.
  • Queue Processing: Use --process-queue flag to review and process queued entries interactively.

Detailed Resources

  • Evaluation Rubric: See modules/evaluation-rubric.md
  • Storage Patterns: See modules/storage-patterns.md
  • KonMari Tidying Philosophy: See modules/konmari-tidying.md
  • Tidying Workflows: See modules/pruning-workflows.md
  • Discussion Promotion: Invoked in Step 7 (PROMOTE)

for evergreen entries (score 80+). Publishing is the default action. See modules/discussion-promotion.md for full workflow.

Hook Integration

Memory-palace hooks automatically detect content that may need knowledge intake processing:

Automatic Triggers

HookEventWhen Triggered
url_detectorUserPromptSubmitUser message contains URLs
web_content_processorPostToolUse (WebFetch/WebSearch)After fetching web content
local_doc_processorPostToolUse (Read)Reading files in knowledge paths
research_queue_integrationSessionEndResearch sessions with 3+ WebSearch calls

Hook Signals

When hooks detect potential knowledge content, they add context messages:

**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.

Verification: Run the command with --help flag to verify availability.

**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.

Verification: Run the command with --help flag to verify availability.

Deduplication

Hooks check the memory-palace-index.yaml to avoid redundant processing:

  • Known URLs: "Content already indexed" - skip re-evaluation
  • Changed content: "Content has changed" - suggest update
  • New content: Full evaluation recommended

Safety Checks

Before signaling intake, hooks validate content:

  • Size limits (default 500KB)
  • Secret detection (API keys, credentials)
  • Data bomb prevention (repetition, unicode bombs)
  • Prompt injection sanitization

Index Schema Alignment

The deduplication index stores fields aligned with this skill's evaluation:

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

Verification: Run the command with --help flag to verify availability.

Integration

  • memory-palace-architect - Structures stored knowledge spatially
  • digital-garden-cultivator - Manages knowledge lifecycle
  • knowledge-locator - Finds and retrieves stored knowledge
  • skills-eval (abstract) - Evaluates meta-infrastructure updates

Troubleshooting

Common Issues

Command not found Ensure all dependencies are installed and in PATH

Permission errors Check file permissions and run with appropriate privileges

Unexpected behavior Enable verbose logging with --verbose flag

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

81.96%
按下载量换算565

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills