{"id":"f3deb0cf-f1bf-4683-a04d-654f5d263086","shortId":"2HT3b6","kind":"skill","title":"api-documentation-generator","tagline":"Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices","description":"# API Documentation Generator\n\n## Overview\n\nAutomatically generate clear, comprehensive API documentation from your codebase. This skill helps you create professional documentation that includes endpoint descriptions, request/response examples, authentication details, error handling, and usage guidelines.\n\nPerfect for REST APIs, GraphQL APIs, and WebSocket APIs.\n\n## When to Use This Skill\n\n- Use when you need to document a new API\n- Use when updating existing API documentation\n- Use when your API lacks clear documentation\n- Use when onboarding new developers to your API\n- Use when preparing API documentation for external users\n- Use when creating OpenAPI/Swagger specifications\n\n## How It Works\n\n### Step 1: Analyze the API Structure\n\nFirst, I'll examine your API codebase to understand:\n- Available endpoints and routes\n- HTTP methods (GET, POST, PUT, DELETE, etc.)\n- Request parameters and body structure\n- Response formats and status codes\n- Authentication and authorization requirements\n- Error handling patterns\n\n### Step 2: Generate Endpoint Documentation\n\nFor each endpoint, I'll create documentation including:\n\n**Endpoint Details:**\n- HTTP method and URL path\n- Brief description of what it does\n- Authentication requirements\n- Rate limiting information (if applicable)\n\n**Request Specification:**\n- Path parameters\n- Query parameters\n- Request headers\n- Request body schema (with types and validation rules)\n\n**Response Specification:**\n- Success response (status code + body structure)\n- Error responses (all possible error codes)\n- Response headers\n\n**Code Examples:**\n- cURL command\n- JavaScript/TypeScript (fetch/axios)\n- Python (requests)\n- Other languages as needed\n\n### Step 3: Add Usage Guidelines\n\nI'll include:\n- Getting started guide\n- Authentication setup\n- Common use cases\n- Best practices\n- Rate limiting details\n- Pagination patterns\n- Filtering and sorting options\n\n### Step 4: Document Error Handling\n\nClear error documentation including:\n- All possible error codes\n- Error message formats\n- Troubleshooting guide\n- Common error scenarios and solutions\n\n### Step 5: Create Interactive Examples\n\nWhere possible, I'll provide:\n- Postman collection\n- OpenAPI/Swagger specification\n- Interactive code examples\n- Sample responses\n\n## Examples\n\n### Example 1: REST API Endpoint Documentation\n\n```markdown\n## Create User\n\nCreates a new user account.\n\n**Endpoint:** `POST /api/v1/users`\n\n**Authentication:** Required (Bearer token)\n\n**Request Body:**\n\\`\\`\\`json\n{\n  \"email\": \"user@example.com\",      // Required: Valid email address\n  \"password\": \"SecurePass123!\",     // Required: Min 8 chars, 1 uppercase, 1 number\n  \"name\": \"John Doe\",               // Required: 2-50 characters\n  \"role\": \"user\"                    // Optional: \"user\" or \"admin\" (default: \"user\")\n}\n\\`\\`\\`\n\n**Success Response (201 Created):**\n\\`\\`\\`json\n{\n  \"id\": \"usr_1234567890\",\n  \"email\": \"user@example.com\",\n  \"name\": \"John Doe\",\n  \"role\": \"user\",\n  \"createdAt\": \"2026-01-20T10:30:00Z\",\n  \"emailVerified\": false\n}\n\\`\\`\\`\n\n**Error Responses:**\n\n- `400 Bad Request` - Invalid input data\n  \\`\\`\\`json\n  {\n    \"error\": \"VALIDATION_ERROR\",\n    \"message\": \"Invalid email format\",\n    \"field\": \"email\"\n  }\n  \\`\\`\\`\n\n- `409 Conflict` - Email already exists\n  \\`\\`\\`json\n  {\n    \"error\": \"EMAIL_EXISTS\",\n    \"message\": \"An account with this email already exists\"\n  }\n  \\`\\`\\`\n\n- `401 Unauthorized` - Missing or invalid authentication token\n\n**Example Request (cURL):**\n\\`\\`\\`bash\ncurl -X POST https://api.example.com/api/v1/users \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"email\": \"user@example.com\",\n    \"password\": \"SecurePass123!\",\n    \"name\": \"John Doe\"\n  }'\n\\`\\`\\`\n\n**Example Request (JavaScript):**\n\\`\\`\\`javascript\nconst response = await fetch('https://api.example.com/api/v1/users', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${token}`,\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\n    email: 'user@example.com',\n    password: 'SecurePass123!',\n    name: 'John Doe'\n  })\n});\n\nconst user = await response.json();\nconsole.log(user);\n\\`\\`\\`\n\n**Example Request (Python):**\n\\`\\`\\`python\nimport requests\n\nresponse = requests.post(\n    'https://api.example.com/api/v1/users',\n    headers={\n        'Authorization': f'Bearer {token}',\n        'Content-Type': 'application/json'\n    },\n    json={\n        'email': 'user@example.com',\n        'password': 'SecurePass123!',\n        'name': 'John Doe'\n    }\n)\n\nuser = response.json()\nprint(user)\n\\`\\`\\`\n```\n\n### Example 2: GraphQL API Documentation\n\n```markdown\n## User Query\n\nFetch user information by ID.\n\n**Query:**\n\\`\\`\\`graphql\nquery GetUser($id: ID!) {\n  user(id: $id) {\n    id\n    email\n    name\n    role\n    createdAt\n    posts {\n      id\n      title\n      publishedAt\n    }\n  }\n}\n\\`\\`\\`\n\n**Variables:**\n\\`\\`\\`json\n{\n  \"id\": \"usr_1234567890\"\n}\n\\`\\`\\`\n\n**Response:**\n\\`\\`\\`json\n{\n  \"data\": {\n    \"user\": {\n      \"id\": \"usr_1234567890\",\n      \"email\": \"user@example.com\",\n      \"name\": \"John Doe\",\n      \"role\": \"user\",\n      \"createdAt\": \"2026-01-20T10:30:00Z\",\n      \"posts\": [\n        {\n          \"id\": \"post_123\",\n          \"title\": \"My First Post\",\n          \"publishedAt\": \"2026-01-21T14:00:00Z\"\n        }\n      ]\n    }\n  }\n}\n\\`\\`\\`\n\n**Errors:**\n\\`\\`\\`json\n{\n  \"errors\": [\n    {\n      \"message\": \"User not found\",\n      \"extensions\": {\n        \"code\": \"USER_NOT_FOUND\",\n        \"userId\": \"usr_1234567890\"\n      }\n    }\n  ]\n}\n\\`\\`\\`\n```\n\n### Example 3: Authentication Documentation\n\n```markdown\n## Authentication\n\nAll API requests require authentication using Bearer tokens.\n\n### Getting a Token\n\n**Endpoint:** `POST /api/v1/auth/login`\n\n**Request:**\n\\`\\`\\`json\n{\n  \"email\": \"user@example.com\",\n  \"password\": \"your-password\"\n}\n\\`\\`\\`\n\n**Response:**\n\\`\\`\\`json\n{\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  \"expiresIn\": 3600,\n  \"refreshToken\": \"refresh_token_here\"\n}\n\\`\\`\\`\n\n### Using the Token\n\nInclude the token in the Authorization header:\n\n\\`\\`\\`\nAuthorization: Bearer YOUR_TOKEN\n\\`\\`\\`\n\n### Token Expiration\n\nTokens expire after 1 hour. Use the refresh token to get a new access token:\n\n**Endpoint:** `POST /api/v1/auth/refresh`\n\n**Request:**\n\\`\\`\\`json\n{\n  \"refreshToken\": \"refresh_token_here\"\n}\n\\`\\`\\`\n```\n\n## Best Practices\n\n### ✅ Do This\n\n- **Be Consistent** - Use the same format for all endpoints\n- **Include Examples** - Provide working code examples in multiple languages\n- **Document Errors** - List all possible error codes and their meanings\n- **Show Real Data** - Use realistic example data, not \"foo\" and \"bar\"\n- **Explain Parameters** - Describe what each parameter does and its constraints\n- **Version Your API** - Include version numbers in URLs (/api/v1/)\n- **Add Timestamps** - Show when documentation was last updated\n- **Link Related Endpoints** - Help users discover related functionality\n- **Include Rate Limits** - Document any rate limiting policies\n- **Provide Postman Collection** - Make it easy to test your API\n\n### ❌ Don't Do This\n\n- **Don't Skip Error Cases** - Users need to know what can go wrong\n- **Don't Use Vague Descriptions** - \"Gets data\" is not helpful\n- **Don't Forget Authentication** - Always document auth requirements\n- **Don't Ignore Edge Cases** - Document pagination, filtering, sorting\n- **Don't Leave Examples Broken** - Test all code examples\n- **Don't Use Outdated Info** - Keep documentation in sync with code\n- **Don't Overcomplicate** - Keep it simple and scannable\n- **Don't Forget Response Headers** - Document important headers\n\n## Documentation Structure\n\n### Recommended Sections\n\n1. **Introduction**\n   - What the API does\n   - Base URL\n   - API version\n   - Support contact\n\n2. **Authentication**\n   - How to authenticate\n   - Token management\n   - Security best practices\n\n3. **Quick Start**\n   - Simple example to get started\n   - Common use case walkthrough\n\n4. **Endpoints**\n   - Organized by resource\n   - Full details for each endpoint\n\n5. **Data Models**\n   - Schema definitions\n   - Field descriptions\n   - Validation rules\n\n6. **Error Handling**\n   - Error code reference\n   - Error response format\n   - Troubleshooting guide\n\n7. **Rate Limiting**\n   - Limits and quotas\n   - Headers to check\n   - Handling rate limit errors\n\n8. **Changelog**\n   - API version history\n   - Breaking changes\n   - Deprecation notices\n\n9. **SDKs and Tools**\n   - Official client libraries\n   - Postman collection\n   - OpenAPI specification\n\n## Common Pitfalls\n\n### Problem: Documentation Gets Out of Sync\n**Symptoms:** Examples don't work, parameters are wrong, endpoints return different data\n**Solution:** \n- Generate docs from code comments/annotations\n- Use tools like Swagger/OpenAPI\n- Add API tests that validate documentation\n- Review docs with every API change\n\n### Problem: Missing Error Documentation\n**Symptoms:** Users don't know how to handle errors, support tickets increase\n**Solution:**\n- Document every possible error code\n- Provide clear error messages\n- Include troubleshooting steps\n- Show example error responses\n\n### Problem: Examples Don't Work\n**Symptoms:** Users can't get started, frustration increases\n**Solution:**\n- Test every code example\n- Use real, working endpoints\n- Include complete examples (not fragments)\n- Provide a sandbox environment\n\n### Problem: Unclear Parameter Requirements\n**Symptoms:** Users send invalid requests, validation errors\n**Solution:**\n- Mark required vs optional clearly\n- Document data types and formats\n- Show validation rules\n- Provide example values\n\n## Tools and Formats\n\n### OpenAPI/Swagger\nGenerate interactive documentation:\n```yaml\nopenapi: 3.0.0\ninfo:\n  title: My API\n  version: 1.0.0\npaths:\n  /users:\n    post:\n      summary: Create a new user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateUserRequest'\n```\n\n### Postman Collection\nExport collection for easy testing:\n```json\n{\n  \"info\": {\n    \"name\": \"My API\",\n    \"schema\": \"https://schema.getpostman.com/json/collection/v2.1.0/collection.json\"\n  },\n  \"item\": [\n    {\n      \"name\": \"Create User\",\n      \"request\": {\n        \"method\": \"POST\",\n        \"url\": \"{{baseUrl}}/api/v1/users\"\n      }\n    }\n  ]\n}\n```\n\n## Related Skills\n\n- `@doc-coauthoring` - For collaborative documentation writing\n- `@copywriting` - For clear, user-friendly descriptions\n- `@test-driven-development` - For ensuring API behavior matches docs\n- `@systematic-debugging` - For troubleshooting API issues\n\n## Additional Resources\n\n- [OpenAPI Specification](https://swagger.io/specification/)\n- [REST API Best Practices](https://restfulapi.net/)\n- [GraphQL Documentation](https://graphql.org/learn/)\n- [API Design Patterns](https://www.apiguide.com/)\n- [Postman Documentation](https://learning.postman.com/docs/)\n\n---\n\n**Pro Tip:** Keep your API documentation as close to your code as possible. Use tools that generate docs from code comments to ensure they stay in sync!\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["api","documentation","generator","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-api-documentation-generator","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/api-documentation-generator","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 37911 github stars · SKILL.md body (11,307 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-18T18:50:28.688Z","embedding":null,"createdAt":"2026-04-18T20:31:16.208Z","updatedAt":"2026-05-18T18:50:28.688Z","lastSeenAt":"2026-05-18T18:50:28.688Z","tsv":"'-01':376,573,588 '-20':377,574 '-21':589 '-50':349 '/)':1201,1212 '/api/v1':747 '/api/v1/auth/login':627 '/api/v1/auth/refresh':679 '/api/v1/users':320,434,1154 '/api/v1/users'',':463,499 '/components/schemas/createuserrequest':1128 '/docs/)':1217 '/json/collection/v2.1.0/collection.json':1144 '/learn/)':1206 '/specification/)':1194 '/users':1114 '00':591 '00z':380,577,592 '1':115,305,340,342,665,866 '1.0.0':1112 '123':581 '1234567890':366,556,563,607 '2':158,348,522,878 '201':361 '2026':375,572,587 '3':235,609,888 '3.0.0':1106 '30':379,576 '3600':641 '4':262,900 '400':385 '401':418 '409':401 '5':285,910 '6':919 '7':930 '8':338,943 '9':952 'access':675 'account':317,412 'add':236,748,993 'addit':1188 'address':333 'admin':356 'alreadi':404,416 'alway':813 'analyz':116 'api':2,10,21,29,57,59,62,76,81,86,97,101,118,125,307,524,615,741,781,870,874,945,994,1003,1110,1140,1177,1186,1196,1207,1222 'api-documentation-gener':1 'api.example.com':433,462,498 'api.example.com/api/v1/users':432 'api.example.com/api/v1/users'',':461,497 'applic':189 'application/json':444,473,508,1125 'ask':1278 'auth':815 'authent':47,150,183,245,321,423,610,613,618,812,879,882 'author':152,436,467,501,654,656 'automat':25 'avail':129 'await':459,485 'bad':386 'bar':728 'base':872 'baseurl':1153 'bash':428 'bearer':323,437,468,503,620,657 'behavior':1178 'best':19,250,686,886,1197 'bodi':143,199,212,326,474 'boundari':1286 'break':948 'brief':177 'broken':830 'case':249,790,821,898 'chang':949,1004 'changelog':944 'char':339 'charact':350 'check':938 'clarif':1280 'clear':27,88,266,1028,1085,1166,1253 'client':957 'close':1225 'coauthor':1159 'code':13,149,211,219,222,273,299,601,703,714,833,845,923,987,1026,1054,1228,1237 'codebas':33,126 'collabor':1161 'collect':295,774,960,1130,1132 'command':225 'comment':1238 'comments/annotations':988 'common':247,279,896,963 'complet':1061 'comprehens':6,28 'conflict':402 'consist':691 'console.log':487 'const':457,483 'constraint':738 'contact':877 'content':442,471,506,1124 'content-typ':441,470,505 'copywrit':1164 'creat':38,108,167,286,311,313,362,1117,1147 'createdat':374,547,571 'criteria':1289 'curl':224,427,429 'd':445 'data':390,559,720,724,805,911,982,1087 'debug':1183 'default':357 'definit':914 'delet':138 'deprec':950 'describ':731,1257 'descript':44,178,803,916,1170 'design':1208 'detail':48,171,254,906 'develop':8,94,1174 'developer-friend':7 'differ':981 'discov':761 'doc':985,1000,1158,1180,1235 'doc-coauthor':1157 'document':3,11,22,30,40,73,82,89,102,161,168,263,268,309,525,611,708,752,767,814,822,841,859,862,966,998,1008,1022,1086,1103,1162,1203,1214,1223 'doe':346,371,452,482,516,568 'driven':1173 'easi':777,1134 'edg':820 'email':328,332,367,397,400,403,408,415,446,476,510,544,564,630 'emailverifi':381 'endpoint':15,43,130,160,164,170,308,318,625,677,698,758,901,909,979,1059 'ensur':1176,1240 'environ':1068,1269 'environment-specif':1268 'error':49,154,214,218,264,267,272,274,280,383,392,394,407,593,595,709,713,789,920,922,925,942,1007,1017,1025,1029,1036,1079 'etc':139 'everi':1002,1023,1053 'examin':123 'exampl':17,46,223,288,300,303,304,425,453,489,521,608,700,704,723,829,834,892,972,1035,1039,1055,1062,1095 'exist':80,405,409,417 'expert':1274 'expir':661,663 'expiresin':640 'explain':729 'export':1131 'extens':600 'extern':104 'eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9':639 'f':502 'fals':382 'fetch':460,529 'fetch/axios':227 'field':399,915 'filter':257,824 'first':120,584 'foo':726 'forget':811,856 'format':146,276,398,695,927,1090,1099 'found':599,604 'fragment':1064 'friend':9,1169 'frustrat':1049 'full':905 'function':763 'generat':4,5,23,26,159,984,1101,1234 'get':135,242,622,672,804,894,967,1047 'getus':537 'go':797 'graphql':58,523,535,1202 'graphql.org':1205 'graphql.org/learn/)':1204 'guid':244,278,929 'guidelin':53,238 'h':435,440 'handl':50,155,265,921,939,1016 'header':197,221,466,500,655,858,861,936 'help':36,759,808 'histori':947 'hour':666 'http':133,172 'id':364,533,538,539,541,542,543,549,554,561,579 'ignor':819 'import':493,860 'includ':14,42,169,241,269,649,699,742,764,1031,1060 'increas':1020,1050 'info':839,1107,1137 'inform':187,531 'input':389,1283 'interact':287,298,1102 'introduct':867 'invalid':388,396,422,1076 'issu':1187 'item':1145 'javascript':455,456 'javascript/typescript':226 'john':345,370,451,481,515,567 'json':327,363,391,406,509,553,558,594,629,637,681,1136 'json.stringify':475 'keep':840,849,1220 'know':794,1013 'lack':87 'languag':231,707 'last':754 'learning.postman.com':1216 'learning.postman.com/docs/)':1215 'leav':828 'librari':958 'like':991 'limit':186,253,766,770,932,933,941,1245 'link':756 'list':710 'll':122,166,240,292 'make':775 'manag':884 'mark':1081 'markdown':310,526,612 'match':1179,1254 'mean':717 'messag':275,395,410,596,1030 'method':134,173,464,1150 'min':337 'miss':420,1006,1291 'model':912 'multipl':706 'name':344,369,450,480,514,545,566,1138,1146 'need':71,233,792 'new':75,93,315,674,1119 'notic':951 'number':343,744 'offici':956 'onboard':92 'openapi':961,1105,1190 'openapi/swagger':109,296,1100 'option':260,353,1084 'organ':902 'outdat':838 'output':1263 'overcompl':848 'overview':24 'pagin':255,823 'paramet':16,141,193,195,730,734,976,1071 'password':334,448,478,512,632,635 'path':176,192,1113 'pattern':156,256,1209 'perfect':54 'permiss':1284 'pitfal':964 'polici':771 'possibl':217,271,290,712,1024,1230 'post':136,319,431,465,548,578,580,585,626,678,1115,1151 'postman':294,773,959,1129,1213 'practic':20,251,687,887,1198 'prepar':100 'print':519 'pro':1218 'problem':965,1005,1038,1069 'profession':39 'provid':293,701,772,1027,1065,1094 'publishedat':551,586 'put':137 'python':228,491,492 'queri':194,528,534,536 'quick':889 'quota':935 'rate':185,252,765,769,931,940 'real':719,1057 'realist':722 'recommend':864 'ref':1127 'refer':924 'refresh':643,669,683 'refreshtoken':642,682 'relat':757,762,1155 'request':140,190,196,198,229,325,387,426,454,490,494,616,628,680,1077,1149 'request/response':45 'requestbodi':1121 'requests.post':496 'requir':153,184,322,330,336,347,617,816,1072,1082,1122,1282 'resourc':904,1189 'respons':145,206,209,215,220,302,360,384,458,495,557,636,857,926,1037 'response.json':486,518 'rest':56,306,1195 'restfulapi.net':1200 'restfulapi.net/)':1199 'return':980 'review':999,1275 'role':351,372,546,569 'rout':132 'rule':205,918,1093 'safeti':1285 'sampl':301 'sandbox':1067 'scannabl':853 'scenario':281 'schema':200,913,1126,1141 'schema.getpostman.com':1143 'schema.getpostman.com/json/collection/v2.1.0/collection.json':1142 'scope':1256 'sdks':953 'section':865 'secur':885 'securepass123':335,449,479,513 'send':1075 'setup':246 'show':718,750,1034,1091 'simpl':851,891 'skill':35,67,1156,1248 'skill-api-documentation-generator' 'skip':788 'solut':283,983,1021,1051,1080 'sort':259,825 'source-sickn33' 'specif':110,191,207,297,962,1191,1270 'start':243,890,895,1048 'status':148,210 'stay':1242 'step':114,157,234,261,284,1033 'stop':1276 'structur':119,144,213,863 'substitut':1266 'success':208,359,1288 'summari':1116 'support':876,1018 'swagger.io':1193 'swagger.io/specification/)':1192 'swagger/openapi':992 'symptom':971,1009,1043,1073 'sync':843,970,1244 'systemat':1182 'systematic-debug':1181 't10':378,575 't14':590 'task':1252 'test':779,831,995,1052,1135,1172,1272 'test-driven-develop':1171 'ticket':1019 'timestamp':749 'tip':1219 'titl':550,582,1108 'token':324,424,439,469,504,621,624,638,644,648,651,659,660,662,670,676,684,883 'tool':955,990,1097,1232 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1261 'troubleshoot':277,928,1032,1185 'true':1123 'type':202,443,472,507,1088 'unauthor':419 'unclear':1070 'understand':128 'updat':79,755 'uppercas':341 'url':175,746,873,1152 'usag':52,237 'use':65,68,77,83,90,98,106,248,619,646,667,692,721,801,837,897,989,1056,1231,1246 'user':105,312,316,352,354,358,373,484,488,517,520,527,530,540,560,570,597,602,760,791,1010,1044,1074,1120,1148,1168 'user-friend':1167 'user@example.com':329,368,447,477,511,565,631 'userid':605 'usr':365,555,562,606 'vagu':802 'valid':204,331,393,917,997,1078,1092,1271 'valu':1096 'variabl':552 'version':739,743,875,946,1111 'vs':1083 'walkthrough':899 'websocket':61 'work':113,702,975,1042,1058 'write':1163 'wrong':798,978 'www.apiguide.com':1211 'www.apiguide.com/)':1210 'x':430 'yaml':1104 'your-password':633","prices":[{"id":"aedee07d-50a7-4ec6-839d-b58aeaeec50f","listingId":"f3deb0cf-f1bf-4683-a04d-654f5d263086","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:31:16.208Z"}],"sources":[{"listingId":"f3deb0cf-f1bf-4683-a04d-654f5d263086","source":"github","sourceId":"sickn33/antigravity-awesome-skills/api-documentation-generator","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/api-documentation-generator","isPrimary":false,"firstSeenAt":"2026-04-18T21:31:05.716Z","lastSeenAt":"2026-05-18T18:50:28.688Z"},{"listingId":"f3deb0cf-f1bf-4683-a04d-654f5d263086","source":"skills_sh","sourceId":"sickn33/antigravity-awesome-skills/api-documentation-generator","sourceUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/api-documentation-generator","isPrimary":true,"firstSeenAt":"2026-04-18T20:31:16.208Z","lastSeenAt":"2026-05-07T22:40:31.869Z"}],"details":{"listingId":"f3deb0cf-f1bf-4683-a04d-654f5d263086","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"api-documentation-generator","github":{"repo":"sickn33/antigravity-awesome-skills","stars":37911,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-05-18T08:24:49Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"afba5e28e596666453cb14a515666343041d2fd8","skill_md_path":"skills/api-documentation-generator/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/api-documentation-generator"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"api-documentation-generator","description":"Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices"},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/api-documentation-generator"},"updatedAt":"2026-05-18T18:50:28.688Z"}}