walkeros-testing-strategy

A testing guide for walkerOS packages. It explains how to test real event behavior using injected environment dependencies and development examples instead of replacing functions with a separate mocking library.

In plain words
What is it for?
Use it when writing or reviewing tests for sources, destinations, transformers, or other walkerOS packages. It covers environment setup, example-based checks, and package-specific testing patterns.
Why use it?
It helps tests match the way the package actually runs while avoiding calls to real external services. Linking tests to examples also keeps expected behavior visible and easier to maintain.

Skill for Claude CodeCodex

Part of the walkerOS plugin — 24 skills shipped together

Install

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.

agentmods
npx agentmods add skills/elbwalker/walkeros/walkeros-testing-strategy
Any agent
npx skills add elbwalker/walkerOS --skill walkeros-testing-strategy
Clone the repo
git clone --depth 1 https://github.com/elbwalker/walkerOS

Made for: Claude Code, Codex.

Or install walkerOS, the plugin that ships this one along with the rest of its 24 skills.

Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,093 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00036 $0.03093
Opus 5 $0.00018 $0.01546
Sonnet 5 $0.00007 $0.00619
Haiku 4.5 $0.00004 $0.00309

Measured 3d ago against content hash d702b43f455b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

walkeros-testing-strategy 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.

skills/walkeros-testing-strategy/SKILL.md · 428 lines

How it starts

The opening of the file, as written. The whole thing — 428 lines — stays where its author put it; the contents beside it link to each section on GitHub.

walkerOS Testing Strategy

Overview

walkerOS uses a layered testing approach with built-in patterns for mocking and documentation sync. This skill ensures tests are reliable, efficient, and maintainable.

Core principle: Test real behavior using the env pattern, link to dev examples, verify before claiming complete.

The Rules

Rule 1: Use env for Mocking, Not Jest

walkerOS has a built-in dependency injection pattern via env in context. This is lighter than Jest mocks, enables documentation generation, and keeps tests in sync with examples.

Wrong:

jest.mock('../ga4', () => ({ initGA4: jest.fn() }));
expect(initGA4).toHaveBeenCalledWith(...);

Right:

import { examples } from '../dev';
import { mockEnv } from '@walkeros/core';

const calls: Array<{ path: string[]; args: unknown[] }> = [];
const testEnv = mockEnv(examples.env.push, (path, args) => {
  calls.push({ path, args });
});

await destination.push(event, { ...context, env: testEnv });
expect(calls).toContainEqual({
  path: ['window', 'gtag'],
  args: ['event', 'page_view', { page_title: 'Home' }],
});

Rule 2: Link Tests to dev Examples

The dev.ts export provides examples.env, examples.events, examples.mapping, and examples.step. Using these in tests ensures documentation stays in sync.

import { examples } from '../dev';

// Use examples.env for mock environment
const testEnv = mockEnv(examples.env.push, interceptor);

// Assert against examples.events (documented expected output)
expect(calls[0].args).toEqual(examples.events.ga4PageView());

// Test with examples.mapping configurations
const config = { mapping: examples.mapping.ecommerce };
Step Examples with it.each

Step examples (examples.step) provide { in, out } pairs for each step. Use it.each to iterate over them:

import { examples } from '../dev';

describe('step examples', () => {
  it.each(Object.entries(examples.step))(
    '%s',
    async (name, { in: input, out: expected }) => {
      const result = await step.push(input, context);
      if (expected === false) {
        expect(result).toBe(false);
      } else {
        expect(result).toEqual(expected);
      }
    },
  );
});

Read the full file on GitHub · 428 lines

Changes

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.

  1. 3d ago First seen · 428 lines · 36 tokens per session scan A d702b43f455b

Subscribe to this mod's changes

walkeros-testing-strategy is a skill published in the GitHub repository elbwalker/walkerOS (343 stars, last pushed 7d ago), licensed MIT. It adds 36 tokens to every session and 3,093 once invoked, about $0.0002 per session on Opus 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.

Related

Other skills, from other repositories

task-management

Task management CLI for tracking and managing feature subtasks with status, dependencies, and validation.

darrenhinde/OpenAgentsControl · 20 tokens

content-enrich

内容加工:给任意采集产物(转录稿 / 文章 / 笔记)自动补「摘要 + 要点 + 标签 + 价值判断」, 写进 frontmatter 并在正文顶部插入摘要块。是「加工层」通用能力,惠及仓库所有采集 skill。.

chubbyguan/chubbyskills · 73 tokens

ab-test-generator

Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page copy", "headline alternatives", "CTA variations", "which version is better", "optimize conversions"…

Affitor/affiliate-skills · 87 tokens

conversion-tracker

Set up affiliate conversion tracking with UTM parameters and link tagging. Triggers on: "set up tracking", "create UTM links", "track my affiliate links", "tracking pixels", "click attribution", "organize my links", "UTM parameters", "tag my links", "campaign tracking", "link tracking setup", "prepare for launch"…

Affitor/affiliate-skills · 84 tokens

internal-linking-optimizer

Analyze site's internal link structure and optimize for hub-and-spoke SEO architecture. Triggers on: "optimize internal links", "internal linking", "link structure", "hub and spoke links", "orphan pages", "link equity", "internal link audit", "fix my internal links", "link architecture", "site structure optimization"…

Affitor/affiliate-skills · 104 tokens

performance-report

Generate affiliate performance reports with KPIs and recommendations. Triggers on: "show my affiliate report", "how are my programs doing", "performance review", "earnings report", "monthly affiliate report", "weekly report", "analyze my affiliate earnings", "which program is best", "EPC report", "conversion rate…

Affitor/affiliate-skills · 80 tokens