[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C1ZX65AKQ2FKYVMEBKPPFW":3,"skill-same:01M6C1ZX65AKQ2FKYVMEBKPPFW":117},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6C1ZX65AKQ2FKYVMEBKPPFW","ensure-quality",null,"Local quality gate for the current worktree: review for risk\u002Fcorrectness (break, leak, undo intent), standards, spec, and anti-slop; then test, document, lint. Mechanical one-liner auto-fix and HITL for ask-user findings; ship-readiness summary. Use when the user asks to ensure quality, run the quality gate, validate before commit, or gate changes; after finishing substantive or AI-generated code changes; and always before the agent commits. For commit plus pull request, use to-quality-pr instead (it runs this gate first).","gambitph\u002FCimo","gambitph","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3227089?v=4","01M6C1ZD8129MTRC23K53VJ45E","Gambit Technologies","01M6C1ZDCJPEHP3CKCWNG7HDVV",2,"GPL-2.0","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"ensure quality","quality","risk","auto","use","fix","generated","ask","commits","first","review","worktree","pull","code","lint","pull request","quality gate","pr","commit","test","2026-11-10 10:12:30",false,"---\nname: ensure-quality\ndescription: >-\n  Local quality gate for the current worktree: review for risk\u002Fcorrectness\n  (break, leak, undo intent), standards, spec, and anti-slop; then test,\n  document, lint. Mechanical one-liner auto-fix and HITL for ask-user\n  findings; ship-readiness summary.\n  Use when the user asks to ensure quality, run the quality gate, validate before\n  commit, or gate changes; after finishing substantive or AI-generated code\n  changes; and always before the agent commits.\n  For commit plus pull request, use to-quality-pr instead (it runs this gate first).\n---\n\n# Ensure quality\n\nInner-loop quality gate: **risk\u002Fcorrectness** review plus **anti-AI-slop**.\nAsks whether the change will **break, leak, or silently undo what the user wanted**, and catches parallel structure, hand-synced catalogues, phantom names, and other common agent failure modes early.\nMoves review, test, docs, and lint closer to the work before it leaves the machine.\nNo daemon, no second worktree, no push\u002FPR - this skill *is* the gate.\nTo gate then commit and open a triage PR, use [`to-quality-pr`](..\u002Fto-quality-pr\u002FSKILL.md).\n\nSelf-contained: everything needed lives under this skill folder.\nProject-agnostic: discover how *this* repo tests, lints, documents, and states maintainability rules - do not assume a stack.\n\n**Stages (order):** review → test → document → lint.\nLoad each stage file only when that stage runs.\nLoad `reference\u002Fdiscover.md` once during preconditions.\nAnti-slop baseline: `reference\u002Fanti-slop.md` (always on during review; repo rules override on conflict).\n\n## When to run\n\nFire this skill when any of these hold:\n\n- The user asks to ensure quality \u002F validate \u002F gate \u002F check before commit.\n- You just finished substantive source changes (feature, fix, refactor).\n- You are about to create a git commit (local only). If the next step is also a pull request, invoke `to-quality-pr` instead.\n\nSkip auto-invoke for pure Q&A, exploration with no edits, or when the user said to keep iterating without gating.\n\n## Preconditions\n\n1. **Synthesize intent.** Capture what the user set out to accomplish - goal, constraints, tradeoffs, ruled-in\u002Fout approaches - in their terms, enriched with decisions you made while working. A thin \"fixed stuff\" line is not enough; rewrite from conversation context first. This intent is **authoritative acceptance criteria** for the review stage.\n2. **Discover the project.** Follow `reference\u002Fdiscover.md`. Record the chosen test commands, lint commands, standards sources, anti-slop \u002F maintainability docs, checklists, and doc surfaces for this run.\n3. **Pin the fixed point.** Default: merge-base of the current `HEAD` (and dirty worktree) against the first existing of: upstream tracking remote's default branch, then `origin\u002Fdevelop`, `origin\u002Fmain`, `origin\u002Fmaster`, then local `develop` \u002F `main` \u002F `master`. Honor an explicit user override (`since abc123`, `origin\u002Fmain`, …). Confirm the ref resolves.\n4. **Scope the diff.** Include committed commits since the fixed point *and* uncommitted\u002Fstaged work. Warn if on a default branch; still proceed.\n5. **Skip flags.** Run all four stages unless the user explicitly skips one (`skip lint`, `lint only`, …). Auto-invoke never skips.\n\nCompletion: intent written, discovery recorded, fixed point named, diff non-empty (or report `ready` with nothing to gate and stop).\n\n## Pipeline loop\n\nFor each stage in order:\n\n1. Read `stages\u002F\u003Cstage>.md` and run it.\n2. Collect **findings** using the taxonomy in `reference\u002Ffindings.md`.\n3. **Auto-fix** every `auto-fix` finding without asking, then re-run the stage. Cap at **2** auto-fix rounds for that stage; leftover findings escalate to HITL.\n   - **Review stage:** `auto-fix` is **mechanical one-liners only**. After any review fix, follow the root-cause fixer rules and **adversarial re-review** in `stages\u002Freview.md` (treat fixer output as untrusted new code).\n   - **Test \u002F document \u002F lint:** mechanical\u002Flow-risk auto-fix as each stage file allows.\n4. If any `ask-user` findings remain, **pause** - see [HITL pause](#hitl-pause). Do not start the next stage until the pause resolves.\n5. `no-op` findings are reported only; nothing to do.\n6. If the stage stays red after rounds \u002F declined fixes, go to [Blocked](#blocked).\n\nLeave all quality fixes **uncommitted** unless the user already asked you to commit or ship.\n\n### HITL pause\n\nBatch every current-stage `ask-user` finding in one message.\nPresent each like a grill round - question, options, recommendation - then wait.\nWhen review recorded `risk_level: high`, prefer recommending careful `fix` over casual `approve`\u002F`skip`.\n\n```\n⏸ **Quality gate - \u003Cstage>** (\u003Cn> ask-user findings)\n\n❓ **F1** - **\u003Cshort title>**: \u003Cverbatim finding: file, description, why it challenges intent or product behavior>\n\nOptions:\n- **fix** - apply a fix (optionally with your guidance)\n- **approve** - accept as-is and continue\n- **skip** - drop this finding for this run\n- **abort** - stop the whole gate\n\n➡️ \u003Cyour recommended option and one-line why>\n```\n\nTranslate the user's answers into actions, apply agreed fixes, re-run the stage, then continue.\nFor review-stage fixes agreed in HITL, still apply fixer discipline and adversarial re-review from `stages\u002Freview.md`.\nDo not paraphrase away finding detail.\nDo not continue past unresolved `ask-user` findings.\n\n### Blocked\n\nStop the pipeline.\nLeave fixes dirty.\nEmit the [Summary](#summary) with **Ship readiness: blocked** and the remaining findings.\nDo not commit.\nDo not claim green.\nDo not silently skip the failing stage.\n\n## Summary\n\nAlways end a completed or blocked run with this fixed brief (this order):\n\n1. **Intent** - short paragraph\n2. **Risk** - Low \u002F Med \u002F High + one sentence why (use the review-stage risk assessment when review ran)\n3. **Diff scope** - fixed point → worktree; key files\n4. **Findings** - counts by stage; call out risk-lens and anti-slop hits; auto-fixed vs HITL vs accepted vs remaining\n5. **Tests run** - commands + pass\u002Ffail; note skipped suites and why\n6. **Docs** - updated \u002F checked \u002F none needed\n7. **Lint** - commands + result\n8. **Ship readiness** - `ready` or `blocked` + what's left\n9. **Uncommitted fix set** - bullets if any quality fixes were applied\n","# Ensure quality\n\nInner-loop quality gate: **risk\u002Fcorrectness** review plus **anti-AI-slop**.\nAsks whether the change will **break, leak, or silently undo what the user wanted**, and catches parallel structure, hand-synced catalogues, phantom names, and other common agent failure modes early.\nMoves review, test, docs, and lint closer to the work before it leaves the machine.\nNo daemon, no second worktree, no push\u002FPR - this skill *is* the gate.\nTo gate then commit and open a triage PR, use [`to-quality-pr`](..\u002Fto-quality-pr\u002FSKILL.md).\n\nSelf-contained: everything needed lives under this skill folder.\nProject-agnostic: discover how *this* repo tests, lints, documents, and states maintainability rules - do not assume a stack.\n\n**Stages (order):** review → test → document → lint.\nLoad each stage file only when that stage runs.\nLoad `reference\u002Fdiscover.md` once during preconditions.\nAnti-slop baseline: `reference\u002Fanti-slop.md` (always on during review; repo rules override on conflict).\n\n## When to run\n\nFire this skill when any of these hold:\n\n- The user asks to ensure quality \u002F validate \u002F gate \u002F check before commit.\n- You just finished substantive source changes (feature, fix, refactor).\n- You are about to create a git commit (local only). If the next step is also a pull request, invoke `to-quality-pr` instead.\n\nSkip auto-invoke for pure Q&A, exploration with no edits, or when the user said to keep iterating without gating.\n\n## Preconditions\n\n1. **Synthesize intent.** Capture what the user set out to accomplish - goal, constraints, tradeoffs, ruled-in\u002Fout approaches - in their terms, enriched with decisions you made while working. A thin \"fixed stuff\" line is not enough; rewrite from conversation context first. This intent is **authoritative acceptance criteria** for the review stage.\n2. **Discover the project.** Follow `reference\u002Fdiscover.md`. Record the chosen test commands, lint commands, standards sources, anti-slop \u002F maintainability docs, checklists, and doc surfaces for this run.\n3. **Pin the fixed point.** Default: merge-base of the current `HEAD` (and dirty worktree) against the first existing of: upstream tracking remote's default branch, then `origin\u002Fdevelop`, `origin\u002Fmain`, `origin\u002Fmaster`, then local `develop` \u002F `main` \u002F `master`. Honor an explicit user override (`since abc123`, `origin\u002Fmain`, …). Confirm the ref resolves.\n4. **Scope the diff.** Include committed commits since the fixed point *and* uncommitted\u002Fstaged work. Warn if on a default branch; still proceed.\n5. **Skip flags.** Run all four stages unless the user explicitly skips one (`skip lint`, `lint only`, …). Auto-invoke never skips.\n\nCompletion: intent written, discovery recorded, fixed point named, diff non-empty (or report `ready` with nothing to gate and stop).\n\n## Pipeline loop\n\nFor each stage in order:\n\n1. Read `stages\u002F\u003Cstage>.md` and run it.\n2. Collect **findings** using the taxonomy in `reference\u002Ffindings.md`.\n3. **Auto-fix** every `auto-fix` finding without asking, then re-run the stage. Cap at **2** auto-fix rounds for that stage; leftover findings escalate to HITL.\n   - **Review stage:** `auto-fix` is **mechanical one-liners only**. After any review fix, follow the root-cause fixer rules and **adversarial re-review** in `stages\u002Freview.md` (treat fixer output as untrusted new code).\n   - **Test \u002F document \u002F lint:** mechanical\u002Flow-risk auto-fix as each stage file allows.\n4. If any `ask-user` findings remain, **pause** - see [HITL pause](#hitl-pause). Do not start the next stage until the pause resolves.\n5. `no-op` findings are reported only; nothing to do.\n6. If the stage stays red after rounds \u002F declined fixes, go to [Blocked](#blocked).\n\nLeave all quality fixes **uncommitted** unless the user already asked you to commit or ship.\n\n### HITL pause\n\nBatch every current-stage `ask-user` finding in one message.\nPresent each like a grill round - question, options, recommendation - then wait.\nWhen review recorded `risk_level: high`, prefer recommending careful `fix` over casual `approve`\u002F`skip`.\n\n```\n⏸ **Quality gate - \u003Cstage>** (\u003Cn> ask-user findings)\n\n❓ **F1** - **\u003Cshort title>**: \u003Cverbatim finding: file, description, why it challenges intent or product behavior>\n\nOptions:\n- **fix** - apply a fix (optionally with your guidance)\n- **approve** - accept as-is and continue\n- **skip** - drop this finding for this run\n- **abort** - stop the whole gate\n\n➡️ \u003Cyour recommended option and one-line why>\n```\n\nTranslate the user's answers into actions, apply agreed fixes, re-run the stage, then continue.\nFor review-stage fixes agreed in HITL, still apply fixer discipline and adversarial re-review from `stages\u002Freview.md`.\nDo not paraphrase away finding detail.\nDo not continue past unresolved `ask-user` findings.\n\n### Blocked\n\nStop the pipeline.\nLeave fixes dirty.\nEmit the [Summary](#summary) with **Ship readiness: blocked** and the remaining findings.\nDo not commit.\nDo not claim green.\nDo not silently skip the failing stage.\n\n## Summary\n\nAlways end a completed or blocked run with this fixed brief (this order):\n\n1. **Intent** - short paragraph\n2. **Risk** - Low \u002F Med \u002F High + one sentence why (use the review-stage risk assessment when review ran)\n3. **Diff scope** - fixed point → worktree; key files\n4. **Findings** - counts by stage; call out risk-lens and anti-slop hits; auto-fixed vs HITL vs accepted vs remaining\n5. **Tests run** - commands + pass\u002Ffail; note skipped suites and why\n6. **Docs** - updated \u002F checked \u002F none needed\n7. **Lint** - commands + result\n8. **Ship readiness** - `ready` or `blocked` + what's left\n9. **Uncommitted fix set** - bullets if any quality fixes were applied\n",{"name":5,"description":7},"develop","647b3a86ad96843d26f677d200372b67b7336254",".cursor\u002Fskills\u002Fensure-quality",0,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo","https:\u002F\u002Fgithub.com\u002Fgambitph","https:\u002F\u002Fwpstackable.com","2026-10-15 14:34:26",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add gambitph\u002FCimo --skill ensure-quality",{"tool":63,"command":64},"bunx","bunx skills add gambitph\u002FCimo --skill ensure-quality",{"tool":66,"command":67},"pnpm","pnpm dlx skills add gambitph\u002FCimo --skill ensure-quality","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002FSKILL.md",true,[71,77,81,85,89,93,97,101,105,109,113],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"agents\u002Fopenai.yaml","REFERENCE","参考文档",111,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Fagents\u002Fopenai.yaml",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"reference\u002Fanti-slop.md",4847,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Freference\u002Fanti-slop.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"reference\u002Fdiscover.md",4011,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Freference\u002Fdiscover.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"reference\u002Ffindings.md",2811,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Freference\u002Ffindings.md",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"reference\u002Fsmells.md",2291,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Freference\u002Fsmells.md",{"path":94,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002F01-reader-prompt.md",616,"https:\u002F\u002Fgithub.com\u002FNharu\u002Fcc-cmds\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Flint-design-audit-pins\u002FT-AUDIT-FAIL-7-unattended-token-twice\u002Fdesign-audit\u002Freferences\u002F01-reader-prompt.md",{"path":98,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002F04-disclosure-block.md",626,"https:\u002F\u002Fgithub.com\u002FNharu\u002Fcc-cmds\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Flint-design-audit-pins\u002FT-AUDIT-FAIL-7-unattended-token-twice\u002Fdesign-audit\u002Freferences\u002F04-disclosure-block.md",{"path":102,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":103,"sourceHtmlUrl":104},"stages\u002Fdocument.md",1382,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Fstages\u002Fdocument.md",{"path":106,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":107,"sourceHtmlUrl":108},"stages\u002Flint.md",888,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Fstages\u002Flint.md",{"path":110,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":111,"sourceHtmlUrl":112},"stages\u002Freview.md",7985,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Fstages\u002Freview.md",{"path":114,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":115,"sourceHtmlUrl":116},"stages\u002Ftest.md",2599,"https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fensure-quality\u002Fstages\u002Ftest.md",[118,137,167,185,205,224],{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":132,"publishedAt":44},"01M6C22DH5PD92NQAX0Y2X0YA6","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[124,127],{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[133,134,135,136,28],"writing","writing for agents","documents","editing",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":149,"publishedAt":44},"01M6C22APBD07T1MBH301FJKA6","wp-rest-api","Use when building, extending, or debugging WordPress REST API endpoints\u002Froutes: register_rest_route, WP_REST_Controller\u002Fcontroller classes, schema\u002Fargument validation, permission_callback\u002Fauthentication, response shaping, register_rest_field\u002Fregister_meta, or exposing CPTs\u002Ftaxonomies via show_in_rest.","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwp-rest-api\u002FSKILL.md",[143,146],{"categoryNo":144,"categoryName":145,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":147,"categoryName":148,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000030","开发工程师",[150,151,152,153,154,155,156,157,158,28,159,160,161,162,163,164,165,166],"REST","api","wp rest api","debugging","php","Bash","filesystem","node","controller","Meta","validation","authentication","shaping","workflows","wordpress","cli","schema",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":44},"01M6C228355FYPDSH157J7962Z","wp-project-triage","Use when you need a deterministic inspection of a WordPress repository (plugin\u002Ftheme\u002Fblock theme\u002FWP core\u002FGutenberg\u002Ffull site) including tooling\u002Ftests\u002Fversion hints, and a structured JSON report to guide workflows and guardrails.","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwp-project-triage\u002FSKILL.md",[],[174,175,176,177,154,155,178,179,156,180,181,182,163,164,165,183,28,184,157],"triage","wp project triage","site","json","Guardrails","repository","report","core","plugin","version","guide",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":194,"publishedAt":44},"01M6C225595ZG6MPCRGKA7FSNZ","wp-plugin-directory-guidelines","Use when reviewing WordPress plugins for GPL compliance, checking license headers or compatibility, evaluating upsell\u002Ffreemium\u002Ftrialware patterns, validating plugin naming or trademark rules, checking plugin slugs, understanding why a plugin was rejected from WordPress.org, or answering any question about the 18 WordPress.org Plugin Directory guidelines — even if the user doesn't mention 'guidelines' explicitly.","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwp-plugin-directory-guidelines\u002FSKILL.md",[191],{"categoryNo":192,"categoryName":193,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000037","律师与法务",[195,196,182,197,154,198,199,200,201,202,203,204,164,28],"wp plugin directory guidelines","guidelines","directory","user","question","Rules","why","compliance","plugins","license",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":212,"publishedAt":44},"01M6C221V1PYQWWN2CVKSDDHC9","wp-plugin-development","Use when developing WordPress plugins: architecture and hooks, activation\u002Fdeactivation\u002Funinstall, admin UI and Settings API, data storage, cron\u002Ftasks, security (nonces\u002Fcapabilities\u002Fsanitization\u002Fescaping), and release packaging.","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwp-plugin-development\u002FSKILL.md",[211],{"categoryNo":144,"categoryName":145,"taxonomyType":21,"taxonomyTypeDesc":22},[182,213,214,215,164,165,216,163,217,28,218,157,156,155,151,219,220,221,222,223],"wp plugin development","development","storage","uninstall","packaging","settings","admin","capabilities","release","tasks","architecture",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":234,"publishedAt":44},"01M6C21YFXNYHM5B9ZN6JGCAJW","wp-performance","Use when investigating or improving WordPress performance (backend-only agent): profiling and measurement (WP-CLI profile\u002Fdoctor, Server-Timing, Query Monitor via REST headers), database\u002Fquery optimization, autoloaded options, object caching, cron, HTTP API calls, and safe verification.","https:\u002F\u002Fgithub.com\u002Fgambitph\u002FCimo\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwp-performance\u002FSKILL.md",[230,231],{"categoryNo":144,"categoryName":145,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":232,"categoryName":233,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[235,236,151,237,28,238,239,154,240,150,241,242,243,244,245,246,247,164,248,165],"wp performance","performance","backend","profile","profiling","cron","Optimization","server","database","verification","doctor","monitor","http","safe"]