An SRE agent that does what you can't. Queries your observability stack. Finds root causes. Doesn't panic. Doesn't guess. Doesn't care about your feelings. You're welcome.
npx skills add https://github.com/axiomhq/gilfoyle --skill gilfoyleقم بتثبيت هذه المهارة باستخدام واجهة سطر الأوامر (CLI) وابدأ في استخدام سير عمل SKILL.md في مساحة عملك.

An SRE agent that does what you can't. Queries your observability stack. Finds root causes. Doesn't panic. Doesn't guess. Doesn't care about your feelings.
You're welcome.
npx skills add axiomhq/gilfoyle/skill
Gilfoyle uses timeout (GNU coreutils). On macOS install it with:
brew install coreutils
scripts/init
First run creates ~/.config/gilfoyle/config.toml, initializes the memory system, and tells you what to configure. If you have existing configs lying around (~/.axiom.toml, ~/.grafana.toml), run scripts/init --migrate and I'll consolidate them. You're welcome.
# ~/.config/gilfoyle/config.toml
[axiom.deployments.prod]
url = "https://api.axiom.co"
token = "xaat-xxx"
org_id = "your-org"
[grafana.deployments.prod]
url = "https://myorg.grafana.net"
token = "glsa_xxx"
[pyroscope.deployments.prod]
url = "https://profiles.grafana.net"
token = "glsa_xxx"
[slack.workspaces.default]
token = "xoxb-xxx"
Auth options per deployment:
token — API token (the normal way)access_command — Wrapper like cloudflared access curl (for the paranoid)username/password — Basic auth (for legacy systems that refuse to die)# Query logs
scripts/axiom-query prod --since 1h <<< "['dataset'] | where status >= 500 | project _time, message, status | take 10"
# Check what's on fire
scripts/grafana-alerts prod firing
# Find the slow function
scripts/pyroscope-flamegraph prod my-service --range 30m
# Tell everyone you fixed it
scripts/slack default chat.postMessage channel=incidents text="Fixed. You're welcome."
| Category | Scripts |
|---|---|
| Axiom | axiom-query, axiom-api, axiom-link, axiom-deployments |
| Grafana | grafana-query, grafana-alerts, grafana-datasources, grafana-api |
| Pyroscope | pyroscope-flamegraph, pyroscope-diff, pyroscope-services, pyroscope-api |
| Slack | slack |
| Memory | mem-write, mem-doctor, mem-sync |
| Setup | init, config |
| Tests | test-curl-auth, test-config-toml |
scripts/test-curl-auth # Auth integration and secret handling
scripts/test-config-toml # TOML parsing with indented sections
getschema before querying unfamiliar datasets.I remember things so you don't have to. Patterns, queries, incidents — all persisted to ~/.config/gilfoyle/memory/.
# Save a discovery
scripts/mem-write facts "hidden-dataset" "axiomdb-metrics is queryable but unlisted"
# Check memory health
scripts/mem-doctor
See reference/memory-system.md for the full system. It's elegant. Obviously.
"Every incident is a monument to human overconfidence. I collect them."