Skip to main content

h-note

Persist a fact, observation, caveat, or small non-binding rationale in Haft project memory when the operator explicitly asks or current Work supplies a concrete operator-named or agent-inferred receiving use that needs a lightweight addressable fact. Use for "remember this", "запиши", or "note for later". Do not auto-persist ordinary reasoning. A note is not a choice, ProblemCard, evidence verdict, approval, or WorkPlan.

소스 정보

저장소
m0n0x41d/haft
최근 소스 활동
2026년 8월 2일 06:45
감지된 SKILL.md 언어
영어
스타
1,398
포크
101

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
h-note
description
Persist a fact, observation, caveat, or small non-binding rationale in Haft project memory when the operator explicitly asks or current Work supplies a concrete operator-named or agent-inferred receiving use that needs a lightweight addressable fact. Use for "remember this", "запиши", or "note for later". Do not auto-persist ordinary reasoning. A note is not a choice, ProblemCard, evidence verdict, approval, or WorkPlan.
when_to_use
The operator explicitly asks to save a non-binding project fact, or identifies a receiving use that needs it to remain addressable.
argument-hint
[fact or observation to save]
allowed-tools
Bash mcp__haft__haft_entity mcp__haft__haft_onboard mcp__haft__haft_note mcp__haft__haft_query
# h-note — Save a lightweight project-memory item Confirm that the payload contains at least one atomic observation or a non-binding rationale. Preserve source and uncertainty when known. If the text binds a choice, route the direct operator request through `h-decide`; if it frames an unresolved problem, use `h-frame` only when problem shaping is current. ## Conditional project-memory orientation The explicit save request authorizes persistence of this note, but it does not make an EntityOfConcern identity safe to guess. When the note is context-heavy or multi-session and that identity is not already current, resolve it with `haft_query(action="memory", memory_request={"mode":"resolve","contract_version":"haft.memory.v1", "basis":{"kind":"project_current"},"query":"...","max_candidates":5})`, select the exact candidate by current use rather than rank, and hydrate the smallest relevant neighborhood through the closed `memory_request` neighborhood branch advertised by the tool schema with `projection_profile_ref="agent_orientation.v2"`. Inspect `result_kind` first. If the note needs a stable concern and resolve returns `known_absent`, the explicit save request is sufficient persistence provenance for the task-level entity route: ```text mcp__haft__haft_entity( action="establish", entity_id="<stable proposed id>", label="<readable label>", bounded_context_ref="<exact bounded context>", aliases=["<known alias, in canonical order>"], persistence_reason="explicit_operator_request", request_provenance_ref="<this save request>", idempotency_key="<stable key for this exact request>" ) ``` The tool owns alias-conflict checking, validation, admission, and exact post-commit resolution. Use only the returned canonical `entity_ref`. `identity_conflict`, `alias_conflict`, or `idempotency_conflict` must remain visible; do not guess. Route `onboarding_required` through `mcp__haft__haft_onboard(action="status")`; repair a partial or legacy default memory installation with `haft init` rather than presenting a schema choice. On `restart_required`, reconnect and retry the unchanged request and key. If the note does not need a stable concern, or setup is deferred, save the note without invented concern fields. Missing setup and explicit abstention are non-blocking. This read does not replace code-graph preflight before a later code edit. The dedicated `haft_note` surface performs the note persistence, but model-supplied fields are not proof of operator authorization. Preserve the request or named receiving-use reference in `task_context` for correlation. Persist through the dedicated note surface: ```text mcp__haft__haft_note( title="<short title>", observations=["<atomic fact>"], rationale="<why it matters, when current>", anchors=[{"type":"relates_to","ref":"<artifact ref>"}], task_context="<operator request or named receiving-use reference>", valid_until="<RFC3339 expiry when this fact is time-bounded>", entity_ref={ "ref_kind_id":"U.EntityRef", "reference_id":"<exact current EntityOfConcern>" }, bounded_context_ref="<exact current bounded context>" ) ``` Supply the concern fields only when their exact identity is known. A committed typed projection returns an exact `record_reference` with `ref_kind_id="Haft.ProjectRecordRef"`; preserve that value for later typed relations instead of deriving `record:<note-id>`. If the concern basis is absent, the note may remain a useful legacy carrier while typed projection is `underdetermined`. Do not emulate notes with ProblemCards. Do not convert a conversational aside into durable memory unless the operator asked or named a receiving reliance. After saving, return the note ID paired with its title, the exact `record_reference` when present, and state that it is non-binding.
GitHub에서 보기