Borrowing it
Nothing to install: this file belongs to DanWahlin/github-azure-agentic-journeys. 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/DanWahlin/github-azure-agentic-journeys/main/.github/skills/journey-test-harness/SKILL.mdgit clone --depth 1 https://github.com/DanWahlin/github-azure-agentic-journeysWrote 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/danwahlin/github-azure-agentic-journeys/journey-test-harness)<a href="https://agentmods.dev/skills/danwahlin/github-azure-agentic-journeys/journey-test-harness"><img src="https://agentmods.dev/badge/skills/danwahlin/github-azure-agentic-journeys/journey-test-harness/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/danwahlin/github-azure-agentic-journeys/journey-test-harness"><img src="https://agentmods.dev/badge/skills/danwahlin/github-azure-agentic-journeys/journey-test-harness.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00109 | $0.01758 |
| Opus 5 | $0.00055 | $0.00879 |
| Sonnet 5 | $0.00022 | $0.00352 |
| Haiku 4.5 | $0.00011 | $0.00176 |
Grade A, and why
journey-test-harness 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 10d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- journey-test-harness — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 199 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Journey Test Harness
Orchestrate journey-runner across the selected journey directories. The harness must work on Windows, Mac, and Linux and must never delete an Azure environment merely because it appears in azd env list.
Inputs
- Journeys, default
all - Stack, default Node.js/TypeScript for multi-stack journeys
- Deploy, default
true - Location, default
westus - Concurrency, default
1; increase only when quota, local ports, and API limits allow it
Each deployed journey uses cleanup: after-verification unless the user explicitly requests otherwise.
Step 1: Discover Journeys
Use repository file-search APIs or Node.js fs.readdir() to find journeys/*/README.md. Do not use ls | sed, shell globs, or platform-specific path parsing.
For each journey, record:
- Folder name and absolute source path
- Journey type
PLAN.mdpresence- Required and optional tools from the journey prerequisite section
- Estimated cost and time
- Screenshot requirement
Filter only against the discovered folder names. Fail early for an unknown requested journey.
Step 2: Suite Preflight
Load journey-runner and run its cross-platform preflight before creating any workspace or Azure resource.
The union of selected-journey requirements may include:
- Node.js LTS or later
- Azure CLI and valid authentication
azd1.28.0 or later withauth.useAzCliAuth=true- GitHub Copilot CLI
- Node.js LTS or later for hooks, tests, and verifiers
- Azure Functions Core Tools v4, Azurite, and Go-based
sqlcmdfor SmartTodo - The pinned Playwright package and bundled Chromium for web screenshots
- Xcode 16+ only when SmartTodo iOS execution is requested on Mac
Use .github/skills/journey-runner/scripts/check-prerequisites.mjs with the union of required tools. Missing required tools stop the whole suite before provider registration. Do not install system tools during the suite.
Step 3: Azure Preparation
Check Azure CLI and azd authentication separately. Confirm the intended subscription and location.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 10d ago First seen · 199 lines · 109 tokens per session scan A 79b99bdcde95
journey-test-harness is a skill published in the GitHub repository DanWahlin/github-azure-agentic-journeys (37 stars, last pushed 1mo ago), licensed MIT. It adds 109 tokens to every session and 1,758 once invoked, about $0.0005 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.
Other skills, from other repositories
e2e-testing-patterns
Master end-to-end testing with Playwright and Cypress to build reliable test suites that catch bugs, improve confidence, and enable fast deployment. Use when implementing E2E tests, debugging flaky tests, or establishing testing standards.
browser-testing-with-screenshots
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality.
browser-tdd
Browser-based visual TDD using Playwright — verify UI produces correct visual output, not just syntactic correctness.
screen-reader-testing
Test web applications with screen readers including VoiceOver, NVDA, and JAWS. Use when validating screen reader compatibility, debugging accessibility issues, or ensuring assistive technology support.
playwright-cli
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
azure-microsoft-playwright-testing-ts
Run Playwright tests at scale using Azure Playwright Workspaces (formerly Microsoft Playwright Testing). Use when scaling browser tests across cloud-hosted browsers, integrating with CI/CD pipelines, or publishing test results to the Azure portal.