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 easingthemes/dx-aem-flow --skill aem-qa-handoffgit clone --depth 1 https://github.com/easingthemes/dx-aem-flowWrote 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/easingthemes/dx-aem-flow/aem-qa-handoff)<a href="https://agentmods.dev/skills/easingthemes/dx-aem-flow/aem-qa-handoff"><img src="https://agentmods.dev/badge/skills/easingthemes/dx-aem-flow/aem-qa-handoff/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/easingthemes/dx-aem-flow/aem-qa-handoff"><img src="https://agentmods.dev/badge/skills/easingthemes/dx-aem-flow/aem-qa-handoff.svg" alt="Reviewed on agentmods" width="80" 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.00061 | $0.02533 |
| Opus 5 | $0.00030 | $0.01267 |
| Sonnet 5 | $0.00012 | $0.00507 |
| Haiku 4.5 | $0.00006 | $0.00253 |
Grade A, and why
aem-qa-handoff 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 9d 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 — 233 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Platform note: This skill uses context: fork + agent: aem-inspector for isolated execution. If subagent dispatch is unavailable (e.g., VS Code Chat), you may run inline but AEM MCP tools (AEM/*, playwright/*) must be available for full mode.
You are the QA Handoff Agent. You post a short handoff comment to ADO with QA page URLs, prerequisites, what changed, and a link to the wiki page for full details. QA has test plans for detailed verification — the comment is a pointer, not a test script.
Two modes:
- Lightweight (recommended): Reads existing test page and context from
/aem-doc-gen+/dx-doc-genoutput. No AEM MCP needed. - Full (fallback): Creates test page on QA AEM if no doc-gen output exists. Requires AEM MCP.
Recommended flow:
/aem-doc-gen hero 2416553 -> creates QA page, screenshots, authoring guide
/dx-doc-gen 2416553 -> creates wiki page
/aem-qa-handoff hero 2416553 -> posts short handoff comment to ADO with wiki link
Flow
digraph aem_qa_handoff {
"Load config and parse arguments" [shape=box];
"Config valid?" [shape=diamond];
"STOP: QA URLs not configured" [shape=doublecircle];
"Determine mode" [shape=box];
"Load story context" [shape=box];
"Lightweight mode?" [shape=diamond];
"Create or reuse test page on QA AEM" [shape=box];
"QA AEM reachable?" [shape=diamond];
"STOP: cannot reach QA AEM" [shape=doublecircle];
"Build handoff comment" [shape=box];
"Check for existing ADO comment" [shape=box];
"Existing comment found?" [shape=diamond];
"Post new comment to ADO" [shape=box];
"Post update comment to ADO" [shape=box];
"Write qa-handoff.md and present summary" [shape=doublecircle];
"Load config and parse arguments" -> "Config valid?";
"Config valid?" -> "STOP: QA URLs not configured" [label="no"];
"Config valid?" -> "Determine mode" [label="yes"];
"Determine mode" -> "Load story context";
"Load story context" -> "Lightweight mode?";
"Lightweight mode?" -> "Build handoff comment" [label="yes, skip page creation"];
"Lightweight mode?" -> "Create or reuse test page on QA AEM" [label="no, full mode"];
"Create or reuse test page on QA AEM" -> "QA AEM reachable?";
"QA AEM reachable?" -> "STOP: cannot reach QA AEM" [label="no"];
"QA AEM reachable?" -> "Build handoff comment" [label="yes"];
"Build handoff comment" -> "Check for existing ADO comment";
"Check for existing ADO comment" -> "Existing comment found?";
"Existing comment found?" -> "Post update comment to ADO" [label="yes"];
"Existing comment found?" -> "Post new comment to ADO" [label="no"];
"Post new comment to ADO" -> "Write qa-handoff.md and present summary";
"Post update comment to ADO" -> "Write qa-handoff.md and present summary";
}
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.
- 9d ago First seen · 233 lines · 61 tokens per session scan A 957853442b3a
aem-qa-handoff is a skill published in the GitHub repository easingthemes/dx-aem-flow (6 stars, last pushed 7d ago), licensed MIT. It adds 61 tokens to every session and 2,533 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
workflow-integration-test-green
Codex uses static project-reference loading instead of runtime-injected project docs. When coding, planning, debugging, testing, or reviewing, open project docs explicitly using this routing.
evidence-publish
Deliver a QA/evidence packet to a tracker or keep it local, behind an always-ask preview gate. Protocol for /orc:qa Phase 6, /orc:evidence, and any evidence-delivery step.
testrail
Sincronizar testes com TestRail. Use quando o usuário mencionar "testrail", "gestão de testes", "casos de teste", "execução de testes", "sincronizar casos de teste", "enviar resultados para testrail" ou "importar do testrail".
first-officer
Use when running the commissioned docs/ship batch workflow end to end — dispatching a batch, accepting worker evidence, opening and dispositioning review, gating UAT, and closing the batch with a validated close receipt. Triggers on "ship a batch", "run the batch workflow", "docs/ship first officer".
workflow-qa
A quality-assurance procedure for testing Workflow documents and features in their real online environment. QA means checking whether software behaves as expected and recording evidence.
qshipcheck
Validates that all orchestrator Phase 2 (review), Phase 3 (acceptance), and Phase 4 (deliver) steps were executed after qship pipeline completion. Run this after qship finishes to catch any skipped steps.