publish
Skill1 starsChanged 4 months agoMITView on GitHub
Publish an analyzed action plan to Notion (via your connected Notion MCP), create Todoist tasks for your action items, and optionally Google Drive, then mark the recording processed.
- Reads credentials
60 other projects use a version of this.
Adopted by
Most recently taken up by
- jskswamy/skillstheir own version, first seen Nov 8, 2026
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tooltheir own version, first seen Nov 8, 2026
- Mharbulous/probanda-devtheir own version, first seen Nov 8, 2026
- hyperstructure/sandboxtheir own version, first seen Nov 8, 2026
- will-17173/telegram-clitheir own version, first seen Nov 8, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
Used with
Projects with it also use create, ingest and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillcreate
Also in 4 projects that use this
JaimeGBASkillingest
Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base
Also in 6 projects that use this
genomewalkerSkillexplore
RLM-style recursive memory exploration - dynamically navigate the memory graph
Also in 4 projects that use this
GoogleSkilltranslate
Translates a common phrase into one or more languages.
Also in 3 projects that use this
aakash-dharSkilloptimize
Analyzes code for performance issues including slow algorithms, memory leaks, unnecessary re-renders, database query problems, and resource bottlenecks. Use when the user says "this is slow", "optimize this", "performance issue", "why is this taking so long?", or "make this faster".
Also in 3 projects that use this
kt057Skillcheck
lint, typecheck, test を一括実行して結果をサマリーする
Also in 3 projects that use this
Other versions60 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 60
- code-yeongyu/oh-my-opencode★ 71ksame name
- code-yeongyu/oh-my-openagent★ 71ksame name
- garrytan/gbrain★ 32ksame name
- TencentCloud/Octop★ 12ksame name
- harbor-framework/harbor★ 6.9ksame name
- laude-institute/harbor★ 6.9ksame name
- Q00/ouroboros★ 6.3ksame name
- paean-ai/deeptide★ 1.1ksame name
- ZimoLiao/scholaraio★ 585same name
- ai-search-guru/getcito-worlds-first-open-source-aio-aeo-or-geo-tool★ 432same name
50 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 49 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Read artifacts/$1.plan.json.
- Very specific: line 20
If the user named a target in this request (e.g.
- Distinctive: line 23
Never guess. Then cache the choice:
- Distinctive: line 40
If create-pages returned no page URL, the publish did not happen - skip this and step 5 (marking).
- Distinctive: line 49
If it is EMPTY, offer setup once: find the "Meetings" project with the Todoist MCP find-projects tool (create it with add-projects if it …
- Distinctive: line 55
If the user declines Todoist setup, skip this step.
- Very specific: line 60
If the JSON contains "skip": true (tasks already recorded, or no items owned by the user), report the reason and continue to step 4.
- Distinctive: line 70
If add-tasks returned no parent task id, do not record.
“Common” is measured: kept by at least 6 in 10 of the 49 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Publish the plan for recording $1. Default target is both: Notion always, Drive only when it
is configured. Read --to from $ARGUMENTS.
- Read
artifacts/$1.plan.json. If it is missing, run/loom-daddy:analyze $1first. - Notion (when target is
notionorboth): publish via the connected Notion MCP. NoNOTION_TOKENis used. a. Resolve the destination database. Read the cached id:cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/config-get.ts notion.databaseId- If the user named a target in this request (e.g. "to my Meeting Notes DB"), OR nothing is
cached: find it with the Notion MCP
notion-search(query_type internal). If exactly one clear match, use it; if several or none, show the candidates and ask the user to pick. Never guess. Then cache the choice:cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/config-set.ts notion.databaseId <id> --name "<name>" - Otherwise reuse the cached id.
b. Create the page with the Notion MCP create-pages tool. Use whichever Notion MCP is connected
(an interactive session exposes the Notion plugin tools; a scheduled run exposes the
claude.ai Notion connector). If the database has multiple data sources, fetch it first to get
the right
data_source_id. Render the page body as Notion Markdown matching the built-in layout: title =recordingName; aRecorded by: <recorderName>paragraph first when the plan has a non-nullrecorderName; sections Summary; Decisions (each with a timestamp deep linkhttps://www.loom.com/share/$1?t=<sourceTs>); Action Items as a table (item, owner with "(guess)" whenownerIsGuess, priority, timeframe, source link); Open Questions. c. Record the confirmed publish using the page URL the create-pages tool returned:
If create-pages returned no page URL, the publish did not happen - skip this and step 5 (marking).cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/record-publish.ts $1 --url <pageUrl> - If the user named a target in this request (e.g. "to my Meeting Notes DB"), OR nothing is
cached: find it with the Notion MCP
- Todoist (after a confirmed Notion publish): create tasks for the user's own action items via
the connected Todoist MCP.
a. Read the cached destination:
If it is EMPTY, offer setup once: find the "Meetings" project with the Todoist MCP find-projects tool (create it with add-projects if it does not exist), confirm with the user the owner name that identifies them in transcripts, then cache:cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/config-get.ts todoist.projectId
If the user declines Todoist setup, skip this step. b. Build the payload:cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/config-set.ts todoist.projectId <id> --name "Meetings" --owner "<name>"
If the JSON containscd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/todoist-payload.ts $1"skip": true(tasks already recorded, or no items owned by the user), report the reason and continue to step 4. c. Create the parent task with the Todoist MCP add-tasks tool using the payload'sparent(content, description) andprojectId. Then create the subtasks with a second add-tasks call, each withparentIdset to the parent task id the first call returned; subtasks carry content, description, priority, and dueString when present. d. Record the confirmed creation:
If add-tasks returned no parent task id, do not record; report it so the user can retry. A Todoist failure never blocks step 4 or step 5.cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/record-todoist.ts $1 --task-id <parentTaskId> --count <subtaskCount> - Drive (when target is
driveorboth): the built-in publisher also writes the markdown copy. It skips itself when Drive is not configured, so this is safe to run unconditionally:
(cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/publish.ts $1 --drive-only --commit--drive-onlyskips the built-in Notion write; Notion is handled via MCP above. If it prints[skip] Drive not configured, that is expected when Drive is optional and unset.) - On success, mark the recording processed so the background poller will not republish it:
mark.ts refuses to mark unless the Notion publish receipt from step 2c exists (passcd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/mark.ts $1--forceonly for a deliberate Drive-only publish with no Notion target).
Report what was published and where, how many Todoist tasks were created (or why the step was skipped), and whether Drive was skipped.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

