From 69526d345ae9e5738724b3293d91a983c6e9e723 Mon Sep 17 00:00:00 2001 From: Andrew Yim Date: Tue, 28 Apr 2026 13:57:29 +0900 Subject: [PATCH] fix(notion-search): correct --filter example syntax in docs Final review caught that both --filter example locations used simplified JSON ({"Status": "Done"}) that Notion's data_sources.query API rejects with a 400. The script passes --filter verbatim, so users copy-pasting the example would hit a confusing error. Replace with Notion's actual filter shape: {"property": "Status", "status": {"equals": "Done"}} Also added a compound (and/or) example in CLAUDE.md so users have a reference for combining filters. 30/30 tests still pass. Co-Authored-By: Claude Opus 4.7 (1M context) --- custom-skills/31-notion-organizer/code/CLAUDE.md | 8 ++++++-- .../31-notion-organizer/commands/notion-search.md | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/custom-skills/31-notion-organizer/code/CLAUDE.md b/custom-skills/31-notion-organizer/code/CLAUDE.md index a64e338..010e7b4 100644 --- a/custom-skills/31-notion-organizer/code/CLAUDE.md +++ b/custom-skills/31-notion-organizer/code/CLAUDE.md @@ -28,9 +28,13 @@ python scripts/notion_search.py "AI agents" --json | jq '.[].id' # Constrain to specific databases python scripts/notion_search.py "MCP" --databases f8f19ede-32bd-43ac-9f60-0651f6f40afe -# Property filter +# Property filter (Notion's filter shape — passed verbatim to data_sources.query) python scripts/notion_search.py "MCP" --databases ID \ - --filter '{"Status": "Done", "Topic": "AI"}' + --filter '{"property": "Status", "status": {"equals": "Done"}}' + +# Compound filter (and/or) +python scripts/notion_search.py "MCP" --databases ID \ + --filter '{"and": [{"property": "Status", "status": {"equals": "Done"}}, {"property": "Topic", "multi_select": {"contains": "AI"}}]}' # Fast mode (skip LLM stages) python scripts/notion_search.py "exact term" --no-rerank --no-expand diff --git a/custom-skills/31-notion-organizer/commands/notion-search.md b/custom-skills/31-notion-organizer/commands/notion-search.md index edc0abe..6e38f4c 100644 --- a/custom-skills/31-notion-organizer/commands/notion-search.md +++ b/custom-skills/31-notion-organizer/commands/notion-search.md @@ -19,7 +19,7 @@ python3 notion_search.py "$ARGUMENTS" - **Default browse mode** (terminal table): `notion-search "AI agents in 2026"` - **JSON for piping** (e.g. into the future notion-to-notebooklm push skill): `notion-search "AI agents" --json | jq '.[].id'` - **Constrain to specific databases**: `notion-search "MCP" --databases f8f19ede-32bd-43ac-9f60-0651f6f40afe` -- **Property filter** (per-database mode): `notion-search "MCP" --databases ID --filter '{"Status": "Done"}'` +- **Property filter** (per-database mode, Notion's native filter shape): `notion-search "MCP" --databases ID --filter '{"property": "Status", "status": {"equals": "Done"}}'` - **Fast mode (no LLM)**: `notion-search "exact phrase" --no-rerank --no-expand` ## Requirements