By MuratAkkus0
Automates end-to-end sales tracking (ST) tests for furniture e-commerce partners. Verifies moeclid tracking, Base Part, and Conversion Part across moebel.de family markets.
Post a previously generated Jira draft (a `_jira.md` file) to a Jira ticket as an ADF comment with a real mention node, then transition the ticket to WAITING and assign to the mentioned colleague. Use when `/st-test` was run without a ticket ID and the tester now wants to post the existing draft.
You are looking up sales tracking test reports already written to the workspace folder.
Run a sales tracking test for a Moebel.de partner. Primary entry point of the st-test-plugin. Parses `<partner> <market>` from arguments (plus optional Jira ticket, colleague tag, expected PARTNER_KEY, partner email) and dispatches to the sales-tracking-test-automation orchestrator skill.
MUST BE USED automatically when a Stop hook fires after Claude finishes modifying files in the st-test-plugin repository. Use PROACTIVELY to stage all changes, generate a Conventional Commits message from the diff, commit, and push to origin. Invoke ONLY from the Stop hook context — never call manually. Trigger phrases the hook will use include "stop hook fired", "auto-commit plugin changes", and "commit and push pending plugin edits".
Domain expert in dismissing cookie consent banners (CMPs) across heterogeneous e-commerce sites. Invoke this agent whenever a Sales Tracking test needs to accept a cookie banner — both on the moebel.de family portals (custom React/Next.js CMP with no `id`, generic classes, no window global) and on any partner site (Usercentrics, OneTrust, Cookiebot, Consentmanager, custom). Implements the canonical layered detection used by the ST plugin — wait for React hydration, try the accessibility-tree snapshot first, fall back to a TreeWalker text-scan against per-market accept keywords, retry once after a second hydration wait, then defensively re-fire the click if the same accept button is still visible (two-stage CMPs). Always ACCEPTS — never declines — because declining gates the partner's Base Tag script. Returns which detection layer fired and whether a banner was present at all.
Locates a Moebel.de partner on a country portal's listing pages. Invoke this agent in Phase 1 Step 1.1 — it tries the shops/boutiques listing first (with the `?ps=asc` price sort), and if the partner is not present, falls back to the marken/marques (brands) listing as a second pass. Returns the partner's listing URL and which listing it was found in. Only declares the partner missing (`partner_not_listed_on_portal`) when BOTH listings come back empty. Some partners are listed only as a brand on certain markets — particularly mid-onboarding when a new shop is being added but the brand entry already exists — which is why the brands fallback is mandatory.
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.
Domain expert in verifying the moeclid tracking ID is stored on a partner site after cookie consent has been accepted (Base Part verification). Invoke this agent in Phase 2 after cookie consent is accepted and any newsletter popup is dismissed — it reads document.cookie for a `moeclid` cookie (Server-Side integration) and reads `localStorage.getItem('MOEBEL_CLICKOUT_ID')` (Client-Side integration), compares the stored value against the moeclid captured from the URL in Phase 1, and on empty storage reloads the page exactly once to distinguish "Base Tag trigger not set to page_view" from "Base Tag missing entirely". Never reloads AFTER consent has been accepted but BEFORE the first storage check — reloading in that window would mask a real integration bug. This rule does NOT apply to the Phase 2 Step 2.0 pre-clean reload that runs before consent is even accepted, which is a separate first-visit-integrity step owned by the Phase 2 skill itself.
Phase 4 of the sales tracking test. Use this skill after the order is submitted and the confirmation page is loaded — it passively reads the Performance API to verify the sales API call was fired during page load, captures MOEBEL_SALES / PARTNER_KEY / MARKET globals and the stored clickId, validates the call payload from inline scripts, optionally verifies the captured PARTNER_KEY against a user-provided expected key (a mismatch is a blocking failure), and checks the console for errors. NEVER calls MOEBEL_SALES.sale() manually — read-only verification only.
Orchestrator skill for end-to-end sales tracking tests on Moebel.de family partners. Use this skill whenever the user mentions "sales tracking test", "ST test", "test sales tracking integration", names a partner with a market code (like "test IKEA in Germany"), asks to verify moeclid tracking / Base Part / Conversion Part for any partner, or uses phrases like "run test for [partner]", "check [partner] integration", "test [partner] in [market]". Parses the user's request (partner name, market code, optional Jira ticket ID, optional colleague tag, optional expected PARTNER_KEY, optional partner email, optional explicit send verb), then runs the phase skills in order — Phase 0 setup, Phase 1 navigation/moeclid, Phase 2 Base Part, Phase 3 purchase, Phase 4 Conversion + console, Phase 6 report generation. Reports, Jira drafts, and partner email actions are written without re-asking for permission — the user's initial invocation is the authorisation for those artefacts. The partner email compose window always opens inside the same BrowserOS instance that ran the test (never via `subprocess.run(["open", url])` or the OS default browser), and runs in one of two modes: save-as-draft + close-tab by default, or auto-send + close-tab when the user used an explicit send verb against the email itself ("send the email", "send it", "maili gönder").
Reference data tables for sales tracking tests across the moebel.de family of portals. Use this skill whenever you need portal URLs, sales API endpoints, market-specific test identities, fallback addresses, CMP accept-button keywords, listing paths, or integration documentation URLs for any of the 9 markets (de, fr, nl, at, ch, es, it, pl, gb). Other ST phase skills load these tables — open this skill first when a phase skill mentions PORTAL_URLS, sales_endpoints, LISTING_PATHS, ACCEPT_KEYWORDS, or the per-market test address.
MUST BE USED for ALL user preferences and ALL ST-test / plugin-domain memory requests, OVERRIDING Claude Code's built-in auto-memory system for those topics. Use PROACTIVELY whenever the user says "remember", "hatırla", "forget", "unut", "call me X", "ben şuyumu", expresses a preference (communication, format, name, workflow, language), asks "what do you know about X" / "ne biliyorsun X hakkında", or when you (Claude) detect a new ST-domain lesson, market quirk, or user preference. Built-in auto-memory at `~/.claude/projects/*` is ONLY for unrelated topics outside the ST-test domain AND not user preferences — when in doubt about a user preference, route here. Writes to the plugin's `memory/` directory: lessons-learned/, market-quirks/, or personal/.
Phase 0 of the sales tracking test. Use this skill when starting a new ST test run for a Moebel.de partner — it loads BrowserOS tools, picks the portal URL for the market, loads the market's test identity, clears stale browser state (cookies, localStorage, history) on both the portal and partner domains, opens the portal, and accepts the portal's own custom CMP banner using a layered detection strategy (a11y snapshot → TreeWalker text-scan → retry after hydration). Skipping this phase silently masks first-visit behaviour in Phase 2 and can cause partner-redirect 404s. Run before Phase 1.
Uses power tools
Uses Bash, Write, or Edit tools
No model invocation
Executes directly as bash, bypassing the AI model
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
End-to-end sales tracking (ST) test automation for the Moebel.de family of furniture e-commerce portals. Verifies moeclid tracking, Base Part, and Conversion Part across 9 markets (DE, FR, NL, AT, CH, ES, IT, PL, GB) using BrowserOS for browser automation.
Given a partner name and market code, the plugin runs a full test:
moeclid from the redirect chainmoeclid is stored in cookies/localStoragePARTNER_KEY and payloadclaude --plugin-dir /path/to/st-test-plugin
For permission setup (so the plugin doesn't ask for approval on every BrowserOS / Jira call), see docs/setup-guide.md.
/st-test <partner> <market> [JIRA-TICKET] [@colleague] [partner-key UUID] [partner-email]
Examples:
/st-test IKEA de
/st-test Naturwohnen de ST-1234 @colleague
test IKEA in germany
/st-report [partner] [market]
Reads from st-test-reports/<Partner>/<Market>/.
/st-jira-post <JIRA-TICKET> [path-to-_jira.md] [@colleague]
Use when /st-test was run without a ticket ID and you want to post the existing draft later.
st-memory) + development workflow enforcer (st-plugin-development)/st-test, /st-report, /st-jira-postde fr nl at ch es it pl gbst-test-plugin/
├── .claude-plugin/plugin.json plugin manifest
├── settings.json plugin-level permission defaults (forward-compat)
├── CLAUDE.md plugin memory rules (Part 1)
├── docs/
│ ├── dev-conventions.md development conventions (Part 2)
│ └── setup-guide.md required user permission setup (Part 3)
├── agents/ 5 specialist subagents
├── commands/ 3 slash commands
├── hooks/ 3 hooks + 3 shell scripts
├── skills/ 10 skills (orchestrator + 7 phase + memory + dev-workflow)
├── memory/ plugin-scoped memory (lessons, quirks, personal)
├── st-test-reports/ generated test reports (auto-created per run)
├── log/ hook logs (gitignored)
└── hepler-documantations/ local snapshot of official Claude Code plugin docs
| Dependency | Purpose | Required? |
|---|---|---|
| Claude Code 2.1.140+ | Runtime | Yes |
| BrowserOS MCP server | Browser automation | Yes — test cannot run without it |
| Atlassian MCP server | Direct Jira posting (Phase 6 Step 6.5) | Optional — drafts are written to disk regardless |
docs/dev-conventions.md for plugin development conventions (structure, hooks, subagents, testing, commits).skills/st-plugin-development/SKILL.md for the development workflow that enforces those conventions.memory/lessons-learned/ for evidence-backed lessons captured during development.MuratAkkus0/st-test-automation-claude-plugin
Automates end-to-end sales tracking (ST) tests for furniture e-commerce partners. Verifies moeclid tracking, Base Part, and Conversion Part across moebel.de family markets.
npx claudepluginhub muratakkus0/st-test-automation-claude-plugin --plugin st-test-pluginComplete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use
Modern R development skills for Claude Code - tidyverse patterns, rlang metaprogramming, Bayesian inference, performance optimization, and more
Unity Development Toolkit - Expert agents for scripting/refactoring/optimization, script templates, and Agent Skills for Unity C# development
Complete creative writing suite with 10 specialized agents covering the full writing process: research gathering, character development, story architecture, world-building, dialogue coaching, editing/review, outlining, content strategy, believability auditing, and prose style/voice analysis. Includes genre-specific guides, templates, and quality checklists.
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications
20 SEO/GEO skills and 5 commands on one shared contract for keyword research, content creation, technical audits, schema markup, monitoring, quality gates, entity truth, and campaign memory.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claim