logseq-file-graph-knowledge

star 4

Canonical guidance for Logseq file graphs (Markdown). Use this skill to avoid DB-graph assumptions. Covers tasks (markers), properties (key:: value), and query syntax ({{query ...}} and advanced queries).

Weilong-Qin By Weilong-Qin schedule Updated 1/9/2026

name: logseq-file-graph-knowledge description: Canonical guidance for Logseq file graphs (Markdown). Use this skill to avoid DB-graph assumptions. Covers tasks (markers), properties (key:: value), and query syntax ({{query ...}} and advanced queries).

Logseq File Graph Knowledge

This skill is the “ground truth” for working with Logseq file graphs (the classic graph type backed by Markdown files).

Many assistants confuse Logseq DB graphs with file graphs. When the user is in a file graph, use these rules.

Scope

  • Graph type: file-based (Markdown files)
  • Primary use case: everyday note-taking, tasks, GTD, dashboards

Tasks (File Graph)

Task markers

In file graphs, tasks are ordinary blocks prefixed with a marker keyword.

Common marker sequences:

  • LATERNOWDONE
  • TODODOINGDONE

Additional markers that may appear:

  • WAIT / WAITING
  • IN-PROGRESS
  • CANCELED / CANCELLED

Creating and cycling markers

  • Users can type the marker at the start of the block (e.g., TODO call Alice).
  • Users can also use the editor command (e.g., /TODO).
  • Users can cycle markers with Ctrl/Cmd+Enter.

Priority

File graph tasks support priorities:

  • [#A] (highest), [#B], [#C] (lowest)

Example:

- TODO [#A] Finish weekly review

Scheduling and deadlines

In file graphs, scheduling is typically expressed via Logseq’s built-in SCHEDULED: and DEADLINE: syntax (inserted via /Scheduled and /Deadline).

Example:

- TODO Submit form
  DEADLINE: <2026-01-10 Sat>

Properties (File Graph)

Block properties

Block properties are written as:

key:: value

Properties can appear:

  • in the same block (inline), or
  • in a child block (common for metadata)

Property naming rules (important)

  • Property names are case-insensitive and normalized to lowercase.
  • Property names with _ are normalized to - (e.g., done_at becomes done-at).
  • Property values cannot contain newlines.

Values

Property values can include:

  • plain text
  • page references like [[Project X]]
  • tags like #inbox
  • links

To force a value to be treated as plain text (no page refs), wrap it in quotes:

source:: "[[Not a page]]"

Queries (File Graph)

Logseq supports two common query styles.

Simple query blocks

Use:

{{query ...}}

Examples:

{{query (task todo)}}
{{query (and (task todo doing) [[Project X]])}}
{{query (and (task todo) (priority a))}}
{{query (and [[inbox]] (task todo doing))}}
{{query (and (task todo) (not [[inbox]]))}}

Advanced queries

Use an advanced query block when simple query filters are not enough.

General shape:

#+BEGIN_QUERY
{:title "My query"
 :query [:find (pull ?b [*])
        :where
        ...]}
#+END_QUERY

Safe defaults for user-facing workflows

When you are building workflows for file graphs:

  • Use markers (TODO/DOING/DONE) for tasks.
  • Use child blocks with key:: value for metadata.
  • Prefer simple {{query ...}} blocks for dashboards.
  • Do not use DB-graph-only concepts like #Task classes, Status property tasks, or {:query ...}-only conventions.
Install via CLI
npx skills add https://github.com/Weilong-Qin/logseq-skills --skill logseq-file-graph-knowledge
Repository Details
star Stars 4
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator