ha-knowledge

Organizes Markdown notes into linked knowledge bases using note_* tools.

1.6k|149|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/shiwenwen/hope-agent --skill ha-knowledge
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ha-knowledge
Source: https://github.com/shiwenwen/hope-agent/tree/main/skills/ha-knowledge
Command: npx skills add https://github.com/shiwenwen/hope-agent --skill ha-knowledge

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Notes scattered across files become unfindable orphans without links, tags, and structure. This Skill provides a disciplined operating method for capturing, organizing, linking, and maintaining Markdown notes in a Hope Agent knowledge base so the corpus stays coherent and retrievable.

Core Features & Use Cases

  • Orient-Act-Link Workflow: Search existing notes before writing, then wire every new note into the link graph in the same turn to prevent orphans.
  • Full Note Toolset Guidance: Covers note_search, note_read, note_patch, note_append, note_create, note_link, note_distill, note_moc, and structural health checks like note_orphans and note_broken_links.
  • Two Organizing Models: Supports Zettelkasten (atomic, densely linked notes) and Map-of-Content hubs, with Obsidian-compatible wikilinks, frontmatter, tags, and block references.
  • Use Case: After a long research conversation, ask the agent to distill it into atomic notes, link them to related existing notes, and generate a MOC index for the topic cluster.

Quick Start

Ask the agent to save this conversation as a note in my knowledge base and link it to related notes.

Frequently Asked Questions about ha-knowledge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I organize notes into a linked knowledge base?

Search existing notes first with note_search, create or edit the note, then immediately link it to related notes using note_link or note_suggest_links. Every new note should be wired into the graph in the same turn it is created to avoid orphans.

How to split a long note into atomic Zettelkasten notes?

Use note_distill to break a long note or pasted text into several atomic notes, each holding one idea titled as a claim. Then link the resulting notes to their neighbors so the cluster stays navigable.

Does this work with Obsidian vaults and wikilinks?

Yes, notes use Obsidian-compatible conventions: [[wikilinks]], YAML frontmatter for tags and aliases, inline #tags, and ^block-id references. External vaults can be attached but may be read-only unless editing is explicitly enabled.

Why can't I see the note_* tools in my session?

The note_* tools only appear when a knowledge base is attached to the session. Attach one through the composer's KB picker or project settings; without an attached KB the tools are unavailable.

What happens when a note save fails due to file changes on disk?

A stale-write guard rejects the save when the file changed underneath the edit. Re-read the note with note_read, reconcile the differences, and retry rather than forcing the write.