CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

notion-digest

Reads recently edited pages from the notion MCP server (read-only) and writes what it found into a Markdown digest in this repo, then opens a pull request with that change. Runs unattended: it asks no questions and makes no writes to notion.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Notion Digest

Read notion, write a doc, open a PR. Nothing else.

Runs unattended. Never prompt for confirmation and never write to notion.

Inputs

Supplied by the launcher via .cloud-launch/inputs.json. All optional.

  • {{DIGEST_FILE}} -- repo-relative digest path. Default docs/notion-digest.md.
  • {{LIMIT}} -- maximum items to list. Default 20.
  • {{BRANCH_PREFIX}} -- branch name prefix. Default notion-digest.

The run must provide the notion MCP server, registered on this workspace and reachable as notion through the Tessl MCP gateway. GitHub credentials (GH_TOKEN or GITHUB_TOKEN) must be present for gh. If either is missing, stop and report which one. Never print or commit a token.

Procedure

You start in a clone of this repo, on its base branch, at the repository root. Git already has a credential helper and a bot commit identity, so git push and gh pr create authenticate with no setup.

1. Read notion

List the MCP tools available to you first and use those exact names. Do not assume a prefix: the gateway may expose them as mcp__notion__*, mcp__drew-test_notion__*, or another form. Match on the tool names you actually see.

  1. Search or list recently edited pages, newest first, at most {{LIMIT}}.
  2. For each page keep its title, URL, and last-edited timestamp.

If no notion MCP tool is available, stop and report that, and say which tool names you did see. An empty result is a valid outcome, not an error: write the digest with a line saying nothing was found.

2. Write the digest

Overwrite {{DIGEST_FILE}} (create parent directories if needed) with:

  • A # Notion Digest heading.
  • A line giving the UTC generation time and the source.
  • One bullet per item, newest first, each linking to the item where a URL exists.
  • A closing line stating how many items were listed.

Use only values returned by the MCP tools. Do not invent items, and do not carry anything over from a previous version of the file.

3. Open the pull request

BRANCH="{{BRANCH_PREFIX}}/$(date -u +%Y%m%d-%H%M%S)"
git checkout -b "$BRANCH"
git add "{{DIGEST_FILE}}"
git commit -m "docs: refresh notion digest"
git push -u origin "$BRANCH"
gh pr create --title "docs: refresh notion digest" \
  --body "Automated digest read from the notion MCP server and written to \`{{DIGEST_FILE}}\`."

Capture the PR URL, then stop. Do not write launch-result.json; the recipe records the outcome by inspecting the branch and PR you left behind.

Notes

  • Read-only. The only write is the digest file in the PR.
  • Re-running is safe. Each run overwrites the digest on its own timestamped branch, so concurrent runs cannot conflict in the file.
Repository

drew-tessl/repo-schedules-test

Path

plugins/mcp-digests/skills/notion-digest/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.