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 elbwalker/walkerOS --skill walkeros-using-transformer-ga4git clone --depth 1 https://github.com/elbwalker/walkerOSWrote 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/elbwalker/walkeros/walkeros-using-transformer-ga4)<a href="https://agentmods.dev/skills/elbwalker/walkeros/walkeros-using-transformer-ga4"><img src="https://agentmods.dev/badge/skills/elbwalker/walkeros/walkeros-using-transformer-ga4/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/elbwalker/walkeros/walkeros-using-transformer-ga4"><img src="https://agentmods.dev/badge/skills/elbwalker/walkeros/walkeros-using-transformer-ga4.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Memory Poisoning · line 250 Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.Fix: Protect agent memory and state from modification by untrusted content. Use read-only memory for critical instructions and validate all state changes.
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.00072 | $0.03965 |
| Opus 5.5 | $0.00029 | $0.01586 |
| Sonnet 5.5 | $0.00014 | $0.00793 |
| Haiku 4.5 | $0.00007 | $0.00396 |
Grade A, and why
walkeros-using-transformer-ga4 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 today.
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 — 394 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Using @walkeros/transformer-ga4
Overview
@walkeros/transformer-ga4 decodes Google Analytics 4 Measurement Protocol v2
hits (/g/collect, /mp/collect) into walkerOS events. It sits in a server
source's before chain, reads the raw HTTP request via ctx.ingest, and
returns one walkerOS event per GA4 event in the hit (one hit can carry many
events).
Boundaries: server-side decoding in front of a server source, GA4 v2 only, G-
tids only by default. Per-field patching via extend/remove is supported.
When to use this skill
- You are wiring
transformer-ga4into a server flow for the first time - You want to override one of the 33 default GA4 mappings
- You need to drop a GA4 event (auto-fired noise like
user_engagement) - You want to add a custom event key for a
gtag('event', '<name>', ...)call - You need to widen
tidPatternto accept Ads (AW-) or DC (DC-) traffic - Events are not arriving and you suspect the decoder is silently dropping them
Quickstart wiring
Pick the source by runtime before copying the example below. gtag.js can
send several events in one POST body (one per line, as text/plain), so the
source must keep a non-JSON body as ingest.body. These server sources do:
-
@walkeros/server-source-express(shown below), the sourcerunnerosand thewalkeros/flowimage serve. Atext/plainbody that is valid JSON is parsed; any othertext/plainbody reaches the decoder as the raw string. -
@walkeros/server-source-fetch: a(Request) => Responsehandler with noport, for a runtime that calls it (Cloudflare Workers, Deno, Bun, Node.js 18+ with a fetch adapter), e.g. withcollectorfromstartFlow:import { Source } from '@walkeros/core'; import type { SourceFetch } from '@walkeros/server-source-fetch'; export default { fetch: Source.getSource<SourceFetch.Types>(collector, 'http').push, };runnerosand thewalkeros/flowimage cannot serve it (they only mount a source's NodehttpHandler).
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.
- today Changed 37506f666cb4
- 13d ago Changed · +10 lines 0ae8a2b78d60
- 15d ago Changed · +1 lines bd67899974d5
- 28d ago Changed · +24 lines 5adf84175298
- 29d ago Changed · +71 lines 6674f683b267
- 1mo ago First seen · 288 lines · 72 tokens per session scan A 7e55b731b7dc
walkeros-using-transformer-ga4 is a skill published in the GitHub repository elbwalker/walkerOS (347 stars, last pushed today), licensed MIT. It adds 72 tokens to every session and 3,965 once invoked, about $0.0003 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-08-30.
Other skills, from other repositories
migrate-oxlint
Guide for migrating a project from ESLint to Oxlint. Use when asked to migrate, convert, or switch a JavaScript/TypeScript project's linter from ESLint to Oxlint.
resolving-ingestion-warnings
Diagnoses and resolves PostHog ingestion warnings — problems recorded while ingesting events (dropped events, rejected person merges, oversized payloads, invalid data). Use when a user asks why events are missing, dropped, or undercounted, why identify/alias calls don't work or accounts stay duplicated, why person or…
monitoring-ingestion-pipeline
Guide for using the Grafana MCP to monitor and diagnose the Node.js ingestion pipeline workers in production. Use when investigating event lag, drops, pipeline errors, person/group processing, Kafka consumer health, Redis, Postgres, ClickHouse downstream health, or any ingestion worker question. Covers prod-us and…
triaging-merge-queue-failures
Decision procedure for a PR that failed or was removed from the Trunk merge queue: classify the kick (superseded by a newer commit, not mergeable, a gate that failed on a cancelled run, real failure, one-off flake, or repo-wide flaky/infra issue) and take the matching action (wait, hold and fix, requeue once, or…
debugging-ci-failures
Debugs failing GitHub Actions CI runs for PostHog PRs, commits, and branches, and answers broad CI-health questions ("is CI red?", "is master green today?", "what's broken right now?"). Use when the user asks why CI is red, asks for the current CI or master status, or mentions a failing check, GitHub Actions run…
fixing-flaky-tests
Guides an agent through reproducing, root-causing, fixing, and validating flaky tests in the PostHog monorepo. Use when a test fails intermittently in CI but passes on rerun or locally, when hogli ci:insights or the debugging-ci-failures skill classifies a failure as a flaky test, when given a GitHub Actions URL for a…