{"id":"e72370f4-4191-4eaa-87b6-367040c58431","shortId":"E4DkuR","kind":"skill","title":"Enforce architectural import boundaries in Python codebases with Import Linter","tagline":"Check whether a Python codebase still respects declared layered, independence, or forbidden import contracts.","description":"# Enforce architectural import boundaries in Python codebases with Import Linter\n\nCheck whether a Python codebase still respects declared layered, independence, or forbidden import contracts.\n\n## Prerequisites\n\nPython project, pip or Poetry environment\n\n## Installation\n\nRequirements and caveats from upstream:\n- **Lint your Python architecture.**\n- [![Python versions](https://img.shields.io/pypi/pyversions/import-linter.svg)](https://pypi.org/project/import-linter)\n- **Import Linter** allows you to impose constraints on the imports between your Python modules.\n\n- Source: https://github.com/seddonym/import-linter\n- Extracted from upstream docs: https://raw.githubusercontent.com/seddonym/import-linter/HEAD/README.md\n\n## Documentation\n\n- https://import-linter.readthedocs.io/\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter/)","tags":["enforce","architectural","import","boundaries","python","codebases","with","linter","skills","agentskillexchange","agent-skills","ai-agents"],"capabilities":["skill","source-agentskillexchange","skill-enforce-architectural-import-boundaries-in-python-codebases-with-import-linter","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-architectural-import-boundaries-in-python-codebases-with-import-linter","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 (937 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.252Z","embedding":null,"createdAt":"2026-05-18T13:16:21.662Z","updatedAt":"2026-05-18T19:10:19.252Z","lastSeenAt":"2026-05-18T19:10:19.252Z","tsv":"'/pypi/pyversions/import-linter.svg)](https://pypi.org/project/import-linter)':70 '/seddonym/import-linter':88 '/seddonym/import-linter/head/readme.md':95 '/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter/)':104 'agent':99 'agentskillexchange.com':103 'agentskillexchange.com/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter/)':102 'allow':73 'architectur':2,26,65 'boundari':4,28 'caveat':59 'check':11,35 'codebas':7,15,31,39 'constraint':77 'contract':24,48 'declar':18,42 'doc':92 'document':96 'enforc':1,25 'environ':55 'exchang':101 'extract':89 'forbidden':22,46 'github.com':87 'github.com/seddonym/import-linter':86 'img.shields.io':69 'img.shields.io/pypi/pyversions/import-linter.svg)](https://pypi.org/project/import-linter)':68 'import':3,9,23,27,33,47,71,80 'import-linter.readthedocs.io':97 'impos':76 'independ':20,44 'instal':56 'layer':19,43 'lint':62 'linter':10,34,72 'modul':84 'pip':52 'poetri':54 'prerequisit':49 'project':51 'python':6,14,30,38,50,64,66,83 'raw.githubusercontent.com':94 'raw.githubusercontent.com/seddonym/import-linter/head/readme.md':93 'requir':57 'respect':17,41 'skill':100 'skill-enforce-architectural-import-boundaries-in-python-codebases-with-import-linter' 'sourc':85,98 'source-agentskillexchange' 'still':16,40 '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' 'upstream':61,91 'version':67 'whether':12,36","prices":[{"id":"7bffa580-893b-41b4-b91a-82f643dc9ada","listingId":"e72370f4-4191-4eaa-87b6-367040c58431","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:21.662Z"}],"sources":[{"listingId":"e72370f4-4191-4eaa-87b6-367040c58431","source":"github","sourceId":"agentskillexchange/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter","isPrimary":false,"firstSeenAt":"2026-05-18T13:16:21.662Z","lastSeenAt":"2026-05-18T19:10:19.252Z"}],"details":{"listingId":"e72370f4-4191-4eaa-87b6-367040c58431","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"enforce-architectural-import-boundaries-in-python-codebases-with-import-linter","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":"2fe360785fc153d4a962126916b774665ed4704d","skill_md_path":"skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"Enforce architectural import boundaries in Python codebases with Import Linter","description":"Check whether a Python codebase still respects declared layered, independence, or forbidden import contracts."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/enforce-architectural-import-boundaries-in-python-codebases-with-import-linter"},"updatedAt":"2026-05-18T19:10:19.252Z"}}