| name | logseq-properties |
| description | Use Logseq page properties and block properties correctly. Use when the user wants to add metadata to pages or blocks, use built-in properties like tags, aliases, title, or template, or create custom properties for filtering and querying. |
Logseq Properties Skill
Properties in Logseq are key:: value pairs that attach structured metadata to pages or individual blocks. They are the foundation of Logseq's database and query system.
Syntax
Properties always use double colons:
key:: value
Place them as the first line(s) inside a block, or at the very top of a page file for page-level properties.
Block property:
- This is my block
status:: done
priority:: high
Page property (at the top of the file):
title:: My Project Page
tags:: project, active
created:: [[2024-01-15]]
Value Types
Text:
name:: Alice Johnson
notes:: This is a free-form text value
Number:
rating:: 4.5
word-count:: 1200
Boolean:
published:: true
archived:: false
Date (page link):
due:: [[2024-03-15]]
reviewed:: [[2024-01-10]]
Dates in Logseq properties are almost always written as page links [[YYYY-MM-DD]] so they link to journal pages.
Page reference:
owner:: [[Alice]]
project:: [[projects/website]]
Multiple values (comma-separated):
tags:: project, active, Q1
related:: [[Page A]], [[Page B]], [[Page C]]
Built-in Properties
Logseq has built-in page properties (title::, tags::, alias::, icon::, public::, template::, etc.) and block properties (id::, collapsed::, background-color::, heading::, logseq.order-list-type::, etc.) with special behavior.
For the complete list of built-in properties and their descriptions, see references/BUILT_IN_PROPERTIES.md.
Custom Properties
You can define any property name you want. Common patterns:
- Book review block
author:: [[Cal Newport]]
genre:: non-fiction
rating:: 4
read-date:: [[2024-02-10]]
status:: read
- Project task
owner:: [[Alice]]
effort:: 3h
sprint:: Q1-week2
done:: false
Property names are case-insensitive and stored in lowercase. Use hyphens for multi-word names (e.g., read-date::, word-count::).
Using Properties in Queries
Properties become queryable attributes in the Logseq database. See the logseq-queries skill for how to filter by property values.
Quick examples:
- {{query (property status "done")}}
#+BEGIN_QUERY
{:title "High priority tasks"
:query [:find (pull ?b [*])
:where
[?b :block/properties ?props]
[(get ?props :priority) ?p]
[(= ?p "high")]]}
#+END_QUERY
Full Page Example with Properties
title:: Atomic Habits
tags:: book, non-fiction, productivity
author:: [[James Clear]]
status:: read
rating:: 5
date-read:: [[2024-01-20]]
genre:: self-help
isbn:: 978-0735211292
- ## Summary
- The book argues that small habits compound into large results over time
- Focus on systems, not goals
- ## Key Ideas
- The 1% better rule
idea-type:: core-concept
- Identity-based habits
idea-type:: framework
- ## Quotes
- #+BEGIN_QUOTE
You do not rise to the level of your goals. You fall to the level of your systems.
#+END_QUOTE
Tips
- Property keys cannot have spaces. Use hyphens:
due-date:: not due date::
- Property values that are page names create automatic backlinks to those pages
- To set multiple page references as a value, separate with commas:
related:: [[A]], [[B]]
- Properties show up in the block's right-click menu for easy editing
- You can view all pages with a given property using a simple query