agentsclimarketplace

Notion weekly

Skill NovateStudioGit/novate-studio-skills/knowledge-ops/notion-weekly

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.From its SKILL.md

Install
npx -y skills add NovateStudioGit/novate-studio-skills --skill notion-weekly

Assembled 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.

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:
    {
      "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>"
      }
    }
    
    If no config exists on first run, interactively build it and save.
  • Week scope (optional). Default: last 7 days from now. User can pass "since 2026-05-10" or "this month".

Steps

  1. Load config. If missing, prompt to set up databases inline before continuing.
  2. For each configured database:
    • notion-fetch the schema.
    • Enumerate rows using the search-letter workaround.
    • Compute rollups:
      • sum:<prop> → SUM across all rows
      • sum:<prop>:filter → SUM where filter matches
      • count_by:<prop> → grouped counts (returns top 5)
      • new_this_week → rows where createdTime > (now - 7d)
      • changed_this_week → rows where last_edited_time > (now - 7d) AND createdTime ≤ (now - 7d)
      • renewals_due_30d → if the DB has a Renewal date property, list rows where date ≤ now + 30d
  3. 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 actions section — one or two specific things based on the data (e.g. "3 tools still on trial — convert or cancel", "Domain renewal in 7 days").
  4. Write outputs:
    • Vault: ~/Obsidian/<vault_path>/YYYY-MM-DD-notion-weekly.md with frontmatter (type: business-decision, tags: [notion, weekly, novate-studio]).
    • Notion (optional): if notion_target_page is configured, create a sub-page under it with the same content via notion-create-pages.
  5. 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. createdTime from 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.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.