# CRAFT skill: acceptance tests and test report (v1.0)

Twelve acceptance tests live in `craft/evals/evals.json` (the eval folder is
excluded from the packaged skill). Six were run by following the skill's
instructions exactly; the outputs are recorded below so you can judge them.
Run any of them after installing, on any platform, to confirm your copy
behaves the same way.

## The twelve tests at a glance

| # | Prompt | Must be true |
|---|---|---|
| 1 | write an email about our price increase from $199 to $229 | Greeting (first turn); one-line assumption; < 200 words; subject line; tune line; no CRAFT lecture |
| 2 | craft: I want the best marketing ideas for my 6-person cleaning company in Franklin TN, budget $600/mo | Greeting; ≤ 3 questions that skip what's already given; then a full CRAFT prompt in a code block; 3 lines on choices |
| 3 | craft: audit Write a blog post about HVAC maintenance. | Greeting; scorecard 1–5 × 5 out of 25; a fix per letter under 4; upgraded prompt in a code block |
| 4 | Closer. Cut the second paragraph, sharpen the opening, keep the ending exactly as is. | No greeting (follow-up); paragraph 2 gone; opener sharper; ending byte-identical; one-line change report |
| 5 | the top of my website feels crowded and the button doesn't stand out | Part + action + result; asks hero vs nav once |
| 6 | what's the CRAFT rule? | The exact rule line, nothing before or after |
| 7 | craft: brief | Greeting; ≤ 8 questions in one message; Context Card < 180 words in a code block; no secrets; where-to-save lines |
| 8 | What's the capital of Tennessee? | One word; no greeting, assumption, or tune line |
| 9 | craft: pack I need to reply to a bad Google review | Greeting; template 30 filled from context; template number named |
| 10 | quick email saying we're closed Monday for Labor Day | The email only; no assumption or tune line |
| 11 | craft: quiet, then a rewrite request | No greeting; no tune line; only the named change |
| 12 | Write me a prompt I can paste into ChatGPT to plan a 12-month content calendar for my bakery | Portable plain-text CRAFT prompt; material above question; "ask me anything you need first"; no Claude-only features |

---

## Test 1: vague ask, first turn of a chat

**Prompt:** write an email about our price increase from $199 to $229 for my customers

**Output:**

> Thank you for using the CRAFT skill by Agentix.
>
> Assuming this goes to existing customers who know you, and the new price starts on their next billing cycle. Say the word if it's for new leads or a specific date.
>
> **Subject:** A change to your service price starting next month
>
> Hi [First name],
>
> Starting with your next billing cycle, your monthly service moves from $199 to $229.
>
> Here's the honest reason: our costs are up about 9% this year, mostly parts and fuel, and we've held the price as long as we could without cutting corners on the work. We'd rather be straight with you than quietly do less.
>
> Nothing else changes. Same crew, same response time, same number to call if something's not right.
>
> If the new price is a problem, reply to this email or call me directly and we'll figure it out together.
>
> Thanks for trusting us with your home.
>
> [Your name]
> [Business] · [phone]
>
> Say warmer, shorter, or ask for a second version and I'll adjust.

**Passes:** greeting on first activation; one-line assumption; under 200 words; subject line; plain language; no bullets; tune line; no explanation of CRAFT.

---

## Test 3: audit

**Prompt:** craft: audit Write a blog post about HVAC maintenance.

**Output:**

> Thank you for using the CRAFT skill by Agentix.
>
> **Scorecard: 8/25**
> C Context 1/5: no reader, no business, no reason for the post.
> R Role 1/5: none.
> A Ask 3/5: "write" is a clear verb; "about HVAC maintenance" is a topic, not a task.
> F Format 1/5: no length, structure, tone, or must-haves.
> T Tune 2/5: no follow-up planned.
>
> Fixes: C, add who reads it and why it exists (homeowners deciding whether to book a fall tune-up). R, one real writer (an HVAC owner who explains things at the kitchen table). A, name the angle (the five things a homeowner should do before winter). F, length, structure, and a CTA. T, plan the second pass.
>
> ```
> CONTEXT: I own a 12-person HVAC company in Nashville. This post is for
> homeowners deciding whether to book a fall tune-up, and it goes on our
> website blog. The goal is bookings, not traffic.
> ROLE: Act as an HVAC owner who explains things at the kitchen table, and
> approach this as if you have skin in the game with me.
> ASK: Write a blog post on the five things a homeowner should do before
> winter, and why a professional tune-up covers the rest.
> FORMAT: 600 to 800 words. A hook that opens with the cost of a mid-January
> breakdown. H2 for each of the five items, two short paragraphs each. Plain
> language, no jargon. One CTA at the end to book a tune-up, with a phone
> number placeholder. Ask me anything you need before you start.
> TUNE: After the draft, I'll say keep / change / leave.
> ```

**Passes:** greeting; six-line scorecard with total; a fix per letter under 4; upgraded prompt in a code block.

---

## Test 5: Tech Talk translation, no command

**Prompt:** the top of my website feels crowded and the button doesn't stand out

**Output:**

> Thank you for using the CRAFT skill by Agentix.
>
> Reading that as: in the hero, add whitespace around the headline, cut the subtitle to one line, and make the primary CTA higher contrast (brand accent color, larger padding, one CTA in that block). Did you mean the hero, or the nav bar above it? Send a screenshot or the URL and I'll apply it.

**Passes:** part + action + result; ambiguity handled with one question; asks for the artifact it needs.

---

## Test 6: handshake

**Prompt:** what's the CRAFT rule?

**Output:**

> Brief it like a brilliant new hire: Context, Role, Ask, Format, then Tune. Structure beats length. (CRAFT Skill v1.0 by Agentix)

**Passes:** exact line, nothing before or after (the handshake is exempt from the greeting so installs verify byte-for-byte).

---

## Test 8: trivia

**Prompt:** What's the capital of Tennessee?

**Output:**

> Nashville.

**Passes:** no greeting, no assumption line, no tune line. CRAFT adds no ceremony to trivia.

---

## Test 10: "quick"

**Prompt:** quick email saying we're closed Monday for Labor Day

**Output:**

> **Subject:** Closed Monday for Labor Day
>
> Hi everyone,
>
> We're closed Monday, September 7, for Labor Day and back Tuesday at 8 a.m. For anything urgent, call the after-hours line at [number].
>
> Enjoy the long weekend,
> [Name]

**Passes:** short; no assumption line; no tune line; "quick" treated as the format spec. (The greeting would appear here only if this were the first CRAFT activation in the chat.)

---

## Not yet run (run these after installing)

- Test 2: `craft:` with a goal that already contains context (should skip questions already answered)
- Test 4: a tune on a prior draft (no greeting on follow-up; ending byte-identical)
- Test 7: `craft: brief` (Context Card under 180 words, no secrets)
- Test 9: `craft: pack` (template 30 filled from context)
- Test 11: `craft: quiet` (no greeting or tune line afterward)
- Test 12: a portable prompt for ChatGPT (no Claude-only features)

If any of these misbehave, the fix is almost always in `craft/SKILL.md` under
"Commands" or "Defaults." Edit, re-zip the `craft` folder, delete the old
skill in Customize → Skills, and upload again.
