setup-grafana-observability
Skill18 starsChanged 2 months agoApache-2.0View on GitHub
Guide setup for and verify a reviewed, read-only Grafana Observability profile and its activated capability packs. Use when a user asks to set up Grafana access, verify profile readiness, discover available infrastructure, APM, log, IoT or business KPI packs, or troubleshoot why a Grafana pack cannot run.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- create-fusion-deliverablesSkill
- edit-fusion-designSkill
- handoff-fusion-engineeringSkill
- inspect-fusion-designSkill
- prepare-fusion-manufacturingSkill
- reconcile-fusion-dataSkill
- run-fusion-cloud-recipesSkill
- setup-autodesk-fusionSkill
- analyze-log-signalsSkill
- inspect-infrastructure-healthSkill
- investigate-application-performanceSkill
- monitor-iot-edgeSkill
- review-business-kpisSkill
- audit-ios-readinessSkill
- plan-react-native-portSkill
- port-react-native-sliceSkill
- verify-swiftui-paritySkill
- audit-review-eval-validitySkill
- benchmark-review-configsSkill
- normalize-review-runsSkill
- recommend-review-reference-architectureSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 4 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Use only grafana_profile_status and grafana_list_packs.
- Distinctive: line 14
Do not use HTTP, a browser, shell commands, provider CLIs, or another monitoring plugin as a fallback.
- Distinctive: line 15
Do not create, edit, or delete dashboards, alerts, datasources, deployments, or runtime state.
- Very specific: line 16
Treat LIVE, REPLAY, and SIMULATED as distinct origins.
- Distinctive: line 17
If a required tool is unavailable, report that the plugin may be missing, disabled, unbuilt, or unable to start.
- Distinctive: line 21
Ask whether the user already has an administrator-activated profile alias.
- Very specific: line 33
After the user confirms both credential connection and administrator activation, obtain the exact non-secret profileAlias and call …
≈ “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.
Files
Set Up Grafana Observability
Guide a shared-credential connection through the human terminal flow when needed, then verify an independently activated monitoring profile without handling its credential or exposing provider configuration.
Safety contract
- Use only
grafana_profile_statusandgrafana_list_packs. The other Grafana tools are for a subsequent evidence workflow. - Accept a
profileAliasonly. Never ask for or receive a token, password, header, Grafana URL, datasource identifier, query, dashboard JSON, or credential reference. - Do not use HTTP, a browser, shell commands, provider CLIs, or another monitoring plugin as a fallback.
- Do not create, edit, or delete dashboards, alerts, datasources, deployments, or runtime state.
- Treat
LIVE,REPLAY, andSIMULATEDas distinct origins. A name such asproddoes not grant permission to contact a live system. - If a required tool is unavailable, report that the plugin may be missing, disabled, unbuilt, or unable to start. Never imitate a successful tool response.
Workflow
- Ask whether the user already has an administrator-activated profile alias. Do not enumerate or guess aliases. If they need a new alias, have the human choose one common contract-safe value before connecting: lowercase, at most 80 characters, and matching
^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$(for example,grafana-prod). If the user has no alias, stop before calling MCP tools. On a supported macOS build, tell the user to run this from the installed plugin root in their own interactive terminal, substituting the origin and the contract-safe alias locally without pasting either the credential or command output into chat:
node ./scripts/observabilityctl.mjs grafana connect --url <grafana-origin> --profile <profile-alias>The terminal flow prompts for the Grafana read credential with no echo, discovers only bounded read permissions and certified datasources, prints a non-secret preview, and stores nothing until the user types
ACTIVATE. It stores the shared profile and keychain credential only; it does not create monitoring authority. A role named Viewer is not proof of read-only access: some Grafana versions grant Viewers dashboard-annotation creation, editing, or deletion. If discovery reports over-privileged access, ask the administrator for an identity with those mutating grants removed; never suggest bypassing the permission check.- Explain the separate human administrator step. A saved panel is only one field in the strict enrollment envelope; a raw dashboard export is rejected. The exact Prometheus and PostgreSQL envelope examples are bundled at
./skills/setup-grafana-observability/references/saved-panel-enrollment.md. After reviewing and replacing every example value, the operator may runnode ./scripts/grafana-authorityctl.mjs saved-panel enroll --input <absolute-enrollment-json> --output <absolute-proposal-json>from the installed plugin root. This offline command accepts one bounded regular JSON file, compiles exactly target A through the certified datasource validators, and emits one hash-pinned proposal without contacting Grafana or activating anything. PostgreSQL enrollment additionally requirespostgresMaxRowsand the exact hash-boundpostgresReadOnlyIdentity: { roleIdentitySha256: "<64-lowercase-hex>", privilegeModel: "SELECT_ONLY" }attestation. A separately provisioned organizational authority bundle and reviewed distribution path are prerequisites. This plugin validates and activates that bundle; it does not assemble or sign trust roots. If no reviewed bundle or distribution path exists, stop and request one from the organizational monitoring administrator. - Before activation, the human operator must provision a real owner-only (
0700) receipt parent directory outside both the inspected checkout and trust root; the CLI does not create that parent. The operator validates the assembled root withnode ./scripts/grafana-authorityctl.mjs trust-root validate --root <absolute-admin-root>, reviews the exact returned root-manifest and trust-bundle digests, and only then runsnode ./scripts/grafana-authorityctl.mjs trust-root activate --root <absolute-admin-root> --receipt <absolute-owner-only-receipt> --expected-root-manifest-sha256 <reviewed-digest> --expected-trust-bundle-sha256 <reviewed-digest>. The operator configures the local MCP launcher withPRODUCTION_MONITORING_MODE=liveplus absolutePRODUCTION_MONITORING_TRUST_ROOTandPRODUCTION_MONITORING_ACTIVATION_RECEIPTpaths, then restarts the worker. Never run shell commands or perform or imply this human activation from the skill. The bundled launcher forwards only the five reviewed non-secret mode, authority, receipt, artifact, and state settings. A Desktop app started from the Dock does not inherit terminal exports. Refer the human operator to./skills/setup-grafana-observability/references/client-launch.mdfor the tested explicit Codex configuration; do not change their client configuration from this skill. - This 0.1.0 release supports seamless native setup only on macOS arm64. macOS x64, Linux, Windows, and musl fail closed because their native credential assets are not included. A separately administered headless Linux trust root may use an enterprise broker or named environment reference, but that is outside this interactive shared-profile flow and receives no seamless-keychain claim. If the CLI reports that the credential store is unavailable, report this platform or assembly limitation and do not solicit or retry through files, environment secrets, or shell credential helpers.
- After the user confirms both credential connection and administrator activation, obtain the exact non-secret
profileAliasand callgrafana_profile_status({profileAlias}). - Report readiness, origin modes, check statuses, and limitations. Stop if the result is
ERRORor readiness isBLOCKED. - Call
grafana_list_packs({profileAlias}). - List the exact returned pack IDs, revisions, use cases, and required/optional operation counts. Do not infer a pack that was not returned.
The supported pack IDs are grafana.infrastructure, grafana.apm, grafana.logs, grafana.iot-edge, and grafana.business-kpis, but only activated entries returned by grafana_list_packs are usable.
Interpret status exactly
COMPLETE: the requested check or list completed; it is not proof that later evidence is healthy.EMPTY: no activated packs were returned; do not describe setup as ready for collection.PARTIAL: some readiness checks or evidence are missing or mixed; name the limitation.ERROR: the request failed or was rejected; report only a returned sanitized error code, when present, and stop. Never invent a code for a blocked status object.
Completion format
Return the profile alias, readiness and result status, available origin modes, activated packs, failed or warning checks, active safety constraints, and the smallest next action. Never call the profile connected or ready unless the real status response supports that statement.
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
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.

