Prompt Engineer Toolkit
Overview
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.
Core Capabilities
- A/B prompt evaluation against structured test cases
- Quantitative scoring for adherence, relevance, and safety checks
- Prompt version tracking with immutable history and changelog
- Prompt diffs to review behavior-impacting edits
- Reusable prompt templates and selection guidance
- Regression-friendly workflows for model/prompt updates
Key Workflows
1. Run Prompt A/B Test
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.
2. Choose Winner With Evidence
The tester scores outputs per case and aggregates:
- expected content coverage
- forbidden content violations
- regex/format compliance
- output length sanity
Use the higher-scoring prompt as candidate baseline, then run regression suite.
3. Version Prompts
# 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
4. Regression Loop
- Store baseline version.
- Propose prompt edits.
- Re-run A/B test.
- Promote only if score and safety constraints improve.
Script Interfaces
python3 scripts/prompt_tester.py --help
- Reads prompts/cases from stdin or
--input
- Optional external runner command
- Emits text or JSON metrics
python3 scripts/prompt_versioner.py --help
- Manages prompt history (
add, list, diff, changelog)
- Stores metadata and content snapshots locally
Pitfalls, Best Practices & Review Checklist
Avoid these mistakes:
- Picking prompts from single-case outputs — use a realistic, edge-case-rich test suite.
- Changing prompt and model simultaneously — always isolate variables.
- Missing
must_not_contain (forbidden-content) checks in evaluation criteria.
- Editing prompts without version metadata, author, or change rationale.
- Skipping semantic diffs before deploying a new prompt version.
- Optimizing one benchmark while harming edge cases — track the full suite.
- Model swap without rerunning the baseline A/B suite.
Before promoting any prompt, confirm:
References
- references/prompt-templates.md — 6 production marketing templates (ad copy, email sequence, social repurposing, landing sections, SEO meta, brand-voice rewrite) plus generic building blocks; each written to be graded by
prompt_tester.py
- references/technique-guide.md — technique-selection table for marketing tasks + the LLM-governance stack for marketing teams (claim discipline, disclosure rules, data boundaries, human-review gates)
- references/evaluation-rubric.md — mechanical scoring weights, acceptance gates, marketing quality dimensions, test-suite design, and eval anti-patterns
- README.md
Evaluation Design
Each test case should define:
input: realistic production-like input
expected_contains: required markers/content
forbidden_contains: disallowed phrases or unsafe content
expected_regex: required structural patterns
This enables deterministic grading across prompt variants.
Versioning Policy
- Use semantic prompt identifiers per feature (
support_classifier, ad_copy_shortform).
- Record author + change note for every revision.
- Never overwrite historical versions.
- Diff before promoting a new prompt to production.
Rollout Strategy
- Create baseline prompt version.
- Propose candidate prompt.
- Run A/B suite against same cases.
- Promote only if winner improves average and keeps violation count at zero.
- Track post-release feedback and feed new failure cases back into test suite.
Source: alirezarezvani/claude-skills → marketing-skill/skills/prompt-engineer-toolkit/SKILL.md
1---2name: prompt-engineer-toolkit3description: Turns marketing prompts into tested, versioned production assets: A/B prompt evaluation against structured test cases, immutable prompt version history with diffs, ready-to-use marketing prompt templates (ad copy, email campaigns, social posts, landing pages, SEO meta), and an LLM-governance playbook for marketing teams (claim discipline, disclosure rules, human-review gates). Use when a marketing team relies on AI-generated content and needs prompt quality to be measurable and safe — or when the user mentions 'prompt engineering,' 'improve my prompts,' 'prompt templates,' 'prompt versioning,' 'AI content workflow,' or 'AI governance for marketing.'4---5
6
7# Prompt Engineer Toolkit
8
9## Overview
10
11Use 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.
12
13## Core Capabilities
14
15- A/B prompt evaluation against structured test cases
16- Quantitative scoring for adherence, relevance, and safety checks
17- Prompt version tracking with immutable history and changelog
18- Prompt diffs to review behavior-impacting edits
19- Reusable prompt templates and selection guidance
20- Regression-friendly workflows for model/prompt updates
21
22## Key Workflows
23
24### 1. Run Prompt A/B Test
25
26Prepare JSON test cases and run:
27
28```bash
29python3 scripts/prompt_tester.py \
30 --prompt-a-file prompts/a.txt \
31 --prompt-b-file prompts/b.txt \
32 --cases-file testcases.json \
33 --runner-cmd 'my-llm-cli --prompt {prompt} --input {input}' \
34 --format text
35```
36
37Input can also come from stdin/`--input` JSON payload.
38
39### 2. Choose Winner With Evidence
40
41The tester scores outputs per case and aggregates:
42
43- expected content coverage
44- forbidden content violations
45- regex/format compliance
46- output length sanity
47
48Use the higher-scoring prompt as candidate baseline, then run regression suite.
49
50### 3. Version Prompts
51
52```bash
53# Add version
54python3 scripts/prompt_versioner.py add \
55 --name support_classifier \
56 --prompt-file prompts/support_v3.txt \
57 --author alice
58
59# Diff versions
60python3 scripts/prompt_versioner.py diff --name support_classifier --from-version 2 --to-version 3
61
62# Changelog
63python3 scripts/prompt_versioner.py changelog --name support_classifier
64```
65
66### 4. Regression Loop
67
681. Store baseline version.
692. Propose prompt edits.
703. Re-run A/B test.
714. Promote only if score and safety constraints improve.
72
73## Script Interfaces
74
75- `python3 scripts/prompt_tester.py --help`
76 - Reads prompts/cases from stdin or `--input`
77 - Optional external runner command
78 - Emits text or JSON metrics
79- `python3 scripts/prompt_versioner.py --help`
80 - Manages prompt history (`add`, `list`, `diff`, `changelog`)
81 - Stores metadata and content snapshots locally
82
83## Pitfalls, Best Practices & Review Checklist
84
85**Avoid these mistakes:**
861. Picking prompts from single-case outputs — use a realistic, edge-case-rich test suite.
872. Changing prompt and model simultaneously — always isolate variables.
883. Missing `must_not_contain` (forbidden-content) checks in evaluation criteria.
894. Editing prompts without version metadata, author, or change rationale.
905. Skipping semantic diffs before deploying a new prompt version.
916. Optimizing one benchmark while harming edge cases — track the full suite.
927. Model swap without rerunning the baseline A/B suite.
93
94**Before promoting any prompt, confirm:**
95- [ ] Task intent is explicit and unambiguous.
96- [ ] Output schema/format is explicit.
97- [ ] Safety and exclusion constraints are explicit.
98- [ ] No contradictory instructions.
99- [ ] No unnecessary verbosity tokens.
100- [ ] A/B score improves and violation count stays at zero.
101
102## References
103
104- [references/prompt-templates.md](references/prompt-templates.md) — 6 production marketing templates (ad copy, email sequence, social repurposing, landing sections, SEO meta, brand-voice rewrite) plus generic building blocks; each written to be graded by `prompt_tester.py`
105- [references/technique-guide.md](references/technique-guide.md) — technique-selection table for marketing tasks + the LLM-governance stack for marketing teams (claim discipline, disclosure rules, data boundaries, human-review gates)
106- [references/evaluation-rubric.md](references/evaluation-rubric.md) — mechanical scoring weights, acceptance gates, marketing quality dimensions, test-suite design, and eval anti-patterns
107- [README.md](README.md)
108
109## Evaluation Design
110
111Each test case should define:
112
113- `input`: realistic production-like input
114- `expected_contains`: required markers/content
115- `forbidden_contains`: disallowed phrases or unsafe content
116- `expected_regex`: required structural patterns
117
118This enables deterministic grading across prompt variants.
119
120## Versioning Policy
121
122- Use semantic prompt identifiers per feature (`support_classifier`, `ad_copy_shortform`).
123- Record author + change note for every revision.
124- Never overwrite historical versions.
125- Diff before promoting a new prompt to production.
126
127## Rollout Strategy
128
1291. Create baseline prompt version.
1302. Propose candidate prompt.
1313. Run A/B suite against same cases.
1324. Promote only if winner improves average and keeps violation count at zero.
1335. Track post-release feedback and feed new failure cases back into test suite.
134
135---
136
137**Source:** [`alirezarezvani/claude-skills`](https://github.com/alirezarezvani/claude-skills) → `marketing-skill/skills/prompt-engineer-toolkit/SKILL.md`