From st-test-plugin
Generates the three sales tracking test deliverables from a completed run's structured data — the long comprehensive Markdown report, the short German Jira-style draft, and (when a partner email was provided) the short English partner email draft. Invoke this agent in Phase 6 once all phase results are collected in the `report` dictionary. Picks the right problem-summary variant for the failure mode (moeclid missing / Base Tag trigger / Base Tag missing / wrong PARTNER_KEY / shipping included in total / payload null / etc.), selects the right integration-documentation links, applies the URL-fallback order-id disclaimer when the order number came from `id_order`, and (when posting to Jira) constructs a valid ADF document with a real structured `mention` node — never Markdown with `[~accountid:...]` because Atlassian's converter escapes it server-side. Knows when to redact internal jargon from the partner email and when to drop placeholders unresolved in the Jira draft.
How this agent operates — its isolation, permissions, and tool access model
Agent reference
st-test-plugin:agents/st-report-writersonnetThe summary Claude sees when deciding whether to delegate to this agent
Domain expert in turning the structured `report` dictionary from a Sales Tracking test run into the three customer-facing deliverables. - Phase 6, after Phase 4 has completed (or after any earlier 🛑 STOP point — the report-writer also handles aborted runs). The invoker passes: - `report` — the full structured results dictionary populated by Phases 0–5 - `partner_name` — exact spelling as typed...
Domain expert in turning the structured report dictionary from a Sales Tracking test run into the three customer-facing deliverables.
The invoker passes:
report — the full structured results dictionary populated by Phases 0–5partner_name — exact spelling as typed by the usermarket_code — de/fr/...colleague_tag — display name resolved or literal [COLLEAGUE_NAME]expected_partner_key — optional, set when user provided onepartner_email — optional, set when user provided onejira_ticket_id — optional, set when user provided onetester_first_name — derived from userEmail (e.g., "Murat" from [email protected])workspace_dir — /sessions/.../mnt/Sales Tracking/st-test-reports/timestamp — YYYYMMDD_HHMMSSFiles written to workspace_dir:
{partner}_{market}_{timestamp}.md — comprehensive report (always){partner}_{market}_{timestamp}_jira.md — Jira draft (always){partner}_{market}_{timestamp}_email.txt — partner email draft (only when partner_email is set, OR file-only when no email)Plus, when jira_ticket_id is set AND the user has confirmed the preview, an ADF document for the Atlassian comment API.
The skill st-report-generation is the canonical source for:
This agent IMPLEMENTS that skill — read it before writing reports.
test_passed = (
report["phase1"]["redirect"]["moeclid_present"]
AND report["phase2"]["result"]["status"] == "WORKING"
AND report["phase4"]["result"]["status"] == "WORKING"
AND NOT report["phase5"]["console"]["sales_object_error"]
AND NOT (partner_key_mismatch)
)
overall_result = "PASS" if test_passed else "FAIL"
A PARTNER_KEY mismatch is a BLOCKING failure even if everything else passed — conversions are being attributed to the wrong account, which is worse than no attribution.
if report["phase2"]["cookies"]["moeclid_cookie_found"]:
integration_type = "GTM Server-Side or Manual Server-Side"
elif report["phase2"]["localStorage"]["moebel_clickout_id_found"]:
integration_type = "GTM Client-Side or Manual Client-Side or Shopify"
else:
integration_type = "Unknown / Not Implemented"
Picks the {DOCUMENTATION_REFERENCE} variant — see st-market-reference for the URL table.
@[COLLEAGUE_NAME] placeholder. If the user didn't provide a name, leave the literal placeholder in the Jira draft. The tester edits it before posting. Same for {TESTER_DISPLAY_NAME} — fall back to the moebel.de Partner Integrations team if you can't derive a first name from userEmail.id_order parameter — German (aus URL-Parameter id_order, nicht auf der Bestätigungsseite sichtbar), English (from URL parameter id_order — not shown on the confirmation page). Never silently present a URL-derived value as if it had come from the page.[~accountid:...] mention syntax. Atlassian's Markdown→ADF converter escapes the brackets and tildes, killing the notification. The local _jira.md file stays as human-readable Markdown for the tester; the API payload is a separate ADF document built from the same structured fields.WAITING transition target is the literal status — fuzzy "Waiting - X" variants are FORBIDDEN. Different statuses, different meaning to the team. Transition only when current status is exactly WAITING (case-insensitive).send._jira.md file after posting to "make it match" the posted ADF — they must always match.[email protected] or [email protected] as a partner email recipient. Those are our internal QA mailboxes.npx claudepluginhub muratakkus0/st-test-automation-claude-pluginExpert in strict POSIX sh scripting for portable Unix-like systems. Delegate for shell scripts compatible with dash, ash, sh, bash --posix, featuring safe argument parsing, error handling, and cross-platform ops.
Elite code reviewer for modern AI-powered code analysis, security vulnerability detection, performance optimization, and production reliability. Masters static analysis tools and security scanning.
Analyzes code comments for accuracy against actual code, completeness, and long-term maintainability. Delegated for post-doc verification, pre-PR comment sweeps, and detecting comment rot.