fulcra-media

Import media watch, listen, and read history into a Fulcra account via CLI.

10|1|Updated May 21, 2026
One-click install
npx skills add https://github.com/ashfulcra/fulcra-tools --skill fulcra-media-ashfulcra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fulcra-media
Source: https://github.com/ashfulcra/fulcra-tools/tree/main/packages/media-helpers/skills/fulcra-media
Command: npx skills add https://github.com/ashfulcra/fulcra-tools --skill fulcra-media-ashfulcra

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Your media history is scattered across Netflix, Spotify, Last.fm, Trakt, Letterboxd, Goodreads, YouTube, and other services, making it impossible to query or analyze in one place. This Skill imports all of those events into a Fulcra account as DurationAnnotations so your agents can work with a unified, durable record. ## Core Features & Use Cases - Multi-source imports: Run idempotent imports from 14+ importers including lastfm, deezer, trakt, netflix, apple-podcasts, letterboxd, goodreads, youtube, generic-csv, and generic-rss, each emitting a stable JSON envelope. - Incremental sync with watermarks: API-poll importers track ISO 8601 watermarks so re-runs are cheap and never double-count; --check-only probes report would_post counts without paying ingest cost. - Scheduled agent operation: Run imports on cron, launchd, or agent-runtime heartbeats (Hermes, openclaw, OpenHands) using the bounded inspect-probe-import tick pattern. - Use Case: A user wants their Spotify listening tracked continuously. You set up Last.fm scrobbling, run fulcra-media bootstrap, then schedule an hourly fulcra-media import lastfm --json job that only posts new scrobbles. ## Quick Start Run fulcra-media status to see what is already configured, then ask the agent to import my Last.fm history into Fulcra.

Frequently Asked Questions about fulcra-media

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I import my Netflix or Spotify history into Fulcra?

Run fulcra-media bootstrap once to create the annotation definitions, then run fulcra-media import netflix with your GDPR CSV export, or fulcra-media import lastfm for ongoing Spotify tracking via scrobbling. Every import is idempotent, so re-runs never double-count events.

How do I schedule automatic media syncs with fulcra-media?

Use cron, launchd, or an agent runtime heartbeat to run fulcra-media import <name> --json on a cadence: hourly for lastfm, deezer, and trakt; daily for RSS-based importers. Probe first with --check-only and only run the real import when would_post is greater than zero.

Which media services does fulcra-media support?

Supported importers include lastfm, deezer, trakt, netflix, apple-podcasts, apple-takeout, letterboxd, goodreads, youtube, spotify-extended, spotify-ifttt, generic-csv, and generic-rss, plus a webhook receiver for Plex and Jellyfin. Run fulcra-media import --help for the live list.

Does fulcra-media work with Apple Music, Tidal, or SoundCloud?

Yes, indirectly through Last.fm. Connect these services to Last.fm via in-app scrobbling or the Web Scrobbler browser extension, then use the lastfm importer, which acts as a universal music sidecar for services without a direct importer.

Why did my fulcra-media import succeed but events do not appear in queries?

This is usually Fulcra's ingest-to-query indexing lag, which can take seconds to minutes for bulk imports. If events still do not appear, verify the annotation definition UUID in fulcra-media status matches your query, or check for source-id collisions with a soft-deleted definition.

Can I check for new media events without paying ingest cost?

Yes. Run fulcra-media import <name> --check-only --json and read the would_post field. It reports how many events would be posted using only an API readback, so you can poll frequently and only run the real import when new events exist.