[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GV67B5N8ENJK6HTFMHCZ2J":3,"skill-same:01M6GV67B5N8ENJK6HTFMHCZ2J":69},{"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":28,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6GV67B5N8ENJK6HTFMHCZ2J","developer-backend",null,"Backend development standards — general backend architecture, security, and tooling. Load when writing backend code.","dragoscirjan\u002Fopencode-config","dragoscirjan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F950596?v=4","01M6GV509X835Z595VVKDX1HFY","Dragos Cirjan","01M6GV50XSMSSD7W2M2KJXTQN6",1,"MIT","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Fdeveloper-backend\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41],"developer","backend","developer backend","writing","security","architecture","development","code","tooling","backend development","standards","general","load","2026-11-10 10:12:30",false,"---\nname: developer-backend\ndescription: Backend development standards — general backend architecture, security, and tooling. Load when writing backend code.\n---\n\n# Backend Development Standards\n\nAlways load `clean-code` alongside this skill.\nUse the `detect-language` tool to dynamically load the language-specific skill (e.g. `lang-py`, `lang-go`) for the code you are writing.\nRun the `env-get` tool for the `DEVELOPER_SKILLS` variable. If it returns a comma-separated list of skill names, load each of them.\n\n## Cross-Cutting Rules\n\n- **Errors**: Return explicitly. Never swallow, never throw for control flow. Include context (what failed, with what input).\n- **DI**: Accept interfaces, return concretes. Wire at entry point.\n- **Logging**: Structured (JSON). Correlation\u002Frequest IDs. Never log secrets.\n- **Security**: Secrets from env or secret manager — never VCS. Parameterized queries. Validate inputs. Timeouts on HTTP clients.\n- **Config**: Env vars with safe defaults. Validate at startup, fail fast.\n- **Testing**: Test error paths. Table-driven\u002Fparameterized. Testcontainers for integration.\n- **Automation**: Use `run-quality-checks` to run validations, formatters, and tests before finalizing.\n","# Backend Development Standards\n\nAlways load `clean-code` alongside this skill.\nUse the `detect-language` tool to dynamically load the language-specific skill (e.g. `lang-py`, `lang-go`) for the code you are writing.\nRun the `env-get` tool for the `DEVELOPER_SKILLS` variable. If it returns a comma-separated list of skill names, load each of them.\n\n## Cross-Cutting Rules\n\n- **Errors**: Return explicitly. Never swallow, never throw for control flow. Include context (what failed, with what input).\n- **DI**: Accept interfaces, return concretes. Wire at entry point.\n- **Logging**: Structured (JSON). Correlation\u002Frequest IDs. Never log secrets.\n- **Security**: Secrets from env or secret manager — never VCS. Parameterized queries. Validate inputs. Timeouts on HTTP clients.\n- **Config**: Env vars with safe defaults. Validate at startup, fail fast.\n- **Testing**: Test error paths. Table-driven\u002Fparameterized. Testcontainers for integration.\n- **Automation**: Use `run-quality-checks` to run validations, formatters, and tests before finalizing.\n",{"name":5,"description":7},"main","f14d6437b86dcd1257925a71587a253624705809","skills\u002Fdeveloper-backend",0,"https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config","https:\u002F\u002Fgithub.com\u002Fdragoscirjan","http:\u002F\u002Flunaticthinker.me","2026-08-23 18:29:44",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add dragoscirjan\u002Fopencode-config --skill developer-backend",{"tool":61,"command":62},"bunx","bunx skills add dragoscirjan\u002Fopencode-config --skill developer-backend",{"tool":64,"command":65},"pnpm","pnpm dlx skills add dragoscirjan\u002Fopencode-config --skill developer-backend","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Fdeveloper-backend\u002FSKILL.md",true,[],[70,86,105,122,143,152],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":42},"01M6GVBX5M8KVG8EZP2QTYZDGB","productivity-clarify","Guidelines for clarifying ambiguous tasks. Load when the immediate user request lacks execution context.","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity-clarify\u002FSKILL.md",[],[77,78,79,80,81,41,82,83,84,85],"productivity","productivity clarify","clarify","user","tasks","guidelines","user request","context","execution",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":42},"01M6GVBQX6W1C1RAZE43EQ9NEY","productivity-caveman","Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says \"caveman mode\", \"talk like caveman\", \"use caveman\", \"less tokens\", \"be brief\", or invokes \u002Fcaveman.","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity-caveman\u002FSKILL.md",[],[77,93,94,95,80,96,97,98,99,100,101,102,103,104],"caveman","productivity caveman","technical","use","full","token","tokens","usage","mode","ultra","brief","communication",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":114,"publishedAt":42},"01M6GVBHX6SZRBE7440A5RA6X9","mcp-tools","External MCP tools reference. Load at task start.","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Fmcp-tools\u002FSKILL.md",[111],{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[115,116,117,118,119,120,41,121],"Tools","mcp tools","MCP","reference","start","task","at",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":132,"publishedAt":42},"01M6GVBD1AZ6NWNYAAQ9J9E71X","mcp-tools-godot","Godot MCP servers reference — editor, diagnostics, testing, docs, runtime. Load when doing Godot game dev.","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Fmcp-tools-godot\u002FSKILL.md",[128,131],{"categoryNo":129,"categoryName":130,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":112,"categoryName":113,"taxonomyType":21,"taxonomyTypeDesc":22},[115,133,134,116,117,135,136,137,138,139,140,141,118,142,41],"mcp tools godot","godot","mcp servers","testing","docs","editor","diagnostics","dev","game","runtime",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":42},"01M6GVBA6DM84KYRDPP1Q83GBJ","lang-zig","Zig development standards and tooling.","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Flang-zig\u002FSKILL.md",[],[150,151,35,37,39],"zig","lang zig",{"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":158,"publishedAt":42},"01M6GVB8PKXRMMJ4B2YPZG1350","lang-yaml","YAML standards and tooling.","https:\u002F\u002Fgithub.com\u002Fdragoscirjan\u002Fopencode-config\u002Fblob\u002Fmain\u002Fskills\u002Flang-yaml\u002FSKILL.md",[],[159,160,37,39],"yaml","lang yaml"]