Borrowing it
Nothing to install: this file belongs to cryptomilk/hass-eink-dashboard. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/cryptomilk/hass-eink-dashboard/main/.agents/skills/implement-widget-tests/SKILL.mdgit clone --depth 1 https://github.com/cryptomilk/hass-eink-dashboardWrote 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/cryptomilk/hass-eink-dashboard/implement-widget-tests)<a href="https://agentmods.dev/skills/cryptomilk/hass-eink-dashboard/implement-widget-tests"><img src="https://agentmods.dev/badge/skills/cryptomilk/hass-eink-dashboard/implement-widget-tests/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/cryptomilk/hass-eink-dashboard/implement-widget-tests"><img src="https://agentmods.dev/badge/skills/cryptomilk/hass-eink-dashboard/implement-widget-tests.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.00046 | $0.04319 |
| Opus 5.5 | $0.00018 | $0.01728 |
| Sonnet 5.5 | $0.00009 | $0.00864 |
| Haiku 4.5 | $0.00005 | $0.00432 |
Grade A, and why
implement-widget-tests 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 3d 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 — 464 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write Widget Tests: $widget-type
Write comprehensive tests for the $widget-type widget. This is the TDD red phase — tests must FAIL until the SVG renderer is implemented.
Before you start
- Read the task description / spec doc for the new widget.
- Read
tests/helpers.pyfor available test helpers. - Read existing per-widget test files in
tests/test_render_*.pyfor patterns. The SEPARATOR tests (TestRenderSeparator) intests/test_render_separator.pyare the reference for structural/pixel assertions. The weather tests (TestRenderWeather) intests/test_render_weather.pyshow the_DEFAULTS+_config()pattern. - Read
custom_components/eink_dashboard/templates/_macros.svg.j2for macro signatures (card_container,card_row,chip) so you know the card container insets to use in pixel region calculations. - Read
const.pyforCOLOR_BLACK=0,COLOR_WHITE=255,COLOR_GRAY=120,PADDING=24.
Existing test classes
!grep -rn "^class Test" tests/test_render_*.py
Current test helper signatures
!grep -n "^def " tests/helpers.py
Current WidgetMetrics sizing ratios
Call _compute_metrics(row_h) in tests to derive expected pixel regions
from the same ratios the renderer uses — no hardcoded magic numbers.
!grep -n "def _compute_metrics" -A 12 custom_components/eink_dashboard/render.py
SVG macro signatures (from _macros.svg.j2)
!grep -n "macro card_container\|macro card_row\|macro chip" custom_components/eink_dashboard/templates/_macros.svg.j2
Icon resolver (in render.py)
!grep -n "def _device_class_icon" -A 5 custom_components/eink_dashboard/render.py
SVG renderer registry
!grep -n "_SVG_RENDERERS" -A 12 custom_components/eink_dashboard/svg_render.py
Imports
import re
from custom_components.eink_dashboard.const import (
COLOR_BLACK, COLOR_GRAY, PADDING, DEFAULT_CARD_STYLE,
DEFAULT_ROW_H,
)
from custom_components.eink_dashboard.render import (
WidgetMetrics, _compute_metrics, DEFAULT_METRICS,
_device_class_icon, render_dashboard,
)
from custom_components.eink_dashboard.svg_render import (
render_widget_svg,
)
from custom_components.eink_dashboard.widgets._helpers import (
_card_insets, _metrics_context, _auto_row_height,
)
from tests.helpers import (
assert_all_white, assert_card_border, assert_has_dark_pixels,
assert_has_gray_pixels,
assert_scales_proportionally, assert_vertically_centered,
content_bbox, make_config, pixel, render_to_image,
)
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.
- 3d ago First seen · 464 lines · 46 tokens per session scan A 7b607d509d6f
implement-widget-tests is a skill published in the GitHub repository cryptomilk/hass-eink-dashboard (124 stars, last pushed 2d ago), licensed Apache-2.0. It adds 46 tokens to every session and 4,319 once invoked, about $0.0002 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-10-26.
Other skills, from other repositories
bat-story-eval
Compare MCP tool behavior between target and baseline versions using pre-built and custom stories with diff-based triage.
bat-adhoc
Run bot acceptance tests to validate MCP tools work correctly from a real AI agent's perspective. Use when testing PRs, detecting regressions, or verifying tool changes end-to-end with Claude/Gemini CLIs.
templateclaw-dev
Apply dev methodology templates — TDD workflow, CI/CD pipeline, code review checklist, git workflow, and API design guide. Generates actionable guides and configuration files.
engram-testing-coverage
TDD and coverage standards for Engram. Trigger: When implementing behavior changes in any package.
principle-test-behavior-not-implementation
Apply when you write, change, or keep a test. Assert what the code's users can observe, so that the test fails when that behavior breaks and keeps passing when only the internals change.
conductor-implement
Execute tasks from a track's implementation plan following TDD workflow.