Overview
Astra is SkySignal's AI DevOps agent. It reads your traces, finds the real bug, and opens a pull request with a fix and a test — on a branch, ready for review.
Astra turns the telemetry you already collect into executed work. Instead of surfacing a slow method or a failing error and leaving the next step to you, it takes the next step: reads the relevant code, writes the change, runs the tests, and files the PR.
How Astra Works
Every Astra job follows the same four-stage pipeline:
- Analyze — Astra reads the SkySignal trace, error context, and Mongo query plan for the issue.
- Fetch code — Using the GitHub App, Astra checks out the site's configured branch and pulls the relevant files.
- Fix — Astra generates a patch. Where applicable, it also writes a regression test.
- Test & PR — Astra runs the test suite (if enabled), pushes to a branch, and opens a pull request against the configured base branch.
You can watch each stage in real time from the AI DevOps tab on any site — status dots update as the job moves through queued → analyzing → fetching_code → fixing → testing → awaiting_approval → pr_created.
What Astra Fixes
Astra runs one of eight job types depending on what triggered it:
| Job Type | What It Fixes |
|---|---|
| Error Fix | Uncaught exceptions surfaced in the Errors tab |
| N+1 Fix | Method calls making the same query in a loop |
| Index | Missing indexes flagged by COLLSCAN warnings |
| Query Optimization | Slow aggregation pipelines and inefficient query shapes |
| Publication Optimization | Over-fetching pubs missing field projections |
| API Migration | Deprecated sync Meteor APIs (e.g. Meteor.call → Meteor.callAsync) |
| Vulnerability Fix | High/critical npm audit findings |
| General Optimization | Ad-hoc performance work triggered from a metric anomaly |
See the Job Types reference for examples of each.
What Astra Will Not Do
Astra is designed to be a trustworthy contributor — not a fire-and-forget automation. By default:
- Astra never merges its own PRs. Every change goes through your normal review workflow on GitHub.
- Astra never pushes to your base branch. Every fix lands on a new branch (e.g.
astra/error-fix-abc123). - Astra respects branch protection. If a required check fails, the PR stays in draft.
- You can gate PR creation behind human approval. The Require Approval toggle holds jobs at
awaiting_approvaluntil you confirm. - You can exclude errors by regex (e.g.
timeout|ECONNREFUSED) so Astra never wastes credits on issues you're already tracking separately. - You can restrict which job types run automatically. For example, allow
error_fixandvulnerability_fixbut keep performance work manual.
When onboarding a site, leave Auto-Trigger off. Fire jobs manually from the Errors, Methods, Database, or System tabs for a week or two to build trust with Astra's output, then turn on auto-trigger once you know the kinds of PRs you want it filing.
How Astra Fits with SkySignal APM
Astra is an add-on to the SkySignal Pro plan. It reuses every signal the APM platform already collects:
- Errors tab →
error_fixjobs - Methods tab →
n1_optimization, API migration jobs - Database tab →
index_recommendation,query_optimizationjobs - System tab → Code Health →
publication_optimization,deprecated_api_migrationjobs - System tab → Security →
vulnerability_fixjobs
Nothing new needs to be instrumented. If your site is already reporting to SkySignal, Astra has what it needs.
Pricing
Astra is priced per site at $100/month, including $50 in Astra credits. Credits are consumed by every job based on complexity (model tokens + compute) — including jobs you cancel, jobs that fail, and PRs you reject. Usage beyond the included credits is billed on a per-use basis.
See the pricing page for the latest details.
Next Steps
- Getting Started — Activate Astra on a site and file your first PR
- Job Types — Reference for all eight Astra job types
- Triggering Astra — Auto-trigger rules and manual trigger buttons