install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/thalo" ~/.claude/skills/diegosouzapw-awesome-omni-skill-thalo-3d9b4f && rm -rf "$T"
manifest:
skills/data-ai/thalo/SKILL.mdsource content
Thalo
Quick start workflow
- Initialize a knowledge base with
to generatethalo init
,entities.thalo
, andAGENTS.md
.personal-bio.md - Add or edit entries in
files or fenced code blocks inside Markdown (lang:*.thalo
).thalo - Validate after changes with
to catch schema, link, and syntax issues.thalo check - Format with
when preparing a commit or cleanup (or use Prettier with the plugin)thalo format - Run
to materialize syntheses (queries + prompt) for LLM use.thalo actualize
Entry syntax
Follow this structure:
{timestamp} {directive} {entity} "Title" [^link-id] [#tags...] {key}: {value} ... # Section {content}
Guidelines:
- Use ISO 8601 local time with timezone, e.g.
.2026-01-05T15:30Z - Use
for new entries andcreate
for modifications.update - Provide a stable
when you want to reference the entry elsewhere.^link-id - Put all content inside sections; required sections are defined in
.entities.thalo - Entities are typically
,journal
,opinion
, orreference
(seelore
).entities.thalo
Metadata
Metadata fields are indented key-value pairs. Values can be:
- Strings:
or unquotedauthor: "Jane Doe"author: Jane Doe - Links:
orsubject: ^selfrelated: ^my-other-entry - Dates:
published: 2023-03-16 - Date ranges:
date: 2020 ~ 2021
Sections
Content sections start with
# SectionName (indented). All content must be within a section.
Each entity type defines which sections are required/optional in entities.thalo.
Defining entities
Define or update entities in
entities.thalo using define-entity blocks. Each entity specifies:
- Metadata fields with types (
,string
,link
,datetime
, enums, arrays, unions).date-range - Sections that determine required/optional content.
After editing or adding entries or entities, generally run
thalo check to validate.
If you need the default entity templates, load
references/entities.thalo.txt.
Syntheses
Syntheses are queries plus prompts that let you generate structured summaries or narratives.
- Create with
blocks.define-synthesis - Use
to select entries by entity, tag, or metadata filters.sources: - Run
to output the sources and prompt for downstream LLM use.thalo actualize
Working in Markdown
Thalo can live inside Markdown files. The fenced code block language SHOULD be
thalo (don't use it
in this file as an example because it would be parsed):
```text ...entries... ```
The CLI and LSP will parse fenced
thalo blocks in .md files.
Installation
If
thalo is not available, install via the user's package manager (local or global):
# Local (recommended for repo tooling) npm install --save-dev @rejot-dev/thalo-cli # Or with your preferred PM: pnpm add -D @rejot-dev/thalo-cli yarn add -D @rejot-dev/thalo-cli # Global (optional) npm install -g @rejot-dev/thalo-cli
Prettier integration
This repo uses the Thalo Prettier plugin. The config is in
prettier.config.mjs and includes:
plugins: ["@rejot-dev/thalo-prettier"];
Use
thalo format for CLI formatting, or run Prettier normally and it will format Thalo/Markdown
with the plugin enabled.
CLI reference (condensed)
(options:thalo init [directory]
,--dry-run
) creates--force
,entities.thalo
,AGENTS.md
.personal-bio.md
validates syntax, metadata, sections, links, enums. Options includethalo check [paths...]
,--format
,--severity
,--max-warnings
,--rule
,--watch
.--file-type
formatsthalo format [paths...]
and.thalo
(options:.md
,--check
,--write
).--file-type
outputs pending synthesis updates and prompts. Supportsthalo actualize [links...]
for custom instructions templates. Tracks changes via git or timestamps.-i
filters by entity, tags, links, metadata. Options:thalo query "<query>" [paths...]
,--format
.--limit
shows validation rules (filter bythalo rules list
,--severity
,--category
).--json
starts the language server (stdio).thalo lsp- Global:
,--help
.--version
References
- Use
for the default entity definitions fromreferences/entities.thalo.txt
.thalo init - Use
for sample entries.references/example-entries.thalo.txt - Use
for the scripting API summary.references/scripting-api.md - Use
to generate timestamps quickly.date -u +"%Y-%m-%dT%H:%MZ"