Install
openclaw skills install @fulcra/fulcra-ingestAutonomously orchestrate the ingestion of 3rd-party data exports (e.g., Spotify, Netflix) from the Fulcra File Store into properly mapped Fulcra Annotations.
openclaw skills install @fulcra/fulcra-ingestThis skill orchestrates the ingestion of 3rd-party data exports that the user has uploaded to their Fulcra File Store. It profiles the data schemas, creates idempotent Fulcra Annotation mappings, and ingests the data points.
ingest. Do not ask them to map schemas manually unless absolutely necessary for a completely unrecognized format.ingest/ directory for new files or to fetch data from APIs and other sources. You must explicitly confirm what data will be collected, how often, where it will be stored, and how to stop the operation before establishing automated fetching._meta/ subdirectory and any .md files found in the ingest root to prevent attempting to ingest the agent's own OKF tracking files.description field to store the specific namespace (e.g., com.fulcradynamics.annotation.ingest.spotify) and check the catalog first.ingest/_meta/ingest_log.md detailing what was ingested, record counts, and start/end dates. When completing an interactive ingestion or when asked about recent ingests, use this log to generate a fun, simple ASCII chart summarizing the data (e.g., a timeline or simple visualization showing start/end dates and record counts).Beyond straightforward 1:1 data transfer, you can perform advanced transformations and enrichments to maximize the value of the user's data:
fulcra-api delete command, update the schema (creating a new data type if necessary), and re-ingest the data. You must obtain explicit user confirmation before running the fulcra-api delete command. You can re-import previously archived files from ingest/_meta/archive/artifact/ to process the new tags. Before modifying or re-processing existing records, confirm the plan with the user.references/fulcra-ingest-cli.md: Contains the necessary fulcra-api CLI commands for checking the catalog, listing files, and creating new data types, as well as providing the exact batch ingestion syntax, JSON schemas, and tagging instructions required for ingesting records to Fulcra Annotations.references/fulcra-ingest-source-mapping.md: Outlines the structure and workflow for maintaining the ingest/_meta/source_map.md file, which tracks data lineage, prevents duplicate schemas, handles ingest versioning, and logs archived files.scripts/generate_deterministic_id.py: A python script that takes arbitrary string arguments and returns a consistent, deterministic UUID. Use this to ensure idempotency across ingested records.The Fetcher (API/CLI Extraction) (If applicable)
uvx fulcra-api file upload <local_file> ingest/<filename>.Triage
uvx fulcra-api file list to check the ingest/ directory. Explicitly ignore the _meta/ folder and any .md files.Profiling & Ingestion
uvx fulcra-api file download <file_id> ./<filename>.references/fulcra-ingest-source-mapping.md. Rely on the source_map.md registry to resolve the target schema ID. If you need to create a new schema for an unseen source, consult references/fulcra-ingest-cli.md for the correct CLI commands and base types.id using scripts/generate_deterministic_id.py (ensure you pass the source identifier followed by the specific ID fields to prevent cross-service collisions).fulcra-api record command exactly as specified in references/fulcra-ingest-cli.md.Cleanup & Archive
ingest/ and re-uploading it to ingest/_meta/archive/artifact/. When archiving, prefix the filename with a timestamp in the format YYYYMMDD-HHMMSS.uvx fulcra-api file download ingest/NetflixViewingHistory.csv ./NetflixViewingHistory.csv (if not already downloaded)uvx fulcra-api file upload ./NetflixViewingHistory.csv ingest/_meta/archive/artifact/20260625-143000_NetflixViewingHistory.csvuvx fulcra-api file list ingest/_meta/archive/artifact/ or uvx fulcra-api file stat ingest/_meta/archive/artifact/20260625-143000_NetflixViewingHistory.csv). This is a move operation, so ensuring the destination exists is critical to avoid data loss.fulcra-api file delete autonomously to remove the original file from the ingest/ directory (preventing re-ingestion), but only if the user explicitly approved the full ingest-and-archive lifecycle when the skill or automation was initially configured. If this is a one-off interactive session without prior blanket approval, verify the deletion with the user.source_map.md in memory. Before overwriting the remote file, ensure you have downloaded the latest version to prevent wiping out concurrent changes. Then, upload it back to Fulcra, as instructed in the source mapping reference.ingest/_meta/ingest_log.md (create it if it doesn't exist), including the source, start and end dates of the data, and total records ingested. Save it locally and upload it back to ingest/_meta/ingest_log.md via the Fulcra CLI.https://context.fulcradynamics.com/timeline?mode=week&date=YYYY-MM-DD to view their new data, where YYYY-MM-DD is calculated as six days before the latest recorded_at value in the ingested dataset (this ensures the week view includes the newest data point). Mention that for large datasets, it may take a little time for all records to fully appear on the timeline. Remind the user that if they ever want to change the tagging scheme or fix a mistake, they can simply ask you to correct the data and you will automatically handle the deletion and re-ingestion.