docs/ai-context/archive/cursor-skills/dpla-verify-and-notify/SKILL.md
Verify ingest outcomes and send failure or status notifications to Slack or [email protected]. Use when the user asks to verify the ingest, check if it succeeded, notify about a failure, or post to tech-alerts.
npx skillsauth add dpla/ingestion3 dpla-verify-and-notifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
After a run or when something fails, verify pipeline output and ensure the right people are notified (Slack #tech-alerts or email [email protected]).
Environment: For commands that run the orchestrator or scripts, ensure source .env has been run in the shell so JAVA_HOME, SLACK_WEBHOOK, etc. are set.
Each step writes _SUCCESS when complete:
# Harvest
ls $DPLA_DATA/<hub>/harvest/<timestamped-dir>/_SUCCESS
# Mapping
ls $DPLA_DATA/<hub>/mapping/<timestamped-dir>/_SUCCESS
# Enrichment
ls $DPLA_DATA/<hub>/enrichment/<timestamped-dir>/_SUCCESS
# JSONL
ls $DPLA_DATA/<hub>/jsonl/<timestamped-dir>/_SUCCESS
cat $DPLA_DATA/<hub>/harvest/<timestamped-dir>/_MANIFEST
cat $DPLA_DATA/<hub>/mapping/<timestamped-dir>/_SUMMARY
When the orchestrator has failures, it writes:
data/escalations/failures-<run_id>.md — human-readabledata/escalations/failures-<run_id>.json — machine-readablels data/escalations/
cat data/escalations/failures-*.md | tail -1
| Stage | What to report | |-------|----------------| | Harvest | Feed unreachable, timeout, or harvest step failed | | Mapping/remap | Mapping or IngestRemap failed (non-zero exit, no output) | | Sync | S3 sync failed or was blocked | | Anomaly | Anomaly detection halted sync (critical threshold) |
Include: hub name, stage that failed, one-line error or path to logs/escalation report.
SLACK_WEBHOOK is set. Post a short message: hub, stage, error or link to report.When using the orchestrator, it posts failure alerts automatically; when running scripts manually, you (or the agent) must post or email.
To verify webhooks without running an ingest:
source .env
./venv/bin/python -m scheduler.orchestrator.main --dry-run-notify
Messages are sent with a [TEST] prefix.
data-ai
Show key i3.conf config for a hub (provider, harvest.type, harvest.endpoint, schedule, email, setlist). Use when user asks for hub config, harvest type/endpoint, who gets emails, schedule months, or OAI setlist details.
development
Run Community Webs ingest. Use when the user says harvest community-webs, run community-webs ingest, export community webs, or process community webs DB.
business
Report which hubs have new JSONL staged in S3 for a given month, and optionally post the report to Slack. Use when user asks what hubs are staged/ready for indexing, /ingest staged, or what changed this month in S3.
development
Follow the project workflow when adding or modifying shell or Python scripts. Use when the user asks to add a script, create a new script, modify a script, or write a script for a task. Ensures POSIX bash, common.sh, documentation in SCRIPTS.md, and tests are created or updated and run.