[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-5e068cd6-a9c4-4390-a3be-ce106934460d":3,"$fVkcuUs4Qpvs2WTzCGI0frmTQrR7Wvauz2gf-oHHovUk":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"5e068cd6-a9c4-4390-a3be-ce106934460d","writing-skills","用于创建、更新或改进代理技能时使用。","cat_writing_article","mod_writing","sickn33,writing","---\nname: writing-skills\ndescription: \"Use when creating, updating, or improving agent skills.\"\ncategory: meta\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Writing Skills (Excellence)\n\nDispatcher for skill creation excellence. Use the decision tree below to find the right template and standards.\n\n## ⚡ Quick Decision Tree\n\n### What do you need to do?\n\n1. **Create a NEW skill:**\n   - Is it simple (single file, \u003C200 lines)? → [Tier 1 Architecture](references\u002Ftier-1-simple\u002FREADME.md)\n   - Is it complex (multi-concept, 200-1000 lines)? → [Tier 2 Architecture](references\u002Ftier-2-expanded\u002FREADME.md)\n   - Is it a massive platform (10+ products, AWS, Convex)? → [Tier 3 Architecture](references\u002Ftier-3-platform\u002FREADME.md)\n\n2. **Improve an EXISTING skill:**\n   - Fix \"it's too long\" -> [Modularize (Tier 3)](references\u002Ftemplates\u002Ftier-3-platform.md)\n   - Fix \"AI ignores rules\" -> [Anti-Rationalization](references\u002Fanti-rationalization\u002FREADME.md)\n   - Fix \"users can't find it\" -> [CSO (Search Optimization)](references\u002Fcso\u002FREADME.md)\n\n3. **Verify Compliance:**\n   - Check metadata\u002Fnaming -> [Standards](references\u002Fstandards\u002FREADME.md)\n   - Add tests -> [Testing Guide](references\u002Ftesting\u002FREADME.md)\n\n## 📚 Component Index\n\n| Component | Purpose |\n|-----------|---------|\n| **[CSO](references\u002Fcso\u002FREADME.md)** | \"SEO for LLMs\". How to write descriptions that trigger. |\n| **[Standards](references\u002Fstandards\u002FREADME.md)** | File naming, YAML frontmatter, directory structure. |\n| **[Anti-Rationalization](references\u002Fanti-rationalization\u002FREADME.md)**| How to write rules that agents won't ignore. |\n| **[Testing](references\u002Ftesting\u002FREADME.md)** | How to ensure your skill actually works. |\n\n## 🛠️ Templates\n\n- [Technique Skill](references\u002Ftemplates\u002Ftechnique.md) (How-to)\n- [Reference Skill](references\u002Ftemplates\u002Freference.md) (Docs)\n- [Discipline Skill](references\u002Ftemplates\u002Fdiscipline.md) (Rules)\n- [Pattern Skill](references\u002Ftemplates\u002Fpattern.md) (Design Patterns)\n\n## When to Use\n- Creating a NEW skill from scratch\n- Improving an EXISTING skill that agents ignore\n- Debugging why a skill isn't being triggered\n- Standardizing skills across a team\n\n## How It Works\n\n1. **Identify goal** → Use decision tree above\n2. **Select template** → From `references\u002Ftemplates\u002F`\n3. **Apply CSO** → Optimize description for discovery\n4. **Add anti-rationalization** → For discipline skills\n5. **Test** → RED-GREEN-REFACTOR cycle\n\n## Quick Example\n\n```yaml\n---\nname: my-technique\ndescription: Use when [specific symptom occurs].\nmetadata:\n  category: technique\n  triggers: error-text, symptom, tool-name\n---\n\n# My Technique\n\n## When to Use\n- [Symptom A]\n- [Error message]\n```\n\n## Common Mistakes\n\n| Mistake | Fix |\n|---------|-----|\n| Description summarizes workflow | Use \"Use when...\" triggers only |\n| No `metadata.triggers` | Add 3+ keywords |\n| Generic name (\"helper\") | Use gerund (`creating-skills`) |\n| Long monolithic SKILL.md | Split into `references\u002F` |\n\nSee [gotchas.md](gotchas.md) for more.\n\n## ✅ Pre-Deploy Checklist\n\nBefore deploying any skill:\n\n- [ ] `name` field matches directory name exactly\n- [ ] `SKILL.md` filename is ALL CAPS\n- [ ] Description starts with \"Use when...\"\n- [ ] `metadata.triggers` has 3+ keywords\n- [ ] Total lines \u003C 500 (use `references\u002F` for more)\n- [ ] No `@` force-loading in cross-references\n- [ ] Tested with real scenarios\n\n## 🔗 Related Skills\n\n- **opencode-expert**: For OpenCode environment configuration\n- Use `\u002Fwrite-skill` command for guided skill creation\n\n## Examples\n\n**Create a Tier 1 skill:**\n```bash\nmkdir -p ~\u002F.config\u002Fopencode\u002Fskills\u002Fmy-technique\ntouch ~\u002F.config\u002Fopencode\u002Fskills\u002Fmy-technique\u002FSKILL.md\n```\n\n**Create a Tier 2 skill:**\n```bash\nmkdir -p ~\u002F.config\u002Fopencode\u002Fskills\u002Fmy-skill\u002Freferences\u002Fcore\ntouch ~\u002F.config\u002Fopencode\u002Fskills\u002Fmy-skill\u002F{SKILL.md,gotchas.md}\ntouch ~\u002F.config\u002Fopencode\u002Fskills\u002Fmy-skill\u002Freferences\u002Fcore\u002FREADME.md\n```\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.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,116,624,"2026-05-16 13:47:41",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"写作研究","writing","mdi-pencil-outline","从学术写作到创意文案，让 AI 成为你的专属写作助手",1,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"文章写作","article","mdi-file-document-edit-outline","博客、新闻稿、自媒体文章等",61,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"971c35da-217f-4262-adbe-d1b2041417a0","1.0.0","writing-skills.zip",49547,"uploads\u002Fskills\u002F5e068cd6-a9c4-4390-a3be-ce106934460d\u002Fwriting-skills.zip","d72a36ba01e41df8e9352f8ff6ea35f840fb09077e62e2fdb9ff612ebce476fc","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4244},{\"path\":\"anthropic-best-practices.md\",\"isDirectory\":false,\"size\":45599},{\"path\":\"examples.md\",\"isDirectory\":false,\"size\":4122},{\"path\":\"gotchas.md\",\"isDirectory\":false,\"size\":3804},{\"path\":\"graphviz-conventions.dot\",\"isDirectory\":false,\"size\":5970},{\"path\":\"persuasion-principles.md\",\"isDirectory\":false,\"size\":5908},{\"path\":\"references\u002Fanti-rationalization\u002FREADME.md\",\"isDirectory\":false,\"size\":7285},{\"path\":\"references\u002Fcso\u002FREADME.md\",\"isDirectory\":false,\"size\":6384},{\"path\":\"references\u002Fstandards\u002FREADME.md\",\"isDirectory\":false,\"size\":3563},{\"path\":\"references\u002Fstandards\u002Fmetadata-standard.md\",\"isDirectory\":false,\"size\":1471},{\"path\":\"references\u002Ftemplates\u002Fdiscipline.md\",\"isDirectory\":false,\"size\":934},{\"path\":\"references\u002Ftemplates\u002Fpattern.md\",\"isDirectory\":false,\"size\":635},{\"path\":\"references\u002Ftemplates\u002Freference.md\",\"isDirectory\":false,\"size\":466},{\"path\":\"references\u002Ftemplates\u002Ftechnique.md\",\"isDirectory\":false,\"size\":779},{\"path\":\"references\u002Ftemplates\u002Ftier-3-platform.md\",\"isDirectory\":false,\"size\":463},{\"path\":\"references\u002Ftesting\u002FREADME.md\",\"isDirectory\":false,\"size\":5867},{\"path\":\"references\u002Ftier-1-simple\u002FREADME.md\",\"isDirectory\":false,\"size\":1431},{\"path\":\"references\u002Ftier-2-expanded\u002FREADME.md\",\"isDirectory\":false,\"size\":1834},{\"path\":\"references\u002Ftier-3-platform\u002FREADME.md\",\"isDirectory\":false,\"size\":2740},{\"path\":\"render-graphs.js\",\"isDirectory\":false,\"size\":4857},{\"path\":\"testing-skills-with-subagents.md\",\"isDirectory\":false,\"size\":12557}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]