Provides a toolkit for engineering, testing, and versioning LLM prompts specifically for marketing assets, including A/B evaluation scripts, immutable version history with diffs, and governance templates for ad copy, emails, and social posts.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when a marketing team needs to systematically improve, test, or version-control the prompts used to generate ad copy, emails, or social media content. It is appropriate when users request A/B testing of prompt variants, need to track prompt history with diffs, or want to implement governance rules for AI-generated marketing materials.
Use this skill to move prompts from ad-hoc drafts to production assets with repeatable testing, versioning, and regression safety. It emphasizes measurable quality over intuition. Apply it when launching a new LLM feature that needs reliable outputs, when prompt quality degrades after model or instruction changes, when multiple team members edit prompts and need history/diffs, when you need evidence-based prompt choice for production rollout, or when you want consistent prompt governance across environments.
Prepare JSON test cases and run:
python3 scripts/prompt_tester.py \
--prompt-a-file prompts/a.txt \
--prompt-b-file prompts/b.txt \
--cases-file testcases.json \
--runner-cmd 'my-llm-cli --prompt {prompt} --input {input}' \
--format text
Input can also come from stdin/--input JSON payload.
The tester scores outputs per case and aggregates:
Use the higher-scoring prompt as candidate baseline, then run regression suite.
# Add version
python3 scripts/prompt_versioner.py add \
--name support_classifier \
--prompt-file prompts/support_v3.txt \
--author alice
# Diff versions
python3 scripts/prompt_versioner.py diff --name support_classifier --from-version 2 --to-version 3
# Changelog
python3 scripts/prompt_versioner.py changelog --name support_classifier
python3 scripts/prompt_tester.py --help--inputpython3 scripts/prompt_versioner.py --helpadd, list, diff, changelog)Avoid these mistakes:
1. Picking prompts from single-case outputs — use a realistic, edge-case-rich test suite.
2. Changing prompt and model simultaneously — always isolate variables.
3. Missing must_not_contain (forbidden-content) checks in evaluation criteria.
4. Editing prompts without version metadata, author, or change rationale.
5. Skipping semantic diffs before deploying a new prompt version.
6. Optimizing one benchmark while harming edge cases — track the full suite.
7. Model swap without rerunning the baseline A/B suite.
Before promoting any prompt, confirm: - [ ] Task intent is explicit and unambiguous. - [ ] Output schema/format is explicit. - [ ] Safety and exclusion constraints are explicit. - [ ] No contradictory instructions. - [ ] No unnecessary verbosity tokens. - [ ] A/B score improves and violation count stays at zero.
prompt_tester.pyEach test case should define:
input: realistic production-like inputexpected_contains: required markers/contentforbidden_contains: disallowed phrases or unsafe contentexpected_regex: required structural patternsThis enables deterministic grading across prompt variants.
support_classifier, ad_copy_shortform).LICENSEREADME.mdSKILL.mdreferences/evaluation-rubric.mdreferences/prompt-templates.mdreferences/technique-guide.mdscripts/prompt_tester.pyscripts/prompt_versioner.pyVendored from alirezarezvani/claude-skills, commit 27cfcd0fb0a4, path marketing-skill/skills/prompt-engineer-toolkit, licence MIT. The upstream licence file ships inside the skill.