Notion weekly
Skill NovateStudioGit/novate-studio-skills/knowledge-ops/notion-weekly
57 agent skills for Claude Code — creative production, paid growth, copywriting, ecommerce, email marketing & knowledge ops. By Novate Studio.
npx -y skills add NovateStudioGit/novate-studio-skills --skill notion-weeklyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Monday-morning Notion brief. Pulls rollups from one or more configured Notion databases (OPEX total, this-week tasks, status changes, renewals due) into a single recap page in the vault and (optionally) Notion. Mirrors the /klaviyo-weekly pattern. Use when the user says "weekly Notion brief", "Monday update from Notion", "what changed in Notion this week", or via cron / scheduled run.
SKILL.md
4.3 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
/notion-weekly
Synthesizes the state of Will's Notion workspace into a one-page Monday brief. ~2 min runtime.
Inputs
- Config file at
~/Desktop/ADMIN/skills/Notion Skills/notion-weekly/config.json(created on first run). Schema:
If no config exists on first run, interactively build it and save.{ "databases": [ {"name": "OPEX & SaaS", "url": "https://www.notion.so/...", "type": "tracker", "rollups": ["sum:Monthly Cost $", "count:Status=Trial"]}, {"name": "Leads", "url": "https://www.notion.so/...", "type": "pipeline", "rollups": ["count_by:Stage", "new_this_week"]} ], "output": { "vault_path": "Admin/sessions", "notion_target_page": "https://www.notion.so/<weekly-briefs-page>" } } - Week scope (optional). Default: last 7 days from now. User can pass "since 2026-05-10" or "this month".
Steps
- Load config. If missing, prompt to set up databases inline before continuing.
- For each configured database:
notion-fetchthe schema.- Enumerate rows using the search-letter workaround.
- Compute rollups:
sum:<prop>→ SUM across all rowssum:<prop>:filter→ SUM where filter matchescount_by:<prop>→ grouped counts (returns top 5)new_this_week→ rows wherecreatedTime> (now - 7d)changed_this_week→ rows wherelast_edited_time> (now - 7d) ANDcreatedTime≤ (now - 7d)renewals_due_30d→ if the DB has a Renewal date property, list rows where date ≤ now + 30d
- Compose brief. Markdown structure:
# Notion Weekly — YYYY-MM-DD- One section per configured DB
- Key rollup numbers at the top (e.g. "Monthly burn: $250 — up $24 from last week")
- "New this week" list
- "Changed this week" list (status flips most useful)
- "Heads up" callouts (renewals, trial expirations, stale Active rows)
## Recommended actionssection — one or two specific things based on the data (e.g. "3 tools still on trial — convert or cancel", "Domain renewal in 7 days").
- Write outputs:
- Vault:
~/Obsidian/<vault_path>/YYYY-MM-DD-notion-weekly.mdwith frontmatter (type: business-decision,tags: [notion, weekly, novate-studio]). - Notion (optional): if
notion_target_pageis configured, create a sub-page under it with the same content vianotion-create-pages.
- Vault:
- Print summary to conversation: 3-bullet TL;DR + path to the full brief.
Decision rules
- Compare to last week. Always include deltas where possible — burn is more useful as "$250 (+$24)" than "$250".
- Surface 1–2 actions max. A wall of action items is noise; surface the highest-leverage couple.
- Renewals beat sums. If a renewal is in the next 7 days, that goes at the top of the heads-up section regardless of other content.
Anti-patterns
- Don't include rollups the user didn't configure. The config is the contract.
- Don't write a generic "looks healthy" if nothing changed — say "No changes this week" tersely.
- Don't propose recommended actions that go beyond what the data supports. If the data is thin, say so.
Hard-won gotchas
- History. Last week's brief lives at
Admin/sessions/YYYY-MM-DD-notion-weekly.md. Read it to compute deltas. If it doesn't exist, compute current state only and note "first run — no comparison available". - Cron compatibility. This skill should work from a non-interactive context for scheduled runs. If config is missing in non-interactive mode, exit with error rather than prompting.
- Time zones. Use local time (the user's machine) for date math, not UTC.
createdTimefrom Notion is UTC — convert.
Companion: setting up cron
If user wants this to run automatically every Monday:
0 9 * * 1 cd ~ && claude -p "/notion-weekly" >> ~/Obsidian/Admin/sessions/.weekly-runs.log 2>&1
Suggest only if user asks; don't auto-install.