mcpField
G
grafana-bake-annotation

grafana-bake-annotation

github.com/gkwaProductivity083 installsUpdated 2d ago
Repository

About grafana-bake-annotation

A skill for turning timestamped sourdough bake actions in a Zephyr log into Grafana annotations, then recording the annotation command in the log. It defines which actions to annotate and how to preserve the shared Grafana section.

Key features

  1. 01Selects discrete, timestamped bake actions
  2. 02Applies standardized snake_case labels
  3. 03Runs the Grafana annotation CLI
  4. 04Records command blocks in the bake log
  5. 05Supports deleting and correcting annotations

Use cases

  1. 01Annotating starter feeding, mixing, and dough folds
  2. 02Marking shaping, oven entry, and bake completion
  3. 03Correcting an annotation and updating its logged command

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gkwa/volcanicviper --skill grafana-bake-annotation

After installing, type/grafana-bake-annotationin Claude Code to confirm it loaded.

Bundled filestile.json

Details

From the project README

Overview

This skill extracts annotatable bake events from a Zephyr bake log, runs the Grafana annotation CLI, and writes the command (without output) into the bake log's ## grafana section.

See the [[zephyr]] skill for how to find the bake log and read Zephyr entries.

What to Annotate

Only annotate discrete, time-bounded bake actions that have an explicit event timestamp.

Annotate:

  • Feeding the starter → feed_starter
  • Starter peaked → starter_peaked
  • Mix (dough mixed with starter) → mix
  • Each stretch and fold → stretch_fold
  • Start of long uninterrupted bulk fermentation (after all stretch and folds are done) → long_bulk_start
  • Shaping → shape
  • Into cold retard/fridge → cold_retard_start
  • Scoring → score
  • Into oven → bake_start
  • Lid off → lid_off
  • Out of oven → bake_done

Skip observations, temperature readings, questions, reflections, and entries with no specific action time.

Label Conventions

Use snake_case labels.

Use _start and _done suffixes for actions with clear start and end points.

Use long_bulk_start (not bulk_start) — bulk fermentation technically begins at mix; this label marks the start of the long uninterrupted fermentation phase after stretch and folds are complete.

Scripts

Annotation script:

/Users/mtm/pdev/taylormonacelli/diminutivedragon/scripts/annotate-grafana.py

Delete annotation script:

/Users/mtm/pdev/taylormonacelli/diminutivedragon/scripts/clear-annotations.py

The scripts fetch the Grafana token automatically from AWS SSM Parameter Store (/diminutivedragon/grafana_token, region us-west-2).

The SSM parameter was created out of band with the AWS CLI and is not managed by Terraform.

To override the token locally (e.g. for testing), set GRAFANA_TOKEN in the environment before running.

Never write the token value into the bake log or any committed file.

Running the Annotation Command

Pass all events in a single invocation using repeated --time and --label pairs.

Convert all timestamps to ISO 8601 before passing them.

uv run --directory ~/pdev/taylormonacelli/diminutivedragon \
  scripts/annotate-grafana.py \
  --time 2026-05-28T20:39:00 --label feed_starter \
  --time 2026-05-29T06:31:00 --label starter_peaked

Updating the Bake Log

After running the annotation command, write the command into the ## grafana section of the bake log as a fenced code block.

Do NOT include the output lines (the "Added annotation id=..." lines) in the log — command only.

Section Ownership

The ## grafana section is shared.

This skill owns the fenced annotation command blocks.

The top of the section holds two dashboard links, overall and bulk ferment, owned by the [[zephyr-grafana-links]] skill.

Leave those links untouched when writing annotation commands — never delete or rewrite them here.

When a bake finishes, the bake_done annotation is also the signal that those links need their end time pinned; see the [[zephyr-grafana-links]] skill.

Correcting Mistakes

To delete an annotation by id:

uv run --directory ~/pdev/taylormonacelli/diminutivedragon \
  scripts/clear-annotations.py --id 42

After deleting, re-add the corrected annotation and update the CLI block in the bake log.

Commit

Commit the bake log after every annotation run so individual changes can be reverted if needed.

Comments

Markdown supported