mastodon-ingest
Fetch recent Mastodon posts and record interesting content to the vault
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Fetch recent Mastodon posts and record interesting content to the vault
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Unified knowledge base — shared Obsidian-compatible vault for curated pages, journal entries, and user notes
Daily scheduled brainstorm (also runnable on demand via /blog-ideas) that reviews the week-so-far across ingested activity, the daily journal, and the blog archive, and maintains a living weekly page of blog-post ideas.
Fetch recent Linkding bookmarks, analyze their content in child agents, and record insights to the vault
Fetch recent activity across all me-to-markdown sources (Mastodon, Linkding, GitHub, Spotify, YouTube, Pocket Casts), analyze each source in a child agent, and record insights to the vault
Fetch new items from subscribed RSS/Atom feeds and record interesting content to the vault
Review recent journal entries and conversations, distill insights into vault pages
| name | mastodon-ingest |
| description | Fetch recent Mastodon posts and record interesting content to the vault |
| effort | default |
| allowed-tools | shell($SKILL_DIR/fetch.sh*), vault_read, vault_write, vault_search, vault_list, vault_backlinks, vault_journal_append, current_time |
| user-invocable | true |
Fetch recent Mastodon posts and integrate interesting content into the vault knowledge base.
Write all Mastodon-derived pages directly under agent/pages/mastodon/ as a flat namespace — no topical subdirectories. Use [[wiki-links]] between pages to express relationships, and link out to related pages elsewhere in the vault. The garden skill handles promoting clusters to subdirectories when they earn it.
Required environment variables (set in .env or config.json env section):
| Env Var | Description |
|---|---|
MASTODON_SERVER | Mastodon instance URL (e.g. https://mastodon.social) |
MASTODON_ACCESS_TOKEN | API token (Settings > Development > New Application, read:statuses scope) |
Run the fetch script using the shell tool. The script is bundled with this skill:
$SKILL_DIR/fetch.sh
What this does (no-args mode):
mastodon-to-markdown binaryworkspace/skill-state/mastodon-ingest/last-run-time.txt)--exclude-boosts and --exclude-replies by defaultBackfill mode. When invoked with arguments, the script forwards them directly to the underlying mastodon-to-markdown fetch binary and skips the timestamp update — so a backfill doesn't clobber the scheduled-cycle state. The --exclude-boosts / --exclude-replies defaults are also dropped; pass them explicitly if you want them. Use this when the user asks for older posts or a specific date range:
$SKILL_DIR/fetch.sh --since 7d # last 7 days, ad-hoc
$SKILL_DIR/fetch.sh --start 2026-04-01 --end 2026-04-30
$SKILL_DIR/fetch.sh --since 7d --exclude-boosts --exclude-replies
Available flags (forwarded to the binary): --since <duration> (e.g. 24h, 7d), --start YYYY-MM-DD, --end YYYY-MM-DD, --exclude-boosts, --exclude-replies, --exclude-favorites, --public-only, --visibility <list>, --sort-order asc|desc. See $SKILL_DIR/bin/<platform>/mastodon-to-markdown fetch --help for the full list.
If the script fails (missing env vars, binary not found), report the error and stop.
Read through the fetched posts. For each one, consider:
Skip boring posts — routine posts, casual replies, and low-signal content don't need wiki entries.
For each interesting post:
vault_search to find existing relevant pages.vault_read it, revise with new context. PRESERVE the existing frontmatter as-is. If this post has a URL, APPEND a new entry to the sources: list for it (don't modify earlier entries — they record when each source was first added); if there's no URL, leave sources: as-is. Either way, append the post to the body ## Sources section. vault_write the updated page.sources: with just this post; otherwise omit the sources: key. Don't backfill historical sources from the body ## Sources section.[[wiki-links]], and a ## Sources section listing this post.New-page frontmatter:
---
tags: [<topic-tags>]
summary: one-line summary of the page
sources:
- url: <post URL>
date: <post date as YYYY-MM-DD>
added_by: mastodon-ingest
---
sources: is a YAML list of objects keyed by URL — the list exists for revalidation tooling, which needs a URL to refetch. If the post has no URL, OMIT the sources: key entirely from the frontmatter (or leave any existing list unchanged) and just note the source in the body ## Sources section.
In the ## Sources section, note the Mastodon post date and include the post URL if available.
If you made vault changes, summarize what you added/updated. If there was nothing interesting to ingest, respond with HEARTBEAT_OK.