From sjh-skills
Interacts with personal Notion LifeOS (PARA: tasks, notes, projects; Make Time journals) via pre-configured DB IDs and API to add tasks/notes/projects, query todos, search notes, journal, reflect.
npx claudepluginhub jiahao-shao1/sjh-skills --plugin sjh-skillsThis skill uses the workspace's default tool permissions.
A Notion life management system based on the PARA method and Make Time framework.
CONFIG.private.md.exampleJEFF_SU_SUMMARY.mdLICENSEREADME.mdREADME.zh-CN.mdevals/trigger_eval.jsonreferences/advanced.mdreferences/api-guide.mdreferences/mcp-guide.mdreferences/query-guide.mdreferences/schema.mdreferences/setup.mdscripts/check_today_journal.shscripts/collect-drift-data.shscripts/create-task.shscripts/list_undone_tasks.shscripts/query-notes.shscripts/query-projects.shscripts/query-tasks.shManage FlowMind productivity workspace via REST API: create/list/update/delete goals, tasks (subtasks), notes, people, tags; track progress, manage focus/priorities.
Captures conversations and decisions into structured Notion pages for wiki entries, how-tos, decisions, or FAQs with proper linking. Use when turning chats into reusable knowledge bases.
Creates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Share bugs, ideas, or general feedback.
A Notion life management system based on the PARA method and Make Time framework.
See JEFF_SU_SUMMARY.md for detailed design philosophy.
Read these as needed — do NOT load them all upfront:
| File | When to read |
|---|---|
| references/schema.md | Before creating/updating any entry (get field names & types) |
| references/mcp-guide.md | When using MCP tools (Claude Code / Claude.ai) |
| references/api-guide.md | When using REST API (OpenClaw / Codex / other agents) |
| references/query-guide.md | When querying/filtering data (tasks by date, done status, etc.) |
| references/advanced.md | For composite intents or error handling |
notion-search is semantic only and CANNOT filter by property values.| User Intent | Target DB | Method |
|---|---|---|
| "Take a note about XXX" | Notes | MCP / API |
| "Add a task: XXX" | Task | scripts/create-task.sh / MCP / API |
| "The best thing today was..." | Make Time | MCP / API (check dedup first) |
| "Create project XXX" | Projects | MCP / API |
| "Today's tasks" | Task | scripts/query-tasks.sh --date today |
| "Any unfinished tasks?" | Task | scripts/query-tasks.sh --undone |
| "Today's unfinished tasks" | Task | scripts/query-tasks.sh --date today --undone |
| "Search notes about XX" | Notes | MCP notion-search |
| "Add a resource/reference" | Resources | MCP / API |
| "Query my recent thoughts" | Notes | scripts/query-notes.sh --type Thoughts |
| "List active projects" | Projects | scripts/query-projects.sh |
| "Tasks completed this month" | Task | scripts/query-tasks.sh --done --since YYYY-MM-DD --by-edited |
| "/challenge X" | Notes | scripts/query-notes.sh + CC analysis (see Reflection Commands) |
| "/emerge" | Notes | scripts/query-notes.sh + CC analysis (see Reflection Commands) |
| "/drift" | Projects + Task + Git | scripts/collect-drift-data.sh + CC analysis (see Reflection Commands) |
For Note Type selection and Make Time journal extraction logic, see references/query-guide.md. For composite intents (multiple actions in one message), see references/advanced.md.
~/.config/notion-lifeos/CONFIG.private.md for IDs (fallback: CONFIG.private.md in skill dir). If missing, search for "LifeOS" root page (NOT "LifeOS Template"). Last resort: guide user to references/setup.md.scripts/check_today_journal.sh). Update if exists.2026-03-08).These commands use Notion data + Git history as input, with CC performing the analysis. Output is terminal only — never write to Notion.
Stress-test a current belief against past writing.
scripts/query-notes.sh --type Thoughts --days 90 --limit 50notion-fetch to read the top 15-20 most relevant notes (do NOT fetch all 50 — context budget)Surface recurring themes and hidden patterns in recent thinking.
scripts/query-notes.sh --type Thoughts --days 30 --limit 50notion-fetch to read those 15 notesDetect gaps between stated goals and actual activity.
scripts/collect-drift-data.sh --days N (default 30)~/.claude/rules/personal-context.md for project↔repo mapping hints__YES__ / __NO__, NOT true/falseuserDefined: (e.g., userDefined:URL)date:PropName:start, date:PropName:end, date:PropName:is_datetimedatabase_id, MCP uses data_source_id — they differ