agentleFS
AWSKnown publisheraws/tools-for-devops-agent/skills/honeycomb-slos-and-triggers/SKILL.md

honeycomb-slos-and-triggers

Skill137 starsChanged 10 days agoApache-2.0View on GitHub

Load before calling Honeycomb get_slos or get_triggers, or when an investigation must judge SLO compliance, error budget burn or trigger status. Explains what the numbers mean, how to spot a misconfigured SLI, when a burn rate justifies paging or freezing deploys, and how to design burn alert thresholds.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask: what reliability do users actually need?

    line 53
  2. Distinctive:

    Start with one SLO, reduce noise, then expand

    line 75
  3. Very specific:

    When reviewing SLOs with get_slos:

    line 79
  4. Very specific:

    Use COUNT WHERE duration_ms > threshold instead of P99 triggers.

    line 92
  5. Distinctive:

    Start less sensitive, tighten based on false positive rate

    line 104
  6. Distinctive:

    Use cases: multiple edge services, monolith-to-microservices migration

    line 112
  7. Distinctive:

    Create an SLO or trigger only when the operator asks for one.

    line 116
  8. Distinctive:

    Instead, you can link to the list of SLOs.

    line 121

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Honeycomb SLOs and Triggers

Requires the Honeycomb connector in the Agent Space, with its read tools enabled. Creating a board, SLO or trigger needs write access: Read-write at sign-in, or a key with Write under Model Context Protocol. If a create tool is missing or returns a permission error, stop and tell the operator that it needs write access. Do not retry.

Guidance for configuring and reasoning about reliability in Honeycomb. The get_slos and get_triggers tools document their own parameters — this skill focuses on designing effective SLOs, choosing between SLOs and triggers, and interpreting what the numbers mean.

Availability: SLOs require Pro or Enterprise plan. Triggers available on all plans.

SLO vs Trigger — When to Use Which

QuestionSLOTrigger
"Are we meeting our reliability commitments?"YesNo
"Is something broken right now?"NoYes
"How fast are we burning our error budget?"Yes (burn alerts)No
"Did error count exceed a threshold?"NoYes
"Should we slow down deploys?"Yes (budget remaining)No

Rule of thumb: SLOs measure reliability against commitments over time. Triggers catch immediate operational issues.

Designing Effective SLOs

Define the SLI

An SLI is a per-event boolean: was this event successful? Implemented as a calculated field returning undefined (not a relevant event), 1 (success), or 0 (failure).

  • Format: IF(<qualifying-condition>, <success-condition>) The qualifying condition filters to relevant events; the success condition defines what counts as success. If the qualifying condition is not met, the formula returns undefined, and the SLI is unpopulated.
  • Specific Qualifying Condition: Choose the relevant subset of events (e.g. AND(EQUALS($http.route, "/checkout"), NOT(EXISTS($trace.parent_id))) for root spans of checkout endpoint)
  • Latency Success Condition: LTE(duration_ms, 500) — requests faster than 500ms
  • Availability Success Condition: LTE(http.status_code, 499) — non-5xx responses
  • Business Logic Success Condition: EQUALS(checkout.status, "completed") — successful checkouts

Set the Target

  • Start conservative (99% before 99.99%)
  • Measure current baseline first with P50/P99 queries
  • Set target slightly above current performance
  • Ask: what reliability do users actually need?

Configure Exhaustion Time Alerts

At minimum, two alerts:

  • Near exhaustion (exhaustion time ~4h): pages on-call via PagerDuty
  • Trending to exhaustion (budget rate over 24h): notifies team via Slack

Configure Burn Rate Alerts

Detect fast burns even if the budget isn't close to exhaustion yet. For example:

  • 1h burn rate > 10x — page on-call

Recommend these alerts to the user after an SLO is created. Agents do not have the ability to set up these alerts or their recipients.

Best Practices

  • Measure close to the user (at the edge, not deep in the stack)
  • Design around user workflows, not team boundaries
  • Favor broad SLOs over many narrow ones
  • Start with one SLO, reduce noise, then expand

Interpreting SLO Status

When reviewing SLOs with get_slos:

  • Budget remaining > 50%: Healthy — room for risk
  • Budget remaining 10-50%: Caution — slow down changes
  • Budget remaining < 10%: At risk — freeze non-critical deploys
  • Budget negative: Breached — investigate immediately with the honeycomb-production-investigation skill
  • Compliance at 0%: Likely misconfigured SLI (wrong column, inverted logic, no matching events) — check the SLI definition

Configuring Triggers

Prefer Count-Based Over Percentile-Based

"50 requests slower than 2s" is more actionable than "P99 is 2100ms." Use COUNT WHERE duration_ms > threshold instead of P99 triggers.

Common Patterns

  • Error spike: COUNT WHERE error = true, threshold > N in 5 min
  • Slow requests: COUNT WHERE duration_ms > 2000, threshold > N in 5 min
  • Traffic drop: COUNT WHERE is_root, threshold < N in 10 min (below normal)

Best Practices

  • Name: What the alert is. Description: What to do (link to runbook).
  • Set duration 5-10 min minimum to avoid flapping
  • Start less sensitive, tighten based on false positive rate

Multi-Service SLOs

Share a single error budget across up to 10 services.

  • SLI must be an environment-level calculated field
  • Events from included services weighted equally
  • Use cases: multiple edge services, monolith-to-microservices migration

Check in with the user

Create an SLO or trigger only when the operator asks for one. Workspaces in Honeycomb have a limited number of SLOs and triggers. Before executing the create tool, display all parameters and your reasoning, and ask for confirmation.

Constructing links to SLOs

The tools you have will not let you link directly to the SLO page in Honeycomb. Instead, you can link to the list of SLOs.

/<team_slug>/environments/<environment_slug>/slos

Additional Resources

Reference Files

  • references/slo-design-guide.md — Detailed SLO design methodology, multi-service SLOs, error budget math
  • references/trigger-examples.md — Complete trigger example library organized by use case
  • references/alerting-strategy.md — How to combine SLO burn alerts and triggers into a cohesive alerting strategy

Cross-References

  • For constructing SLI queries and calculated fields, see the honeycomb-query-patterns skill
  • For investigating SLO budget burn, see the honeycomb-production-investigation skill

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.