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 agentmods add skills/ali-demirbas/claude-lifecycle/lifecycle-qanpx skills add ali-demirbas/claude-lifecycle --skill lifecycle-qagit clone --depth 1 https://github.com/ali-demirbas/claude-lifecycleWrote 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/ali-demirbas/claude-lifecycle/lifecycle-qa)<a href="https://agentmods.dev/skills/ali-demirbas/claude-lifecycle/lifecycle-qa"><img src="https://agentmods.dev/badge/skills/ali-demirbas/claude-lifecycle/lifecycle-qa.svg" alt="Measured on agentmods" 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.00069 | $0.01640 |
| Opus 5 | $0.00034 | $0.00820 |
| Sonnet 5 | $0.00014 | $0.00328 |
| Haiku 4.5 | $0.00007 | $0.00164 |
Grade A, and why
lifecycle-qa 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 6d 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 — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Lifecycle QA — Trigger Payload Simulator
The hardest part of wiring a designed journey into a CRM is proving the trigger works: someone hand-writes a fake purchase with the right params and posts it at the panel. The engine already knows every journey's entry conditions, branch conditions, and exits — so it writes those payloads itself, including the negative cases a hand-tester forgets.
When NOT to use this
- No generated journey JSONs exist yet — there's nothing to derive triggers, branches, or exits from; run
lifecycle-journeys/lifecycle-exportfirst. - The question is whether a LIVE journey is performing well — that's
lifecycle-results. This skill proves triggers fire correctly before launch; it has no view into post-launch outcomes. - The event a payload would need is already confirmed missing in the tracking plan — don't generate a payload the real instrumentation can't produce; that "passing" test would validate a journey production data can never actually trigger (see Never do below).
Inputs (gate)
- Generated journey JSONs (from
lifecycle-journeys/lifecycle-export) — the source of truth for triggers, entry conditions, branches, exits. - The mapped event inventory (which params each event actually carries — payloads must be satisfiable by the real instrumentation, never invent params the tracking plan says don't exist yet).
- Optional but valuable: a sample request from the user's CRM (one real ingestion payload). With it, generated payloads follow the exact envelope (identifier fields, attribute nesting, timestamp format). Without it, payloads use a generic GA4-style shape and say so plainly — never guess a vendor's envelope from memory.
What gets generated (per journey)
| Case class | What | Why |
|---|---|---|
| Entry positive | One payload satisfying the trigger + every entry condition | Proves the journey arms |
| Entry negatives | One payload per entry condition, each violating exactly that condition (wrong event, missing required param, below threshold, excluded segment) | Proves the journey does NOT arm when it shouldn't — the failure a hand-tester never writes |
| Boundary pair (threshold conditions only) | For a numeric/window condition ("≥ 2 view_item in 30 days"), the value just below the threshold alongside the value just at it (1 vs. 2; day 31 vs. day 30) — not one arbitrary satisfying value | Off-by-one and window-math bugs live at the edge; a single satisfying example can pass while the boundary is wrong |
| Branch cases | One payload per branch condition, both sides | Proves each split routes correctly |
| Timeout / no-response branch (wait-gated conditions) | The no-event side of a branch keyed off a step's wait elapsing, not an opposing event |
Proves the "nobody responded" path — this can't be proven by posting a payload; the case says whether to advance the sandbox clock or temporarily shorten the wait for the test run |
| Duplicate delivery | The same trigger event (same id/params) posted twice | Proves the journey doesn't double-enter or double-fire a user on a retried/replayed delivery — the standard webhook-retry failure mode |
| Degraded payload | The entry-positive event with one real-but-optional param dropped or null, per the mapped inventory's own optionality (never an invented gap) | Proves the trigger config survives the partial data real instrumentation actually sends sometimes — a suite built from one idealized sample payload can still pass while realistic partial traffic silently fails to enter |
| Exit / suppression | The success-exit event mid-journey; the kill-switch event where the pattern has one (refund, complaint) | Proves exits fire and suppression works — the highest-stakes test in the set |
| Cap probe (portfolio-level) | The declared audience_overlaps scenario: one user triggering both journeys in the same week |
Proves the pause/precedence rule actually holds in the tool, not just in the doc |
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.
- 6d ago First seen · 72 lines · 69 tokens per session scan A 11b73857e558
lifecycle-qa is a skill published in the GitHub repository ali-demirbas/claude-lifecycle (2 stars, last pushed 19d ago), licensed MIT. It adds 69 tokens to every session and 1,640 once invoked, about $0.0003 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-31.
Other skills, from other repositories
test-native-extension
Validate a third-party control repo across four automated layers plus one printed manual recipe. Layer 1 asserts native-source structure (Android getName() and iOS +moduleName to manifest nativeModule; @ReactMethod / RCTEXPORTMETHOD to methods; no @ReactModule) plus load/init readiness (ReactPackage public no-arg…
test-site
Tests a deployed, activated Power Pages site at runtime using browser-based navigation, page crawling, and API request verification via Playwright. Use when the user wants to test, verify, or smoke-test their deployed site.
live-preview
Mid-build visual verification loop. Takes screenshots of components during construction, not just after. Catches visual regressions and invisible features before they compound. Requires Playwright or similar screenshot tool.
qa
Browser-based QA verification. Launches a real browser, navigates the app, clicks buttons, fills forms, and tests user flows. Works as a standalone skill or as a phase end condition in campaigns. Requires Playwright (optional dependency, graceful skip if not installed).
integration-e2e-testing
Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria. Use when designing integration tests, E2E tests, or reviewing test quality.
check-and-test
Run lint checks (ruff for Python, Biome for TS/JS), type checks (pyright for Python, tsc for TS/JS), and the standard pytest tiers (unit + e2e + tests skipped during pre-commit). Investigates failures to determine if they are application bugs or test issues, and fixes application bugs rather than weakening tests. Does…