[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-jlowin-python-tests-en":3,"guides-for-jlowin-python-tests":398,"similar-k170pzm8avqftcfypash7t9g5h86nqjz-en":399},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":258,"isFallback":250,"parentExtension":264,"providers":265,"relations":270,"repo":272,"tags":394,"workflow":395},1778691560361.703,"k170pzm8avqftcfypash7t9g5h86nqjz",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"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.",{"claudeCode":12},"jlowin/fastmcp","Python Tests with Pytest","https://github.com/jlowin/fastmcp",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":241,"workflow":256},1778691594651.3877,"kn73w1hvdkehcz8re34hgz30js86npvq","en",{"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,"targetMarket":227,"tier":228,"useCases":229,"workflow":234},[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","The purpose is clearly stated, specifying what the skill does (write and evaluate Python tests using pytest) and when to use it (writing tests, reviewing code, debugging, improving coverage) as well as its scope (test design, fixtures, parameterization, mocking, async testing).",{"category":22,"check":27,"severity":24,"summary":28},"Concise Frontmatter","The frontmatter is concise, clearly stating the core capability and providing trigger phrases within the character limit.",{"category":30,"check":31,"severity":24,"summary":32},"Documentation","Concise Body","The SKILL.md is well-structured and concise, avoiding excessive length by deferring detailed examples and procedures.",{"category":34,"check":35,"severity":24,"summary":36},"Context","Progressive Disclosure","The skill defers detailed procedures and bulk material to separate files or inline examples, adhering to progressive disclosure principles.",{"category":34,"check":38,"severity":39,"summary":40},"Forked exploration","not_applicable","This skill focuses on providing guidance for writing tests, not deep exploration or code review, so context: fork is not applicable.",{"category":42,"check":43,"severity":24,"summary":44},"Practical Utility","Usage examples","Sufficient end-to-end examples are provided for key capabilities, demonstrating input, invocation, and expected outcome.",{"category":42,"check":46,"severity":24,"summary":47},"Edge cases","The skill handles edge cases and limitations, documenting failure modes with symptoms and recovery steps, such as error testing and specific import/transport rules.",{"category":49,"check":50,"severity":39,"summary":51},"Code Execution","Tool Fallback","This skill does not appear to rely on external tools like MCP servers and uses standard Python libraries and pytest, thus this check is not applicable.",{"category":53,"check":54,"severity":24,"summary":55},"Safety","Halt on unexpected state","The skill implicitly expects a clean state for testing and lists preconditions such as import locations and transport usage, which would halt the workflow if not met.",{"category":57,"check":58,"severity":24,"summary":59},"Portability","Cross-skill coupling","The skill is self-contained and focuses on Python testing best practices using pytest, without implicit reliance on other skills.",{"category":42,"check":61,"severity":24,"summary":62},"Problem relevance","The description clearly articulates the problem of writing and evaluating Python tests with pytest and targets relevant user needs.",{"category":42,"check":64,"severity":24,"summary":65},"Unique selling proposition","The skill provides specific, actionable guidance on pytest usage, including project-specific rules and best practices, which goes beyond generic LLM capabilities.",{"category":42,"check":67,"severity":24,"summary":68},"Production readiness","The skill provides comprehensive guidance and examples for writing effective Python tests, covering the full lifecycle of test design and implementation.",{"category":70,"check":71,"severity":24,"summary":72},"Scope","Single responsibility principle","The skill is focused solely on Python testing practices with pytest, maintaining a single, coherent domain.",{"category":70,"check":74,"severity":24,"summary":75},"Description quality","The description accurately and concisely reflects the skill's capabilities and scope.",{"category":22,"check":77,"severity":39,"summary":78},"Scoped tools","This skill does not expose tools in the traditional sense; it provides guidance and best practices for writing tests.",{"category":30,"check":80,"severity":39,"summary":81},"Configuration & parameter reference","The skill does not have configurable parameters or options that require documentation.",{"category":70,"check":83,"severity":39,"summary":84},"Tool naming","The skill does not expose tools with names, focusing instead on code examples and principles.",{"category":70,"check":86,"severity":39,"summary":87},"Minimal I/O surface","The skill does not expose tools with input/output schemas.",{"category":89,"check":90,"severity":24,"summary":91},"License","License usability","The extension is licensed under the Apache-2.0 license, which is a permissive open-source license clearly stated in the LICENSE file.",{"category":93,"check":94,"severity":24,"summary":95},"Maintenance","Commit recency","The repository shows recent commits, indicating active maintenance.",{"category":93,"check":97,"severity":24,"summary":98},"Dependency Management","The project uses uv for dependency management, which is a modern and effective tool, and appears to have lockfiles.",{"category":100,"check":101,"severity":39,"summary":102},"Security","Secret Management","This skill provides guidance on writing tests and does not handle secrets.",{"category":100,"check":104,"severity":39,"summary":105},"Injection","The skill does not load external data or execute third-party code in a way that would be susceptible to injection attacks.",{"category":100,"check":107,"severity":39,"summary":108},"Transitive Supply-Chain Grenades","The skill does not fetch external files or code at runtime.",{"category":100,"check":110,"severity":39,"summary":111},"Sandbox Isolation","This skill does not perform file operations or system-level changes outside of its intended scope.",{"category":100,"check":113,"severity":39,"summary":114},"Sandbox escape primitives","There are no detached processes or retry loops around denied tool calls in this guidance skill.",{"category":100,"check":116,"severity":39,"summary":117},"Data Exfiltration","The skill does not handle or submit confidential data.",{"category":100,"check":119,"severity":24,"summary":120},"Hidden Text Tricks","The bundled content is free of hidden-steering tricks and uses clean, printable ASCII and standard Unicode.",{"category":122,"check":123,"severity":24,"summary":124},"Hooks","Opaque code execution","The skill's content is plain, readable markdown and Python code, with no obfuscation or dynamic code fetching.",{"category":57,"check":126,"severity":24,"summary":127},"Structural Assumption","The skill makes reasonable assumptions about Python project structure and explicitly declares its requirements, with clear error messages for violations.",{"category":129,"check":130,"severity":24,"summary":131},"Trust","Issues Attention","The project has no open issues and no closed issues in the last 90 days, indicating active maintenance or a stable, well-understood project.",{"category":133,"check":134,"severity":24,"summary":135},"Version","Release Management","The project has a clear versioning indicated by PyPI version badges and a LICENSE file, ensuring detectability of new versions.",{"category":49,"check":137,"severity":39,"summary":138},"Validation","This skill provides guidance and examples, but does not expose tools with parameters that require schema validation.",{"category":100,"check":140,"severity":39,"summary":141},"Unguarded Destructive Operations","This skill is purely informational and does not contain any destructive operations.",{"category":49,"check":143,"severity":24,"summary":144},"Error Handling","The skill's examples demonstrate proper error handling using pytest's `raises` context manager and clearly outline failure modes.",{"category":49,"check":146,"severity":39,"summary":147},"Logging","This skill does not perform actions that require local audit logging.",{"category":149,"check":150,"severity":39,"summary":151},"Compliance","GDPR","The skill does not operate on personal data.",{"category":149,"check":153,"severity":24,"summary":154},"Target market","The skill provides general Python testing guidance and has no regional or jurisdictional limitations, making it globally applicable.",{"category":57,"check":156,"severity":24,"summary":157},"Runtime stability","The skill assumes standard Python and pytest, with clear instructions for setup and usage, making it portable across POSIX-like systems.",{"category":30,"check":159,"severity":24,"summary":160},"README","The README file exists, is comprehensive, and clearly states the project's purpose and value proposition.",{"category":70,"check":162,"severity":39,"summary":163},"Tool surface size","This skill does not expose multiple tools; it is a guidance document.",{"category":22,"check":165,"severity":39,"summary":166},"Overlapping near-synonym tools","The skill does not expose tools, so there are no overlapping near-synonym tool names.",{"category":30,"check":168,"severity":24,"summary":169},"Phantom features","All features mentioned in the documentation (pytest, fixtures, parameterization, mocking, async testing) are well-represented in the examples and guidelines.",{"category":171,"check":172,"severity":24,"summary":173},"Install","Installation instruction","The README provides clear installation instructions using 'uv pip install fastmcp' and includes executable code examples.",{"category":175,"check":176,"severity":24,"summary":177},"Errors","Actionable error messages","The skill provides examples of how to test for specific errors using pytest and outlines failure modes with recovery steps.",{"category":179,"check":180,"severity":24,"summary":181},"Execution","Pinned dependencies","The project indicates dependency management via 'uv' and has a lockfile, suggesting pinned dependencies.",{"category":70,"check":183,"severity":39,"summary":184},"Dry-run preview","This skill does not have state-changing commands or send data outward, so a dry-run feature is not applicable.",{"category":186,"check":187,"severity":39,"summary":188},"Protocol","Idempotent retry & timeouts","This skill does not perform remote calls or state-changing operations that would require idempotency or timeouts.",{"category":149,"check":190,"severity":39,"summary":191},"Telemetry opt-in","The skill does not emit telemetry.",1778691594540,"This skill provides detailed instructions and examples for writing, reviewing, and debugging Python tests using the pytest framework. It covers core testing principles, project-specific rules, mocking, and error handling, aiming to improve test quality and coverage.",[195,196,197,198,199,200,201,202],"Write atomic and self-contained unit tests","Utilize parameterization for testing variations","Follow project-specific rules for imports and async testing","Employ in-memory transport for testing MCP interactions","Use inline snapshots for complex data structures","Implement effective mocking strategies","Write descriptive test names","Handle test errors with pytest.raises",[204,205,206],"Writing tests for languages other than Python","Providing a framework for non-pytest Python testing","Automating the entire testing process without developer input",[208,209,210,211],"Test Design","Code Quality","Debugging","Test Coverage",[213,214],"Python 3.7+","pytest installed","3.0.0","4.4.0","To empower developers to write robust, maintainable, and effective Python tests by providing clear guidelines and best practices for using pytest.","Excellent documentation and code examples for Python testing best practices. No critical or warning findings.",98,"Comprehensive and high-quality guidance on writing effective Python tests with pytest.",[222,223,224,225,226],"python","testing","pytest","developer-tools","code-quality","global","verified",[230,231,232,233],"When writing new Python tests with pytest","When reviewing existing test code for quality and coverage","When debugging failing Python tests","When aiming to improve overall test suite reliability",[235,236,237,238,201,239,240],"Understand core testing principles (atomic, self-contained)","Structure tests using pytest conventions (functions, parameterization)","Apply project-specific rules (imports, async)","Implement mocking at boundaries","Handle expected errors using pytest.raises","Run tests using provided commands",{"codeQuality":242,"collectedAt":244,"documentation":245,"maintenance":248,"security":253,"testCoverage":255},{"hasLockfile":243},true,1778691574335,{"descriptionLength":246,"readmeSize":247},229,6658,{"closedIssues90d":8,"forks":249,"hasChangelog":250,"openIssues90d":8,"pushedAt":251,"stars":252},2007,false,1778652483000,25142,{"hasNpmPackage":250,"license":254,"smitheryVerified":250},"Apache-2.0",{"hasCi":243,"hasTests":243},{"updatedAt":257},1778691594651,{"basePath":259,"githubOwner":260,"githubRepo":261,"locale":18,"slug":262,"type":263},".claude/skills/python-tests","jlowin","fastmcp","python-tests","skill",null,{"evaluate":266,"extract":268},{"promptVersionExtension":215,"promptVersionScoring":216,"score":219,"tags":267,"targetMarket":227,"tier":228},[222,223,224,225,226],{"commitSha":269,"license":254},"HEAD",{"repoId":271},"kd7cqsp22edgcrb25vz9wgd34986mqfa",{"_creationTime":273,"_id":271,"identity":274,"providers":275,"workflow":390},1778690318753.135,{"githubOwner":260,"githubRepo":261,"sourceUrl":14},{"classify":276,"discover":377,"github":380},{"commitSha":269,"extensions":277},[278,289,295,303,311,322,330,343,357],{"basePath":279,"description":280,"displayName":281,"installMethods":282,"rationale":283,"selectedPaths":284,"source":288,"sourceLanguage":18,"type":263},".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",[285],{"path":286,"priority":287},"SKILL.md","mandatory","rule",{"basePath":259,"description":10,"displayName":290,"installMethods":291,"rationale":292,"selectedPaths":293,"source":288,"sourceLanguage":18,"type":263},"testing-python",{"claudeCode":12},"SKILL.md frontmatter at .claude/skills/python-tests/SKILL.md",[294],{"path":286,"priority":287},{"basePath":296,"description":297,"displayName":298,"installMethods":299,"rationale":300,"selectedPaths":301,"source":288,"sourceLanguage":18,"type":263},".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",[302],{"path":286,"priority":287},{"basePath":304,"description":305,"displayName":306,"installMethods":307,"rationale":308,"selectedPaths":309,"source":288,"sourceLanguage":18,"type":263},"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",[310],{"path":286,"priority":287},{"basePath":312,"description":313,"displayName":314,"installMethods":315,"rationale":316,"selectedPaths":317,"source":288,"sourceLanguage":18,"type":263},"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",[318,319],{"path":286,"priority":287},{"path":320,"priority":321},"reference.md","medium",{"basePath":323,"description":324,"displayName":325,"installMethods":326,"rationale":327,"selectedPaths":328,"source":288,"sourceLanguage":18,"type":263},"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",[329],{"path":286,"priority":287},{"basePath":331,"installMethods":332,"rationale":334,"selectedPaths":335,"source":288,"sourceLanguage":18,"type":342},"examples/smart_home",{"pypi":333},"smart-home","cli ecosystem detected at examples/smart_home",[336,338,340],{"path":337,"priority":287},"pyproject.toml",{"path":339,"priority":287},"README.md",{"path":341,"priority":321},"src/smart_home/__main__.py","cli",{"basePath":344,"displayName":345,"installMethods":346,"rationale":347,"selectedPaths":348,"source":288,"sourceLanguage":18,"type":356},"examples/atproto_mcp","atproto-mcp",{"pypi":345},"pyproject.toml with mcp/fastmcp dependency + scripts at examples/atproto_mcp/pyproject.toml",[349,350,351,353],{"path":337,"priority":287},{"path":339,"priority":287},{"path":352,"priority":321},"src/atproto_mcp/__main__.py",{"path":354,"priority":355},"src/atproto_mcp/server.py","low","mcp",{"basePath":358,"displayName":359,"installMethods":360,"rationale":361,"selectedPaths":362,"source":288,"sourceLanguage":18,"type":356},"fastmcp_slim","fastmcp-slim",{"pypi":359},"pyproject.toml with mcp/fastmcp dependency + scripts at fastmcp_slim/pyproject.toml",[363,364,365,367,369,371,373,375],{"path":337,"priority":287},{"path":339,"priority":287},{"path":366,"priority":321},"fastmcp/cli/__main__.py",{"path":368,"priority":355},"fastmcp/tools/__init__.py",{"path":370,"priority":355},"fastmcp/tools/base.py",{"path":372,"priority":355},"fastmcp/tools/function_parsing.py",{"path":374,"priority":355},"fastmcp/tools/function_tool.py",{"path":376,"priority":355},"fastmcp/tools/tool_transform.py",{"sources":378},[379],"manual",{"closedIssues90d":8,"description":381,"forks":249,"homepage":382,"license":254,"openIssues90d":8,"pushedAt":251,"readmeSize":247,"stars":252,"topics":383},"🚀 The fast, Pythonic way to build MCP servers and clients.","https://gofastmcp.com",[384,261,356,385,386,387,388,389,222],"model-context-protocol","agents","llms","mcp-clients","mcp-servers","mcp-tools",{"classifiedAt":391,"discoverAt":392,"extractAt":393,"githubAt":393,"updatedAt":391},1778691560177,1778690318753,1778691558105,[226,225,224,222,223],{"evaluatedAt":257,"extractAt":396,"updatedAt":397},1778691560361,1778691898879,[],[400,430,459,491,520,545],{"_creationTime":401,"_id":402,"community":403,"display":404,"identity":410,"providers":414,"relations":423,"tags":426,"workflow":427},1778696691708.3264,"k179thjzaw5kepc7zhdj9sat3n86mcqp",{"reviewCount":8},{"description":405,"installMethods":406,"name":408,"sourceUrl":409},"Validate pending migrations for foreign key consistency, rollback safety, and best practices",{"claudeCode":407},"ruvnet/ruflo","migrate-validate","https://github.com/ruvnet/ruflo",{"basePath":411,"githubOwner":412,"githubRepo":413,"locale":18,"slug":408,"type":263},"plugins/ruflo-migrations/skills/migrate-validate","ruvnet","ruflo",{"evaluate":415,"extract":422},{"promptVersionExtension":215,"promptVersionScoring":216,"score":416,"tags":417,"targetMarket":227,"tier":228},100,[418,419,420,421,226,225],"database","migrations","sql","validation",{"commitSha":269},{"parentExtensionId":424,"repoId":425},"k176me0sh9b6bc3gzttnywx4w986njzh","kd7ed28gj8n0y3msk5dzrp05zs86nqtc",[226,418,225,419,420,421],{"evaluatedAt":428,"extractAt":429,"updatedAt":428},1778701008912,1778696691708,{"_creationTime":431,"_id":432,"community":433,"display":434,"identity":440,"providers":445,"relations":452,"tags":455,"workflow":456},1778698175626.3276,"k17cj6pbcgtrw523a4sw8mhcxn86mzvv",{"reviewCount":8},{"description":435,"installMethods":436,"name":438,"sourceUrl":439},"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":437},"trailofbits/skills","Semgrep Rule Creator","https://github.com/trailofbits/skills",{"basePath":441,"githubOwner":442,"githubRepo":443,"locale":18,"slug":444,"type":263},"plugins/semgrep-rule-creator/skills/semgrep-rule-creator","trailofbits","skills","semgrep-rule-creator",{"evaluate":446,"extract":451},{"promptVersionExtension":215,"promptVersionScoring":216,"score":416,"tags":447,"targetMarket":227,"tier":228},[448,449,450,226,225],"semgrep","security","static-analysis",{"commitSha":269},{"parentExtensionId":453,"repoId":454},"k1757483sd0rdv04r5773w2tb986mb9g","kd7d5sbrd9m157hjv9c7v4wfyn86mk2f",[226,225,449,448,450],{"evaluatedAt":457,"extractAt":458,"updatedAt":457},1778699451460,1778698175626,{"_creationTime":460,"_id":461,"community":462,"display":463,"identity":469,"providers":475,"relations":483,"tags":486,"workflow":487},1778698296017.8315,"k17dzgrxxkxpeqmtcn5v3tjmad86n5tm",{"reviewCount":8},{"description":464,"installMethods":465,"name":467,"sourceUrl":468},"과잉 엔지니어링 패턴이 감지되면 자동으로 활성화됩니다: (1) 사용자가 명시적으로 변경을 요청하지 않은 코드나 파일을 수정하는 경우 (2) 요청되지 않은 새로운 추상화 레이어(class, interface, factory, wrapper)를 생성하는 경우 (3) 요청되지 않은 주석, 문서, JSDoc, 타입 어노테이션을 추가하는 경우 (4) 요청되지 않은 새로운 의존성을 도입하는 경우 (5) 최소한의 편집 대신 파일 전체를 다시 작성하는 경우 (6) diff 범위가 사용자의 요청을 명백히 초과하는 경우 (7) 사용자가 \"너무 많아\", \"거기는 건드리지 마\", \"X만 변경해\", \"간단하게\", \"그만\" 등의 신호를 보내는 경우 (8) 발생할 수 없는 시나리오에 대한 에러 처리, 유효성 검사, 방어적 코드를 추가하는 경우 (9) 요청되지 않은 테스트, 설정 스캐폴딩, 문서를 생성하는 경우\n",{"claudeCode":466},"uucz/moyu","Moyu (摸鱼)","https://github.com/uucz/moyu",{"basePath":470,"githubOwner":471,"githubRepo":472,"locale":473,"slug":474,"type":263},"skills/moyu-ko","uucz","moyu","ko","moyu-ko",{"evaluate":476,"extract":481},{"promptVersionExtension":215,"promptVersionScoring":216,"score":416,"tags":477,"targetMarket":227,"tier":228},[478,226,479,225,480],"ai-assist","prompt-engineering","refactoring",{"commitSha":269,"license":482},"MIT",{"parentExtensionId":484,"repoId":485},"k17a8j7hxkm1n8dabrtcwp2z2d86nr39","kd7ccbpk8y3xm113xt8wy1c5jd86n94h",[478,226,225,479,480],{"evaluatedAt":488,"extractAt":489,"updatedAt":490},1778698415064,1778698296017,1778698589704,{"_creationTime":492,"_id":493,"community":494,"display":495,"identity":501,"providers":505,"relations":514,"tags":516,"workflow":517},1778696052276.0203,"k17bgxxgryq8edg32egypsvqtn86m1h7",{"reviewCount":8},{"description":496,"installMethods":497,"name":499,"sourceUrl":500},"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":498},"raintree-technology/claude-starter","cleanup-cycles","https://github.com/raintree-technology/claude-starter",{"basePath":502,"githubOwner":503,"githubRepo":504,"locale":18,"slug":499,"type":263},"templates/.claude/skills/cleanup-cycles","raintree-technology","claude-starter",{"evaluate":506,"extract":513},{"promptVersionExtension":215,"promptVersionScoring":216,"score":416,"tags":507,"targetMarket":227,"tier":228},[226,508,509,222,510,511,512,480],"dependencies","javascript","typescript","go","rust",{"commitSha":269},{"repoId":515},"kd78ywakatnz4sjfx781sy14vh86mtty",[226,508,511,509,222,480,512,510],{"evaluatedAt":518,"extractAt":519,"updatedAt":518},1778696977114,1778696052276,{"_creationTime":521,"_id":522,"community":523,"display":524,"identity":530,"providers":533,"relations":539,"tags":541,"workflow":542},1778687029453.9038,"k1741ryyrp6bfas7r0wrm6yans86n4ar",{"reviewCount":8},{"description":525,"installMethods":526,"name":528,"sourceUrl":529},"Mandatory checks to run before completing any task that touches md files or dart code in this repository.",{"claudeCode":527},"flutter/skills","definition-of-done","https://github.com/flutter/skills",{"basePath":531,"githubOwner":532,"githubRepo":443,"locale":18,"slug":528,"type":263},"tool/dart_skills_lint/.agents/skills/definition-of-done","flutter",{"evaluate":534,"extract":538},{"promptVersionExtension":215,"promptVersionScoring":216,"score":416,"tags":535,"targetMarket":227,"tier":228},[536,532,537,223,226],"dart","linting",{"commitSha":269},{"repoId":540},"kd7100bqmd3gmqn2rdf4t72qqn86nfdd",[226,536,532,537,223],{"evaluatedAt":543,"extractAt":544,"updatedAt":543},1778687549247,1778687029453,{"_creationTime":546,"_id":547,"community":548,"display":549,"identity":555,"providers":559,"relations":565,"tags":567,"workflow":568},1778697652123.8845,"k17bexjjjsz81ysk7bd3ggdm8s86mt2t",{"reviewCount":8},{"description":550,"installMethods":551,"name":553,"sourceUrl":554},"Choose, run, rerun, or debug OpenClaw tests, CI checks, Docker E2E lanes, release validation, and the cheapest safe verification path.",{"claudeCode":552},"steipete/clawdis","openclaw-testing","https://github.com/steipete/clawdis",{"basePath":556,"githubOwner":557,"githubRepo":558,"locale":18,"slug":553,"type":263},".agents/skills/openclaw-testing","steipete","clawdis",{"evaluate":560,"extract":564},{"promptVersionExtension":215,"promptVersionScoring":216,"score":416,"tags":561,"targetMarket":227,"tier":228},[223,562,421,563,225],"ci","automation",{"commitSha":269},{"repoId":566},"kd738npxg9yh3xf3vddzy9fyfh86nhng",[563,562,225,223,421],{"evaluatedAt":569,"extractAt":570,"updatedAt":569},1778697962962,1778697652123]