{"id":"6f3e5576-536c-4594-a68c-7447be2c96cd","shortId":"GYTEcK","kind":"skill","title":"SDK Quickstart Writer","tagline":"Generates a concise, copy-paste-ready quickstart guide for any SDK or library.","description":"# SDK Quickstart Writer\n\n## What this skill does\n\nThis skill writes a concise, copy-paste-ready quickstart guide for any SDK or library. It produces a document that gets a developer from zero to their first working API call or feature in under 10 minutes — covering installation, setup, authentication, and a complete working example. The output follows the \"get it working first, explain later\" philosophy.\n\nUse this when releasing a new SDK, when existing documentation is too verbose or scattered, or when onboarding developers who need a working example before reading the full API reference.\n\n## How to use\n\n### Claude Code / Cline\n\nCopy this file to `.agents/skills/sdk-quickstart-writer/SKILL.md` in your project root.\n\nThen ask:\n- *\"Use the SDK Quickstart Writer skill to write a quickstart for our Node.js SDK.\"*\n- *\"Write a quickstart guide for developers integrating our REST API using the SDK Quickstart Writer skill.\"*\n\nProvide:\n- The SDK name and language(s)\n- Installation command\n- Required credentials or API keys\n- The most common or important first use case\n- Any code samples you already have\n\n### Cursor\n\nAdd the instructions below to your `.cursorrules` or paste them into the Cursor AI pane. Provide SDK details and any existing code.\n\n### Codex\n\nProvide the SDK name, the package name, authentication method, and a description of the primary use case. Ask Codex to follow the instructions below.\n\n## The Prompt / Instructions for the Agent\n\nWhen asked to write an SDK quickstart, follow these steps:\n\n### Step 1 — Understand the SDK\n\nBefore writing, confirm you understand:\n- **Language / runtime**: Node.js, Python, Go, browser JS, etc.\n- **Package name**: What do developers install?\n- **Authentication**: API key in header? OAuth? Client ID + secret?\n- **Primary use case**: What's the first thing 80% of developers want to do?\n- **Base URL / environment**: Any staging vs production distinction?\n\nIf this information isn't provided, ask before writing.\n\n### Step 2 — Structure the quickstart\n\nThe quickstart must follow this exact structure:\n\n1. **Prerequisites** — What does the developer need before starting? (Node 18+, a free account, an API key)\n2. **Installation** — Single command, copy-paste ready\n3. **Configuration** — How to provide credentials (environment variable, config file, constructor argument)\n4. **Your first call** — A complete, runnable code example that does something meaningful. Not \"hello world\" — the actual thing they came here to do.\n5. **Understanding the response** — Annotate the response object with comments explaining key fields\n6. **What to do next** — 3–4 links or topics to explore after the quickstart\n\n### Step 3 — Write the code examples\n\nCode examples must be:\n- **Complete and runnable** — copy-paste with only the API key changed\n- **Minimal** — no boilerplate, no unrelated setup, no try/catch unless error handling is the point\n- **Annotated** — key lines should have a short inline comment explaining what they do\n- **Using real-looking data** — use realistic example values, not `foo`, `bar`, `test123`\n\n### Step 4 — Write the surrounding prose\n\n- Keep it short. Each prose section should be 1–3 sentences max.\n- Use imperative voice: \"Install the package\", \"Set your API key\", \"Create a client\"\n- Don't explain why — that's for the reference docs. Just show what to do.\n- Use callout boxes for important notes (authentication, rate limits, required fields)\n\n### Step 5 — Format the quickstart\n\n```markdown\n# [SDK Name] Quickstart\n\nGet up and running in under 10 minutes.\n\n## Prerequisites\n- [Requirement 1]\n- [Requirement 2]\n- An API key — [link to where to get one]\n\n## Install\n\n```bash\nnpm install @yourcompany/sdk\n```\n\n## Configure\n\nSet your API key as an environment variable:\n\n```bash\nexport YOUR_API_KEY=your_key_here\n```\n\n> **Never commit your API key to source control.** Use a `.env` file and add it to `.gitignore`.\n\n## Your First Call\n\n[1–2 sentence description of what this example does]\n\n```[language]\n[Complete, runnable code example with inline comments]\n```\n\n## Understanding the Response\n\n```[language]\n{\n  \"id\": \"item_123\",       // Unique ID for this resource\n  \"status\": \"active\",     // Current state: \"active\" | \"inactive\" | \"pending\"\n  \"createdAt\": \"2026-03-15T10:00:00Z\"  // ISO 8601 timestamp\n}\n```\n\n## Next Steps\n- [Link or topic 1]\n- [Link or topic 2]\n- [Link or topic 3]\n```\n\n## Example\n\n**Input to Agent:**\n> \"Use the SDK Quickstart Writer skill. SDK details:\n> - Name: Notify SDK (Node.js)\n> - Package: `@notifyhq/node`\n> - Auth: API key passed to constructor\n> - Primary use case: Send a push notification to a user by their user ID\"\n\n**Output from Agent:**\n\n> # Notify Node.js SDK — Quickstart\n>\n> Get up and running in under 10 minutes.\n>\n> ## Prerequisites\n> - Node.js 18 or higher\n> - A Notify account — [sign up free](https://notifyhq.com/signup)\n> - An API key from your [Notify dashboard](https://notifyhq.com/dashboard/keys)\n>\n> ## Install\n>\n> ```bash\n> npm install @notifyhq/node\n> ```\n>\n> ## Configure\n>\n> ```bash\n> export NOTIFY_API_KEY=your_api_key_here\n> ```\n>\n> > **Never commit your API key.** Add `.env` to `.gitignore` and use a package like `dotenv` to load it locally.\n>\n> ## Your First Call\n>\n> Send a push notification to a user:\n>\n> ```js\n> import { NotifyClient } from '@notifyhq/node';\n>\n> // Initialize the client with your API key\n> const notify = new NotifyClient(process.env.NOTIFY_API_KEY);\n>\n> // Send a push notification to a user by their ID\n> const result = await notify.push.send({\n>   userId: 'user_8a72bc',           // Your app's user identifier\n>   title: 'Your order has shipped', // Notification title\n>   body: 'Estimated arrival: March 18', // Notification body\n> });\n>\n> console.log(result.id); // => \"notif_9f3a12c\"\n> ```\n>\n> ## Understanding the Response\n>\n> ```js\n> {\n>   \"id\": \"notif_9f3a12c\",        // Unique notification ID — use for status lookups\n>   \"status\": \"queued\",           // \"queued\" | \"delivered\" | \"failed\"\n>   \"userId\": \"user_8a72bc\",      // The recipient\n>   \"createdAt\": \"2026-03-15T10:00:00Z\"\n> }\n> ```\n>\n> ## Next Steps\n> - [Send to multiple users at once](https://docs.notifyhq.com/batch)\n> - [Track delivery status with webhooks](https://docs.notifyhq.com/webhooks)\n> - [Customize notification channels (email, SMS, push)](https://docs.notifyhq.com/channels)\n> - [Full API reference](https://docs.notifyhq.com/api)\n\n## Notes\n\n- The quickstart should be opinionated — show one way to do it, not three. Options belong in the full docs.\n- If the SDK supports multiple languages, write a separate quickstart for each — don't try to combine them.\n- Real, working code examples are more valuable than any amount of prose. When in doubt, add more code and less text.","tags":["sdk","quickstart","writer","openagentskills","notysoty","agent-skills","claude","claude-code","claude-skills","cline","cursor","llm"],"capabilities":["skill","source-notysoty","skill-sdk-quickstart-writer","topic-agent-skills","topic-claude","topic-claude-code","topic-claude-skills","topic-cline","topic-cursor","topic-llm","topic-llm-skills","topic-skills"],"categories":["openagentskills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Notysoty/openagentskills/sdk-quickstart-writer","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Notysoty/openagentskills","source_repo":"https://github.com/Notysoty/openagentskills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (6,739 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:24.402Z","embedding":null,"createdAt":"2026-05-18T13:20:46.174Z","updatedAt":"2026-05-18T19:13:24.402Z","lastSeenAt":"2026-05-18T19:13:24.402Z","tsv":"'-03':647,875 '-15':648,876 '/api)':913 '/batch)':890 '/channels)':907 '/dashboard/keys)':745 '/signup)':735 '/webhooks)':898 '00':650,878 '00z':651,879 '1':253,328,493,555,609,660 '10':61,551,720 '123':632 '18':338,724,842 '2':317,345,557,610,664 '2026':646,874 '3':353,407,418,494,668 '4':365,408,480 '5':389,537 '6':402 '80':293 '8601':653 '8a72bc':825,870 '9f3a12c':848,855 'account':341,729 'activ':639,642 'actual':382 'add':189,602,766,967 'agent':241,672,709 'agents/skills/sdk-quickstart-writer/skill.md':123 'ai':202 'alreadi':186 'amount':961 'annot':393,453 'api':55,111,153,172,277,343,436,505,559,575,584,592,688,737,755,758,764,800,807,909 'app':827 'argument':364 'arriv':840 'ask':129,229,243,313 'auth':687 'authent':66,219,276,531 'await':821 'bar':477 'base':299 'bash':568,581,747,752 'belong':929 'bodi':838,844 'boilerpl':441 'box':527 'browser':267 'call':56,368,608,782 'callout':526 'came':385 'case':181,228,287,695 'chang':438 'channel':901 'claud':116 'client':282,509,797 'cline':118 'code':117,183,210,372,421,423,621,954,969 'codex':211,230 'combin':950 'command':168,348 'comment':398,461,625 'commit':590,762 'common':176 'complet':69,370,427,619 'concis':6,29 'config':361 'configur':354,572,751 'confirm':259 'console.log':845 'const':802,819 'constructor':363,692 'control':596 'copi':8,31,119,350,431 'copy-past':349,430 'copy-paste-readi':7,30 'cover':63 'creat':507 'createdat':645,873 'credenti':170,358 'current':640 'cursor':188,201 'cursorrul':195 'custom':899 'dashboard':742 'data':470 'deliv':866 'deliveri':892 'descript':223,612 'detail':206,680 'develop':48,101,149,274,295,333 'distinct':306 'doc':519,933 'docs.notifyhq.com':889,897,906,912 'docs.notifyhq.com/api)':911 'docs.notifyhq.com/batch)':888 'docs.notifyhq.com/channels)':905 'docs.notifyhq.com/webhooks)':896 'document':44,92 'dotenv':775 'doubt':966 'email':902 'env':599,767 'environ':301,359,579 'error':448 'estim':839 'etc':269 'exact':326 'exampl':71,106,373,422,424,473,616,622,669,955 'exist':91,209 'explain':80,399,462,512 'explor':413 'export':582,753 'fail':867 'featur':58 'field':401,535 'file':121,362,600 'first':53,79,179,291,367,607,781 'follow':74,232,249,324 'foo':476 'format':538 'free':340,732 'full':110,908,932 'generat':4 'get':46,76,545,565,714 'gitignor':605,769 'go':266 'guid':12,35,147 'handl':449 'header':280 'hello':379 'higher':726 'id':283,630,634,706,818,853,858 'identifi':830 'imper':498 'import':178,529,791 'inact':643 'inform':309 'initi':795 'inlin':460,624 'input':670 'instal':64,167,275,346,500,567,570,746,749 'instruct':191,234,238 'integr':150 'isn':310 'iso':652 'item':631 'js':268,790,852 'keep':485 'key':173,278,344,400,437,454,506,560,576,585,587,593,689,738,756,759,765,801,808 'languag':165,262,618,629,939 'later':81 'less':971 'librari':17,40 'like':774 'limit':533 'line':455 'link':409,561,657,661,665 'load':777 'local':779 'look':469 'lookup':862 'march':841 'markdown':541 'max':496 'meaning':377 'method':220 'minim':439 'minut':62,552,721 'multipl':884,938 'must':323,425 'name':163,215,218,271,543,681 'need':103,334 'never':589,761 'new':88,804 'next':406,655,880 'node':337 'node.js':142,264,684,711,723 'note':530,914 'notif':699,786,812,836,843,847,854,857,900 'notifi':682,710,728,741,754,803 'notify.push.send':822 'notifycli':792,805 'notifyhq.com':734,744 'notifyhq.com/dashboard/keys)':743 'notifyhq.com/signup)':733 'notifyhq/node':686,750,794 'npm':569,748 'oauth':281 'object':396 'onboard':100 'one':566,921 'opinion':919 'option':928 'order':833 'output':73,707 'packag':217,270,502,685,773 'pane':203 'pass':690 'past':9,32,197,351,432 'pend':644 'philosophi':82 'point':452 'prerequisit':329,553,722 'primari':226,285,693 'process.env.notify':806 'produc':42 'product':305 'project':126 'prompt':237 'prose':484,489,963 'provid':160,204,212,312,357 'push':698,785,811,904 'python':265 'queu':864,865 'quickstart':2,11,19,34,133,139,146,157,248,320,322,416,540,544,676,713,916,943 'rate':532 'read':108 'readi':10,33,352 'real':468,952 'real-look':467 'realist':472 'recipi':872 'refer':112,518,910 'releas':86 'requir':169,534,554,556 'resourc':637 'respons':392,395,628,851 'rest':152 'result':820 'result.id':846 'root':127 'run':548,717 'runnabl':371,429,620 'runtim':263 'sampl':184 'scatter':97 'sdk':1,15,18,38,89,132,143,156,162,205,214,247,256,542,675,679,683,712,936 'secret':284 'section':490 'send':696,783,809,882 'sentenc':495,611 'separ':942 'set':503,573 'setup':65,444 'ship':835 'short':459,487 'show':521,920 'sign':730 'singl':347 'skill':23,26,135,159,678 'skill-sdk-quickstart-writer' 'sms':903 'someth':376 'sourc':595 'source-notysoty' 'stage':303 'start':336 'state':641 'status':638,861,863,893 'step':251,252,316,417,479,536,656,881 'structur':318,327 'support':937 'surround':483 't10':649,877 'test123':478 'text':972 'thing':292,383 'three':927 'timestamp':654 'titl':831,837 'topic':411,659,663,667 'topic-agent-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-cline' 'topic-cursor' 'topic-llm' 'topic-llm-skills' 'topic-skills' 'track':891 'tri':948 'try/catch':446 'understand':254,261,390,626,849 'uniqu':633,856 'unless':447 'unrel':443 'url':300 'use':83,115,130,154,180,227,286,466,471,497,525,597,673,694,771,859 'user':702,705,789,815,824,829,869,885 'userid':823,868 'valu':474 'valuabl':958 'variabl':360,580 'verbos':95 'voic':499 'vs':304 'want':296 'way':922 'webhook':895 'work':54,70,78,105,953 'world':380 'write':27,137,144,245,258,315,419,481,940 'writer':3,20,134,158,677 'yourcompany/sdk':571 'zero':50","prices":[{"id":"d66e23bc-d09b-4a27-b115-4970942bc9f4","listingId":"6f3e5576-536c-4594-a68c-7447be2c96cd","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Notysoty","category":"openagentskills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:20:46.174Z"}],"sources":[{"listingId":"6f3e5576-536c-4594-a68c-7447be2c96cd","source":"github","sourceId":"Notysoty/openagentskills/sdk-quickstart-writer","sourceUrl":"https://github.com/Notysoty/openagentskills/tree/main/skills/sdk-quickstart-writer","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:46.174Z","lastSeenAt":"2026-05-18T19:13:24.402Z"}],"details":{"listingId":"6f3e5576-536c-4594-a68c-7447be2c96cd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Notysoty","slug":"sdk-quickstart-writer","github":{"repo":"Notysoty/openagentskills","stars":8,"topics":["agent-skills","claude","claude-code","claude-skills","cline","cursor","llm","llm-skills","skills"],"license":"mit","html_url":"https://github.com/Notysoty/openagentskills","pushed_at":"2026-03-28T06:50:19Z","description":"A  community-driven library of reusable AI agent skills for Claude Code, Cursor, Codex, Cline, and more.","skill_md_sha":"974b285b6303f7bda9ece5531aebb91db12cd5a8","skill_md_path":"skills/sdk-quickstart-writer/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Notysoty/openagentskills/tree/main/skills/sdk-quickstart-writer"},"layout":"multi","source":"github","category":"openagentskills","frontmatter":{"name":"SDK Quickstart Writer","description":"Generates a concise, copy-paste-ready quickstart guide for any SDK or library."},"skills_sh_url":"https://skills.sh/Notysoty/openagentskills/sdk-quickstart-writer"},"updatedAt":"2026-05-18T19:13:24.402Z"}}