Plan files should have semantic names, not random three-word slugs
Problem
Plan files are auto-named with random three-word identifiers (e.g. wiggly-booping-dragonfly.md). The model that creates the plan has full context about the project, task, and session — yet the naming discards all of that context in favor of randomness. In a directory with multiple plans, the only way to find the right one is to open each file.
Proposal
Default plan file names to a semantic pattern derived from the session context. For example:
enzim-tauri2-gemma4-pivot-1744358400.md
auth-middleware-rewrite-1744444800.md
ci-runner-provisioning-1744531200.md
Pattern: {project-or-theme}-{brief-intent}-{epoch}.md
The epoch suffix guarantees uniqueness without requiring randomness. The semantic prefix makes plans identifiable at a glance in ls, tab-completion, and conversation references.
Why not keep random as a fallback?
The entity generating the name is a language model that has already spent tokens understanding the task. There is no scenario where it lacks context to produce a meaningful name. A random fallback is an invitation to take the cheap path — and every random name is a future grep someone has to run. If the model can write a 10,000-token architecture plan, it can write a 5-word filename.
Additionally, random names impose a recurring token cost: every session that needs to reference the plan must spend tokens re-discovering what wiggly-booping-dragonfly refers to. Semantic names amortize that cost to zero.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗