flomo-memo-to-markdown
Flomo Memo To Markdown
Overview
Convert flomo memos into Markdown files grouped by time range and generate tag-stats.md with both direct_count and total_count per tag node.
This is a standalone export skill. It is not a CRUD helper and should not be used for interactive "find one memo and edit it" requests.
Default behavior is optimized for fast one-shot processing from the local flomo desktop login state: full date range, monthly split, {{user}}_{{range}} filenames, and asset-mode=placeholder.
Preconditions
flomo.apphas been logged in on this Mac before- Local flomo storage exists under
~/Library/Containers/com.flomoapp.m/... - Network access to flomo API is available if using the local source
Quick Start
Set the script path from the current environment instead of hardcoding a user directory:
SKILL_ROOT="${CODEX_HOME:-$HOME/.codex}/skills/flomo-memo-to-markdown"
SCRIPT="$SKILL_ROOT/scripts/flomo_to_nblm.py"
Examples:
python3 "$SCRIPT"
python3 "$SCRIPT" --preview-only
python3 "$SCRIPT" --split quarter --asset-mode copy
Default Agent Workflow
- Use the local flomo API source.
- If any local API read step fails, fail fast and return error immediately.
- Do not fall back to cached exports.
- Do not ask for exported HTML unless the user explicitly requests postprocessing an archive.
- Run with defaults unless the user specifies date range / split / naming / asset handling.
- Report output directory, generated Markdown file count, per-file memo/char counts, threshold warnings, and the
tag-stats.mdpath.
When To Ask Follow-Up Questions
Ask only when one of these materially changes execution:
- The user wants a custom date range
- The user wants a different split granularity
- The user wants a custom filename template
- The user wants copied attachments or explicitly wants to ignore attachments
- Local desktop auth is missing or broken
Output Behavior
- Default output is decompressed Markdown files
- Also writes
tag-stats.mdin export mode --preview-onlyperforms parsing, filtering, grouping, and tag stats only--word-limitis treated as a character count threshold
Local Source Semantics
- Default input is the local flomo desktop login state, not exported HTML
- The script reads the local desktop auth token from
~/Library/Containers/com.flomoapp.m/.../leveldb - Memo bodies come from flomo API
contentHTML and are rendered to Markdown - Memo timestamps come from
created_at - Attachments come from memo
files - Tags are re-derived from rendered Markdown text using
#tagsyntax
Attachment Modes
placeholder(default): Append attachment path lines to memo Markdown; do not copy filesignore: Ignore attachments entirelycopy: Download signed attachment URLs intoassets/under the output directory and rewrite Markdown references
Tag Statistics Semantics
- Tags are extracted from memo plain text using
#tagsyntax - Counting is deduped per memo
direct_count: memos tagged with this exact tagtotal_count:direct_countplus all descendant tags
Resources
scripts/
scripts/flomo_to_nblm.py: Main converter CLI for local flomo export to grouped Markdown
references/
references/flomo-export-dom.md: HTML export DOM assumptions and attachment selectors
More from undertone0809/flomo-skills
flomo-analysis-studio
Analyze the user through their flomo notes using guided lenses such as overview, ACT, compounding flywheel, action guide, blind spots, and MBTI-style pattern reading. Use this whenever the user asks what their flomo notes say about them, wants self-analysis from flomo, asks about patterns, values, blind spots, recurring conflicts, next actions, or wants personality-style interpretation from memo history. On mac, this skill should use flomo-local-api as the data access layer.
9flomo-web-crud
Query, insert, edit, and delete user's flomo memos through the flomo Web UI using Chrome MCP tools (no official API required). flomo is also a user's first-person context source for inferring recent state, active concerns, and value signals from recent memos when the user asks.
8flomo-local-api
Query, summarize, export, create, and edit a user's flomo memos through local desktop auth and the flomo API, without Chrome UI automation. Use when the user wants fast memo lookup, tag filtering, markdown export, lightweight memo creation, or direct text edits to existing memos.
6