Write cleaner, more efficient code — without spending hours refactoring manually.
At the beginning of this year, I made a resolution: level up my Python skills.
I dove into classics like:
- Fluent Python
- Robust Python
- High Performance Python
- Python Cookbook
- Pythonic Programming
My understanding of Python deepened. But there was a problem: even after soaking up all that knowledge, manually applying best practices to real code was tedious and slow.
So like many developers today, I turned to LLMs like ChatGPT and Claude for help.
And while they “knew” Python, their code suggestions didn’t always meet the mark:
- Too much commenting that cluttered code
- Over-refactoring: turning simple logic into dozens of tiny unreadable functions
- Missing subtle improvements like using generators over lists
Then I Had an Idea 💡
Claude introduced a new feature: Claude Projects — letting you upload files the LLM can reference like a knowledge base.
So I built one.
I gathered everything I’d learned:
- Best practices
- Memory & performance tips
- Idiomatic patterns
- Anti-patterns
- “Good vs Bad” examples
I created a single markdown file that acts as a comprehensive Python knowledge base.
And then… I gave it to the LLM.
The difference was night and day.
Here’s a Real Example
My Original Code:
def process_file(filename):
with open(filename, 'r') as file:
lines = file.readlines()
for i in range(len(lines)):
lines[i] = lines[i].upper()
with open(filename, 'w') as file:
file.writelines(lines)
LLM’s Refactored Code (with Knowledge Base Prompt):
import tempfile
import shutil
import logging
from pathlib import Path
log = logging.getLogger(__name__)
def convert_file_to_uppercase(filename: str) -> bool:
"""Convert file contents to uppercase using temporary file for safety."""
file_path = Path(filename)
try:
with tempfile.NamedTemporaryFile(
mode='w',
delete=False,
dir=file_path.parent,
prefix=f".{file_path.name}_temp_",
suffix=".tmp"
) as temp_file:
temp_filename = temp_file.name
with open(filename, 'r') as input_file:
for line in input_file:
temp_file.write(line.upper())
shutil.move(temp_filename, filename)
log.info("file.converted", filename=filename)
return True
except FileNotFoundError:
log.error("file.not_found", filename=filename)
return False
except PermissionError:
log.error("file.permission_denied", filename=filename)
return False
except OSError as e:
log.error("file.operation_failed", filename=filename, error=str(e))
try:
Path(temp_filename).unlink(missing_ok=True)
except (NameError, OSError):
pass
return False
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO)
success = convert_file_to_uppercase('your_file.txt')
result_msg = "File successfully converted" if success else "Failed to process file"
log.info("conversion.complete", success=success, message=result_msg)
What Got Better?
✅ Safer file handling with tempfile
✅ Type annotations
✅ Clear function name and docstring
✅ Memory-efficient line-by-line processing
✅ Exception handling
✅ Logging
And it all came from just one prompt.
What’s Inside the Prompt?
This prompt isn't just a file — it's a developer’s assistant.
Here’s what’s included:
- ✅ Python best practices across readability, safety, and performance
- ✅ “Bad vs Good” code examples for every pattern
- ✅ Idiomatic Python tricks (like
with,enumerate,defaultdict, etc.) - ✅ Clear advice on error handling, logging, and type hinting
- ✅ LLM-friendly format — works with Claude, ChatGPT, or any model that supports file uploads or custom prompts
How to Use It
Option 1: Claude Projects
- Create a project (e.g., “Python Best Practices”)
- Upload the markdown knowledge base
- Paste the
system_prompt.txtfile as the project prompt - Ask Claude to refactor or review your code
Option 2: ChatGPT Custom GPT (for Plus users)
- Create a new GPT
- Upload the same files
- Now when you provide your Python code, ChatGPT will use the uploaded best practices to suggest improvements
Option 3: Manual Upload (Any LLM)
Upload the markdown + system prompt directly in a conversation, then paste your code.
Try It Out
We’ve created two versions:
🎁 Free Version
- Covers key tips
- Includes several good/bad code examples
- Try it before you buy it
💼 Full Version — \$2
- Full best practices guide
- Regular updates
- One-time payment
Who Should Use This?
- 🧑💻 Intermediate to advanced Python developers
- ⚙️ Engineers who use LLMs in their workflow
- ⏱ Anyone who wants to save hours of time cleaning up and optimizing code
Final Thoughts
Tools like ChatGPT and Claude are powerful. But they work best when you feed them high-quality, domain-specific context.
This knowledge base prompt turns your favorite LLM into a Python best practices expert — one that never gets tired and is always up to date.
Start writing better Python code today.
Top comments (0)