{"id":72000,"plugin_id":"plugin_asdk_app_6ae1fbfde930819188d2ae80dcfc0bce","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-30T00:06:34.569Z","digest":"40c43b00cd8d748c99deea24572969bf728062463b9849aee00f24793c40142e","against":null,"payload":{"description":"Builds a new skill from a plain-language request, or tightens an existing one. Knows the Zime connector inside out, so a skill for calls, deals, accounts, pipeline or prep uses the right Zime tools and follows the same shape as every other Zime skill. Works for any other connector too, from a short profile of its tools. Use for \"make me a skill that…\", \"create a skill for…\", \"turn this prompt into a skill\", \"build a skill on top of Zime\", \"write a skill for another connector\", \"improve this skill\", or \"why isn't my skill triggering\". Not for running a skill: to prep a call, recap one, or review a deal, use those skills directly.","included_files":[{"relative_path":"references/checklist.md","size_in_bytes":3372},{"relative_path":"references/connector-profile-template.md","size_in_bytes":1879},{"relative_path":"references/connector-zime.md","size_in_bytes":9025},{"relative_path":"references/skill-template.md","size_in_bytes":7590}],"name":"skill-builder","skill_md_contents":"---\nname: skill-builder\ndescription: \"Builds a new skill from a plain-language request, or tightens an existing one. Knows the Zime connector inside out, so a skill for calls, deals, accounts, pipeline or prep uses the right Zime tools and follows the same shape as every other Zime skill. Works for any other connector too, from a short profile of its tools. Use for \\\"make me a skill that…\\\", \\\"create a skill for…\\\", \\\"turn this prompt into a skill\\\", \\\"build a skill on top of Zime\\\", \\\"write a skill for another connector\\\", \\\"improve this skill\\\", or \\\"why isn't my skill triggering\\\". Not for running a skill: to prep a call, recap one, or review a deal, use those skills directly.\"\nlicense: MIT\nmetadata:\n  zime:skill-id: ca80a662-d53f-4b06-b391-c8e62151ce8f\n  zime:tag: workflow\n  zime:roles: ae,se,bdr,marketing,pm,cs\n  zime:visibility: global\n  zime:skill-version: \"2\"\n  zime:marketplace-version: 0.1.20\n---\n\n# Skill Builder\n\nBefore anything else, call the Zime connector tool `skill_used` with skill_id `ca80a662-d53f-4b06-b391-c8e62151ce8f`, skill_version `2` and skill_slug `skill-builder`. It records which skill ran for Zime usage analytics. If the Zime connector is not available, skip this step and continue.\n\nTurns \"I wish my assistant did X for me every time\" into a skill your whole\nteam can use. You describe the job; this skill interviews you for the parts\nthat matter, picks the connector tools that do the work, writes the skill in\nthe house shape, checks it against the rules that get skills rejected, and\nhands back a folder ready to publish.\n\nZime ships as the built-in connector profile, so anything about calls, deals,\naccounts, pipeline or call prep comes out already wired to `ask_zime`,\n`list_meetings`, `get_transcript`, `list_deals`, `list_accounts`,\n`get_contact` and `prep_note`. Any other connector works from a profile you\nfill in once, or from its live tool list if it is connected in this chat.\n\n## How It Works\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                        SKILL BUILDER                             │\n├─────────────────────────────────────────────────────────────────┤\n│  1  INTERVIEW   one job, trigger phrases, output shape, scope    │\n│  2  PROFILE     Zime built in · another connector from profile   │\n│                 · or read the connected tools right now          │\n│  3  MAP         which tool resolves the thing, which tool        │\n│                 answers; one entity or many                      │\n│  4  DRAFT       fill references/skill-template.md, every section │\n│  5  CHECK       references/checklist.md — limits, links, shape   │\n│  6  PACKAGE     <slug>/SKILL.md (+ references/), ready to publish│\n├─────────────────────────────────────────────────────────────────┤\n│  NOT THIS SKILL (route away)                                     │\n│  ✗ Actually prepping, recapping, reviewing → that skill          │\n│  ✗ A one-off answer with no reuse          → just ask Zime       │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## Usage\n\n```\n@skill-builder <what the skill should do> [for <connector>]\n```\n\nIn the ChatGPT desktop app you can also type `/skill-builder`.\n\nBuild a skill that does what the user described.\n\n## Routing\n\n- You want the answer once, not a reusable skill → ask the connector directly.\n- You want to run an existing Zime skill → use it: `review-call`,\n`review-account`, `call-prep`, `follow-up`, `actions-commitments`,\n`daily-briefing`, `competitive-intelligence`, `account-research`,\n`create-sales-asset`, `create-sales-to-cs-handover`.\n- You have a finished skill and only want to test how well it triggers → the\ndescription step below is the part to run; skip the rest.\n\n## What I Need From You\n\nSay what the skill should do in one or two sentences. I will ask for the rest,\nbut if you already know it, give it up front:\n\n- **Three prompts** a colleague would type that should trigger it, and one\nthat should not.\n- **Scope:** one call, one deal, one account, or many at once.\n- **Output:** a record, a summary, an analysis, a draft to send, a file.\n- **Who it is for:** AE, SE, BDR, marketing, PM, CS. Pick any.\n- **Connector:** Zime unless you say otherwise.\n\n## Step 1 — Interview\n\nAsk only for what is missing from the list above. Then restate the skill in\none line, the way its description will read, and get a yes before drafting.\nA skill that does two jobs is two skills. If the request has an \"and\" in it\nthat joins two different outputs, say so and offer to build the first one.\n\n## Step 2 — Pick the connector profile\n\n- **Zime:** read `references/connector-zime.md`. It lists every tool, its\narguments, what it returns, which ones cost credits, and the house rules the\nten existing Zime skills follow. Use it as written.\n- **Another connector with a profile:** the user gives you a filled-in copy of\n`references/connector-profile-template.md`. Use that.\n- **Another connector, no profile, connected in this chat:** list its tools\nfrom their descriptions and fill the template yourself before drafting.\nShow the user the filled profile and confirm the tool names. A skill that\ncalls a tool by the wrong name fails silently in someone else's session.\n- **No connector at all:** the skill can still be built around files the user\nprovides. Say plainly that it will only ever run in local mode.\n\n## Step 3 — Map the job to tools\n\nEvery connector skill has the same two beats:\n\n1. **Resolve.** Which tool turns the user's words into one specific record:\na `call_id`, `deal_id`, `account_id`, `meeting_id`, `contact_id`. If the\nscope is many records at once, there is no resolve step; say so in the\nskill and go straight to the answering tool.\n2. **Answer.** Which tool produces the deliverable: a record (return its\nfields), a verbatim artefact (return it untouched), or an agent's analysis\n(relay it as-is).\n\nWrite down the mapping before drafting. If a step has no tool, the skill's\nlocal mode is the only mode and the draft must say so.\n\n## Step 4 — Draft\n\nOpen `references/skill-template.md` and fill every section in order. Do not\nskip a section because it feels thin; a thin section is a signal the job is\nunderspecified, so go back to Step 1. The sections that people most often get\nwrong:\n\n- **Outcomes.** One line per status the tool can return, including\n`multiple_matches`, `no_match` and each error code. \"Never guess between\ncandidates\" and \"never substitute a similar record\" belong here.\n- **The grounding rule.** Say what it means to answer without the tool while\nthe tool is available, and name it as a failure of the skill. Copy the\nwording style from the profile.\n- **Output envelope.** The skill adds a header and footer around what the\ntool returned; it does not rewrite, re-rank or round anything.\n- **Local mode.** What the skill does with a file the user provides when the\nconnector is not connected, and the one-line caveat it opens with.\n- **What this sends where.** Exactly which fields go to which tool. Users\nread this; write it for them.\n\n## Step 5 — Write the description last\n\nThe description is the only thing the assistant reads when deciding whether to\nrun the skill, so it does more work than the whole body.\n\n- Under 1,024 characters. The Zime dashboard allows 1,200, but ChatGPT\nrejects skill descriptions longer than 1,024, so stay under the lower bar.\n- Lead with what it does, in the words a colleague would use.\n- Include the trigger phrases from the interview, quoted, as they would be\ntyped.\n- End with one sentence on what it is **not** for, naming the sibling skill.\n- No \"Use when the user…\" filler. Every sentence should either help the\nassistant recognise the moment or rule one out.\n\n## Step 6 — Check, then package\n\nRun `references/checklist.md` top to bottom and fix what fails. Then present:\n\n```markdown\n**<Title>** · `<slug>` · <tag> · <roles>\nTools: <resolve tool> → <answer tool>\nFiles: SKILL.md[, references/<name>.md …]\n\n<the full SKILL.md, then each sibling file, each in its own code block>\n\n**Next:** see \"Getting the skill live\" below.\n```\n\nWhere files can be created, write the folder `<slug>/SKILL.md` plus any\n`references/`, `assets/` or `scripts/` files and offer the zip. Where they\ncannot, the code blocks are the deliverable.\n\n## Getting the skill live\n\nGive the user these steps after the package:\n\n- **For the whole team (recommended):** in the Zime dashboard, open Skills →\nUpload and drop the folder as a zip (or paste the SKILL.md into a new skill),\nset visibility, and publish. Zime syncs it to your team's Zime plugin, so it\nreaches everyone who has the plugin installed.\n- **Just for yourself in the ChatGPT desktop app:** start a Work chat, type\n`@skill-creator` and paste the SKILL.md, or add the folder under **Skills** in\nthe sidebar. Skills added this way work only in the desktop app. To use the\nskill on chatgpt.com or mobile, publish it from the Zime dashboard instead.\n\nRun a published skill with `@<slug>`, or `/<slug>` in the ChatGPT desktop app.\n\n## Rules this skill enforces in every draft\n\n- One skill, one job. Two outputs means two skills.\n- Resolve before you answer. Ambiguous means ask, never pick.\n- Never answer from memory or chat history while the tool is available, and\nthe draft must say so in those words.\n- Quotes come only from a verbatim tool. Never from an agent's paraphrase.\n- Relay agent output as-is. No re-ranking, merging, rounding or additions.\n- Unknown is a finding. An empty dimension is reported, not filled.\n- Time words go in date fields, not in the query, unless the profile says the\ntool wants them in the query.\n- Every draft has a local mode, even if it is one line saying what it cannot\ndo without the connector.\n- No instructions that depend on one assistant's features, such as rendering\nan artifact or a placeholder like `$ARGUMENTS`. Write plain markdown output\nthat any assistant can produce.\n- No step that tells the assistant to use a different connector. A skill\nuses the tools of the connector it was built for.\n\n## Tips\n\n1. **Start from a prompt you already reuse.** If you keep pasting the same\nask into ChatGPT, that ask is the interview.\n2. **Bring the three trigger phrases.** The description is only as good as\nthe phrasings it was written for.\n3. **Narrow beats broad.** \"Renewals with no exec sponsor\" builds a sharper\nskill than \"renewal risk\".\n4. **Test the description on the negative prompt.** If the one prompt that\nshould not trigger it plausibly would, the last sentence of the\ndescription is not doing its job.\n\n## Local mode (no connector connected)\n\nBuild from the profile files alone. `references/connector-zime.md` is static\nand complete, so a Zime skill can be drafted without the connector present.\nSay so, and tell the user the tool names should be verified against their\nconnected Zime before they publish.\n\n## What this sends where\n\nAt the start, this skill calls the Zime connector tool `skill_used`, which\nrecords the skill's id, version and name with your user and session in\nZime's usage log. Beyond that it only writes text. If, and only if, you ask\nit to read the tools of a connector that is connected in this chat, it lists\nthose tools from their descriptions; no call is made to them. The Zime\nprofile in `references/` is read locally.\n\n## Related Skills\n\n- **review-call**, **review-account**, **call-prep** — the reference\nimplementations this skill copies its shape from\n- **follow-up**, **create-sales-asset** — examples of a skill whose output is\na draft rather than an analysis\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}