{"id":"1c46ba9d-9114-43db-a106-ee209d6044b8","shortId":"MTLQ5V","kind":"skill","title":"create-atlasclaw-skill","tagline":"Create new AtlasClaw skills with proper structure, metadata, and documentation. Use when building executable skills, markdown skills, or provider skills for the AtlasClaw AI Agent.","description":"# Create AtlasClaw Skill\n\nGuide for creating new skills that extend the AtlasClaw AI Agent's capabilities.\n\n## Quick Start Checklist\n\n```\nSkill Creation Progress:\n- [ ] 1. Gather requirements (skill type, purpose, triggers)\n- [ ] 2. Choose storage location (personal or project)\n- [ ] 3. Create skill directory structure\n- [ ] 4. Write SKILL.md with LLM context fields\n- [ ] 5. Implement handler (for executable skills)\n- [ ] 6. Test skill loading and execution\n```\n\n## Phase 1: Gather Requirements\n\nBefore creating a skill, determine:\n\n| Question | Options |\n|----------|---------|\n| **Skill type** | `executable` (Python code), `markdown` (documentation), `hybrid` (both) |\n| **Category** | `provider:<name>`, `system`, `utility`, `workflow` |\n| **Associated provider** | Provider type (for provider skills) |\n| **Storage location** | `~/.qoder/skills/` (personal) or `.qoder/skills/` (project) |\n| **Target keywords** | Words users naturally say to trigger this skill |\n\n## Phase 2: Directory Structure\n\nCreate skill at: `{location}/skills/{skill-name}/`\n\n### Minimal Structure (Markdown Skill)\n\n```\nskills/{skill-name}/\n└── SKILL.md              # Required - skill metadata and documentation\n```\n\n### Complete Structure (Executable Skill)\n\n```\nskills/{skill-name}/\n├── SKILL.md              # Required - skill metadata\n├── README.md             # Optional - extended documentation\n├── scripts/              # Required for executable skills\n│   ├── __init__.py\n│   └── handler.py        # Main implementation\n├── tests/                # Optional - test files\n│   └── test_handler.py\n└── references/           # Optional - reference docs\n    └── api_reference.md\n```\n\n## Phase 3: SKILL.md Template\n\n```yaml\n---\nname: \"{skill-name}\"\ndescription: \"Brief description. Trigger when user wants to {action}.\"\ncategory: \"{category}\"\nprovider_type: \"{provider}\"           # For provider skills only\ninstance_required: \"{true|false}\"     # For provider skills only\nversion: \"1.0.0\"\nauthor: \"your@email.com\"\n\n# === LLM Context Fields (for Skill Discovery) ===\ntriggers:\n  - action phrase 1\n  - action phrase 2\n\nuse_when:\n  - User intent scenario 1\n  - User intent scenario 2\n\navoid_when:\n  - Scenario when other skill is better\n\nexamples:\n  - \"Example user input 1\"\n  - \"Example user input 2\"\n\nrelated:\n  - related-skill-1\n  - related-skill-2\n\n# === Tool Registration (for executable skills) ===\ntool_name: \"{skill_name}\"\ntool_entrypoint: \"scripts/handler.py:handler\"\n---\n\n# {skill-name}\n\n## Purpose\n\nWhat this skill does and when to use it.\n\n## Parameters\n\n### Input\n\n| Name | Type | Required | Description |\n|------|------|----------|-------------|\n| param1 | string | Yes | Description |\n| param2 | integer | No | Description (default: 10) |\n\n### Output\n\n| Name | Type | Description |\n|------|------|-------------|\n| success | boolean | Whether operation succeeded |\n| message | string | Human-readable result |\n| data | object | Structured result data |\n\n## Usage Examples\n\n### Example 1: Basic Usage\n\nInput:\n```json\n{\n  \"param1\": \"value1\"\n}\n```\n\nOutput:\n```json\n{\n  \"success\": true,\n  \"message\": \"Operation completed\",\n  \"data\": { \"result\": \"value\" }\n}\n```\n\n## Error Handling\n\n### Common Errors\n\n| Error | Cause | Resolution |\n|-------|-------|------------|\n| INVALID_PARAM | Invalid input | Check parameter format |\n| AUTH_FAILED | Authentication error | Check credentials |\n\n## Related Skills\n\n- `related-skill` - Description\n\n## Notes\n\nAdditional information, limitations, or considerations.\n```\n\n## Phase 4: Handler Template (Executable Skills)\n\nCreate `scripts/handler.py`:\n\n```python\n# -*- coding: utf-8 -*-\n\"\"\"\n{Skill Name} Handler\n\nImplements the {action} functionality.\n\"\"\"\nfrom __future__ import annotations\n\nimport argparse\nimport json\nimport os\nimport sys\nfrom typing import Any\n\n\ndef handler(params: dict[str, Any]) -> dict[str, Any]:\n    \"\"\"\n    Main handler function.\n    \n    Args:\n        params: Input parameters\n        \n    Returns:\n        Result dictionary with success, message, and data\n    \"\"\"\n    try:\n        # Implement skill logic here\n        result = process_request(params)\n        \n        return {\n            \"success\": True,\n            \"message\": \"Operation completed successfully\",\n            \"data\": result\n        }\n    except ValueError as e:\n        return {\n            \"success\": False,\n            \"message\": f\"Invalid input: {str(e)}\",\n            \"error\": {\"code\": \"INVALID_PARAM\", \"details\": str(e)}\n        }\n    except Exception as e:\n        return {\n            \"success\": False,\n            \"message\": f\"Error: {str(e)}\",\n            \"error\": {\"code\": \"EXECUTION_ERROR\", \"details\": str(e)}\n        }\n\n\ndef process_request(params: dict[str, Any]) -> dict[str, Any]:\n    \"\"\"Process the request and return result.\"\"\"\n    # Implement business logic here\n    return {\"result\": \"success\"}\n\n\ndef main():\n    \"\"\"CLI entry point.\"\"\"\n    parser = argparse.ArgumentParser(description=\"{Skill description}\")\n    parser.add_argument(\"--param1\", required=True, help=\"Parameter 1\")\n    parser.add_argument(\"--param2\", type=int, default=10, help=\"Parameter 2\")\n    \n    args = parser.parse_args()\n    \n    result = handler({\n        \"param1\": args.param1,\n        \"param2\": args.param2\n    })\n    \n    print(json.dumps(result, indent=2))\n    sys.exit(0 if result[\"success\"] else 1)\n\n\nif __name__ == \"__main__\":\n    main()\n```\n\n## Phase 5: Skill Types Reference\n\n### 1. Markdown Skills (Documentation)\n\nFor providing knowledge without executable code:\n\n```yaml\n---\nname: \"coding-standards\"\ndescription: \"Apply team coding standards and best practices. Use when reviewing code or discussing implementation approaches.\"\ncategory: \"utility\"\n---\n\n# Coding Standards\n\n## Python Style\n\n- Use type hints on all functions\n- Follow PEP 8 naming conventions\n- Maximum line length: 100 characters\n\n## Error Handling\n\n- Use specific exception types\n- Include context in error messages\n- Return structured error responses\n```\n\n### 2. Executable Skills (Python)\n\nFor performing actions:\n\n```yaml\n---\nname: \"file-reader\"\ndescription: \"Read and parse file contents. Trigger when user wants to read files.\"\ncategory: \"system\"\n\ntriggers:\n  - read file\n  - parse file\n\nuse_when:\n  - User wants to read file contents\n  - User needs to parse a file\n\ntool_name: \"file_reader\"\ntool_entrypoint: \"scripts/handler.py:handler\"\n---\n```\n\n### 3. Provider Skills\n\nFor integrating with external systems:\n\n```yaml\n---\nname: \"jira-issue\"\ndescription: \"Jira issue skill for CRUD operations. Trigger when user wants to manage Jira issues.\"\ncategory: \"provider:jira\"\nprovider_type: \"jira\"\ninstance_required: \"true\"\n\ntriggers:\n  - create issue\n  - update issue\n\nuse_when:\n  - User wants to create or update Jira issues\n\ntool_create_name: \"jira_issue_create\"\ntool_create_entrypoint: \"scripts/create_issue.py:handler\"\n---\n```\n\n## Phase 6: Verification\n\n1. **Check file location**:\n   ```bash\n   ls -la {workspace}/skills/{skill-name}/\n   ```\n\n2. **Restart service** (or wait for hot reload)\n\n3. **Check logs** for skill loading:\n   ```\n   [AtlasClaw] Skills loaded: X executable, Y markdown\n   ```\n\n4. **Test via API**:\n   ```bash\n   curl http://localhost:8000/api/skills | grep {skill-name}\n   ```\n\n## LLM Context Best Practices\n\n### Triggers\n- Use action-oriented phrases\n- Include synonyms and variations\n- Focus on user intent, not technical terms\n\n**Good triggers:**\n- `create issue`, `report bug`, `log incident`\n- `read file`, `parse document`\n- `analyze data`, `generate report`\n\n### use_when\n- Describe user scenarios, not technical capabilities\n- Focus on business value\n- Include common phrasings\n\n**Good use_when:**\n- \"User wants to create a bug report\"\n- \"User needs to read file contents\"\n- \"User asks about incident details\"\n\n### avoid_when\n- Critical for disambiguation\n- Always suggest the correct alternative\n- Include commonly confused scenarios\n\n**Good avoid_when:**\n- \"User wants to search multiple issues (use jira-search skill)\"\n- \"User wants bulk operations (use jira-bulk skill)\"\n\n### Examples\n- Provide concrete, realistic examples\n- Include variations in phrasing\n- Show both simple and complex cases\n\n**Good examples:**\n- \"Create a Jira issue for the login bug\"\n- \"Get details for PROJ-123\"\n- \"Update the priority of INC0012345 to High\"\n\n## Skill Categories\n\n| Category | Use Case | Example |\n|----------|----------|---------|\n| `provider:<name>` | External system integration | `provider:jira`, `provider:servicenow` |\n| `system` | OS-level operations | File operations, process management |\n| `utility` | General-purpose tools | Data transformation, calculations |\n| `workflow` | Multi-step processes | Approval workflows, onboarding |\n\n## Common Skill Patterns\n\n### File Operations\n```yaml\ntriggers:\n  - read file\n  - parse file\n  - analyze document\n\nuse_when:\n  - User wants to read or parse file contents\n  - User needs to extract data from files\n```\n\n### Data Analysis\n```yaml\ntriggers:\n  - analyze data\n  - generate report\n  - calculate metrics\n\nuse_when:\n  - User wants to analyze data\n  - User needs reports or metrics\n```\n\n### API Integration\n```yaml\ntriggers:\n  - create issue\n  - update record\n  - query data\n\nuse_when:\n  - User wants to interact with external system\n  - User needs to create or update records\n```\n\n## Additional Resources\n\n- [SKILL_GUIDE.md](file:///c:/Projects/cmps/atlasclaw/docs/SKILL_GUIDE.md) - Full skill development guide\n- [Jira Skill](file:///c:/Projects/cmps/atlasclaw/.atlasclaw/providers/jira/skills/jira-issue) - Reference implementation\n- [create-atlasclaw-provider skill](file:///c:/Projects/cmps/atlasclaw/.qoder/skills/create-atlasclaw-provider) - For creating providers","tags":["create","atlasclaw","skill","providers","cloudchef","agent-skills","agentic-workflow","ai-integration","openclaw"],"capabilities":["skill","source-cloudchef","skill-create-atlasclaw-skill","topic-agent-skills","topic-agentic-workflow","topic-ai-integration","topic-openclaw"],"categories":["atlasclaw-providers"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/CloudChef/atlasclaw-providers/create-atlasclaw-skill","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add CloudChef/atlasclaw-providers","source_repo":"https://github.com/CloudChef/atlasclaw-providers","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 10 github stars · SKILL.md body (9,639 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:08:22.914Z","embedding":null,"createdAt":"2026-05-09T01:05:32.914Z","updatedAt":"2026-05-18T19:08:22.914Z","lastSeenAt":"2026-05-18T19:08:22.914Z","tsv":"'-123':972 '-8':414 '/.qoder/skills':124 '/c':1100,1108,1117 '/projects/cmps/atlasclaw/.atlasclaw/providers/jira/skills/jira-issue':1109 '/projects/cmps/atlasclaw/.qoder/skills/create-atlasclaw-provider':1118 '/projects/cmps/atlasclaw/docs/skill_guide.md':1101 '/skills':147,796 '0':585 '1':52,91,249,258,275,284,354,559,590,600,788 '1.0.0':237 '10':330,566 '100':651 '2':59,140,252,262,279,288,569,583,668,800 '3':66,202,722,808 '4':71,404,821 '5':78,596 '6':84,786 '8':645 '8000/api/skills':828 'action':218,247,250,420,674,840 'action-ori':839 'addit':398,1097 'agent':29,43 'ai':28,42 'altern':915 'alway':911 'analysi':1050 'analyz':866,1030,1053,1064 'annot':425 'api':824,1071 'api_reference.md':200 'appli':616 'approach':630 'approv':1016 'arg':450,570,572 'argpars':427 'argparse.argumentparser':548 'args.param1':576 'args.param2':578 'argument':553,561 'ask':902 'associ':115 'atlasclaw':3,7,27,31,41,814,1114 'auth':385 'authent':387 'author':238 'avoid':263,906,921 'bash':792,825 'basic':355 'best':621,835 'better':270 'boolean':336 'brief':211 'bug':859,893,967 'build':17 'bulk':936,941 'busi':536,880 'calcul':1010,1057 'capabl':45,877 'case':957,984 'categori':110,219,220,631,693,750,981,982 'caus':376 'charact':652 'check':382,389,789,809 'checklist':48 'choos':60 'cli':544 'code':105,412,494,513,609,613,618,626,633 'coding-standard':612 'common':373,883,917,1019 'complet':165,367,476 'complex':956 'concret':945 'confus':918 'consider':402 'content':685,707,900,1041 'context':76,241,660,834 'convent':647 'correct':914 'creat':2,5,30,35,67,95,143,409,760,769,775,779,781,856,891,960,1075,1093,1113,1120 'create-atlasclaw-provid':1112 'create-atlasclaw-skil':1 'creation':50 'credenti':390 'critic':908 'crud':740 'curl':826 'data':346,350,368,461,478,867,1008,1046,1049,1054,1065,1080 'def':438,519,542 'default':329,565 'describ':872 'descript':210,212,320,324,328,334,396,549,551,615,680,735 'detail':497,516,905,969 'determin':98 'develop':1104 'dict':441,444,523,526 'dictionari':456 'directori':69,141 'disambigu':910 'discoveri':245 'discuss':628 'doc':199 'document':14,107,164,180,603,865,1031 'e':483,492,499,503,511,518 'els':589 'entri':545 'entrypoint':299,719,782 'error':371,374,375,388,493,509,512,515,653,662,666 'exampl':271,272,276,352,353,943,947,959,985 'except':480,500,501,657 'execut':18,82,89,103,167,184,292,407,514,608,669,818 'extend':39,179 'extern':728,987,1088 'extract':1045 'f':488,508 'fail':386 'fals':231,486,506 'field':77,242 'file':194,678,684,692,697,699,706,713,716,790,863,899,999,1022,1027,1029,1040,1048 'file-read':677 'focus':847,878 'follow':643 'format':384 'full':1102 'function':421,449,642 'futur':423 'gather':53,92 'general':1005 'general-purpos':1004 'generat':868,1055 'get':968 'good':854,885,920,958 'grep':829 'guid':33,1105 'handl':372,654 'handler':80,301,405,417,439,448,574,721,784 'handler.py':188 'help':557,567 'high':979 'hint':639 'hot':806 'human':343 'human-read':342 'hybrid':108 'implement':79,190,418,463,535,629,1111 'import':424,426,428,430,432,436 'inc0012345':977 'incid':861,904 'includ':659,843,882,916,948 'indent':582 'inform':399 'init':186 'input':274,278,316,357,381,452,490 'instanc':228,756 'int':564 'integ':326 'integr':726,989,1072 'intent':256,260,850 'interact':1086 'invalid':378,380,489,495 'issu':734,737,749,761,763,773,778,857,928,963,1076 'jira':733,736,748,752,755,772,777,931,940,962,991,1106 'jira-bulk':939 'jira-issu':732 'jira-search':930 'json':358,362,429 'json.dumps':580 'keyword':130 'knowledg':606 'la':794 'length':650 'level':997 'limit':400 'line':649 'llm':75,240,833 'load':87,813,816 'localhost':827 'locat':62,123,146,791 'log':810,860 'logic':465,537 'login':966 'ls':793 'main':189,447,543,593,594 'manag':747,1002 'markdown':20,106,153,601,820 'maximum':648 'messag':340,365,459,474,487,507,663 'metadata':12,162,176 'metric':1058,1070 'minim':151 'multi':1013 'multi-step':1012 'multipl':927 'name':150,158,172,206,209,295,297,304,317,332,416,592,611,646,676,715,731,776,799,832 'natur':133 'need':709,896,1043,1067,1091 'new':6,36 'note':397 'object':347 'onboard':1018 'oper':338,366,475,741,937,998,1000,1023 'option':100,178,192,197 'orient':841 'os':431,996 'os-level':995 'output':331,361 'param':379,440,451,470,496,522 'param1':321,359,554,575 'param2':325,562,577 'paramet':315,383,453,558,568 'pars':683,698,711,864,1028,1039 'parser':547 'parser.add':552,560 'parser.parse':571 'pattern':1021 'pep':644 'perform':673 'person':63,125 'phase':90,139,201,403,595,785 'phrase':248,251,842,884,951 'point':546 'practic':622,836 'print':579 'prioriti':975 'process':468,520,529,1001,1015 'progress':51 'proj':971 'project':65,128 'proper':10 'provid':23,111,116,117,120,221,223,225,233,605,723,751,753,944,986,990,992,1115,1121 'purpos':57,305,1006 'py':187 'python':104,411,635,671 'qoder/skills':127 'queri':1079 'question':99 'quick':46 'read':681,691,696,705,862,898,1026,1037 'readabl':344 'reader':679,717 'readme.md':177 'realist':946 'record':1078,1096 'refer':196,198,599,1110 'registr':290 'relat':280,282,286,391,394 'related-skil':281,285,393 'reload':807 'report':858,869,894,1056,1068 'request':469,521,531 'requir':54,93,160,174,182,229,319,555,757 'resolut':377 'resourc':1098 'respons':667 'restart':801 'result':345,349,369,455,467,479,534,540,573,581,587 'return':454,471,484,504,533,539,664 'review':625 'say':134 'scenario':257,261,265,874,919 'script':181 'scripts/create_issue.py':783 'scripts/handler.py':300,410,720 'search':926,932 'servic':802 'servicenow':993 'show':952 'simpl':954 'skill':4,8,19,21,24,32,37,49,55,68,83,86,97,101,121,138,144,149,154,155,157,161,168,169,171,175,185,208,226,234,244,268,283,287,293,296,303,308,392,395,408,415,464,550,597,602,670,724,738,798,812,815,831,933,942,980,1020,1103,1107,1116 'skill-create-atlasclaw-skill' 'skill-nam':148,156,170,207,302,797,830 'skill.md':73,159,173,203 'skill_guide.md':1099 'source-cloudchef' 'specif':656 'standard':614,619,634 'start':47 'step':1014 'storag':61,122 'str':442,445,491,498,510,517,524,527 'string':322,341 'structur':11,70,142,152,166,348,665 'style':636 'succeed':339 'success':335,363,458,472,477,485,505,541,588 'suggest':912 'synonym':844 'sys':433 'sys.exit':584 'system':112,694,729,988,994,1089 'target':129 'team':617 'technic':852,876 'templat':204,406 'term':853 'test':85,191,193,822 'test_handler.py':195 'tool':289,294,298,714,718,774,780,1007 'topic-agent-skills' 'topic-agentic-workflow' 'topic-ai-integration' 'topic-openclaw' 'transform':1009 'tri':462 'trigger':58,136,213,246,686,695,742,759,837,855,1025,1052,1074 'true':230,364,473,556,758 'type':56,102,118,222,318,333,435,563,598,638,658,754 'updat':762,771,973,1077,1095 'usag':351,356 'use':15,253,313,623,637,655,700,764,838,870,886,929,938,983,1032,1059,1081 'user':132,215,255,259,273,277,688,702,708,744,766,849,873,888,895,901,923,934,1034,1042,1061,1066,1083,1090 'utf':413 'util':113,632,1003 'valu':370,881 'value1':360 'valueerror':481 'variat':846,949 'verif':787 'version':236 'via':823 'wait':804 'want':216,689,703,745,767,889,924,935,1035,1062,1084 'whether':337 'without':607 'word':131 'workflow':114,1011,1017 'workspac':795 'write':72 'x':817 'y':819 'yaml':205,610,675,730,1024,1051,1073 'yes':323 'your@email.com':239","prices":[{"id":"6175690a-4623-4a16-95ca-f10589ad1584","listingId":"1c46ba9d-9114-43db-a106-ee209d6044b8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"CloudChef","category":"atlasclaw-providers","install_from":"skills.sh"},"createdAt":"2026-05-09T01:05:32.914Z"}],"sources":[{"listingId":"1c46ba9d-9114-43db-a106-ee209d6044b8","source":"github","sourceId":"CloudChef/atlasclaw-providers/create-atlasclaw-skill","sourceUrl":"https://github.com/CloudChef/atlasclaw-providers/tree/main/skills/create-atlasclaw-skill","isPrimary":false,"firstSeenAt":"2026-05-09T01:05:32.914Z","lastSeenAt":"2026-05-18T19:08:22.914Z"}],"details":{"listingId":"1c46ba9d-9114-43db-a106-ee209d6044b8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"CloudChef","slug":"create-atlasclaw-skill","github":{"repo":"CloudChef/atlasclaw-providers","stars":10,"topics":["agent-skills","agentic-workflow","ai-integration","openclaw"],"license":"apache-2.0","html_url":"https://github.com/CloudChef/atlasclaw-providers","pushed_at":"2026-05-18T03:15:37Z","description":"atlasclaw-providers are the integration with enterprise systems through skills and webhook.","skill_md_sha":"f2cc9973ff071798946cb532cabd8684b93d018a","skill_md_path":"skills/create-atlasclaw-skill/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/CloudChef/atlasclaw-providers/tree/main/skills/create-atlasclaw-skill"},"layout":"multi","source":"github","category":"atlasclaw-providers","frontmatter":{"name":"create-atlasclaw-skill","description":"Create new AtlasClaw skills with proper structure, metadata, and documentation. Use when building executable skills, markdown skills, or provider skills for the AtlasClaw AI Agent."},"skills_sh_url":"https://skills.sh/CloudChef/atlasclaw-providers/create-atlasclaw-skill"},"updatedAt":"2026-05-18T19:08:22.914Z"}}