Tabler Astro Dev Server
tabler/tabler
Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.
Weekly review of evlog's model cost and performance. An agent skill from evloghq/evlog.
$ npx skills add evloghq/evlog --skill cost-watchdog -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install evloghq/evlog cost-watchdog --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/evloghq/evlog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/evi/agent/skills/cost-watchdog .claude/skills/cost-watchdog && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cost-watchdog" agent skill from https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdog into .claude/skills/cost-watchdog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cost-watchdog", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdogType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add evloghq/evlog --skill cost-watchdog -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install evloghq/evlog cost-watchdog --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/evloghq/evlog.git skills-src && mkdir -p .agents/skills && cp -r skills-src/apps/evi/agent/skills/cost-watchdog .agents/skills/cost-watchdog && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cost-watchdog" agent skill from https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdog into .agents/skills/cost-watchdog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cost-watchdog", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add evloghq/evlog --skill cost-watchdog -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install evloghq/evlog cost-watchdog --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/evloghq/evlog.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/apps/evi/agent/skills/cost-watchdog .cursor/skills/cost-watchdog && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cost-watchdog" agent skill from https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdog into .cursor/skills/cost-watchdog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cost-watchdog", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/evloghq/evlog.git --path apps/evi/agent/skills/cost-watchdog--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add evloghq/evlog --skill cost-watchdog -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install evloghq/evlog cost-watchdog --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/evloghq/evlog.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/apps/evi/agent/skills/cost-watchdog .gemini/skills/cost-watchdog && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cost-watchdog" agent skill from https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdog into .gemini/skills/cost-watchdog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cost-watchdog", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install evloghq/evlog cost-watchdogInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add evloghq/evlog --skill cost-watchdog -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/evloghq/evlog.git skills-src && mkdir -p .github/skills && cp -r skills-src/apps/evi/agent/skills/cost-watchdog .github/skills/cost-watchdog && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cost-watchdog" agent skill from https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdog into .github/skills/cost-watchdog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cost-watchdog", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add evloghq/evlog --skill cost-watchdog -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install evloghq/evlog cost-watchdog --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/evloghq/evlog.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/apps/evi/agent/skills/cost-watchdog .opencode/skills/cost-watchdog && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cost-watchdog" agent skill from https://github.com/evloghq/evlog/tree/main/apps/evi/agent/skills/cost-watchdog into .opencode/skills/cost-watchdog/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cost-watchdog", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cost-watchdogWeekly review of evlog's model cost and performance. An agent skill from evloghq/evlog.
Cost Watchdog is an agent skill from evloghq/evlog. Weekly review of evlog's model cost and performance. Load this when the cost-watchdog schedule fires, or when Hugo asks for a cost check, a model review, a per-surface model analysis, or a spend/drift report for the gateway.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Static sites and blogs and Journaling and reflection. The repository describes itself as: Digging through logs is not observability. It's hope — wide events, structured errors, TypeScript-first, every runtime. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1b6e1b9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
vercel.comartificialanalysis.aiai-gateway.vercel.sharena.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cost Watchdog loads about 2.2k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 1,304 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from evloghq/evlog at commit 1b6e1b9, republished under its MIT licence (© evloghq). 1,304 words, ~2,246 tokens.
.claude/skills/cost-watchdog/SKILL.md (or your agent's skills folder).A recurring read of how evlog spends its model budget and whether the models in use are still the right ones. Run it weekly, on the last full week. Grounded in the AI Gateway report and the current model landscape, never in your memory of prices.
The core question: for every surface, is the model it runs still a sensible buy? The honest answer is often "yes, no change." A quiet week is a real result.
ai_gateway__report with groupBy: 'tag' returns one row per tag value scoped to the current environment: the evi:env:* row (the total) plus one evi:surface:* row per surface. Each row carries total_cost, market_cost, input_tokens, output_tokens, cached_input_tokens, reasoning_tokens and request_count. groupBy: 'model' returns one row per model.
The surface list is whatever evi:surface:* rows the report actually returns. Do not assume the set; read it from the data.
Open these directly instead of searching; they are the stable home for everything the model-landscape step needs.
https://ai-gateway.vercel.sh/v1/modelshttps://vercel.com/ai-gateway/modelshttps://vercel.com/docs/ai-gateway/models-and-providershttps://arena.ai/leaderboardhttps://artificialanalysis.ai/. Head-to-head pages live at https://artificialanalysis.ai/models/comparisons/<a>-vs-<b>, using AA slugs (glm-5-3-flash, gpt-6-luna-medium).Use web_search/web_fetch only for what these do not cover, such as a candidate model's fit for a specific surface. Every figure cited still needs a source and a recency, and a benchmark figure comes from Artificial Analysis or the leaderboard directly, never from a blog or aggregator quoting them.
Run Monday morning. Cover the last 7 full days ending yesterday, and pull the 7 days before that as the comparison window, so every drift figure is period-over-period.
ai_gateway__report for both windows, groupBy: 'tag'. That is the spend and token picture per surface and the total.ai_gateway__report for both windows, groupBy: 'model'. The per-model mix (today this is usually one model everywhere).ai_gateway__report scoped to that surface (tags: ['evi:env:<env>', 'evi:surface:<name>']) with groupBy: 'model' to see what it runs and at what cost.Use the eval environment tag to keep benchmark and eval traffic out of the production read when the report lets you.
Derive it from the catalog every run; do not pick alternatives from memory. From /v1/models, keep every model tagged both tool-use and reasoning that takes image input (the base model reads images natively, see docs/vision.md), and whose input and output prices are each within 3x of the current model's. Then add the top three of that set by Artificial Analysis cost per task. List the full candidate set in the report, with the reason each one was dropped.
Score the current model and every surviving candidate on the same four axes, in one table:
gatewayRouting sends zeroDataRetention, which can drop the cheapest deployments, so the price Evi pays for the current model comes from a call's provider_metadata.gateway, not from the catalog.Where quality and cost disagree, also compute cost per solved task (cost per task divided by score) on the benchmark closest to the surface.
Never discard a candidate for being less capable alone. A model that is materially cheaper or faster and trails on quality is a tradeoff to report, not a non-starter.
Compare the two windows and call out what moved, with a reason where one is visible:
request_count.For each surface with nontrivial spend, give each candidate one of three verdicts, with the projected weekly cost and speed effect:
evi-evals workflow with the model input set to the candidate's gateway id, then a comparison of cost, latency and pass rate in PostHog (evi_eval_run, broken down by model).A candidate listed under Settled decisions below gets its line in the table and the recorded reason, and is not recommended again unless its price or benchmarks have moved since the decision.
One constraint the report does not show: today the agent runs a single model everywhere, set by EVI_MODEL in agent/lib/model.ts (see agent/lib/gateway.ts for tagging). If a per-surface recommendation implies different models per surface, say that routing is currently global and the swap is one of two things: changing the global model, or adding surface-scoped routing as a follow-up decision. Never present a per-surface swap as a one-line config change when routing does not exist yet.
The full report is a Linear document on the evlog team, titled Cost/model watchdog: YYYY-MM-DD, with markdown sections: spend and model mix per surface, drift, the candidate set and comparison table with sources, and the per-surface recommendations (or the explicit "nothing to improve").
The thread get two or three lines: the single most attention-worthy number or finding, and the document link.
A material, decision-worthy recommendation becomes a Linear issue on the evlog team via linear__save_issue. Search first (linear__list_issues) for a covering issue, including your own from earlier runs; update rather than duplicate. File the strongest one or two, never a report's worth. A model change is Hugo's call, and the issue is where he makes it.
If linear__save_document is unavailable or fails, fall back to posting the full report in the thread and say why.
One line. Spend flat, no drift, and the models in use still the sane choice means the report says so and stops. Never invent a drift or a swap to make the week look busy.
openai/gpt-6-luna (medium), decided 2026-09-24: keep zai/glm-5.3-flash. Luna is cheaper per task and much faster, but trails badly on agentic work (Terminal-Bench 4.0 at 2.5% against 32.8%) and hallucinates far more (85% against 28%). Revisit if a new Luna release closes the agentic gap.anthropic/claude-haiku-5.5, decided 2026-10-09: replaces zai/glm-5.3-flash as the base model. It runs on the team's Anthropic BYOK key, which the gateway tries first, so its rows report total_cost near zero while market_cost carries the list price. Read groupBy: 'credential_type' before calling a drop in spend real: once the key's monthly credit runs out, the same traffic falls back to gateway credentials and bills there.© evloghq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in apps/evi/agent/skills/cost-watchdog of evloghq/evlog.
Open the folder on GitHubat commit 1b6e1b9
Cost Watchdog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cost Watchdog this skillevloghq/evlog | 1.9k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Tabler Astro Dev Servertabler/tabler | 42k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Create Docsvictorgarciaesgi/nuxt-typed-router | 413 | 2 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Tabler Astro Component Scriptstabler/tabler | 42k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Paperclip Pagepaperclipai/paperclip | 100k | — | ~1k | Automated safety check: Pass | MIT | |
| Kill AI Slopyetone/kill-ai-slop | 1.3k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 |
tabler/tabler
Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.
victorgarciaesgi/nuxt-typed-router
Create complete documentation sites for projects. An agent skill from victorgarciaesgi/nuxt-typed-router.
tabler/tabler
Rules for adding or fixing client-side scripts in Tabler's Astro components so the copied preview HTML stays readable, self-contained and runs in the right order.
paperclipai/paperclip
Publish static HTML pages and asset folders to the Paperclip S3/CloudFront page host.
yetone/kill-ai-slop
Find and remove AI slop — the generic, machine-default visual and copy tics of vibe-coded products — from a web project.
docker/docs
Audit a documentation site for agent-friendliness: discovery, markdown delivery, crawlability, semantic structure, machine-readable surfaces, and content legibility.
evloghq/evlog
Walks through adding a new built-in evlog drain adapter for an observability platform: source, build config, exports, tests, docs and PR scope.
evloghq/evlog
Guides adding a new built-in enricher to the evlog package, covering the source, tests, docs, README, a related skill and a changeset.
evloghq/evlog
Walks a contributor through adding a new HTTP framework integration to the evlog logging package: middleware source, build entry, exports, tests, example app and docs.
evloghq/evlog
Walks through adding a new rule or framework adapter to `evlog map` in @evlog/cli, from the rule source and registry to types, tests, docs and the published skill.
evloghq/evlog
Rules for writing and reviewing evlog docs, blog posts, READMEs, skills and AGENTS.md files, with separate review and rewrite roles, a house voice and a catalog of AI-sounding tells.
evloghq/evlog
Produce a before/after visual comparison of an evlog surface (landing, docs, telemetry, playgrounds) and share it as public Blob URLs.
Categories
Weekly review of evlog's model cost and performance. An agent skill from evloghq/evlog. Cost Watchdog is an agent skill from evloghq/evlog. Weekly review of evlog's model cost and performance.
Cost Watchdog fits situations like: tasks that involve Static sites and blogs; tasks that involve Journaling and reflection.
Run `npx skills add evloghq/evlog --skill cost-watchdog -a claude-code`. Or copy the skill folder (apps/evi/agent/skills/cost-watchdog in evloghq/evlog) into .claude/skills/cost-watchdog in your project. Claude Code loads it when a task matches its description.
Run `npx skills add evloghq/evlog --skill cost-watchdog -a codex`. Or copy the skill folder (apps/evi/agent/skills/cost-watchdog in evloghq/evlog) into .agents/skills/cost-watchdog in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add evloghq/evlog --skill cost-watchdog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cost-watchdog, .gemini/skills/cost-watchdog, .github/skills/cost-watchdog and .opencode/skills/cost-watchdog in your project.
SKILL.md names no scripts, command-line tools or credentials: Cost Watchdog is instructions for the agent only.
SKILL.md names 4 domains. In commands or code: vercel.com, artificialanalysis.ai, ai-gateway.vercel.sh and arena.ai; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cost Watchdog is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cost Watchdog: Tabler Astro Dev Server (tabler/tabler, 42k stars), Create Docs (victorgarciaesgi/nuxt-typed-router, 413 stars), Tabler Astro Component Scripts (tabler/tabler, 42k stars) and Paperclip Page (paperclipai/paperclip, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
evloghq (a GitHub organization) maintains it in evloghq/evlog, which has 1,889 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 9, 2026.
Source: evloghq/evlog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.