agentleFS
thunderphonethunderphone/skills/thunderphone-prompt-builder/SKILL.md

thunderphone-prompt-builder

Skill0 starsChanged 58 days agoMITView on GitHub

Draft, review, translate, or validate a production ThunderPhone voice-agent prompt. Use when someone asks for prompt engineering, a bilingual phone prompt, TTS-friendly instructions, a prompt language check, or a safe prompt template for a ThunderPhone agent.

  • Reads credentials
  • Sends data out

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Write the prompt the way a person would brief a new receptionist.

    line 13
  2. Distinctive:

    Check the prompt language: before attaching it to an agent.

    line 54
  3. Very specific:

    Translate only when needed: Use POST /v1/agents/translate-prompt with prompt and a supported target_locale.

    line 94
  4. Very specific:

    Verify in calls: Use the iterate-on-agent skill to replay real and simulated conversations against the draft, or test-agent for scenario …

    line 101
  5. Distinctive:

    No caller-response branches or canned lines beyond the greeting.

    line 110
  6. Distinctive:

    No emphasis: no capitals for force, IMPORTANT labels, exclamation marks, or "never" and "always" used for force.

    line 111
  7. Distinctive:

    Follow the prompting guide and the prompt style guide.

    line 133
  8. Distinctive:

    Do not put secrets, regulated records, real callers' details, or invented facts in a prompt.

    line 135

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Build a production prompt

Write the prompt the way a person would brief a new receptionist. The prompt style guide has every guideline with its id; MCP clients can read it as the resource thunderphone://guides/prompt-style.

  1. Collect facts, not dialogue. Record the business identity, supported tasks, boundaries, escalation path and transfer numbers, hours, policies, languages, and data the agent may use. Mark uncertain facts for confirmation.
  2. Write the call in the order it happens. A short opening says who the agent is and, in a few words, how it talks. Then the call: how it opens, what to find out, what to confirm, how it ends. Each rule goes in the step where it applies, with no separate list of rules. Use the template in references/prompt-template.md.
  3. Describe principles and facts, not lines. Say what the agent is trying to achieve and what it may offer. Leave out if the caller says X, say Y branches and canned answers. The opening greeting is the one line written out word for word. When an example of wording helps, give a few varied, full spoken sentences and introduce them as examples; the agent copies example wording closely.
  4. Say it plainly, once. State each behavior as an instruction in ordinary words where it applies. Leave out emphasis: capitals, labels such as IMPORTANT, exclamation marks, and "never", "always" or "must" used for force. When the agent ignores an instruction, make it clearer or move it, rather than louder.
  5. Make speech listenable. One question per turn, with the question last. Short turns in complete first-person sentences, the way a receptionist talks on the phone ("I'll book that for you now"), not clipped notes ("Booking that for you.") or email phrasing ("Kindly ...", "I hope this helps"). No symbols the voice will misread (slashes, ampersands, "@", ".com", phone numbers written without spaces). Say what to confirm (names, numbers, emails, addresses, codes) in the form they were given; the platform paces the read-back.
  6. Leave settings to the settings. What is said while a tool runs, filler phrases, silence check-ins, read-back pacing, the language-switching style, the recording notice, and who speaks first are agent settings. Set them on the agent and keep the prompt on the outcome.
  7. Define language behavior. State the supported languages and how the agent follows the caller's language. Do not paste parallel translated scripts.
  8. Check the prompt language before attaching it to an agent.
{
  "prompt": "${AGENT_PROMPT}",
  "target_locale": "${TARGET_LOCALE}"
}
curl --fail-with-body -X POST https://api.thunderphone.com/v1/agents/prompt-language-check \
  -H "Authorization: Bearer $THUNDERPHONE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-ThunderPhone-Client: skills/thunderphone-prompt-builder@1.0" \
  --data-binary "$(jq -n --arg prompt "$AGENT_PROMPT" '{prompt:$prompt}')"
import os, requests

r = requests.post("https://api.thunderphone.com/v1/agents/prompt-language-check",
    json={"prompt": os.environ["AGENT_PROMPT"]},
    headers={"Authorization": f"Bearer {os.environ['THUNDERPHONE_API_KEY']}",
             "X-ThunderPhone-Client": "skills/thunderphone-prompt-builder@1.0"}, timeout=30)
r.raise_for_status()
print(r.json())
const response = await fetch("https://api.thunderphone.com/v1/agents/translate-prompt", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.THUNDERPHONE_API_KEY}`,
    "Content-Type": "application/json",
    "X-ThunderPhone-Client": "skills/thunderphone-prompt-builder@1.0" },
  body: JSON.stringify({ prompt: process.env.AGENT_PROMPT, target_locale: process.env.TARGET_LOCALE }),
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
  1. Translate only when needed. Use POST /v1/agents/translate-prompt with prompt and a supported target_locale; then have a competent speaker review domain meaning and spoken phrasing.
  2. Review it against the guide. For an agent in an organization with the agent iteration toolkit, POST /v1/agents/{agent_id}/prompt-review (MCP review_prompt) returns findings with guideline ids and find-and-replace edits; apply them to the draft with update_agent.
  3. Verify in calls. Use the iterate-on-agent skill to replay real and simulated conversations against the draft, or test-agent for scenario runs.

Prompt review checklist

  • The call reads in order, and each rule sits in the step it governs.
  • Headings are plain ("Who you are", "The call", "Facts", "Handing off"); there is no rules manual, numbered rule list or "see section X".
  • No caller-response branches or canned lines beyond the greeting.
  • No emphasis: no capitals for force, IMPORTANT labels, exclamation marks, or "never" and "always" used for force.
  • Facts sit apart from behavior, or in a knowledge base, and have a source.
  • One question per turn; costly details are confirmed in the form given.
  • Settings (tool-start line, check-ins, read-back pacing, who speaks first) are set on the agent, not described in the prompt.
  • Transfers name the agent's transfer numbers; tool failures and handoff have a safe outcome.
  • The prompt sounds natural when read aloud.

Errors

SymptomCauseFix
Agent sounds scriptedPrompt contains branches or canned repliesReplace them with the goal, what the agent may offer, and the facts it needs.
Agent ignores a ruleThe rule sits far from its step, or competes with emphasis elsewhereMove it to the step it governs and say it plainly; remove the emphasis.
Agent invents business factsFacts are missing or mixed into vague proseAdd a short facts section or attach a knowledge base.
Translation reads unnaturallyLiteral translation was accepted without reviewReview it for speech, domain terms, locale, and intent.
Language check rejects textPrompt and configured language conflictInspect the result, correct the prompt or choose the intended locale.

Source and safety rules

  • Follow the prompting guide and the prompt style guide.
  • Confirm locales in supported languages.
  • Do not put secrets, regulated records, real callers' details, or invented facts in a prompt.
  • A synthetic text pass does not prove audio quality, latency, or legal compliance.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.