publish
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…
Skill by fontezbrooks
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fontezbrooks-publish
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/publish
Tools it pre-approves 2
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Bash
What's inside
- Skill name
publish- Description
- 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.
- License
- MIT
- Allowed tools
- Read,, Bash
- Instructions
- 83 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves any shell command
Files (1)
- SKILL.md
SKILL.md (first lines)
Publish the plan for recording `$1`. Default target is `both`: Notion always, Drive only when it
is configured. Read `--to` from `$ARGUMENTS`.
1. Read `artifacts/$1.plan.json`. If it is missing, run `/loom-daddy:analyze $1` first.
2. Notion (when target is `notion` or `both`): publish via the connected Notion MCP. No
`NOTION_TOKEN` is used.
a. Resolve the destination database. Read the cached id:
```bash
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:
```bash
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`; a `Recorded by: <recorderName>` paragraph first when the
plan has a non-null `recorderName`; sections Summary; Decisions (each with a timestamp deep
link `https://www.loom.com/share/$1?t=<sourceTs>`); Action Items as a table (item, owner with
"(guess)" when `ownerIsGuess`, priority, timeframe, source link); Open Questions.
c. Record the confirmed publish using the page URL the create-pages tool returned:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/record-publish.ts $1 --url <pageUrl>
```
If create-pages returned no page URL, the publish did not happen - skip this and step 5
(marking).
3. 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:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/config-get.ts todoist.projectId
```
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:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/config-set.ts todoist.projectId <id> --name "Meetings" --owner "<name>"
```
If the user declines Todoist setup, skip this step.
b. Build the payload:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/todoist-payload.ts $1
```
If the JSON contains `"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's `parent`
(content, description) and `projectId`. Then create the subtasks with a second add-tasks
call, each with `parentId` set to the parent task id the first call returned; subtasks carry
content, description, priority, and dueString when present.
d. Record the confirmed creation:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/record-todoist.ts $1 --task-id <parentTaskId> --count <subtaskCount>
```
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.
4. Drive (when target is `drive` or `both`): the built-in publisher also writes the markdown copy.
It skips itself when Drive is not configured, so this is safe to run unconditionally:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/publish.ts $1 --drive-only --commit
```
(`--drive-only` skips 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.)
5. On success, mark the recording processed so the background poller will not republish it:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && npx tsx --env-file-if-exists=.env scripts/mark.ts $1
```
mark.ts refuses to mark unless the Notion publish receipt from step 2c exists (pass `--force`
only 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.From fontezbrooks/loomDaddy, MIT.
More from fontezbrooks/loomDaddy
- 0.547score
loom
fontezbrooks
Work with the user's Loom recordings - list new ones, analyze a recording into an action plan, publish it to Notion/Drive, or run the whole pipeline.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
analyze
fontezbrooks
Fetch a Loom recording's transcript and produce a reviewed action plan in the chat.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
process
fontezbrooks
Run the whole Loom pipeline over all new recordings - fetch, analyze, publish, and mark each.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
setup
fontezbrooks
Check the Loom pipeline environment (Loom session, data dir, optional Drive, Notion MCP) and guide first-time setup.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
schedule
fontezbrooks
Manage the local background poller that runs the Loom pipeline on a schedule (install, remove, status).
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
loom-auth
fontezbrooks
Mint or refresh the authenticated Loom session by opening a real browser for Google SSO.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
render
fontezbrooks
Render an already-analyzed action plan to review-ready markdown without publishing.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
status
fontezbrooks
Check whether the stored Loom session is still valid or has expired.
SkillBFreshness: B★ 1Claude Code +9 - 0.536score
list
fontezbrooks
List the user's recent Loom recordings, showing which are new versus already processed.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 30, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/fontezbrooks/loomDaddy
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from fontezbrooks
- 0.547score
loom
fontezbrooks
Work with the user's Loom recordings - list new ones, analyze a recording into an action plan, publish it to Notion/Drive, or run the whole pipeline.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
analyze
fontezbrooks
Fetch a Loom recording's transcript and produce a reviewed action plan in the chat.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
process
fontezbrooks
Run the whole Loom pipeline over all new recordings - fetch, analyze, publish, and mark each.
SkillBFreshness: B★ 1Claude Code +9 - 0.541score
setup
fontezbrooks
Check the Loom pipeline environment (Loom session, data dir, optional Drive, Notion MCP) and guide first-time setup.
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
schedule
fontezbrooks
Manage the local background poller that runs the Loom pipeline on a schedule (install, remove, status).
SkillBFreshness: B★ 1Claude Code +9 - 0.539score
loom-auth
fontezbrooks
Mint or refresh the authenticated Loom session by opening a real browser for Google SSO.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
publish skill. Agent Mart. https://agentmart.dev/skills/fontezbrooks-publish (last updated 2026-10-24)