[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DC6MXFE2PBJFWHK3KAHEB1":3,"skill-same:01M6DC6MXFE2PBJFWHK3KAHEB1":58},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":14,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6DC6MXFE2PBJFWHK3KAHEB1","zero-issue-coding",null,"Use when writing ANY new code in ANY language — enforces patterns that pass Codacy, SonarCloud, DeepSource, QLTY, Semgrep, and Codecov gates on first push without suppressions or exclusions","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fzero-issue-coding\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"ZeRO","coding","issue","zero issue coding","writing","code","push","semgrep","first","use","language","patterns","gates","deepsource","2026-11-10 10:12:30",false,"---\nname: zero-issue-coding\ndescription: Use when writing ANY new code in ANY language — enforces patterns that pass Codacy, SonarCloud, DeepSource, QLTY, Semgrep, and Codecov gates on first push without suppressions or exclusions\n---\n\n# Zero-Issue Coding\n\n## Overview\n\n**Write code that passes every quality gate on the first push.** This skill encodes the patterns that prevent issues, not how to fix them after. If you follow these patterns, you will never trigger a Codacy\u002FSonarCloud\u002FDeepSource\u002FQLTY finding.\n\n**Core principle:** Prevention is 100x cheaper than cleanup. A 2,000-issue backlog takes days to fix. Writing clean from the start takes zero extra time.\n\n## When to Use\n\n- Writing ANY new function, class, or module\n- Editing ANY existing code\n- Before EVERY commit\n- When a gate fails (find the pattern below, apply it, never repeat)\n\n## The Prevention Checklist (Run Mentally Before Every Function)\n\n1. **Null safety** — Can any parameter or return value be null? Handle it NOW.\n2. **Complexity** — Will this function have > 3 branches? Split BEFORE writing.\n3. **Security** — Does this touch user input, files, network, or secrets? Secure pattern NOW.\n4. **Coverage** — What test will cover this? Write the test signature NOW.\n5. **Length** — Will this function exceed 50 lines? Plan the extraction NOW.\n\n## C# \u002F .NET — Zero-Issue Patterns\n\n### Null Dereference (kills 70%+ of Codacy findings)\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy potential-null-dereference, SonarCloud S2259\npublic void Process(GameProfile profile)\n{\n    var name = profile.DisplayName.ToUpper(); \u002F\u002F nullable deref\n    var count = profile.Symbols.Count;        \u002F\u002F nullable deref\n}\n\n\u002F\u002F ✅ ZERO ISSUES\npublic void Process(GameProfile profile)\n{\n    ArgumentNullException.ThrowIfNull(profile);\n    var name = profile.DisplayName?.ToUpper() ?? string.Empty;\n    var count = profile.Symbols?.Count ?? 0;\n}\n```\n\n**Rule:** Every reference parameter gets `ThrowIfNull`. Every member access on a potentially-null gets `?.` with a `??` fallback. EVERY. SINGLE. ONE. No exceptions.\n\n### CLS Compliance (kills 200+ Codacy findings)\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy CA1014, CA1038\npublic uint GetOffset() => _offset;\npublic sbyte GetFlag() => _flag;\n\n\u002F\u002F ✅ ZERO ISSUES — use CLS-compliant types in public APIs\npublic int GetOffset() => (int)_offset;    \u002F\u002F or make method internal\npublic int GetFlag() => _flag;\ninternal uint GetRawOffset() => _offset;   \u002F\u002F non-public = no CLS issue\n```\n\n**Rule:** Public APIs expose only: `bool`, `byte`, `short`, `int`, `long`, `float`, `double`, `decimal`, `string`, `object`. Use `internal` for everything else.\n\n### Complexity (kills QLTY\u002FLizard\u002FSonarCloud findings)\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: SonarCloud S3776, QLTY CCN > 15\npublic void HandleAction(ActionKind kind, RuntimeMode mode, bool isVerified)\n{\n    if (kind == ActionKind.Spawn)\n    {\n        if (mode == RuntimeMode.Tactical) { \u002F* ... *\u002F }\n        else if (mode == RuntimeMode.Galactic) { \u002F* ... *\u002F }\n    }\n    else if (kind == ActionKind.SetCredits) { \u002F* ... *\u002F }\n    else if (kind == ActionKind.SetSpeed) { \u002F* ... *\u002F }\n    \u002F\u002F 15 more branches...\n}\n\n\u002F\u002F ✅ ZERO ISSUES — dispatch table + early return\nprivate static readonly Dictionary\u003CActionKind, Func\u003CRuntimeMode, Task>> Handlers = new()\n{\n    [ActionKind.Spawn] = HandleSpawn,\n    [ActionKind.SetCredits] = HandleCredits,\n    [ActionKind.SetSpeed] = HandleSpeed,\n};\n\npublic Task HandleAction(ActionKind kind, RuntimeMode mode, bool isVerified)\n{\n    ArgumentNullException.ThrowIfNull(kind);\n    if (!isVerified) throw new InvalidOperationException(\"Action not verified\");\n    if (!Handlers.TryGetValue(kind, out var handler))\n        throw new NotSupportedException($\"Unknown action: {kind}\");\n    return handler(mode);\n}\n```\n\n**Rule:** If you see yourself writing the 4th `if\u002Felse if`, STOP. Use a dictionary, switch expression, or strategy pattern.\n\n### Exception Handling\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy CA1031, SonarCloud S2221\ntry { DoWork(); } catch (Exception) { }\n\n\u002F\u002F ✅ ZERO ISSUES\ntry { DoWork(); }\ncatch (InvalidOperationException ex) { _logger.LogWarning(ex, \"Expected failure\"); }\ncatch (IOException ex) { _logger.LogError(ex, \"I\u002FO failure\"); throw; }\n```\n\n### Hardcoded Secrets\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy CWE-798, Semgrep hardcoded-credentials\nprivate const string ApiKey = \"sk-abc123\";\n\n\u002F\u002F ✅ ZERO ISSUES\nprivate readonly string _apiKey = configuration[\"ApiKey\"]\n    ?? throw new InvalidOperationException(\"ApiKey not configured\");\n```\n\n## Python — Zero-Issue Patterns\n\n### Security (subprocess, secrets, eval)\n\n```python\n# ❌ TRIGGERS: Bandit B602, Codacy security\nsubprocess.call(cmd, shell=True)\npassword = \"hunter2\"\nresult = eval(user_input)\n\n# ✅ ZERO ISSUES\nsubprocess.run(cmd_list, shell=False, check=True, capture_output=True)\npassword = os.environ[\"APP_PASSWORD\"]\n# For eval: use ast.literal_eval for data, or don't eval at all\n```\n\n### Complexity\n\n```python\n# ❌ TRIGGERS: SonarCloud S3776, Lizard CCN > 15\ndef process(data):\n    if data.type == \"a\":\n        if data.sub == \"x\": ...\n        elif data.sub == \"y\": ...\n    elif data.type == \"b\": ...\n\n# ✅ ZERO ISSUES\n_PROCESSORS = {\"a\": _process_a, \"b\": _process_b}\n\ndef process(data):\n    handler = _PROCESSORS.get(data.type)\n    if handler is None:\n        raise ValueError(f\"Unknown type: {data.type}\")\n    return handler(data)\n```\n\n### String Concatenation in Lists\n\n```python\n# ❌ TRIGGERS: Codacy implicit-string-concatenation\nitems = [\n    \"first\"\n    \"second\"    # missing comma — silent string concat\n]\n\n# ✅ ZERO ISSUES\nitems = [\n    \"first\",\n    \"second\",\n]\n```\n\n## TypeScript — Zero-Issue Patterns\n\n### Strict Types\n\n```typescript\n\u002F\u002F ❌ TRIGGERS: ESLint @typescript-eslint\u002Fno-explicit-any\nfunction process(data: any) { ... }\n\n\u002F\u002F ✅ ZERO ISSUES\ninterface ProcessInput { type: string; value: number; }\nfunction process(data: ProcessInput) { ... }\n```\n\n## C++ — Zero-Issue Patterns\n\n### Modern C++ (SonarCloud)\n\n```cpp\n\u002F\u002F ❌ TRIGGERS: SonarCloud cpp:S5827, S5820, S1ావ5\nauto* ptr = new MyClass();\ntypedef unsigned int uint;\nvoid func() { int x = 0; if (condition) x = 1; }\n\n\u002F\u002F ✅ ZERO ISSUES\nauto ptr = std::make_unique\u003CMyClass>();\nusing uint = unsigned int;\nvoid func() { const int x = condition ? 1 : 0; }\n```\n\n## Test Coverage — Zero-Gap Patterns\n\n```csharp\n\u002F\u002F ❌ Missing branch coverage — only happy path tested\n[Fact]\npublic void SetCredits_Works() {\n    service.SetCredits(player, 1000);\n    Assert.Equal(1000, player.Credits);\n}\n\n\u002F\u002F ✅ 100% branch coverage — all paths tested\n[Fact]\npublic void SetCredits_ValidAmount_SetsCredits() { ... }\n\n[Fact]\npublic void SetCredits_NullPlayer_ThrowsArgumentNull() {\n    Assert.Throws\u003CArgumentNullException>(() => service.SetCredits(null!, 1000));\n}\n\n[Fact]\npublic void SetCredits_NegativeAmount_ThrowsArgumentOutOfRange() {\n    Assert.Throws\u003CArgumentOutOfRangeException>(() => service.SetCredits(player, -1));\n}\n\n[Theory]\n[InlineData(0)]\n[InlineData(999999)]\n[InlineData(float.MaxValue)]\npublic void SetCredits_BoundaryValues_Succeeds(float amount) { ... }\n```\n\n**Rule:** For every function, test: happy path, null inputs, invalid inputs, boundary values, error conditions. This mechanically produces 100% branch coverage.\n\n## Pre-Push (MANDATORY)\n\nBefore EVERY push, run `tools\u002Fpre-push-verify.sh` or the equivalent for this repo. If it fails, DO NOT PUSH.\n\n## Common Mistakes That Create Backlogs\n\n| Mistake | Issues Created | Prevention |\n|---------|---------------|------------|\n| No `\u003CNullable>enable\u003C\u002FNullable>` | 1,500+ null deref | Enable in every .csproj from day 1 |\n| Public `uint`\u002F`sbyte` APIs | 200+ CLS findings | Use `int`\u002F`long` publicly, internal for raw types |\n| Bare `catch (Exception)` | 50+ per project | Catch specific types only |\n| `shell=True` in subprocess | Security finding per call | Always `shell=False` |\n| Long methods (100+ lines) | CCN violations cascade | Extract at 30 lines, not 50 |\n| Missing `.codacy.yml` exclusion removal | Issues hidden, not fixed | Never exclude first-party code |\n\n## The Bottom Line\n\n**Every pattern above exists because an agent once created thousands of issues by not following it.** These are not theoretical best practices — they are the specific patterns that prevent the specific findings from the specific tools configured on your repos.\n\nFollow them. Zero issues. First push. Every time.\n","# Zero-Issue Coding\n\n## Overview\n\n**Write code that passes every quality gate on the first push.** This skill encodes the patterns that prevent issues, not how to fix them after. If you follow these patterns, you will never trigger a Codacy\u002FSonarCloud\u002FDeepSource\u002FQLTY finding.\n\n**Core principle:** Prevention is 100x cheaper than cleanup. A 2,000-issue backlog takes days to fix. Writing clean from the start takes zero extra time.\n\n## When to Use\n\n- Writing ANY new function, class, or module\n- Editing ANY existing code\n- Before EVERY commit\n- When a gate fails (find the pattern below, apply it, never repeat)\n\n## The Prevention Checklist (Run Mentally Before Every Function)\n\n1. **Null safety** — Can any parameter or return value be null? Handle it NOW.\n2. **Complexity** — Will this function have > 3 branches? Split BEFORE writing.\n3. **Security** — Does this touch user input, files, network, or secrets? Secure pattern NOW.\n4. **Coverage** — What test will cover this? Write the test signature NOW.\n5. **Length** — Will this function exceed 50 lines? Plan the extraction NOW.\n\n## C# \u002F .NET — Zero-Issue Patterns\n\n### Null Dereference (kills 70%+ of Codacy findings)\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy potential-null-dereference, SonarCloud S2259\npublic void Process(GameProfile profile)\n{\n    var name = profile.DisplayName.ToUpper(); \u002F\u002F nullable deref\n    var count = profile.Symbols.Count;        \u002F\u002F nullable deref\n}\n\n\u002F\u002F ✅ ZERO ISSUES\npublic void Process(GameProfile profile)\n{\n    ArgumentNullException.ThrowIfNull(profile);\n    var name = profile.DisplayName?.ToUpper() ?? string.Empty;\n    var count = profile.Symbols?.Count ?? 0;\n}\n```\n\n**Rule:** Every reference parameter gets `ThrowIfNull`. Every member access on a potentially-null gets `?.` with a `??` fallback. EVERY. SINGLE. ONE. No exceptions.\n\n### CLS Compliance (kills 200+ Codacy findings)\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy CA1014, CA1038\npublic uint GetOffset() => _offset;\npublic sbyte GetFlag() => _flag;\n\n\u002F\u002F ✅ ZERO ISSUES — use CLS-compliant types in public APIs\npublic int GetOffset() => (int)_offset;    \u002F\u002F or make method internal\npublic int GetFlag() => _flag;\ninternal uint GetRawOffset() => _offset;   \u002F\u002F non-public = no CLS issue\n```\n\n**Rule:** Public APIs expose only: `bool`, `byte`, `short`, `int`, `long`, `float`, `double`, `decimal`, `string`, `object`. Use `internal` for everything else.\n\n### Complexity (kills QLTY\u002FLizard\u002FSonarCloud findings)\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: SonarCloud S3776, QLTY CCN > 15\npublic void HandleAction(ActionKind kind, RuntimeMode mode, bool isVerified)\n{\n    if (kind == ActionKind.Spawn)\n    {\n        if (mode == RuntimeMode.Tactical) { \u002F* ... *\u002F }\n        else if (mode == RuntimeMode.Galactic) { \u002F* ... *\u002F }\n    }\n    else if (kind == ActionKind.SetCredits) { \u002F* ... *\u002F }\n    else if (kind == ActionKind.SetSpeed) { \u002F* ... *\u002F }\n    \u002F\u002F 15 more branches...\n}\n\n\u002F\u002F ✅ ZERO ISSUES — dispatch table + early return\nprivate static readonly Dictionary\u003CActionKind, Func\u003CRuntimeMode, Task>> Handlers = new()\n{\n    [ActionKind.Spawn] = HandleSpawn,\n    [ActionKind.SetCredits] = HandleCredits,\n    [ActionKind.SetSpeed] = HandleSpeed,\n};\n\npublic Task HandleAction(ActionKind kind, RuntimeMode mode, bool isVerified)\n{\n    ArgumentNullException.ThrowIfNull(kind);\n    if (!isVerified) throw new InvalidOperationException(\"Action not verified\");\n    if (!Handlers.TryGetValue(kind, out var handler))\n        throw new NotSupportedException($\"Unknown action: {kind}\");\n    return handler(mode);\n}\n```\n\n**Rule:** If you see yourself writing the 4th `if\u002Felse if`, STOP. Use a dictionary, switch expression, or strategy pattern.\n\n### Exception Handling\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy CA1031, SonarCloud S2221\ntry { DoWork(); } catch (Exception) { }\n\n\u002F\u002F ✅ ZERO ISSUES\ntry { DoWork(); }\ncatch (InvalidOperationException ex) { _logger.LogWarning(ex, \"Expected failure\"); }\ncatch (IOException ex) { _logger.LogError(ex, \"I\u002FO failure\"); throw; }\n```\n\n### Hardcoded Secrets\n\n```csharp\n\u002F\u002F ❌ TRIGGERS: Codacy CWE-798, Semgrep hardcoded-credentials\nprivate const string ApiKey = \"sk-abc123\";\n\n\u002F\u002F ✅ ZERO ISSUES\nprivate readonly string _apiKey = configuration[\"ApiKey\"]\n    ?? throw new InvalidOperationException(\"ApiKey not configured\");\n```\n\n## Python — Zero-Issue Patterns\n\n### Security (subprocess, secrets, eval)\n\n```python\n# ❌ TRIGGERS: Bandit B602, Codacy security\nsubprocess.call(cmd, shell=True)\npassword = \"hunter2\"\nresult = eval(user_input)\n\n# ✅ ZERO ISSUES\nsubprocess.run(cmd_list, shell=False, check=True, capture_output=True)\npassword = os.environ[\"APP_PASSWORD\"]\n# For eval: use ast.literal_eval for data, or don't eval at all\n```\n\n### Complexity\n\n```python\n# ❌ TRIGGERS: SonarCloud S3776, Lizard CCN > 15\ndef process(data):\n    if data.type == \"a\":\n        if data.sub == \"x\": ...\n        elif data.sub == \"y\": ...\n    elif data.type == \"b\": ...\n\n# ✅ ZERO ISSUES\n_PROCESSORS = {\"a\": _process_a, \"b\": _process_b}\n\ndef process(data):\n    handler = _PROCESSORS.get(data.type)\n    if handler is None:\n        raise ValueError(f\"Unknown type: {data.type}\")\n    return handler(data)\n```\n\n### String Concatenation in Lists\n\n```python\n# ❌ TRIGGERS: Codacy implicit-string-concatenation\nitems = [\n    \"first\"\n    \"second\"    # missing comma — silent string concat\n]\n\n# ✅ ZERO ISSUES\nitems = [\n    \"first\",\n    \"second\",\n]\n```\n\n## TypeScript — Zero-Issue Patterns\n\n### Strict Types\n\n```typescript\n\u002F\u002F ❌ TRIGGERS: ESLint @typescript-eslint\u002Fno-explicit-any\nfunction process(data: any) { ... }\n\n\u002F\u002F ✅ ZERO ISSUES\ninterface ProcessInput { type: string; value: number; }\nfunction process(data: ProcessInput) { ... }\n```\n\n## C++ — Zero-Issue Patterns\n\n### Modern C++ (SonarCloud)\n\n```cpp\n\u002F\u002F ❌ TRIGGERS: SonarCloud cpp:S5827, S5820, S1ావ5\nauto* ptr = new MyClass();\ntypedef unsigned int uint;\nvoid func() { int x = 0; if (condition) x = 1; }\n\n\u002F\u002F ✅ ZERO ISSUES\nauto ptr = std::make_unique\u003CMyClass>();\nusing uint = unsigned int;\nvoid func() { const int x = condition ? 1 : 0; }\n```\n\n## Test Coverage — Zero-Gap Patterns\n\n```csharp\n\u002F\u002F ❌ Missing branch coverage — only happy path tested\n[Fact]\npublic void SetCredits_Works() {\n    service.SetCredits(player, 1000);\n    Assert.Equal(1000, player.Credits);\n}\n\n\u002F\u002F ✅ 100% branch coverage — all paths tested\n[Fact]\npublic void SetCredits_ValidAmount_SetsCredits() { ... }\n\n[Fact]\npublic void SetCredits_NullPlayer_ThrowsArgumentNull() {\n    Assert.Throws\u003CArgumentNullException>(() => service.SetCredits(null!, 1000));\n}\n\n[Fact]\npublic void SetCredits_NegativeAmount_ThrowsArgumentOutOfRange() {\n    Assert.Throws\u003CArgumentOutOfRangeException>(() => service.SetCredits(player, -1));\n}\n\n[Theory]\n[InlineData(0)]\n[InlineData(999999)]\n[InlineData(float.MaxValue)]\npublic void SetCredits_BoundaryValues_Succeeds(float amount) { ... }\n```\n\n**Rule:** For every function, test: happy path, null inputs, invalid inputs, boundary values, error conditions. This mechanically produces 100% branch coverage.\n\n## Pre-Push (MANDATORY)\n\nBefore EVERY push, run `tools\u002Fpre-push-verify.sh` or the equivalent for this repo. If it fails, DO NOT PUSH.\n\n## Common Mistakes That Create Backlogs\n\n| Mistake | Issues Created | Prevention |\n|---------|---------------|------------|\n| No `\u003CNullable>enable\u003C\u002FNullable>` | 1,500+ null deref | Enable in every .csproj from day 1 |\n| Public `uint`\u002F`sbyte` APIs | 200+ CLS findings | Use `int`\u002F`long` publicly, internal for raw types |\n| Bare `catch (Exception)` | 50+ per project | Catch specific types only |\n| `shell=True` in subprocess | Security finding per call | Always `shell=False` |\n| Long methods (100+ lines) | CCN violations cascade | Extract at 30 lines, not 50 |\n| Missing `.codacy.yml` exclusion removal | Issues hidden, not fixed | Never exclude first-party code |\n\n## The Bottom Line\n\n**Every pattern above exists because an agent once created thousands of issues by not following it.** These are not theoretical best practices — they are the specific patterns that prevent the specific findings from the specific tools configured on your repos.\n\nFollow them. Zero issues. First push. Every time.\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Fskills\u002Fzero-issue-coding","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill zero-issue-coding",{"tool":50,"command":51},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill zero-issue-coding",{"tool":53,"command":54},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill zero-issue-coding","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fzero-issue-coding\u002FSKILL.md",true,[],[59,80,111,138,152,167],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":33},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[66,67,68,69,70,71,72,73,74,28,75,76,77,78,79],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":91,"publishedAt":33},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[92,93,94,95,96,97,98,99,100,101,102,103,104,105,28,106,107,108,109,110],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":123,"publishedAt":33},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[117,120],{"categoryNo":118,"categoryName":119,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":121,"categoryName":122,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量",[124,125,126,127,128,129,130,131,132,133,93,134,135,136,137],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":33},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[140,145,146,147,148,149,150,151],"setup","report","project","installation","project setup","issues","state",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":33},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[158],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[154,160,71,21,161,162,28,163,164,165,166],"start issue","ready","work on issue","user","work","work on","development",{"skillNo":168,"name":145,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":33},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[145,147,108,173,149,174],"files","interactive"]