[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-jlowin-python-tests-zh-CN":3,"guides-for-jlowin-python-tests":401,"similar-k17fj2kwr1qfpvkj1prs7ecb8186nz8f-zh-CN":402},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":257,"isFallback":249,"parentExtension":263,"providers":264,"relations":270,"repo":273,"tags":397,"workflow":398},1778691846343.048,"k17fj2kwr1qfpvkj1prs7ecb8186nz8f",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"使用 pytest 编写和评估有效的 Python 测试。适用于编写测试、审查测试代码、调试测试失败或改进测试覆盖率时。涵盖测试设计、夹具、参数化、模拟和异步测试。",{"claudeCode":12},"jlowin/fastmcp","Python Tests with Pytest","https://github.com/jlowin/fastmcp",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":240,"workflow":255},1778691846343.0483,"kn77e8ccfp6xb2etrpjx8vg5v986n5pm","zh-CN",{"checks":20,"evaluatedAt":192,"extensionSummary":193,"features":194,"nonGoals":203,"practices":207,"prerequisites":212,"promptVersionExtension":215,"promptVersionScoring":216,"purpose":217,"rationale":218,"score":219,"summary":220,"tags":221,"tier":227,"useCases":228,"workflow":233},[21,26,29,33,37,41,45,48,52,56,60,63,66,69,73,76,79,82,85,88,92,96,99,103,106,109,112,115,118,121,125,128,132,136,139,142,145,148,152,155,158,161,164,167,170,174,178,182,185,189],{"category":22,"check":23,"severity":24,"summary":25},"Invocation","Precise Purpose","pass","目的明确，说明了该技能的作用（使用 pytest 编写和评估 Python 测试）以及何时使用它（编写测试、审查代码、调试、改进覆盖率），以及其范围（测试设计、夹具、参数化、模拟、异步测试）。",{"category":22,"check":27,"severity":24,"summary":28},"Concise Frontmatter","前言简洁，在字符限制内清晰地说明了核心功能并提供了触发短语。",{"category":30,"check":31,"severity":24,"summary":32},"Documentation","Concise Body","SKILL.md 结构良好且简洁，通过推迟详细示例和过程来避免过长。",{"category":34,"check":35,"severity":24,"summary":36},"Context","Progressive Disclosure","该技能将详细的程序和批量材料推迟到单独的文件或内联示例中，遵循渐进式披露原则。",{"category":34,"check":38,"severity":39,"summary":40},"Forked exploration","not_applicable","此技能侧重于为编写测试提供指导，而不是深入探索或代码审查，因此 fork 上下文不适用。",{"category":42,"check":43,"severity":24,"summary":44},"Practical Utility","Usage examples","为关键功能提供了足够的多到多示例，展示了输入、调用和预期结果。",{"category":42,"check":46,"severity":24,"summary":47},"Edge cases","该技能处理边缘情况和限制，记录具有症状和恢复步骤的失败模式，例如错误测试和特定的导入/传输规则。",{"category":49,"check":50,"severity":39,"summary":51},"Code Execution","Tool Fallback","此技能似乎不依赖于 MCP 服务器等外部工具，而是使用标准的 Python 库和 pytest，因此此检查不适用。",{"category":53,"check":54,"severity":24,"summary":55},"Safety","Halt on unexpected state","该技能隐含地期望一个干净的测试状态，并列出了导入位置和传输使用情况等先决条件，如果未满足这些条件，工作流程将中止。",{"category":57,"check":58,"severity":24,"summary":59},"Portability","Cross-skill coupling","该技能是独立的，专注于使用 pytest 的 Python 测试最佳实践，没有与其他技能的隐式依赖。",{"category":42,"check":61,"severity":24,"summary":62},"Problem relevance","描述清晰地阐述了使用 pytest 编写和评估 Python 测试的问题，并针对相关的用户需求。",{"category":42,"check":64,"severity":24,"summary":65},"Unique selling proposition","该技能提供了关于 pytest 用法的具体、可操作的指导，包括项目特定的规则和最佳实践，这超出了通用 LLM 的能力。",{"category":42,"check":67,"severity":24,"summary":68},"Production readiness","该技能为编写有效的 Python 测试提供了全面的指导和示例，涵盖了测试设计和实现的整个生命周期。",{"category":70,"check":71,"severity":24,"summary":72},"Scope","Single responsibility principle","该技能仅专注于使用 pytest 的 Python 测试实践，维护一个单一、连贯的域。",{"category":70,"check":74,"severity":24,"summary":75},"Description quality","描述准确简洁地反映了技能的能力和范围。",{"category":22,"check":77,"severity":39,"summary":78},"Scoped tools","此技能不以传统意义公开工具，而是提供编写测试的指导和最佳实践。",{"category":30,"check":80,"severity":39,"summary":81},"Configuration & parameter reference","该技能没有需要文档的配置参数或选项。",{"category":70,"check":83,"severity":39,"summary":84},"Tool naming","该技能不公开命名工具，而是专注于代码示例和原则。",{"category":70,"check":86,"severity":39,"summary":87},"Minimal I/O surface","该技能不公开具有输入/输出架构的工具。",{"category":89,"check":90,"severity":24,"summary":91},"License","License usability","该扩展根据 Apache-2.0 许可证获得许可，这是一个允许性开源许可证，在 LICENSE 文件中已清楚说明。",{"category":93,"check":94,"severity":24,"summary":95},"Maintenance","Commit recency","存储库显示了最近的提交，表明正在积极维护。",{"category":93,"check":97,"severity":24,"summary":98},"Dependency Management","该项目使用 uv 进行依赖管理，这是一个现代有效的工具，并且似乎有锁定文件。",{"category":100,"check":101,"severity":39,"summary":102},"Security","Secret Management","此技能提供编写测试的指导，不处理秘密。",{"category":100,"check":104,"severity":39,"summary":105},"Injection","该技能不加载外部数据或执行易受注入攻击的第三方代码。",{"category":100,"check":107,"severity":39,"summary":108},"Transitive Supply-Chain Grenades","该技能在运行时不获取外部文件或代码。",{"category":100,"check":110,"severity":39,"summary":111},"Sandbox Isolation","此技能不在其预期范围之外执行文件操作或系统级更改。",{"category":100,"check":113,"severity":39,"summary":114},"Sandbox escape primitives","此指导技能中没有围绕被拒绝的工具调用的分离进程或重试循环。",{"category":100,"check":116,"severity":39,"summary":117},"Data Exfiltration","该技能不处理或提交机密数据。",{"category":100,"check":119,"severity":24,"summary":120},"Hidden Text Tricks","捆绑的内容不包含隐藏的操纵技巧，并使用干净、可打印的 ASCII 和标准 Unicode。",{"category":122,"check":123,"severity":24,"summary":124},"Hooks","Opaque code execution","该技能的内容是纯粹、可读的 markdown 和 Python 代码，没有混淆或动态代码获取。",{"category":57,"check":126,"severity":24,"summary":127},"Structural Assumption","该技能对 Python 项目结构做出了合理的假设，并明确声明了其要求，并为违规提供了清晰的错误消息。",{"category":129,"check":130,"severity":24,"summary":131},"Trust","Issues Attention","该项目没有未解决的问题，也没有在过去 90 天内关闭问题，这表明正在积极维护或项目稳定且易于理解。",{"category":133,"check":134,"severity":24,"summary":135},"Version","Release Management","该项目通过 PyPI 版本徽章和 LICENSE 文件显示了清晰的版本控制，确保了新版本的可检测性。",{"category":49,"check":137,"severity":39,"summary":138},"Validation","此技能提供指导和示例，但不公开需要模式验证的参数化工具。",{"category":100,"check":140,"severity":39,"summary":141},"Unguarded Destructive Operations","此技能纯属信息性质，不包含任何破坏性操作。",{"category":49,"check":143,"severity":24,"summary":144},"Error Handling","该技能的示例使用 pytest 的 `raises` 上下文管理器演示了正确的错误处理，并清楚地概述了失败模式。",{"category":49,"check":146,"severity":39,"summary":147},"Logging","此技能不执行需要本地审计日志记录的操作。",{"category":149,"check":150,"severity":39,"summary":151},"Compliance","GDPR","该技能不处理个人数据。",{"category":149,"check":153,"severity":24,"summary":154},"Target market","该技能提供了通用的 Python 测试指导，没有地域或司法管辖区限制，因此具有全球适用性。",{"category":57,"check":156,"severity":24,"summary":157},"Runtime stability","该技能假定使用标准的 Python 和 pytest，并提供清晰的设置和使用说明，使其在类 POSIX 系统上具有可移植性。",{"category":30,"check":159,"severity":24,"summary":160},"README","README 文件存在，内容全面，并清晰地说明了项目的目的和价值主张。",{"category":70,"check":162,"severity":39,"summary":163},"Tool surface size","此技能不公开多个工具；它是一个指导文档。",{"category":22,"check":165,"severity":39,"summary":166},"Overlapping near-synonym tools","该技能不公开工具，因此没有重叠的近义词工具名称。",{"category":30,"check":168,"severity":24,"summary":169},"Phantom features","文档中提到的所有功能（pytest、夹具、参数化、模拟、异步测试）在示例和指导中都有很好的体现。",{"category":171,"check":172,"severity":24,"summary":173},"Install","Installation instruction","README 提供了使用 'uv pip install fastmcp' 的清晰安装说明，并包含可执行的代码示例。",{"category":175,"check":176,"severity":24,"summary":177},"Errors","Actionable error messages","该技能提供了使用 pytest 测试特定错误的示例，并概述了具有恢复步骤的失败模式。",{"category":179,"check":180,"severity":24,"summary":181},"Execution","Pinned dependencies","该项目通过 'uv' 指示依赖管理，并有一个锁定文件，表明已固定依赖项。",{"category":70,"check":183,"severity":39,"summary":184},"Dry-run preview","此技能没有状态更改命令或向外发送数据，因此不适用干运行功能。",{"category":186,"check":187,"severity":39,"summary":188},"Protocol","Idempotent retry & timeouts","此技能不执行需要幂等性或超时设置的远程调用或状态更改操作。",{"category":149,"check":190,"severity":39,"summary":191},"Telemetry opt-in","该技能不发出遥测数据。",1778691594540,"此技能提供了使用 pytest 框架编写、审查和调试 Python 测试的详细说明和示例。它涵盖了核心测试原则、项目特定规则、模拟和错误处理，旨在提高测试质量和覆盖率。",[195,196,197,198,199,200,201,202],"编写原子且自包含的单元测试","利用参数化进行变体测试","遵循项目特定的导入和异步测试规则","使用内存传输来测试 MCP 交互","使用内联快照处理复杂数据结构","实现有效的模拟策略","编写描述性的测试名称","使用 pytest.raises 处理测试错误",[204,205,206],"编写非 Python 语言的测试","提供 pytest 之外的 Python 测试框架","在没有开发人员输入的情况下自动化整个测试过程",[208,209,210,211],"测试设计","代码质量","调试","测试覆盖率",[213,214],"Python 3.7+","已安装 pytest","3.0.0","4.4.0","通过提供使用 pytest 的清晰指南和最佳实践，使开发人员能够编写健壮、可维护且有效的 Python 测试。","关于 Python 测试最佳实践的出色文档和代码示例。没有关键或警告发现。",98,"关于使用 pytest 编写有效 Python 测试的全面且高质量的指南。",[222,223,224,225,226],"python","testing","pytest","developer-tools","code-quality","verified",[229,230,231,232],"编写使用 pytest 的新 Python 测试时","审查现有测试代码的质量和覆盖率时","调试失败的 Python 测试时","旨在提高整体测试套件可靠性时",[234,235,236,237,201,238,239],"理解核心测试原则（原子性、自包含性）","使用 pytest 约定（函数、参数化）来组织测试","应用项目特定的规则（导入、异步）","在边界处实现模拟","使用 pytest.raises 处理预期错误","使用提供的命令运行测试",{"codeQuality":241,"collectedAt":243,"documentation":244,"maintenance":247,"security":252,"testCoverage":254},{"hasLockfile":242},true,1778691574335,{"descriptionLength":245,"readmeSize":246},229,6658,{"closedIssues90d":8,"forks":248,"hasChangelog":249,"openIssues90d":8,"pushedAt":250,"stars":251},2007,false,1778652483000,25142,{"hasNpmPackage":249,"license":253,"smitheryVerified":249},"Apache-2.0",{"hasCi":242,"hasTests":242},{"updatedAt":256},1778691846343,{"basePath":258,"githubOwner":259,"githubRepo":260,"locale":18,"slug":261,"type":262},".claude/skills/python-tests","jlowin","fastmcp","python-tests","skill",null,{"evaluate":265,"extract":268},{"promptVersionExtension":215,"promptVersionScoring":216,"score":219,"tags":266,"targetMarket":267,"tier":227},[222,223,224,225,226],"global",{"commitSha":269,"license":253},"HEAD",{"repoId":271,"translatedFrom":272},"kd7cqsp22edgcrb25vz9wgd34986mqfa","k170pzm8avqftcfypash7t9g5h86nqjz",{"_creationTime":274,"_id":271,"identity":275,"providers":276,"workflow":393},1778690318753.135,{"githubOwner":259,"githubRepo":260,"sourceUrl":14},{"classify":277,"discover":380,"github":383},{"commitSha":269,"extensions":278},[279,291,298,306,314,325,333,346,360],{"basePath":280,"description":281,"displayName":282,"installMethods":283,"rationale":284,"selectedPaths":285,"source":289,"sourceLanguage":290,"type":262},".claude/skills/code-review","Review code for quality, maintainability, and correctness. Use when reviewing pull requests, evaluating code changes, or providing feedback on implementations. Focuses on API design, patterns, and actionable feedback.","reviewing-code",{"claudeCode":12},"SKILL.md frontmatter at .claude/skills/code-review/SKILL.md",[286],{"path":287,"priority":288},"SKILL.md","mandatory","rule","en",{"basePath":258,"description":292,"displayName":293,"installMethods":294,"rationale":295,"selectedPaths":296,"source":289,"sourceLanguage":290,"type":262},"Write and evaluate effective Python tests using pytest. Use when writing tests, reviewing test code, debugging test failures, or improving test coverage. Covers test design, fixtures, parameterization, mocking, and async testing.","testing-python",{"claudeCode":12},"SKILL.md frontmatter at .claude/skills/python-tests/SKILL.md",[297],{"path":287,"priority":288},{"basePath":299,"description":300,"displayName":301,"installMethods":302,"rationale":303,"selectedPaths":304,"source":289,"sourceLanguage":290,"type":262},".claude/skills/review-pr","Monitor and respond to automated PR reviews (Codex bot). Use when pushing a PR, checking review status, or responding to bot feedback. Handles the full cycle of push -> wait for review -> evaluate comments -> fix -> re-push.","review-pr",{"claudeCode":12},"SKILL.md frontmatter at .claude/skills/review-pr/SKILL.md",[305],{"path":287,"priority":288},{"basePath":307,"description":308,"displayName":309,"installMethods":310,"rationale":311,"selectedPaths":312,"source":289,"sourceLanguage":290,"type":262},"examples/skills/sample_skills/code-review","Review code for quality, maintainability, and correctness","code-review",{"claudeCode":12},"SKILL.md frontmatter at examples/skills/sample_skills/code-review/SKILL.md",[313],{"path":287,"priority":288},{"basePath":315,"description":316,"displayName":317,"installMethods":318,"rationale":319,"selectedPaths":320,"source":289,"sourceLanguage":290,"type":262},"examples/skills/sample_skills/pdf-processing","Extract text from PDFs, fill forms, and merge documents","pdf-processing",{"claudeCode":12},"SKILL.md frontmatter at examples/skills/sample_skills/pdf-processing/SKILL.md",[321,322],{"path":287,"priority":288},{"path":323,"priority":324},"reference.md","medium",{"basePath":326,"description":327,"displayName":328,"installMethods":329,"rationale":330,"selectedPaths":331,"source":289,"sourceLanguage":290,"type":262},"skills/fastmcp-client-cli","Query and invoke tools on MCP servers using fastmcp list and fastmcp call. Use when you need to discover what tools a server offers, call tools, or integrate MCP servers into workflows.","fastmcp-client-cli",{"claudeCode":12},"SKILL.md frontmatter at skills/fastmcp-client-cli/SKILL.md",[332],{"path":287,"priority":288},{"basePath":334,"installMethods":335,"rationale":337,"selectedPaths":338,"source":289,"sourceLanguage":290,"type":345},"examples/smart_home",{"pypi":336},"smart-home","cli ecosystem detected at examples/smart_home",[339,341,343],{"path":340,"priority":288},"pyproject.toml",{"path":342,"priority":288},"README.md",{"path":344,"priority":324},"src/smart_home/__main__.py","cli",{"basePath":347,"displayName":348,"installMethods":349,"rationale":350,"selectedPaths":351,"source":289,"sourceLanguage":290,"type":359},"examples/atproto_mcp","atproto-mcp",{"pypi":348},"pyproject.toml with mcp/fastmcp dependency + scripts at examples/atproto_mcp/pyproject.toml",[352,353,354,356],{"path":340,"priority":288},{"path":342,"priority":288},{"path":355,"priority":324},"src/atproto_mcp/__main__.py",{"path":357,"priority":358},"src/atproto_mcp/server.py","low","mcp",{"basePath":361,"displayName":362,"installMethods":363,"rationale":364,"selectedPaths":365,"source":289,"sourceLanguage":290,"type":359},"fastmcp_slim","fastmcp-slim",{"pypi":362},"pyproject.toml with mcp/fastmcp dependency + scripts at fastmcp_slim/pyproject.toml",[366,367,368,370,372,374,376,378],{"path":340,"priority":288},{"path":342,"priority":288},{"path":369,"priority":324},"fastmcp/cli/__main__.py",{"path":371,"priority":358},"fastmcp/tools/__init__.py",{"path":373,"priority":358},"fastmcp/tools/base.py",{"path":375,"priority":358},"fastmcp/tools/function_parsing.py",{"path":377,"priority":358},"fastmcp/tools/function_tool.py",{"path":379,"priority":358},"fastmcp/tools/tool_transform.py",{"sources":381},[382],"manual",{"closedIssues90d":8,"description":384,"forks":248,"homepage":385,"license":253,"openIssues90d":8,"pushedAt":250,"readmeSize":246,"stars":251,"topics":386},"🚀 The fast, Pythonic way to build MCP servers and clients.","https://gofastmcp.com",[387,260,359,388,389,390,391,392,222],"model-context-protocol","agents","llms","mcp-clients","mcp-servers","mcp-tools",{"classifiedAt":394,"discoverAt":395,"extractAt":396,"githubAt":396,"updatedAt":394},1778691560177,1778690318753,1778691558105,[226,225,224,222,223],{"evaluatedAt":399,"extractAt":400,"updatedAt":256},1778691594651,1778691560361,[],[403,433,462,494,523,548],{"_creationTime":404,"_id":405,"community":406,"display":407,"identity":413,"providers":417,"relations":426,"tags":429,"workflow":430},1778696691708.3264,"k179thjzaw5kepc7zhdj9sat3n86mcqp",{"reviewCount":8},{"description":408,"installMethods":409,"name":411,"sourceUrl":412},"Validate pending migrations for foreign key consistency, rollback safety, and best practices",{"claudeCode":410},"ruvnet/ruflo","migrate-validate","https://github.com/ruvnet/ruflo",{"basePath":414,"githubOwner":415,"githubRepo":416,"locale":290,"slug":411,"type":262},"plugins/ruflo-migrations/skills/migrate-validate","ruvnet","ruflo",{"evaluate":418,"extract":425},{"promptVersionExtension":215,"promptVersionScoring":216,"score":419,"tags":420,"targetMarket":267,"tier":227},100,[421,422,423,424,226,225],"database","migrations","sql","validation",{"commitSha":269},{"parentExtensionId":427,"repoId":428},"k176me0sh9b6bc3gzttnywx4w986njzh","kd7ed28gj8n0y3msk5dzrp05zs86nqtc",[226,421,225,422,423,424],{"evaluatedAt":431,"extractAt":432,"updatedAt":431},1778701008912,1778696691708,{"_creationTime":434,"_id":435,"community":436,"display":437,"identity":443,"providers":448,"relations":455,"tags":458,"workflow":459},1778698175626.3276,"k17cj6pbcgtrw523a4sw8mhcxn86mzvv",{"reviewCount":8},{"description":438,"installMethods":439,"name":441,"sourceUrl":442},"Creates custom Semgrep rules for detecting security vulnerabilities, bug patterns, and code patterns. Use when writing Semgrep rules or building custom static analysis detections.",{"claudeCode":440},"trailofbits/skills","Semgrep Rule Creator","https://github.com/trailofbits/skills",{"basePath":444,"githubOwner":445,"githubRepo":446,"locale":290,"slug":447,"type":262},"plugins/semgrep-rule-creator/skills/semgrep-rule-creator","trailofbits","skills","semgrep-rule-creator",{"evaluate":449,"extract":454},{"promptVersionExtension":215,"promptVersionScoring":216,"score":419,"tags":450,"targetMarket":267,"tier":227},[451,452,453,226,225],"semgrep","security","static-analysis",{"commitSha":269},{"parentExtensionId":456,"repoId":457},"k1757483sd0rdv04r5773w2tb986mb9g","kd7d5sbrd9m157hjv9c7v4wfyn86mk2f",[226,225,452,451,453],{"evaluatedAt":460,"extractAt":461,"updatedAt":460},1778699451460,1778698175626,{"_creationTime":463,"_id":464,"community":465,"display":466,"identity":472,"providers":477,"relations":485,"tags":489,"workflow":490},1778698527362.5261,"k176bk4qe9ak5pqbq1p4acm18d86n19t",{"reviewCount":8},{"description":467,"installMethods":468,"name":470,"sourceUrl":471},"감지된 과잉 엔지니어링 패턴: (1) 사용자가 명시적으로 요청하지 않은 코드나 파일을 수정할 때 (2) 요청되지 않은 새로운 추상화 계층(클래스, 인터페이스, 팩토리, 래퍼)을 생성할 때 (3) 요청되지 않은 주석, 문서, JSDoc, 타입 주석을 추가할 때 (4) 요청되지 않은 새로운 종속성을 도입할 때 (5) 최소 편집 대신 파일 전체를 다시 작성할 때 (6) diff 범위가 사용자의 요청을 명백히 초과할 때 (7) 사용자가 \"너무 많아\", \"거기는 건드리지 마\", \"X만 변경해\", \"간단하게\", \"그만\"과 같은 신호를 보낼 때 (8) 발생할 수 없는 시나리오에 대한 오류 처리, 유효성 검사, 방어적 코드를 추가할 때 (9) 요청되지 않은 테스트, 설정 스캐폴딩, 문서를 생성할 때\n",{"claudeCode":469},"uucz/moyu","Moyu (摸鱼)","https://github.com/uucz/moyu",{"basePath":473,"githubOwner":474,"githubRepo":475,"locale":18,"slug":476,"type":262},"skills/moyu-ko","uucz","moyu","moyu-ko",{"evaluate":478,"extract":483},{"promptVersionExtension":215,"promptVersionScoring":216,"score":419,"tags":479,"targetMarket":267,"tier":227},[480,226,481,225,482],"ai-assist","prompt-engineering","refactoring",{"commitSha":269,"license":484},"MIT",{"parentExtensionId":486,"repoId":487,"translatedFrom":488},"k17a8j7hxkm1n8dabrtcwp2z2d86nr39","kd7ccbpk8y3xm113xt8wy1c5jd86n94h","k17dzgrxxkxpeqmtcn5v3tjmad86n5tm",[480,226,225,481,482],{"evaluatedAt":491,"extractAt":492,"updatedAt":493},1778698415064,1778698296017,1778698527362,{"_creationTime":495,"_id":496,"community":497,"display":498,"identity":504,"providers":508,"relations":517,"tags":519,"workflow":520},1778696052276.0203,"k17bgxxgryq8edg32egypsvqtn86m1h7",{"reviewCount":8},{"description":499,"installMethods":500,"name":502,"sourceUrl":503},"Detect and untangle circular dependencies. Runs madge/skott (TS), pycycle (Py), or compiler-only checks (Go/Rust). Auto-fixes leaf-extractable cycles; reports core cycles for human review. Use when the user asks to find circular imports, fix dependency cycles, or untangle module graph. Example queries — \"find circular imports\", \"fix dependency cycles\", \"untangle our module graph\", \"why is madge complaining\".",{"claudeCode":501},"raintree-technology/claude-starter","cleanup-cycles","https://github.com/raintree-technology/claude-starter",{"basePath":505,"githubOwner":506,"githubRepo":507,"locale":290,"slug":502,"type":262},"templates/.claude/skills/cleanup-cycles","raintree-technology","claude-starter",{"evaluate":509,"extract":516},{"promptVersionExtension":215,"promptVersionScoring":216,"score":419,"tags":510,"targetMarket":267,"tier":227},[226,511,512,222,513,514,515,482],"dependencies","javascript","typescript","go","rust",{"commitSha":269},{"repoId":518},"kd78ywakatnz4sjfx781sy14vh86mtty",[226,511,514,512,222,482,515,513],{"evaluatedAt":521,"extractAt":522,"updatedAt":521},1778696977114,1778696052276,{"_creationTime":524,"_id":525,"community":526,"display":527,"identity":533,"providers":536,"relations":542,"tags":544,"workflow":545},1778687029453.9038,"k1741ryyrp6bfas7r0wrm6yans86n4ar",{"reviewCount":8},{"description":528,"installMethods":529,"name":531,"sourceUrl":532},"Mandatory checks to run before completing any task that touches md files or dart code in this repository.",{"claudeCode":530},"flutter/skills","definition-of-done","https://github.com/flutter/skills",{"basePath":534,"githubOwner":535,"githubRepo":446,"locale":290,"slug":531,"type":262},"tool/dart_skills_lint/.agents/skills/definition-of-done","flutter",{"evaluate":537,"extract":541},{"promptVersionExtension":215,"promptVersionScoring":216,"score":419,"tags":538,"targetMarket":267,"tier":227},[539,535,540,223,226],"dart","linting",{"commitSha":269},{"repoId":543},"kd7100bqmd3gmqn2rdf4t72qqn86nfdd",[226,539,535,540,223],{"evaluatedAt":546,"extractAt":547,"updatedAt":546},1778687549247,1778687029453,{"_creationTime":549,"_id":550,"community":551,"display":552,"identity":558,"providers":562,"relations":568,"tags":570,"workflow":571},1778697652123.8845,"k17bexjjjsz81ysk7bd3ggdm8s86mt2t",{"reviewCount":8},{"description":553,"installMethods":554,"name":556,"sourceUrl":557},"Choose, run, rerun, or debug OpenClaw tests, CI checks, Docker E2E lanes, release validation, and the cheapest safe verification path.",{"claudeCode":555},"steipete/clawdis","openclaw-testing","https://github.com/steipete/clawdis",{"basePath":559,"githubOwner":560,"githubRepo":561,"locale":290,"slug":556,"type":262},".agents/skills/openclaw-testing","steipete","clawdis",{"evaluate":563,"extract":567},{"promptVersionExtension":215,"promptVersionScoring":216,"score":419,"tags":564,"targetMarket":267,"tier":227},[223,565,424,566,225],"ci","automation",{"commitSha":269},{"repoId":569},"kd738npxg9yh3xf3vddzy9fyfh86nhng",[566,565,225,223,424],{"evaluatedAt":572,"extractAt":573,"updatedAt":572},1778697962962,1778697652123]