[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"creator:01M6DHNW6H23WSXQ1D6MJCFC91":3,"creator-list:01M6DHNW6H23WSXQ1D6MJCFC91:stars:1:":22},{"accountNo":4,"login":5,"displayName":6,"avatarUrl":7,"accountType":8,"accountTypeDesc":9,"profileDescription":10,"skillCount":11,"repoCount":12,"professionCount":13,"scenarioCount":12,"totalStars":14,"updatedAt":15,"htmlUrl":16,"blogUrl":17,"company":18,"location":19,"followersCount":20,"publicReposCount":21},"01M6DHNW6H23WSXQ1D6MJCFC91","thorwhalen","Thor Whalen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1906276?v=4","USER","个人作者","Machine Learning and AI Systems",17,1,2,0,"2026-11-09 01:24:54","https:\u002F\u002Fgithub.com\u002Fthorwhalen","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fthorwhalen\u002F","Figiri","San Francisco, CA",41,223,{"records":23,"total":11,"current":12,"size":297},[24,42,65,95,111,125,135,140,146,151,156,161,182,206,229,246,269],{"skillNo":25,"name":26,"nameZh":27,"description":27,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":31,"categories":32,"keywords":38,"publishedAt":41},"01M6DHQKJPZBWKFCJE4AER997W","my-skill",null,"thorwhalen\u002Fopsward","01M6DHNWD2G3GJ64J30A1FW0XP","MIT","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fpython_project\u002F.claude\u002Fskills\u002Fmy-skill\u002FSKILL.md",[33],{"categoryNo":34,"categoryName":35,"taxonomyType":36,"taxonomyTypeDesc":37},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[39,40],"my skill","my","2026-11-10 10:12:30",{"skillNo":43,"name":44,"nameZh":27,"description":45,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":46,"categories":47,"keywords":48,"publishedAt":41},"01M6DHQGEMHHGRMZ4R46SA59Z7","opsward","Run opsward to assess and improve this project's AI agent setup. Use when the user says 'opsward', 'check my setup', 'improve my AI config', or wants a full audit and remediation.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002Fopsward\u002Fdata\u002Ftemplates\u002Fshared\u002Fopsward\u002FSKILL.md",[],[44,49,50,51,52,53,54,55,56,57,58,59,60,61,62,40,63,64],"ai agent","config","setup","run","audit","remediation","improve","check","user","use","ai config","project","full","assess","agent setup","when",{"skillNo":66,"name":67,"nameZh":27,"description":68,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":69,"categories":70,"keywords":72,"publishedAt":41},"01M6DHQCY2SHZ1ZEH5FQFT39WX","opsward-subagents","Decide which of a repo's skills should also run as subagents (in their own context), declare it in each skill's frontmatter, and generate or refresh the twin agent files with opsward. Use when a skill does bulky or read-heavy work whose output should stay out of the main context, when a skill needs a tool restriction or a cheaper model, when a hand-written agent duplicates a skill, when `opsward maintain` reports a `subagent_twin` finding, or when asked \"should this skill be a subagent\", \"make this skill usable as a subagent\", \"generate agents from skills\", or to sweep a repo for skill\u002Fagent pairs. Also usable as a subagent itself.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002Fopsward\u002Fdata\u002Ftemplates\u002Fshared\u002Fopsward-subagents\u002FSKILL.md",[71],{"categoryNo":34,"categoryName":35,"taxonomyType":36,"taxonomyTypeDesc":37},[73,74,44,75,76,77,78,79,80,81,82,83,84,58,85,86,87,88,89,90,91,92,93,94,64],"subagents","opsward subagents","generate","Bash","subagent","tool","model","sweep","work","decide","repo","refresh","duplicates","reports","files","main","maintain","as","opsward maintain","true","which","for",{"skillNo":96,"name":97,"nameZh":27,"description":98,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":41},"01M6DHQ9EGVVKAP608FD4B4FYA","opsward-maintain","Check documentation and AI setup for staleness, drift, or inconsistency. Use when the user asks to maintain, refresh, or update project docs and AI configuration.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002Fopsward\u002Fdata\u002Ftemplates\u002Fshared\u002Fopsward-maintain\u002FSKILL.md",[],[89,91,44,102,51,103,104,105,56,84,57,58,106,107,108,60,109,94,64,110],"docs","documentation","update","check documentation","update project docs","configuration","drift","ai setup","project docs",{"skillNo":112,"name":113,"nameZh":27,"description":114,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":41},"01M6DHQ6F44PQADNEPRG7QAMPA","opsward-generate","Generate missing AI setup artifacts for this project. Use when the user asks to scaffold, create, or bootstrap CLAUDE.md, docs, skills, or agent configuration.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002Fopsward\u002Fdata\u002Ftemplates\u002Fshared\u002Fopsward-generate\u002FSKILL.md",[],[75,118,44,102,119,51,120,121,122,57,58,107,60,123,109,124,94,64],"opsward generate","scaffold","bootstrap","create","artifacts","agent configuration","missing",{"skillNo":126,"name":127,"nameZh":27,"description":128,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":41},"01M6DHQ3YJMTQ155ZGHR76PP90","opsward-diagnose","Diagnose the health of this project's AI agent setup. Use when the user asks to check, audit, or score the project's CLAUDE.md, skills, docs, or agent configuration.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002Fopsward\u002Fdata\u002Ftemplates\u002Fshared\u002Fopsward-diagnose\u002FSKILL.md",[],[132,133,44,102,49,51,53,134,56,57,58,107,60,123,63,64],"diagnose","opsward diagnose","health",{"skillNo":136,"name":44,"nameZh":27,"description":45,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":41},"01M6DHQ1084K7TFC376MWMW3CQ","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward\u002FSKILL.md",[],[44,49,50,51,52,53,54,55,56,57,58,59,60,61,62,40,63,64],{"skillNo":141,"name":67,"nameZh":27,"description":68,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":41},"01M6DHPXDFR0R6C8NFC38BNJ82","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-subagents\u002FSKILL.md",[144],{"categoryNo":34,"categoryName":35,"taxonomyType":36,"taxonomyTypeDesc":37},[73,74,44,75,76,77,78,79,80,81,82,83,84,58,85,86,87,88,89,90,91,92,93,94,64],{"skillNo":147,"name":97,"nameZh":27,"description":98,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":41},"01M6DHPT7XH4PN4Z1E48QF8VTN","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-maintain\u002FSKILL.md",[],[89,91,44,102,51,103,104,105,56,84,57,58,106,107,108,60,109,94,64,110],{"skillNo":152,"name":113,"nameZh":27,"description":114,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":41},"01M6DHPQDYZ8XBNPSMDFNB3RHC","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-generate\u002FSKILL.md",[],[75,118,44,102,119,51,120,121,122,57,58,107,60,123,109,124,94,64],{"skillNo":157,"name":127,"nameZh":27,"description":128,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":41},"01M6DHPMHA4T13PHVDM37KMT0F","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-diagnose\u002FSKILL.md",[],[132,133,44,102,49,51,53,134,56,57,58,107,60,123,63,64],{"skillNo":162,"name":163,"nameZh":27,"description":164,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":41},"01M6DHPGFTJXQ8GQ94FDJRCKWE","opsward-dev","Contributor guide for developing opsward itself — its architecture, hard invariants, and where each kind of change goes. Use when modifying opsward's own source (scan\u002Fscore\u002Fgenerate\u002Fmaintain\u002Frecommend\u002Fcli), adding a template, scoring dimension, or skill recommendation, or when unsure which module owns a change. NOT for running opsward on a target project (use the `opsward` skill for that).","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-dev\u002FSKILL.md",[],[168,169,44,170,171,172,75,173,174,58,89,175,176,60,177,178,179,93,94,180,64,181],"dev","opsward dev","cli","change","architecture","template","guide","scan","scoring","module","recommendation","kind","contributor","running",{"skillNo":183,"name":184,"nameZh":27,"description":185,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":186,"categories":187,"keywords":189,"publishedAt":41},"01M6DHPD6ZDSFB9J19BK2FHHFX","opsward-add-template","Add or edit a generation template in opsward — a doc template (architecture.md, testing.md, …), an installable skill (SKILL.md), or an agent definition — and wire it into generate.py so opsward produces it. Use when adding a new artifact opsward should scaffold into target projects, adding a template variable, or changing what `opsward generate` \u002F `install-skills` emit. Covers string.Template rules and the python\u002Fjsts\u002Fshared layout.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-add-template\u002FSKILL.md",[188],{"categoryNo":34,"categoryName":35,"taxonomyType":36,"taxonomyTypeDesc":37},[173,190,191,44,192,193,194,172,119,75,195,196,197,198,199,58,200,201,202,203,118,204,64,205],"add template","opsward add template","add","testing","python","doc","projects","Rules","edit","install","artifact","shared","generation","layout","definition","new",{"skillNo":207,"name":208,"nameZh":27,"description":209,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":210,"categories":211,"keywords":212,"publishedAt":41},"01M6DHP9JPM9RZ53ENCVS53SMA","opsward-add-scoring","Add or adjust opsward's quality scoring — a CLAUDE.md sub-dimension, a whole weighted component, or the skill\u002Fspec validation rules — in score.py. Use when changing how `opsward diagnose` grades a project, tuning weights or point thresholds, adding a new ComponentScore, or modifying validate_skill_spec. Explains the pure-function contract, the weighting math, and the constants to keep balanced.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-add-scoring\u002FSKILL.md",[],[176,213,44,192,214,215,216,132,217,218,219,220,197,221,58,60,222,223,133,224,225,226,227,64,228,205],"opsward add scoring","spec","component","validate","validation","tuning","how","quality","math","contract","adjust","thresholds","quality scoring","keep","point","constants",{"skillNo":230,"name":231,"nameZh":27,"description":232,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":233,"categories":234,"keywords":235,"publishedAt":41},"01M6DHP60HA0F9FKPS98SFYEWT","opsward-add-scan-field","Add a new fact that opsward learns about a target project — a field on ScanResult populated by scan.py — and consume it downstream in score\u002Fgenerate\u002Fmaintain\u002Frecommend. Use when a new check, score, template variable, or drift detector needs data the scan does not yet collect (a new config file, a new .claude\u002F inventory, a project signal), or when changing project-type detection. Covers the read-only contract, the dataclass-default rule, the util read helpers, and the CLI goldens a scan change can move.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-add-scan-field\u002FSKILL.md",[],[175,236,44,192,170,171,50,75,237,238,239,173,56,240,58,241,242,89,108,60,222,243,244,245,64,205],"opsward add scan field","file","collect","inventory","read","only","default","type","move","recommend",{"skillNo":247,"name":248,"nameZh":27,"description":249,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":250,"categories":251,"keywords":252,"publishedAt":41},"01M6DHP2X5KBS2SQJYQ5RAZ039","opsward-add-recommendation","Add a tech-stack→skill mapping to opsward's recommendation engine in recommend.py, so `opsward recommend` suggests an ecosystem skill when it detects a dependency or framework (e.g. Supabase, FastAPI, Tailwind). Use when extending the curated `_RECOMMENDATIONS` list, adding a new detection signal, or changing where recommended skills are sourced from.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-add-recommendation\u002FSKILL.md",[],[253,44,192,178,254,255,256,257,258,259,260,261,262,58,263,264,265,266,245,267,64,205,268],"opsward add recommendation","recommendation engine","framework","supabase","detection","Tailwind","stack","engine","list","fastapi","dependency","recommendations","tech","ecosystem","signal","extending",{"skillNo":270,"name":271,"nameZh":27,"description":272,"descriptionZh":27,"repositoryFullName":28,"ownerLogin":5,"ownerAvatarUrl":7,"ownerAccountNo":4,"ownerDisplayName":6,"repositoryNo":29,"starsCount":14,"licenseSpdxId":30,"licenseFileUrl":27,"sourceHtmlUrl":273,"categories":274,"keywords":283,"publishedAt":41},"01M6DHNZ5EZMSQ79ZT9JWRRZ12","opsward-add-drift-check","Add a new staleness or drift check to opsward's maintain stage (maintain.py), so `opsward maintain` reports a new kind of MaintenanceSuggestion — a stale reference, an out-of-sync index, an outdated or empty doc, an incomplete skill. Use when extending what `opsward maintain` detects, adding a suggestion category, or deciding whether a finding belongs in maintain or in the diagnose score. Covers the check-generator shape, categories, the diff field, the exit-code contract, and the CLI golden it can move.","https:\u002F\u002Fgithub.com\u002Fthorwhalen\u002Fopsward\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopsward-add-drift-check\u002FSKILL.md",[275,280],{"categoryNo":276,"categoryName":277,"taxonomyType":278,"taxonomyTypeDesc":279},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":281,"categoryName":282,"taxonomyType":278,"taxonomyTypeDesc":279},"01JBSEEDCAT000000000000037","律师与法务",[56,108,284,285,44,192,170,286,132,287,288,195,58,289,290,86,291,292,293,89,294,222,91,244,295,296,64,205,268],"drift check","opsward add drift check","sync","code","index","diff","shape","stale","reference","exit","stage","generator","categories",18]