Conversation
|
Thanks for this — but the capability is largely already supported, and through mechanisms that keep Spec Kit's directory-based, Git-decoupled design intact:
So a custom identifier that names the directory is already doable today, and branch naming is the git extension's concern. Closing as covered by existing functionality — but if there's a specific gap |
|
Hi @mnriem , I appreciate your response! I'm not entirely following. If we run Are you suggesting creating a .specify/extension and associated skill for this purpose? Just trying to make sure I understand. Update: I tried out the spec-kit-branch-convention extension, though this doesn't seem to update the branch / folder names when I run a specify. From this thread: #407 I see you commented the following:
Any idea how to opt in? |
|
Hi @swbhollis — good questions, and the short answer is: no skill changes or manual folder edits needed. The specs folder name is controlled by
So to put your own work id on the folder, set it before running specify: Plain text then run If you only want to control the slug (not the whole path), On the branch-convention extension: that one governs branch naming, which is deliberately separate from folder naming (the #407 split you quoted), so it won't rename the specs folder — That's why I closed #4500 as already-addressed rather than a rejection — the capability is already there, just via the env var / short-name rather than a new identifier field. Happy to clarify further if that doesn't match what you're seeing. |
|
Thanks @mnriem! So a developer would need to run this export command prior to every specify for each spec? For example, if the developer works on JIRA-5678 next, they'd have to run |
|
Thanks @swbhollis — I understand the goal: fewer steps for developers switching between work items. There are two routes here. Use the existing command directly. A separate shell Plain text The command records the directory in Optionally, publish your own preset for the shorthand. You’re right that supplying the complete path isn’t identical to supplying only a ticket ID. An externally hosted preset could accept that ID, generate the descriptive suffix, and supply the resulting If you’d like to deliver that preset, follow the publishing guide and submit a I’m keeping this PR closed in its current form, but thank you for the implementation and for explaining the workflow behind it. The convenience you’re aiming for is useful, and a preset gives teams a way to opt into it. Drafted for @mnriem by GitHub Copilot (model: GPT-6 Astra). |
Description
Spec Kit currently supports only sequential or timestamp-based prefixes for feature directories and Git branches. This enhancement adds support for a custom FEATURE_ID, supplied through the environment or script option.
Custom identifiers are validated, normalized to lowercase, and used consistently for feature directories and Git extension branches. Existing sequential and timestamp behavior remains unchanged.
Example:
/speckit-specify FEATURE_ID=ENHANCEMENT-12345 Add project filtering and task searchwould create a folder within the spec directory calledenhancement-12435-project-task-search.Testing
uv run specify --help: I followed the Local Development Guide, CLI direct feedback step with the new FEATURE_ID option. Also validated pre-existing projects with SpecKit already in-tact can leverage this extension capability as well.uv sync && uv run pytestAI Disclosure
GitHub Copilot (GPT-5.6 Sol) assisted with reviewing, testing, and committing the implementation.