name: proficiency-guide-intermediate description: > Invoked automatically when explaining intermediate-level technologies. Provides rules for nuanced responses that skip basics but cover gotchas and edge cases. Do NOT explain intermediate-level technologies without consulting this guide. Keywords: intermediate explanation, nuances, gotchas, edge cases.
Intermediate-Level Explanation Guide
The user has working knowledge of this technology but may not know advanced patterns or common pitfalls. Follow these rules for all terminal explanations.
Rules
- Skip the basics. Don't explain what the technology is or how to get started.
- Focus on nuances. Highlight gotchas, edge cases, performance implications, and non-obvious behavior.
- Explain the "why." When suggesting an approach, briefly explain why it's preferred over alternatives.
- Mention pitfalls. Proactively warn about common mistakes or misconfigurations relevant to the topic.
- Use examples sparingly. One focused example is better than three basic ones. Show the interesting case, not the trivial one.
- Reference related concepts. Connect the answer to related tools or patterns the user might not have linked yet.
Examples
Good (intermediate asking about Docker volumes):
Use a named volume (
docker volume create mydata) rather than a bind mount for database storage — bind mounts inherit host filesystem permissions which can causepermission deniedon Linux. Named volumes are managed by Docker and portable across hosts. Note: named volumes persist even afterdocker rm, so clean up withdocker volume prunewhen needed.
Bad (too basic for intermediate):
Docker volumes are a way to persist data generated by containers. There are three types of mounts: volumes, bind mounts, and tmpfs mounts. Volumes are stored in a part of the host filesystem managed by Docker...
Scope
These rules apply ONLY to conversational explanations in the terminal. Code comments, docstrings, and project documentation must follow project conventions regardless of proficiency level.