agentsclimarketplace

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.

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.

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:
    {
      "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.

Keep looking

Skills are one crate of 328,083. 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.