Reading the Output

When you run keep get or keep now, items are displayed in YAML frontmatter format. Each section carries meaning.

Annotated Example

---
id: %a1b2c3d4                                            # 1. Identity
tags:                                                     # 2. Tags
  act: "commitment"
  project: "myapp"
  said: conv1 [2026-01-12] "Deborah said let's ship it"
  status: "open"
  topic: "auth"
score: 0.823                                              # 3. Relevance
similar:                                                  # 4. Similar items
  - %e5f6a7b8         (0.89) 2026-01-14 OAuth2 token refresh pattern...
  - %c9d0e1f2         (0.85) 2026-01-13 Token handling notes...
  - .tag/act           (0.45) 2026-01-10 Speech-act categories...
meta/todo:                                                # 5. Meta sections
  - %d3e4f5a6 validate redirect URIs
  - %b7c8d9e0 update auth docs for new flow
meta/learnings:
  - %f1a2b3c4 Token refresh needs clock sync
parts:                                                    # 6. Parts (structural)
  - @P{1}  OAuth2 Flow Design (§1, pp.1-7)
  - @P{2}  Token Storage Strategy (§2, pp.8-13)
  - @P{3}  Session Management (§3, pp.14-18)
prev:                                                     # 7. Version navigation
  - @V{1} 2026-01-14 Previous version of this item...
  - @V{2} 2026-01-13 Older version...
---
I'll fix the auth bug by Friday                           # 8. Content

Sections

1. id: — Identity

The document's unique identifier.

FormatMeaning
%a1b2c3d4Content-addressed (text mode, hash of content)
file:///path/to/docLocal file URI
https://example.comWeb URL
nowThe nowdoc (current intentions)
.conversationsSystem document (dotted prefix)
.tag/actTag description document

When viewing an old version, a suffix appears: id: %a1b2c3d4@V{1}

2. tags: — Metadata and Edge References

Key-value pairs in YAML block format. All scalar values are quoted. A key can hold one value or a list of values.

tags:
  act: "commitment"
  project: "myapp"
  status: "open"
  topic: "auth"

Edge tags (tags whose values reference other items) are rendered inline with the target's date and summary:

tags:
  said: conv1 [2026-01-12] "Deborah said let's ship it"
  speaker: "Deborah"

Both regular tags and resolved edge references appear in the same tags: block, sorted by key. When an edge tag has multiple values, they render as a list:

tags:
  said:
    - conv1 [2026-01-12] "Deborah said let's ship it"
    - conv2 [2026-01-15] "Great, the tests pass now"
  status: "open"

Tags you set are shown here. System tags (prefixed _) are hidden from display but accessible via --json.

Key tag patterns:

3. score: — Relevance

Appears on search results (keep find). A similarity score between 0 and 1, with recency decay applied.

Higher = more relevant. Scores above 0.7 are strong matches. This field is absent when viewing items directly (not via search).

4. similar: — Semantic neighbors

Items semantically close to this one, ranked by similarity. Each line:

  - ID               (score) date summary...

Similar items are occasions for reflection: what else do I know about this? Control with -n (limit).

5. meta/*: — Contextual sections

Meta-tags surface items matching tag-based queries relevant to what you're viewing. Each section name maps to a .meta/* query:

SectionSurfacesSource
meta/todo:Open requests and commitments.meta/todo
meta/learnings:Relevant learnings.meta/learnings
meta/decisions:Related decisions.meta/decisions

These are dynamically resolved — the same item shows different meta sections depending on its tags. For example, an item tagged project=myapp surfaces todos and learnings also tagged with that project.

See META-TAGS.md for how contextual queries work and how to create custom ones.

6. parts: — Structural decomposition

Sections of a document identified by keep analyze. Each line:

  - @P{N}  Section summary...

See KEEP-ANALYZE.md for how to decompose documents into parts.

7. prev: / next: — Version navigation

Navigate through the item's version history.

prev:
  - @V{1} 2026-01-14 Previous version summary...
  - @V{2} 2026-01-13 Older version summary...

See VERSIONING.md for full versioning details.

8. Content (after ---)

The item's summary, below the closing ---. For short content this is the full text; for long documents it's a generated summary.

Output Formats

The frontmatter format is one of four output modes:

FlagFormatUse case
(default)Summary line or frontmatterFrontmatter for single items, summary lines for lists
--idsVersioned IDs onlyPiping to other commands
--fullYAML frontmatter (forced)When you want full details on list/find results
--jsonJSONProgrammatic access

See REFERENCE.md for examples of each format.

See Also