[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-marketplace-khendzel-skills-janitor-en":3,"guides-for-khendzel-skills-janitor":363,"similar-k17fzrmtyq1avt2xbrv6fq715x86nar0-en":364},{"_creationTime":4,"_id":5,"children":6,"community":48,"display":49,"evaluation":53,"identity":250,"isFallback":234,"parentExtension":252,"providers":253,"relations":260,"repo":261,"tags":360,"workflow":361},1778691884319.0657,"k17fzrmtyq1avt2xbrv6fq715x86nar0",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":17,"providers":22,"relations":41,"tags":43,"workflow":44},1778691884319.066,"k173y287h96a0x42zvrvymzvgn86nq38",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":15,"sourceUrl":16},"7 skill hygiene tools: audit, health report, auto-fix, usage tracking, token cost analysis, GitHub search, and pre-install overlap check.",{"claudeCode":15},"skills-janitor","https://github.com/khendzel/skills-janitor",{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":21},"","khendzel","en","plugin",{"evaluate":23,"extract":36},{"promptVersionExtension":24,"promptVersionScoring":25,"score":26,"tags":27,"targetMarket":34,"tier":35},"3.0.0","4.4.0",98,[28,29,30,31,32,33],"skills","management","audit","linting","maintenance","tooling","global","verified",{"commitSha":37,"plugin":38},"HEAD",{"mcpCount":11,"provider":39,"skillCount":40},"classify",7,{"parentExtensionId":5,"repoId":42},"kd722xn3d2v8ze2vwgebvzgpv986mj48",[30,31,32,29,28,33],{"evaluatedAt":45,"extractAt":46,"updatedAt":47},1778691927333,1778691884319,1778692171790,{"reviewCount":11},{"description":50,"installMethods":51,"name":15,"sourceUrl":16},"Audit, track usage, and manage your Claude Code skills. 7 actions, zero dependencies.",{"claudeCode":52},"khendzel/skills-janitor",{"_creationTime":54,"_id":55,"extensionId":5,"locale":20,"result":56,"trustSignals":232,"workflow":248},1778691902547.5508,"kn7evpgf3jb1p3h7y2zfg07m8n86mq2k",{"checks":57,"evaluatedAt":202,"extensionSummary":203,"features":204,"nonGoals":212,"promptVersionExtension":217,"promptVersionScoring":25,"purpose":218,"rationale":219,"score":220,"summary":221,"tags":222,"targetMarket":34,"tier":35,"useCases":227},[58,63,66,69,73,76,80,84,87,90,94,98,101,105,108,111,114,117,120,123,127,131,135,139,143,146,150,153,157,160,163,166,169,172,175,179,183,186,189,193,196,199],{"category":59,"check":60,"severity":61,"summary":62},"Practical Utility","Problem relevance","pass","The description clearly states the problem of auditing, tracking usage, and managing AI coding skills.",{"category":59,"check":64,"severity":61,"summary":65},"Unique selling proposition","The extension offers a suite of specialized tools for skill hygiene, going beyond basic prompt-based LLM interaction and providing tangible value over direct API usage.",{"category":59,"check":67,"severity":61,"summary":68},"Production readiness","The extension is production-ready, offering a complete lifecycle for managing skills including audit, reporting, fixing, and usage tracking with clear instructions and examples.",{"category":70,"check":71,"severity":61,"summary":72},"Scope","Single responsibility principle","The extension focuses on the single domain of managing AI coding skills across different platforms (Claude Code, OpenAI Codex) with a coherent set of related capabilities.",{"category":70,"check":74,"severity":61,"summary":75},"Description quality","The displayed description accurately and concisely reflects the extension's core functionality.",{"category":77,"check":78,"severity":61,"summary":79},"Invocation","Scoped tools","The extension exposes narrow verb-noun specialist tools for specific skill management tasks, enhancing agent selection precision.",{"category":81,"check":82,"severity":61,"summary":83},"Documentation","Configuration & parameter reference","All options and parameters are documented through usage examples and clear descriptions of the skills' functions.",{"category":70,"check":85,"severity":61,"summary":86},"Tool naming","All exposed tools are clearly named with a verb-noun structure, accurately reflecting their function within the skill management domain.",{"category":70,"check":88,"severity":61,"summary":89},"Minimal I/O surface","Tool inputs and outputs are appropriately scoped, requesting only necessary data and returning promised payloads without extraneous information.",{"category":91,"check":92,"severity":61,"summary":93},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license clearly declared in a LICENSE file.",{"category":95,"check":96,"severity":61,"summary":97},"Maintenance","Commit recency","The last commit was on May 1st, 2026, which is within the last 3 months, indicating recent maintenance.",{"category":95,"check":99,"severity":61,"summary":100},"Dependency Management","The extension explicitly states 'zero dependencies' and 'No pip installs, no node modules', indicating no third-party dependencies to manage.",{"category":102,"check":103,"severity":61,"summary":104},"Security","Secret Management","The extension does not appear to handle or expose secrets, focusing on metadata and usage analysis of skills.",{"category":102,"check":106,"severity":61,"summary":107},"Injection","The extension operates on local skill files and metadata, and does not appear to load or execute untrusted third-party data.",{"category":102,"check":109,"severity":61,"summary":110},"Transitive Supply-Chain Grenades","The extension bundles all necessary scripts and does not fetch external content at runtime, thus avoiding transitive supply-chain risks.",{"category":102,"check":112,"severity":61,"summary":113},"Sandbox Isolation","The extension operates on local skill directories and its scripts appear confined to the project's scope, with no indication of writing outside these boundaries.",{"category":102,"check":115,"severity":61,"summary":116},"Sandbox escape primitives","No detached-process spawns or deny-retry loops were observed in the provided scripts.",{"category":102,"check":118,"severity":61,"summary":119},"Data Exfiltration","The extension's primary function is to analyze local skill metadata and usage, with no indication of exfiltrating confidential data.",{"category":102,"check":121,"severity":61,"summary":122},"Hidden Text Tricks","The bundled content and descriptions are free of hidden-steering tricks, using clean printable ASCII and expected Unicode.",{"category":124,"check":125,"severity":61,"summary":126},"Hooks","Opaque code execution","The bundled scripts are plain Bash and Python, with no evidence of obfuscation, base64 payloads, or runtime code fetching.",{"category":128,"check":129,"severity":61,"summary":130},"Portability","Structural Assumption","The extension uses standard paths for Claude Code and OpenAI Codex skills and is designed to be cross-platform, with no assumptions about user-specific project layouts outside these.",{"category":132,"check":133,"severity":61,"summary":134},"Trust","Issues Attention","There are 0 open and 0 closed issues in the last 90 days, indicating no active issues and sufficient attention.",{"category":136,"check":137,"severity":61,"summary":138},"Versioning","Release Management","The extension declares a meaningful semver version (1.2.0) in its marketplace.json and README, and has a CHANGELOG.md.",{"category":140,"check":141,"severity":61,"summary":142},"Execution","Validation","The extension's scripts process local files and metadata; while explicit schema validation libraries are not evident, the operations are direct and unlikely to require complex validation beyond basic file path handling.",{"category":102,"check":144,"severity":61,"summary":145},"Unguarded Destructive Operations","Destructive operations like pruning broken skills are guarded by explicit confirmation flags (`--prune`) and dry-run defaults.",{"category":147,"check":148,"severity":61,"summary":149},"Code Execution","Error Handling","The scripts include error handling for operations like file parsing and duplicate detection, exiting non-zero with descriptive messages when issues arise.",{"category":147,"check":151,"severity":61,"summary":152},"Logging","The extension provides structured output for its commands, effectively acting as an audit log of actions performed and analysis results.",{"category":154,"check":155,"severity":61,"summary":156},"Compliance","GDPR","The extension operates on local skill metadata and usage, not personal data, thus not posing GDPR risks.",{"category":154,"check":158,"severity":61,"summary":159},"Target market","The extension is designed to work with Claude Code and OpenAI Codex skills, operating globally without regional restrictions, and is documented as such.",{"category":128,"check":161,"severity":61,"summary":162},"Runtime stability","The extension is designed to be cross-platform (Bash, Python 3, curl) and explicitly states no pip or node dependencies, ensuring broad runtime stability.",{"category":81,"check":164,"severity":61,"summary":165},"README","The README file is comprehensive, clearly stating the extension's purpose, features, installation, and usage.",{"category":70,"check":167,"severity":61,"summary":168},"Tool surface size","The extension exposes 7 distinct tools, which is within the ideal range for focused functionality.",{"category":77,"check":170,"severity":61,"summary":171},"Overlapping near-synonym tools","The 7 exposed tools have distinct names and functions, avoiding redundancy and near-synonym issues for the agent.",{"category":81,"check":173,"severity":61,"summary":174},"Phantom features","All features advertised in the README and marketplace metadata have corresponding implementations in the provided skills.",{"category":176,"check":177,"severity":61,"summary":178},"Install","Installation instruction","The README provides clear, copy-pasteable installation instructions for both plugin marketplace and direct clone methods, along with usage examples.",{"category":180,"check":181,"severity":61,"summary":182},"Errors","Actionable error messages","Errors encountered during operation, such as duplicate detection or pruning, provide clear messages indicating the issue and potential remediation.",{"category":140,"check":184,"severity":61,"summary":185},"Pinned dependencies","The extension explicitly states it has no dependencies and uses standard system tools (Bash, Python 3, curl), thus no third-party dependencies to pin.",{"category":70,"check":187,"severity":61,"summary":188},"Dry-run preview","Destructive operations like pruning are guarded by a `--prune` flag and operate by default in a dry-run mode, allowing preview of intended actions.",{"category":190,"check":191,"severity":61,"summary":192},"Protocol","Idempotent retry & timeouts","The extension operates on local files and does not involve remote calls or state-changing operations that would require complex idempotency or timeouts.",{"category":154,"check":194,"severity":61,"summary":195},"Telemetry opt-in","The extension does not emit telemetry; its operations are local analysis and reporting.",{"category":70,"check":197,"severity":61,"summary":198},"Theme declaration","The marketplace README declares a curation theme focused on 'AI coding skills' and 'skill hygiene', which is specific and visibly enforced.",{"category":136,"check":200,"severity":61,"summary":201},"Per-entry version metadata","The marketplace.json does not explicitly list version metadata per entry, but the single plugin entry correctly points to a `./` source and the overall version is declared.",1778691902419,"Skills Janitor is a plugin that audits, tracks usage, and manages AI coding skills for both Claude Code and OpenAI Codex environments. It provides 7 distinct tools for skill inventory, health checks, auto-fixing, usage analysis, token cost calculation, GitHub skill searching, and pre-install overlap checks.",[205,206,207,208,209,210,211],"Automated skill inventory and auditing","Health checks for linting, duplicates, and broken skills","Usage tracking to identify active and unused skills","Token cost analysis per skill","GitHub skill search and comparison","Pre-install overlap checks","Auto-fix capabilities for identified issues",[213,214,215,216],"Deleting skills without explicit user confirmation.","Modifying plugin or marketplace installed skills.","Intentionally allowing overlaps that are designed by the user.","Performing destructive operations without a dry-run or confirmation.","3.1.0","To help users maintain a clean, organized, and efficient ecosystem of AI coding skills by providing tools for auditing, identifying duplicates, tracking usage, and managing token costs.","The extension demonstrates exceptional quality across all evaluated criteria, with no warnings or critical findings. All checks passed, indicating robust design, thorough documentation, and strong production readiness.",100,"A comprehensive and well-maintained suite for managing AI coding skills.",[28,29,223,224,225,226],"auditing","claudecode","openai","utility",[228,229,230,231],"When needing to clean up and organize a large collection of AI coding skills.","To identify skills that are consuming excessive tokens or are rarely used.","Before installing a new skill, to check for potential duplicates or conflicts.","To gain an overview of the health and efficiency of your AI skill ecosystem.",{"codeQuality":233,"collectedAt":235,"documentation":236,"maintenance":239,"security":245,"testCoverage":247},{"hasLockfile":234},false,1778691886042,{"descriptionLength":237,"readmeSize":238},85,7684,{"closedIssues90d":11,"forks":240,"hasChangelog":241,"manifestVersion":242,"openIssues90d":11,"pushedAt":243,"stars":244},15,true,"1.2.0",1777615121000,92,{"hasNpmPackage":234,"license":246,"smitheryVerified":234},"MIT",{"hasCi":234,"hasTests":234},{"updatedAt":249},1778691902547,{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":251},"marketplace",null,{"evaluate":254,"extract":256},{"promptVersionExtension":217,"promptVersionScoring":25,"score":220,"tags":255,"targetMarket":34,"tier":35},[28,29,223,224,225,226],{"commitSha":37,"marketplace":257,"plugin":259},{"name":15,"pluginCount":258},1,{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":42},{"_creationTime":262,"_id":42,"identity":263,"providers":264,"workflow":356},1778691880386.0266,{"githubOwner":19,"githubRepo":15,"sourceUrl":16},{"classify":265,"discover":344,"github":347},{"commitSha":37,"extensions":266},[267,280,286,296,304,312,320,328,336],{"basePath":18,"description":50,"displayName":15,"installMethods":268,"rationale":269,"selectedPaths":270,"source":279,"sourceLanguage":20,"type":251},{"claudeCode":52},"marketplace.json at .claude-plugin/marketplace.json",[271,274,276],{"path":272,"priority":273},".claude-plugin/marketplace.json","mandatory",{"path":275,"priority":273},"README.md",{"path":277,"priority":278},"LICENSE","high","rule",{"basePath":18,"description":13,"displayName":15,"installMethods":281,"rationale":282,"selectedPaths":283,"source":279,"sourceLanguage":20,"type":21},{"claudeCode":15},"inline plugin source from marketplace.json at /",[284,285],{"path":275,"priority":273},{"path":277,"priority":278},{"basePath":287,"description":288,"displayName":289,"installMethods":290,"rationale":291,"selectedPaths":292,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-audit","Show all your installed skills","janitor-audit",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-audit/SKILL.md",[293],{"path":294,"priority":273},"SKILL.md","skill",{"basePath":297,"description":298,"displayName":299,"installMethods":300,"rationale":301,"selectedPaths":302,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-fix","Automatically fix skill problems (safe preview first). Also use with --prune to find and remove broken symlinks, empty directories, and orphaned skills.","janitor-fix",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-fix/SKILL.md",[303],{"path":294,"priority":273},{"basePath":305,"description":306,"displayName":307,"installMethods":308,"rationale":309,"selectedPaths":310,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-precheck","Check if a new skill overlaps with your existing ones before installing. Use when the user wants to evaluate a skill before adding it, check for duplicates pre-install, or verify a GitHub skill won't conflict.","janitor-precheck",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-precheck/SKILL.md",[311],{"path":294,"priority":273},{"basePath":313,"description":314,"displayName":315,"installMethods":316,"rationale":317,"selectedPaths":318,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-report","Full health check of all your skills in one report. Use when the user wants to check for errors, find duplicates, detect broken skills, or get a complete overview of skill health.","janitor-report",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-report/SKILL.md",[319],{"path":294,"priority":273},{"basePath":321,"description":322,"displayName":323,"installMethods":324,"rationale":325,"selectedPaths":326,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-search","Search GitHub for new skills to install. Also use with --compare to analyze a local skill against GitHub alternatives and marketplace competition.","janitor-search",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-search/SKILL.md",[327],{"path":294,"priority":273},{"basePath":329,"description":330,"displayName":331,"installMethods":332,"rationale":333,"selectedPaths":334,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-tokens","Show how many context window tokens each skill consumes. Use when the user asks about token cost, context budget, skill size, or wants to know which skills waste the most context space.","janitor-tokens",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-tokens/SKILL.md",[335],{"path":294,"priority":273},{"basePath":337,"description":338,"displayName":339,"installMethods":340,"rationale":341,"selectedPaths":342,"source":279,"sourceLanguage":20,"type":295},"skills/janitor-usage","Show which skills you use and which you never use","janitor-usage",{"claudeCode":52},"SKILL.md frontmatter at skills/janitor-usage/SKILL.md",[343],{"path":294,"priority":273},{"sources":345},[346],"manual",{"closedIssues90d":11,"description":348,"forks":240,"license":246,"openIssues90d":11,"pushedAt":243,"readmeSize":238,"stars":244,"topics":349},"Audit, track usage, and manage your Claude Code and OpenAI Codex skills. 7 slash commands, zero dependencies.",[350,351,352,353,354,355],"agent-skills","claude-code","claude-code-skills","cli","developer-tools","productivity",{"classifiedAt":357,"discoverAt":358,"extractAt":359,"githubAt":359,"updatedAt":357},1778691884143,1778691880386,1778691882449,[223,224,29,225,28,226],{"evaluatedAt":249,"extractAt":46,"updatedAt":362},1778692171957,[],[365,395],{"_creationTime":366,"_id":367,"community":368,"display":369,"identity":375,"providers":379,"relations":389,"tags":391,"workflow":392},1778685949178.7876,"k172qzfmvw8zjecm9eszcdpdf986nrxm",{"reviewCount":11},{"description":370,"installMethods":371,"name":373,"sourceUrl":374},"Display OpenAI Codex API usage and costs inside Claude Code",{"claudeCode":372},"davepoon/buildwithclaude","codex-hud","https://github.com/davepoon/buildwithclaude",{"basePath":376,"githubOwner":377,"githubRepo":378,"locale":20,"slug":373,"type":251},"plugins/codex-hud","davepoon","buildwithclaude",{"evaluate":380,"extract":386},{"promptVersionExtension":217,"promptVersionScoring":25,"score":26,"tags":381,"targetMarket":34,"tier":35},[382,225,383,384,385,351],"codex","usage","costs","monitoring",{"commitSha":37,"license":246,"marketplace":387,"plugin":388},{"name":373,"pluginCount":258},{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":390},"kd719kw54vhmcscq7ckdp59fg586mnt6",[351,382,384,385,225,383],{"evaluatedAt":393,"extractAt":394,"updatedAt":393},1778687320291,1778685949178,{"_creationTime":396,"_id":397,"community":398,"display":399,"identity":405,"providers":408,"relations":423,"tags":425,"workflow":426},1778686037155.6084,"k1737yyx70jf9bpwv41etabg5d86m4f1",{"reviewCount":11},{"description":400,"installMethods":401,"name":403,"sourceUrl":404},"47 battle-tested product management skills for Claude Code — discovery, strategy, finance, career, and more.",{"claudeCode":402},"deanpeters/Product-Manager-Skills","Product Manager Skills","https://github.com/deanpeters/Product-Manager-Skills",{"basePath":18,"githubOwner":406,"githubRepo":407,"locale":20,"slug":407,"type":251},"deanpeters","Product-Manager-Skills",{"evaluate":409,"extract":417},{"promptVersionExtension":217,"promptVersionScoring":25,"score":410,"tags":411,"targetMarket":34,"tier":35},95,[412,413,414,415,416,224],"product-management","strategy","discovery","finance","career",{"commitSha":37,"license":418,"marketplace":419,"plugin":422},"CC-BY-NC-SA-4.0",{"name":420,"pluginCount":421},"pm-skills",47,{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":424},"kd79w54je3w4zrhk2stxg9246186nbp1",[416,224,414,415,412,413],{"evaluatedAt":427,"extractAt":428,"updatedAt":427},1778686054035,1778686037155]