Course-correct when artifacts overfit to conversation context. Invoke when examples, names, or language are too specific to current work.
You're overfitting to the current conversation. The artifact you're creating will outlive this context.
When you have rich context (current task, domain jargon, specific examples), you default to using it—even when the artifact should be portable. You optimize for the current conversation instead of the future reader.
1. Identify the artifact's audience
| Artifact | Audience | Context they have |
|---|---|---|
| Commit message | Repo contributors | Repo history |
| PR description | Reviewers |
| Repo + diff |
| Config/rules file | Future self, strangers | None |
| Library docs | External users | None |
| Skill/prompt | Any project | None |
2. Apply the stranger test
"Would someone with zero context about this conversation understand this?"
If any example, term, or reference requires conversation history—replace it.
3. Genericize examples
| Before (context-bound) | After (portable) |
|---|---|
| "Fix the auth bug in UserService" | "Fix authentication timeout" |
| "Update the Client class" | "Update the API client" |
| "like we discussed" | [remove or specify] |
4. Check your language
No preamble. Just fix it.