CommunitySchreiben & Editierengithub.com

croct-tech/agent-skills

Verwenden Sie dies bei der Planung oder Implementierung von Personalisierung oder A/B-Tests mit Croct: Erstellen einer Experience (Zielgruppe, Slots, Inhalt, Priorität, Zeitplanung, Entwürfe), Hinzufügen eines Experiments (A/B/n, primäres Ziel-ID, Traffic-Aufteilung, Varianten, geräteübergreifende Konsistenz), Einbinden des benötigten Codes (Slots, `croct.track('goalCompleted', {goalId})`, `orderPlaced`, `leadGenerated`, `userSignedUp`), serverseitige Feature-Flag-Experimente, Redirect-Experimente, Personalisierungsrezepte (UTM-Kampagnen, ABM, Suchbegriffe, Standort, kostenloser Versand, Interessen, Blog-Leser, Leads, Kunden, organische Absicht, HubSpot-Formulare) oder Lesen der Experience-, Experiment-, Anwendungs- oder Arbeitsbereichs-Dashboards (Wahrscheinlichkeit die Beste zu sein, potenzieller Verlust, „Experiment läuft“, „Empfohlener Gewinner“, „Kein klarer Gewinner“, „Ziel verfolgen“). Formulierungen: „Hero für LinkedIn-Besucher personalisieren“, „Diesen CTA A/B-testen“, „Welche Variante hat gewonnen?“, „Warum zeigt mein Experiment keine Conversions?“.

Was ist agent-skills?

Diese Skill-Anleitung befähigt KI-Agenten, Personalisierungs- und A/B-Test-Workflows mit der Croct-Plattform zu verwalten. Sie beschreibt den vollständigen Lebenszyklus: Planung einer Experience basierend auf Benutzerzielen (Zielgruppe, Slots, Inhalt, Priorität), Implementierung von Experimenten mit bis zu 5 Varianten und Traffic-Aufteilung, sowie die Interpretation von Dashboard-Ergebnissen unter Verwendung definierter Schwellenwerte wie „Wahrscheinlichkeit die Beste zu sein“ (PBB) und „potenzieller Verlust“. Die Anleitung deckt entscheidende Codierungsschritte ab, wie das Einrichten von Slots mit `npx croct@latest add slot` und das Verfolgen von Conversions mit `croct.track('goalCompleted', {goalId})`. Sie unterstützt verschiedene Experiment-Typen: Inhalts-, Feature-Flag- und Redirect-Experimente, und bietet Rezepte für gängige Personalisierungsanwendungsfälle wie UTM-Kampagnen, ABM, Standort-Targeting und mehr. Die Skill-Anleitung enthält außerdem eine Liste von Do's und Don'ts, um häufige Fallstricke zu vermeiden, z. B. das Ändern der Traffic-Verteilung während eines laufenden Tests oder das vorzeitige Ausrufen eines Gewinners.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/croct-tech/agent-skills/tree/HEAD/skills/croct-personalize-and-test

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Personalisieren und testen mit Croct

Marketer verwalten Experiences und Experimente im Dashboard (app.croct.com). Ihre Aufgabe als Agent ist es:

  1. Planen: Das Ziel des Benutzers in eine Experience umsetzen (wer / wo / was) und, wenn er einen Nachweis wünscht, ein Experiment (Hypothese, Ziel, Aufteilung, Varianten).
  2. Code einbinden: Sicherstellen, dass jeder gezielte Bereich ein Slot ist, die Conversion als goalCompleted-Ereignis getrackt wird und die für die Zielgruppe benötigten Daten erfasst werden.
  3. Zielgruppe schreiben: Eine CQL-Bedingung. Für Syntax über die hier genannten Rezepte hinaus laden Sie die Skill croct-cql.
  4. Ergebnisse interpretieren: Lesen Sie die Dashboards mit den dokumentierten Schwellenwerten; rufen Sie niemals einen Gewinner aus, den das Dashboard nicht unterstützt.

Sagen Sie dem Benutzer nicht, dass Code-Änderungen erforderlich sind, um ein Experiment zu starten, zu ändern oder zu beenden. Sobald der Slot und das Ziel existieren, ist alles andere Konfiguration.

Mentales Modell

KonzeptWas es istRegeln
ExperienceInhalt, der einer Zielgruppe in einem oder mehreren Slots angezeigt wirdDefiniert durch wer (Zielgruppen), wo (Slots), was (Inhalt). Mehrere Zielgruppen erlaubt; geben Sie jeder mit Inhaltsgruppen ihren eigenen Inhalt.
ZielgruppeEine CQL-Bedingung, die gegen den aktuellen Kontext des Benutzers ausgewertet wirdKann alle Benutzer oder ein enges Segment ansprechen.
PrioritätEinzigartiger Rang pro ExperienceWenn sich Zielgruppen im selben Slot überschneiden, gewinnt die Experience mit höherer Priorität. Keine Gleichstände.
ExperimentEin A/B/n-Test innerhalb einer ExperienceEines pro Experience zu einer Zeit. Erbt die Zielgruppe und Slots der Experience. 2 bis 5 Varianten.
Primäres Ziel-IDDie Conversion, die das Experiment optimiertMuss mit der goalId eines getrackten goalCompleted-Ereignisses übereinstimmen.
Traffic-Aufteilung% der berechtigten Benutzer, die am Experiment teilnehmenDer Rest sieht den Inhalt der Experience.

Wer sieht was für einen bestimmten Slot:

BenutzerSieht
Nicht in der Zielgruppe einer ExperienceStandard-Inhalt des Slots
In der Zielgruppe, nicht dem Experiment zugeteiltInhalt der Experience
In der Zielgruppe, zugeteiltInhalt der zugewiesenen Variante
Entspricht mehreren Experiences im selben SlotDie mit der höchsten Priorität

Die Zuweisung ist deterministisch: Die Besucher-ID wird mit dem Experiment-Key gehasht, sodass ein Neuladen niemals die Variante wechselt. Die Exposition wird automatisch getrackt. Bei identifizierten Benutzern ist die Benutzer-ID der Zuweisungsschlüssel, sodass die Variante ihnen über Geräte hinweg folgen kann (anonyme Benutzer nicht).

Entscheiden, was gebaut werden soll

Der Benutzer möchte...Bauen Sie
Unterschiedlichen Inhalt für ein bekanntes SegmentExperience mit einer Zielgruppe, kein Experiment
Beweisen, dass eine Änderung funktioniert, bevor sie ausgerollt wirdExperience (oft „alle Benutzer") + Experiment
Text, Bilder, Layout oder einen Abschnitt testenInhalts-Experiment auf einem Slot (eine URL, wenn möglich serverseitig gerendert)
Testen, wohin ein Link führtCTA-Experiment: Der Slot hält das Link-Ziel
Ein Element ein- oder ausblenden (Promo-Banner)Code-seitig evaluate/useEvaluation nur für feste Logik, die ein Entwickler besitzt; andernfalls ein Slot mit einem booleschen Attribut plus einer Experience, damit Marketer kontrollieren, wer es sieht. Siehe die Evaluierungsregel der Skill croct-integrate-sdk
Funktionalität oder einen Ablauf testen, nicht sichtbaren InhaltFeature-Flag-Experiment: Ein Slot mit einem booleschen Attribut, serverseitig verzweigt
Zwei wirklich getrennte Seiten testen (neu aufgebaute Seite, andere Vorlage, Landingpage eines anderen Tools)Redirect-Experiment. Bevorzugen Sie Inhalts-Experimente, wenn sich nur der Inhalt unterscheidet
Mehrere Schwellenwerte oder Segmente in einer Kampagne (kostenloser Versand nach Bundesland)Eine Experience, mehrere Zielgruppen, Inhaltsgruppen
Eine Kampagne, die zu einer festgelegten Zeit startet, pausiert oder fortgesetzt wirdZeitplanung (Add-on), optional in der Zeitzone der Zielgruppe

Implementierungs-Checkliste

Jede Experience oder jedes Experiment benötigt diese im Code, bevor es konfiguriert wird:

  • Ein Slot für jeden Bereich, der sich ändert. Wenn fehlend: npx croct@latest add slot <slot-id>@1 und rendern Sie ihn mit dem SDK (siehe die Skills croct-use-cli und croct-integrate-sdk). Ohne Slot kann keine Experience den Bereich ändern.
  • Ein goalCompleted-Ereignis für die Conversion (erforderlich für Experimente). Die Ziel-ID muss mit der primären Ziel-ID des Experiments übereinstimmen. Wenn das Ziel neu ist, liefern Sie es vor dem Start des Experiments aus.
  • Umfangreichere Conversion-Ereignisse, wenn relevant: orderPlaced, leadGenerated, userSignedUp befüllen zusammen mit dem Ziel Widgets für Umsatz, Leads und Registrierungen.
  • Die Daten, die die Zielgruppe liest. UTM-Parameter, Standort und Sitzungsdaten sind automatisch; Rezepte basierend auf Beiträgen, Interessen, Bestellungen, Leads oder Registrierungen erfordern das Tracken dieser Ereignisse (siehe die Skill croct-track-events).
  • Benutzeridentifikation, wenn Varianten geräteübergreifend konsistent bleiben müssen.

Ziel verfolgen

// components/HomeHero.tsx (React; @croct/plug-next ist identisch mit 'use client')
import type {ReactElement} from 'react';
import {useContent, useCroct} from '@croct/plug-react';

export function HomeHero(): ReactElement {
  const {content} = useContent('home-hero@1');
  const croct = useCroct();

  function handleClick(): void {
    croct.track('goalCompleted', {
      goalId: 'hero-cta-click',
    });
  }

  return (
    <div>
      <h1>{content.title}</h1>
      <p>{content.subtitle}</p>
      <a href={content.button.link} onClick={handleClick}>{content.button.label}</a>
    </div>
  );
}
// Reines JavaScript
import croct from '@croct/plug';

croct.track('goalCompleted', {goalId: 'sign-up'});

Das Ereignis akzeptiert auch optionale value und currency ({goalId: 'signup', currency: 'USD', value: 50}). In serverseitig gerenderten PHP-Stacks tracken Sie im Browser mit dem Template-Helper (@croct ... @endcroct in Blade, {% apply croct %} ... {% endapply %} in Twig).

Tracken Sie das Ziel dort, wo die Conversion tatsächlich stattfindet, im Browser. Tracken Sie es bei einem Redirect-Experiment auf beiden Seiten. Wenn die Conversion nur auf einem Server abgeschlossen wird (Zahlungs-Webhook, Backend-Registrierung), verwenden Sie das eigenständige track des JavaScript-SDKs von @croct/plug/api mit einem API-Key: Das Docs-Beispiel ist genau ein goalCompleted-Ereignis, das von einem Server oder einem sandboxed Skript gesendet wird (siehe die Skill croct-track-events). Es akzeptiert einen optionalen userToken; die Dokumentation sagt nicht, wie ein Ereignis, das ohne eines gesendet wird, dem Experiment zugeordnet wird.

Experience-Workflow (Dashboard)

Vermitteln Sie diese Schritte dem Benutzer; Sie können sie nicht selbst klicken.

  1. Experiences-Seite > Neue Experience, benennen Sie sie.
  2. Registerkarte Zielgruppe > Neue Zielgruppe > CQL-Kriterien einfügen. Mehrere Zielgruppen erlaubt.
  3. Registerkarte Slot > einen oder mehrere Slots auswählen (Slots über Seiten hinweg kombinieren für eine konsistente User Journey).
  4. Registerkarte Inhalt > Inhalt pro Slot bearbeiten (und pro Inhaltsgruppe, wenn sich Zielgruppen unterscheiden).
  5. Optionale Registerkarte Experiment (siehe unten).
  6. Überprüfen Sie die Entwurfsänderungen, dann Veröffentlichen (oder planen) — oder Vorschau anzeigen.

Während der Entwicklung erlaubt eine Zielgruppe wie property welcome of page's query is "true" dem Benutzer, die Experience mit ?welcome=true umzuschalten. Ersetzen Sie sie für die Produktion durch eine echte Zielgruppe.

Details zu Status, Priorität, Zeitplanung, Entwurfsänderungen und Inhalt: references/experiences.md.

Experiment-Workflow

  1. Schreiben Sie die Hypothese: die Änderung, die Metrik, die sie bewegt, und warum.
  2. Wählen Sie die primäre Ziel-ID (das Dashboard schlägt bereits getrackte IDs vor). Bestätigen Sie, dass sie feuert.
  3. Legen Sie die Traffic-Aufteilung fest. Verwenden Sie 100% für Nischenzielgruppen. Halten Sie sie während des gesamten Tests stabil.
  4. Erstellen Sie 2 bis 5 Varianten, eine davon normalerweise die Kontrolle. Eine Variante kann den Slot-Inhalt kopieren oder den Inhalt der Experience erben, anstatt ihn zu duplizieren.
  5. Legen Sie den Inhalt jeder Variante fest (und ggf. Inhaltsgruppen).
  6. Aktivieren Sie geräteübergreifende Konsistenz, wenn Benutzer identifiziert sind und ihre Variante behalten sollen.
  7. Sehen Sie sich eine Vorschau jeder Variante an, veröffentlichen Sie sie und überprüfen Sie dann: Sitzungen pro Variante entsprechen der Aufteilung, und eine Test-Conversion wird unter dem richtigen Ziel angezeigt.

Ändern Sie niemals die Traffic-Verteilung oder fügen Sie Varianten mid-test hinzu oder entfernen Sie sie; dies kann die Ergebnisse ungültig machen.

Details, Feature-Flags und Redirects: references/experiments.md und references/flag-and-redirect-experiments.md.

Ergebnisse lesen

Das Experiment-Dashboard zeigt oben ein Flag. Handeln Sie danach:

FlagBedeutungTun Sie
Ziel verfolgenKeine Zielabschluss-Ereignisse aufgezeichnetTracking beheben; nichts anderes ist sinnvoll
Experiment läuftNoch nicht stabilWarten. Stabil erfordert jede Variante ≥ 1.000 Besucher, jede Variante ≥ 25 Conversions und ≥ 1 Woche Laufzeit
Empfohlener GewinnerStabil, und eine Variante hat PBB > 95% und potenziellen Verlust < 0,1%Gewinner-Inhalt auf die Experience anwenden und das Experiment beenden
Kein klarer GewinnerStabil, Varianten zu ähnlichOhne Gewinner beenden oder eine neue Hypothese testen

Bevor Sie eine Metrik lesen, überprüfen Sie Sitzungen pro Variante gegen die konfigurierte Aufteilung. Ein anhaltendes Ungleichgewicht bedeutet, dass die Zuweisung oder Protokollierung eine Klasse von Benutzern verwirft.

Wahrscheinlichkeit die Beste zu sein (PBB) und potenzieller Verlust stammen aus Bayes'scher Inferenz mit einer Beta-Verteilung pro Variante und Monte-Carlo-Simulation, die in Echtzeit ohne Stichproben berechnet werden. Erklärungen, Formeln und jedes Dashboard-Widget: references/analytics.md.

Rezepte

Kompakte Playbooks (ABM, Blog-Leser, Kunden, kostenloser Versand, HubSpot-Formulare, Interessen, Leads, Standort, Marketingkampagnen, organische Absicht, Suchbegriffe), jeweils mit Zielgruppen-CQL, erforderlichem Tracking und empfohlenen Slots: references/playbooks.md.

Do's / Don'ts

  • Tun Sie: Implementieren und verifizieren Sie das Ziel-Ereignis vor der Veröffentlichung eines Experiments. Ohne es sammelt das Experiment Expositionen, aber keine Conversions.
  • Tun Sie: Weisen Sie 100% für Nischenzielgruppen zu, damit der Test statistische Validität erreichen kann.
  • Tun Sie: Bevorzugen Sie eine URL mit Slot-gesteuertem Inhalt gegenüber Redirects; Redirects fügen einen Seitenaufruf hinzu und verzerren die Ergebnisse.
  • Tun Sie: Halten Sie Redirects temporär (302/307) und schützen Sie vor Endlosschleifen.
  • Tun Sie: Entfernen Sie veraltete Feature-Flag-Slots nach einem Testende aus dem Code.
  • Tun Sie nicht: Rufen Sie einen Gewinner aus, während das Dashboard „Experiment läuft" anzeigt, oder allein aus Rohzahlen (Gesamtbestellungen, Gesamtanmeldungen).
  • Tun Sie nicht: Bearbeiten Sie die Aufteilung oder die Variantenliste mid-test.
  • Tun Sie nicht: Erwarten Sie geräteübergreifende Konsistenz für anonyme Benutzer; dies erfordert einen identifizierten Benutzer.
  • Tun Sie nicht: Leiten Sie auf eine andere Domain weiter: Der Besucher wird pro Domain erkannt, sodass die Conversion niemals zugeordnet wird. Teilen Sie für Subdomains zuerst die Sitzung.
  • Tun Sie nicht: Rendern oder cachen Sie eine Seite, die einen Experiment-Slot rendert, vollständig vor; eine gecachte Variante würde allen ausgeliefert.

Live-Dokumentation

  • Index: https://docs.croct.com/llms.txt
  • Jede Seite als Markdown: .md anhängen, z.B. https://docs.croct.com/explanation/experiment.md
  • Suche: https://docs.croct.com/api/search.md?term=<terms>

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

croct-tech/agent-skills

>- Use when writing, reading, reviewing, or debugging Croct's Contextual Query Language (CQL): audience criteria, `croct.evaluate()` / `useEvaluation` / `<Personalization query>` / Next.js `cql` tag queries, Evaluation API `query` bodies (`/client/web/evaluate`, `/external/web/evaluate`), and dynamic content values (`"type": "dynamic"`, `"expression"`). Covers context variables (user, session, page, location, campaign, cart, device, browser, context, now/today), data types and conversions, accessors and selectors (`'s`, `property X of`, `[1st]`, `[*]`, `[...]`), tests (`is`, `matches`, `is like`, `contains either`, `is between`, `is defined`, `is returning`), quantifiers (`some ... satisfies`), macros, modifiers, event expressions (`user has viewed a page`, `user has abandoned a cart`, `user has completed goal`), audience estimation, and recipes. Triggers: "write an audience", "target mobile users in New York", "CQL syntax error", "audience never matches", "unavailable estimate".

croct-tech/agent-skills

>- Use when connecting Croct to a third-party platform or migrating to Croct from another personalization or experimentation tool. Covers Storyblok (Optimize by Croct app, @croct/plug-storyblok, Storyblok withCroct, resolveContent, croct/plug-storyblok, CroctStoriesApi), Sanity and Strapi (slot fallback, dynamic zones, metadata.contentSource), Shopify Hydrogen storefront events, Shopify custom pixel (croctPixel, PUBLIC_CROCT_SHOPIFY_PIXEL, checkout and order tracking), VTEX, Google Tag Manager data layer, Microsoft Clarity tags, HubSpot forms (hbspt.forms.create, hs-form-event), firmographic providers 6sense, Demandbase, Clearbit Reveal, and ZoomInfo WebSights (firmographics attributes, account-based audiences in CQL), and migrations from Mutiny and Ninetailed (Experience component, Contentful sunset). Triggers include cdn.croct.io/plug-integration scripts, "personalize Storyblok blocks", "track Shopify checkout", "send VTEX events", "ABM personalization", "replace Mutiny".

croct-tech/agent-skills

>- Use when installing or using a Croct SDK in application code: rendering slot content, evaluating CQL queries, server or client fetching, prerendering, identifying users, app ID / API key env vars, testing, or debugging. Covers JavaScript (`@croct/plug`, `croct.fetch`, `croct.evaluate`), React (`@croct/plug-react`, `<CroctProvider>`, `useContent`, `<Slot>`, `useEvaluation`, `useCroct`), Next.js (`@croct/plug-next`, `fetchContent`, `cql`, middleware/proxy, `NEXT_PUBLIC_CROCT_APP_ID`, `CROCT_API_KEY`), Vue (`@croct/plug-vue`), Nuxt (`@croct/plug-nuxt`), Shopify Hydrogen (`@croct/plug-hydrogen`), PHP (`croct/plug-php`), Laravel, Symfony, and Drupal. Triggers: slot IDs like `home-hero@1`, `SlotContent`, "Croct is not plugged in", "initial content is required for server-side rendering", "Did you forget to configure Croct's middleware?", CORS errors.

croct-tech/agent-skills

>- Use when designing or changing Croct content models: regular vs union components, what becomes a component, slot, structure, or primitive attribute; writing component schema JSON (`structure`, `union`, `reference`, `text`, `number`, `boolean`, `list`, `@croct/file`, `@croct/richText` rich text, `format`, `choices`, `optional`, `private`, `position`); writing content definition JSON (`static`/`dynamic` values, `nullable`, `default`, `{{placeholder}}` paths); slot default, localized, experience, experiment, or content group content; schema limit errors (30 attributes, 6 nesting levels, 10 union members, complexity score 50); component versioning and breaking changes (`home-hero@2`); refactoring (duplicate and modify, duplicate and replace, flatten and merge); Markdown in text attributes with `@croct/md-lite`. Phrasings: "model content for a hero", "add an attribute to the banner component", "support variations", "component is too complex", "localize the hero", "translations", `preferredLocale`.

Verwandte Skills