{"id":"ec9a0a2a-75e3-4598-bf09-99915b60def1","shortId":"EuaWy3","kind":"skill","title":"Enforce Python Docstring Coverage Thresholds with interrogate","tagline":"Measure Python docstring coverage and fail a docs-quality gate when code drops below an agreed threshold.","description":"# Enforce Python Docstring Coverage Thresholds with interrogate\n\nMeasure Python docstring coverage and fail a docs-quality gate when code drops below an agreed threshold.\n\n## Prerequisites\n\nPython, interrogate, Python source tree\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- $ pip install interrogate\n- $ pip install interrogate[png]\n\nRequirements and caveats from upstream:\n- Documentation should be as important as code itself. And it should live *within* code. Python standardized <https://www.python.org/dev/peps/pep-0257/>_ docstrings, allowing for developers to navigate libraries as simp...\n- interrogate supports Python 3.8 and above.\n- Try it out on a Python project:\n\nBasic usage or getting-started notes:\n- ============\n- interrogate is available on PyPI <https://pypi.org/project/interrogate/>_ and GitHub <https://github.com/econchick/interrogate>_. The recommended installation method is pip <https://pip.pypa.io/en/stable/>_-installing...\n- .. code-block:: console\n\n- Source: https://github.com/econchick/interrogate\n- Extracted from upstream docs: https://raw.githubusercontent.com/econchick/interrogate/HEAD/README.rst\n\n## Documentation\n\n- https://interrogate.readthedocs.io/en/latest/\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/enforce-python-docstring-coverage-thresholds-with-interrogate/)","tags":["enforce","python","docstring","coverage","thresholds","with","interrogate","skills","agentskillexchange","agent-skills","ai-agents","ai-tools"],"capabilities":["skill","source-agentskillexchange","skill-enforce-python-docstring-coverage-thresholds-with-interrogate","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-awesome-list","topic-claude-code","topic-codex","topic-cursor","topic-llm","topic-mcp","topic-npx-skills","topic-openclaw","topic-skills-catalog"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/agentskillexchange/skills/enforce-python-docstring-coverage-thresholds-with-interrogate","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add agentskillexchange/skills","source_repo":"https://github.com/agentskillexchange/skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,386 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:10:19.777Z","embedding":null,"createdAt":"2026-05-18T13:16:22.311Z","updatedAt":"2026-05-18T19:10:19.777Z","lastSeenAt":"2026-05-18T19:10:19.777Z","tsv":"'/dev/peps/pep-0257/':99 '/econchick/interrogate':141,159 '/econchick/interrogate/head/readme.rst':166 '/en/latest/':170 '/en/stable/':150 '/project/interrogate/':136 '/skills/enforce-python-docstring-coverage-thresholds-with-interrogate/)':177 '3.8':112 'agent':172 'agentskillexchange.com':176 'agentskillexchange.com/skills/enforce-python-docstring-coverage-thresholds-with-interrogate/)':175 'agre':24,49 'allow':101 'avail':131 'basic':122 'block':154 'caveat':78 'code':20,45,87,94,153 'code-block':152 'consol':155 'coverag':4,11,29,36 'develop':103 'doc':16,41,163 'docs-qual':15,40 'docstr':3,10,28,35,100 'document':81,167 'drop':21,46 'enforc':1,26 'environ':68 'exchang':174 'extract':160 'fail':13,38 'gate':18,43 'get':126 'getting-start':125 'github':138 'github.com':140,158 'github.com/econchick/interrogate':139,157 'import':85 'instal':57,61,70,73,144,151 'interrog':7,32,53,71,74,109,129 'interrogate.readthedocs.io':169 'interrogate.readthedocs.io/en/latest/':168 'librari':106 'live':92 'match':66 'measur':8,33 'method':145 'navig':105 'note':128 'path':64 'pip':69,72,147 'pip.pypa.io':149 'pip.pypa.io/en/stable/':148 'png':75 'prerequisit':51 'project':121 'pypi':133 'pypi.org':135 'pypi.org/project/interrogate/':134 'python':2,9,27,34,52,54,95,111,120 'qualiti':17,42 'raw.githubusercontent.com':165 'raw.githubusercontent.com/econchick/interrogate/head/readme.rst':164 'recommend':143 'requir':76 'setup':63 'simp':108 'skill':173 'skill-enforce-python-docstring-coverage-thresholds-with-interrogate' 'sourc':55,156,171 'source-agentskillexchange' 'standard':96 'start':127 'support':110 'threshold':5,25,30,50 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-awesome-list' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-npx-skills' 'topic-openclaw' 'topic-skills-catalog' 'tree':56 'tri':115 'upstream':60,80,162 'usag':123 'use':58 'within':93 'www.python.org':98 'www.python.org/dev/peps/pep-0257/':97","prices":[{"id":"8012d81f-c9b7-4c19-8740-6c84b933d5d7","listingId":"ec9a0a2a-75e3-4598-bf09-99915b60def1","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"agentskillexchange","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:16:22.311Z"}],"sources":[{"listingId":"ec9a0a2a-75e3-4598-bf09-99915b60def1","source":"github","sourceId":"agentskillexchange/skills/enforce-python-docstring-coverage-thresholds-with-interrogate","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/enforce-python-docstring-coverage-thresholds-with-interrogate","isPrimary":false,"firstSeenAt":"2026-05-18T13:16:22.311Z","lastSeenAt":"2026-05-18T19:10:19.777Z"}],"details":{"listingId":"ec9a0a2a-75e3-4598-bf09-99915b60def1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"enforce-python-docstring-coverage-thresholds-with-interrogate","github":{"repo":"agentskillexchange/skills","stars":8,"topics":["agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor","llm","mcp","npx-skills","openclaw","skills-catalog"],"license":"mit","html_url":"https://github.com/agentskillexchange/skills","pushed_at":"2026-05-18T19:02:17Z","description":"The open catalog of AI agent skills — 2,000+ security-scanned skills for Claude Code, Cursor, Codex, and more.","skill_md_sha":"6a46eaa1e1d44776af5450beb4f65b0970eb0d33","skill_md_path":"skills/enforce-python-docstring-coverage-thresholds-with-interrogate/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/enforce-python-docstring-coverage-thresholds-with-interrogate"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"Enforce Python Docstring Coverage Thresholds with interrogate","description":"Measure Python docstring coverage and fail a docs-quality gate when code drops below an agreed threshold."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/enforce-python-docstring-coverage-thresholds-with-interrogate"},"updatedAt":"2026-05-18T19:10:19.777Z"}}