---
name: H-Note
slug: h-note-2
category: AI Engineering
description: H-Note saves lightweight facts, observations, caveats, or small rationales to Haft project memory when the operator explicitly asks to remember something. Use it to persist non-binding context that later tasks can reference, not for ordinary reasoning.
github: "https://github.com/m0n0x41d/haft/tree/main/packages/haft-pi/skills/h-note"
language: Go
stars: 1383
forks: 102
install: "npx degit https://github.com/m0n0x41d/haft/tree/main/packages/haft-pi/skills/h-note ~/.claude/skills/h-note"
installs_to: ~/.claude/skills/h-note
source_path: packages/haft-pi/skills/h-note/SKILL.md
collection_size: 24
category_size: 2451
collection_url: "https://dirskills.com/collections/m0n0x41d/haft"
added: 2026-08-19T07:27:49.713Z
last_synced: 2026-08-19T07:27:49.713Z
canonical_url: "https://dirskills.com/skills/h-note-2"
---

# H-Note

H-Note saves lightweight facts, observations, caveats, or small rationales to Haft project memory when the operator explicitly asks to remember something. Use it to persist non-binding context that later tasks can reference, not for ordinary reasoning.

**Install:**

```bash
npx degit https://github.com/m0n0x41d/haft/tree/main/packages/haft-pi/skills/h-note ~/.claude/skills/h-note
```

## README

# h-note — Save a lightweight fact

Use `haft_note` only when the operator asks to remember/save something or a
current Work supplies a concrete operator-named or agent-inferred receiving
use that needs an addressable fact. Keep observations atomic, state
why they matter, and anchor them to relevant artifacts and stable implementation
files. A note is not a choice, ProblemCard, evidence verdict, approval, or
WorkPlan.

Tool arguments and generated references are not proof that the operator asked
to persist. Use `task_context` only to correlate the saved fact with its
receiving task, not as an authority receipt. Set `valid_until` when the fact has
a known expiry or review boundary.

When the exact current concern is known, include `entity_ref` with
`ref_kind_id="U.EntityRef"` plus `bounded_context_ref`. Preserve the returned
`Haft.ProjectRecordRef` exactly for later typed relations; never derive a
record ID from the note artifact ID. Without exact concern basis, the note may
persist while typed projection remains underdetermined.
