Help us improve
Share bugs, ideas, or general feedback.
From drover
Pull historical Acquia logs for a registered environment and feed them through drover's fingerprint pipeline, updating the same state file live monitoring uses. Use after a monitor outage, for post-mortem analysis of a recent incident, or to seed state for a newly-registered environment. Idempotent. Trigger phrases - "backfill drover logs", "pull past logs for X", "drover missed some time, catch up", "rebuild drover state from history".
npx claudepluginhub cosmicdreams/claude-plugins --plugin droverHow this skill is triggered — by the user, by Claude, or both
Slash command
/drover:backfillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Downloads historical Acquia logs via `acli` and pipes them through
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides systematic root-cause debugging when tests fail, builds break, or unexpected errors occur. Provides a structured triage checklist to preserve evidence, localize, and fix issues instead of guessing.
Share bugs, ideas, or general feedback.
Downloads historical Acquia logs via acli and pipes them through
the same fingerprinting and state-update pipeline that live monitoring
uses. Running this twice on the same window is a no-op: fingerprint
counts increment but NEW emissions do not repeat.
Ask the user which environment (alias form <site>.<env>, e.g.
pncb.prod) or offer the list from ${CLAUDE_PLUGIN_DATA}/projects.json:
python3 -c '
import json, os
f = os.environ.get("DROVER_PROJECTS_FILE") or (os.environ.get("CLAUDE_PLUGIN_DATA","") + "/projects.json")
for p in json.load(open(f)):
for e in (p.get("acquia") or {}).get("environments", []):
if e.get("alias"):
print(f"- {e[\"alias\"]}")
'
"${CLAUDE_PLUGIN_ROOT}/scripts/backfill.sh" "<alias>"
Default log types: php-error,apache-error. To include watchdog:
"${CLAUDE_PLUGIN_ROOT}/scripts/backfill.sh" "<alias>" "php-error,apache-error,drupal-watchdog"
The script ends with a BACKFILL done env=<alias> events=<n> summary.
Count NEW lines emitted; those are fingerprints that were absent
from live state and are now seeded.
If the user wanted a baseline report rather than just seeding, run
acquia-baseline.sh instead — it calls backfill.sh internally and
additionally computes hourly rates for velocity classification.
NEW.acli authenticated (acli auth:login run once);
cached UUIDs in projects.json are not strictly required for
acli app:log:tail/log-download but speed up any other API call.${CLAUDE_PLUGIN_DATA}/acquia-state/<alias>.json
— shared with live acquia-watch.py.