Python development principles and decision-making. Framework selection, async patterns, type hints, project structure. Teaches thinking, not copying.
40
40%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Quality
Discovery
25%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description identifies a broad domain (Python development) and lists several topic areas but lacks concrete actions, explicit trigger guidance, and sufficient specificity to distinguish it from other Python-related skills. The philosophical tagline 'Teaches thinking, not copying' adds no selection value. It needs a clear 'Use when...' clause and more specific, actionable capability descriptions.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Python architectural decisions, choosing between frameworks like Django/FastAPI/Flask, or needs guidance on async patterns and project organization.'
Replace vague topic labels with concrete actions, e.g., 'Guides selection between Python web frameworks (Django, FastAPI, Flask), recommends async vs sync patterns, advises on type annotation strategies, and suggests project directory structures.'
Remove the philosophical tagline 'Teaches thinking, not copying' which provides no selection signal, and instead use that space for natural trigger terms users would actually say.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Python development) and lists some areas (framework selection, async patterns, type hints, project structure), but these are topic areas rather than concrete actions. 'Teaches thinking, not copying' is a philosophy statement, not a specific capability. | 2 / 3 |
Completeness | Describes what it covers (Python development principles and decision-making across several topics) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also somewhat vague, warranting a 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'Python', 'framework selection', 'async patterns', 'type hints', 'project structure' that users might mention, but misses common variations and natural phrasings like 'which framework should I use', 'FastAPI vs Django', 'typing', 'Python best practices', 'code organization'. | 2 / 3 |
Distinctiveness Conflict Risk | 'Python development principles' is extremely broad and would likely conflict with any other Python-related skill. The topics listed (framework selection, async, type hints, project structure) span many different potential skills, making it hard to distinguish from general Python coding skills. | 1 / 3 |
Total | 6 / 12 Passed |
Implementation
27%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill attempts to cover an extremely broad surface area (framework selection, async patterns, type hints, project structure, Django, FastAPI, background tasks, error handling, testing) but does so at a shallow, abstract level without executable code or clear workflows. The decision trees are a nice structural choice but the content largely restates knowledge Claude already has. The lack of progressive disclosure means all this general-purpose content loads into context at once.
Suggestions
Split into separate files: a concise SKILL.md overview with decision trees, then reference files like FASTAPI.md, DJANGO.md, TESTING.md for framework-specific details
Replace abstract principle lists with executable, copy-paste-ready code examples (e.g., a complete minimal FastAPI app with async DB, a Django view with proper query optimization)
Remove content Claude already knows well (basic type hint syntax, what select_related does, async vs sync fundamentals) and focus on project-specific conventions or non-obvious patterns
Add concrete validation steps to workflows, e.g., 'After setting up project structure, verify with: python -m pytest --collect-only' or 'Validate Pydantic models with: python -c "from app.schemas import UserCreate; print(UserCreate.model_json_schema())"'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is reasonably efficient with its tree diagrams and tables, but includes significant content Claude already knows (async vs sync basics, type hint syntax, Django query optimization tips like select_related). The repeated philosophical framing ('Learn to THINK, not memorize') and some obvious anti-patterns add unnecessary tokens. | 2 / 3 |
Actionability | Despite being lengthy, the skill is almost entirely abstract decision trees and principle lists rather than executable guidance. The few code snippets are incomplete (ellipsis instead of implementations), and most content describes what to do rather than showing how. For a skill about 'Python development principles,' there are almost no copy-paste-ready code patterns. | 1 / 3 |
Workflow Clarity | The decision trees provide reasonable sequencing for framework selection, and the checklist in section 10 is useful. However, there are no validation checkpoints, no feedback loops for error recovery, and the multi-step processes (like setting up a project or deploying) are not sequenced—they're just listed as principles. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text spanning 11 sections with no references to external files. Content like Django best practices, FastAPI patterns, testing strategies, and background task selection could each be separate referenced documents. Everything is inlined, making it a large context burden with no navigation structure beyond section headers. | 1 / 3 |
Total | 6 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
Total | 10 / 11 Passed | |
Reviewed
Table of Contents