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.
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.'4license: MIT5---67# Prompt Engineer Toolkit89## Overview1011Use 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.1213## Core Capabilities1415- A/B prompt evaluation against structured test cases16- Quantitative scoring for adherence, relevance, and safety checks17- Prompt version tracking with immutable history and changelog18- Prompt diffs to review behavior-impacting edits19- Reusable prompt templates and selection guidance20- Regression-friendly workflows for model/prompt updates2122## Key Workflows2324### 1. Run Prompt A/B Test2526Prepare JSON test cases and run:2728```bash29python3 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 text35```3637Input can also come from stdin/`--input` JSON payload.3839### 2. Choose Winner With Evidence4041The tester scores outputs per case and aggregates:4243- expected content coverage44- forbidden content violations45- regex/format compliance46- output length sanity4748Use the higher-scoring prompt as candidate baseline, then run regression suite.4950### 3. Version Prompts5152```bash53# Add version54python3 scripts/prompt_versioner.py add \55 --name support_classifier \56 --prompt-file prompts/support_v3.txt \57 --author alice5859# Diff versions60python3 scripts/prompt_versioner.py diff --name support_classifier --from-version 2 --to-version 36162# Changelog63python3 scripts/prompt_versioner.py changelog --name support_classifier64```6566### 4. Regression Loop67681. Store baseline version.692. Propose prompt edits.703. Re-run A/B test.714. Promote only if score and safety constraints improve.7273## Script Interfaces7475- `python3 scripts/prompt_tester.py --help`76 - Reads prompts/cases from stdin or `--input`77 - Optional external runner command78 - Emits text or JSON metrics79- `python3 scripts/prompt_versioner.py --help`80 - Manages prompt history (`add`, `list`, `diff`, `changelog`)81 - Stores metadata and content snapshots locally8283## Pitfalls, Best Practices & Review Checklist8485**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.9394**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.101102## References103104- [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-patterns107- [README.md](README.md)108109## Evaluation Design110111Each test case should define:112113- `input`: realistic production-like input114- `expected_contains`: required markers/content115- `forbidden_contains`: disallowed phrases or unsafe content116- `expected_regex`: required structural patterns117118This enables deterministic grading across prompt variants.119120## Versioning Policy121122- 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.126127## Rollout Strategy1281291. 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.