Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add fmind/dot --skill observabilitygit clone --depth 1 https://github.com/fmind/dotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fmind/dot/observability)<a href="https://agentmods.dev/skills/fmind/dot/observability"><img src="https://agentmods.dev/badge/skills/fmind/dot/observability/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/fmind/dot/observability"><img src="https://agentmods.dev/badge/skills/fmind/dot/observability.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00019 | $0.01274 |
| Opus 5.5 | $0.00008 | $0.00510 |
| Sonnet 5.5 | $0.00004 | $0.00255 |
| Haiku 4.5 | $0.00002 | $0.00127 |
Grade A, and why
observability scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 48 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Observability
Use one Python telemetry stack for services and agents: structlog JSON on stdout, OpenTelemetry traces and metrics over OTLP, and trace context on every related log event. Standard OTLP configuration keeps the application independent of the backend.
Workflow
- Add only the Python packages in use:
structlog, OpenTelemetry API and SDK, the OTLP exporter, and explicit instrumentation packages for the service's HTTP framework and clients; FastAPI 0.142+ instruments itself (fastapi). Lock them withuv; avoid a vendor SDK in application code. - Emit structured logs: render one JSON object per line to stdout in production. Use
severity,message, andtimefor Cloud Logging while retaining stable event names and machine-readable fields. - Configure traces and metrics: use
OTEL_SERVICE_NAME,OTEL_RESOURCE_ATTRIBUTES,OTEL_EXPORTER_OTLP_ENDPOINT, and an explicit protocol. FastAPI 0.143+ also needsFASTAPI_OTEL_AUTO_CONFIGURE=trueortelemetry={"auto_configure": True}for native automatic exporter setup; an endpoint alone is insufficient. Keep automatic setup disabled when the application owns its exporters. Keep local development quiet by disabling export when it is not configured; an SDK's default localhost endpoint does not disable telemetry. - Correlate signals: a
structlogprocessor readstrace.get_current_span().get_span_context()and addstrace_id,span_id,logging.googleapis.com/trace, andlogging.googleapis.com/spanIdonly when the context is valid. - Describe agent work: use current GenAI semantic conventions; model calls carry
gen_ai.operation.name, provider and request model, and input/output token usage; agent and tool spans carry their stable agent or tool names. Do not record prompt or completion bodies by default. - Export through a collector sidecar: on Google Cloud, use the Google-built OpenTelemetry Collector as a Cloud Run sidecar. Match the exporter and receiver:
grpcwithhttp://localhost:4317, orhttp/protobufwithhttp://localhost:4318. For environment-configured instrumentation setOTEL_EXPORTER_OTLP_PROTOCOL; FastAPI's automatic export requireshttp/protobuf. For manually constructed Python exporters choose the matching gRPC or HTTP class. Let the collector authenticate with ADC and forward telemetry to Google Cloud. - Evaluate separately: operational telemetry detects failures and drift but does not prove response quality. Link a trace ID to Langfuse or MLflow scores when used, and use agent-evaluation for repeated comparisons through the project's existing runner.
- Verify all three signals: send one request, locate its trace, read the correlated log events, confirm the expected metric, then exercise shutdown to prove buffered telemetry flushes within the platform grace period.
gcloud logging read 'trace="projects/<project>/traces/<trace_id>"' --project=<project> --freshness=1h --limit=20 --format='json(timestamp,severity,textPayload,jsonPayload.message,trace,spanId)'
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed 78a5bf93c073
- 12d ago Changed · -1 lines · +2 tokens per session 29712a210711
- 14d ago Changed fe6cc5d93c9b
- 15d ago Changed · -1 lines · -2 tokens per session 9dd004bf7658
- 17d ago Changed f9a22bed28aa
- 23d ago Changed · +2 lines 27c3c9d3a492
- 26d ago Changed 2b89dbc37853
- 1mo ago Changed · +1 lines · -18 tokens per session f562b5bed376
- 1mo ago Changed · +1 lines 2226e391cc72
- 1mo ago First seen · 46 lines · 37 tokens per session scan A 79dbd4e03d93
observability is a skill published in the GitHub repository fmind/dot (12 stars, last pushed today), licensed MIT. It adds 19 tokens to every session and 1,274 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
cloud-run
Deploy container services to Google Cloud Run with Artifact Registry, keyless CI identity, Secret Manager, ko, or Dockerfiles.
google-cloud-operations
Operate Google Cloud with gcloud: pin account, configuration, project, and billing context for IAM, APIs, logs, and audits outside deployment.
terraform-stack
Canonical infrastructure-as-code stack — OpenTofu-first with tflint, trivy config scans, terraform-docs, native tests, and GCS state. Use for any Terraform or OpenTofu work.
dotfiles-bootstrap
Bootstrap a workstation with the dotfiles framework. Takes a GitHub user / owner+repo / explicit clone URL and runs dot init (which shells out to chezmoi) with the right safety prompts. Honors the active agent profile (ask / plan / apply / audit) so it defaults to dry-run in safer modes and full apply in apply.
vibe
Delegate a coding task to a cheap AI model (Mistral Vibe by default, but any provider Vibe knows about — DeepSeek, Gemini Flash, etc.) and supervise the result via git diff. Claude orchestrates, the cheap model codes. Claude consumes 500-1500 tokens per delegation regardless of how many file reads the delegate does…
scaffold-terraform
Scaffold a Terraform infrastructure project with CI/CD (plan on PR, apply on push), AWS OIDC auth, .envrc, and standard files. Uses terraform CLI as the native tool. Loads on top of scaffold-project (run that first for cross-language standard files). Use when creating infrastructure repos, or when the user mentions…