.agents/skills/speckit-branch-convention-configure/SKILL.md
Set up branch and folder naming rules for the current project
npx skillsauth add pradeepmouli/lspeasy speckit-branch-convention-configureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up configurable naming rules for how /specify creates Git branches and spec folder names. Supports ticket IDs, GitFlow prefixes, date formats, and custom patterns.
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty). The user may specify a preset (e.g., "gitflow", "ticket", "date") or provide custom patterns directly.
.specify/ directory.specify/branch-convention.ymlDetermine convention type: Based on user input or interactive selection:
| Preset | Branch Pattern | Folder Pattern | Example Branch | Example Folder |
|--------|---------------|----------------|----------------|----------------|
| default | {seq}-{kebab} | {seq}-{kebab} | 003-user-auth | 003-user-auth |
| gitflow | {type}/{seq}-{kebab} | {seq}-{kebab} | feat/003-user-auth | 003-user-auth |
| ticket | {ticket}-{kebab} | {ticket}-{kebab} | PROJ-142-user-auth | PROJ-142-user-auth |
| date | {date}-{kebab} | {date}-{kebab} | 20260408-user-auth | 20260408-user-auth |
| custom | User-defined pattern | User-defined pattern | — | — |
Collect configuration: Build the convention config with these fields:
# .specify/branch-convention.yml
convention:
branch_pattern: "{type}/{seq}-{kebab}"
folder_pattern: "{seq}-{kebab}"
type_prefix:
feature: "feat"
bugfix: "fix"
hotfix: "hotfix"
refactor: "refactor"
docs: "docs"
default_type: "feat"
seq_padding: 3
seq_start: 1
date_format: "YYYYMMDD"
ticket_pattern: "[A-Z]+-[0-9]+"
max_length: 60
separator: "-"
lowercase: true
Available tokens: Document these template tokens for patterns:
| Token | Description | Example |
|-------|-------------|---------|
| {seq} | Zero-padded sequence number | 003 |
| {kebab} | Kebab-case feature summary (2-4 words) | user-auth-flow |
| {ticket} | Ticket/issue ID (e.g., JIRA, Linear) | PROJ-142 |
| {date} | Date in configured format | 20260408 |
| {type} | Branch type prefix from type_prefix map | feat |
| {summary} | Raw feature summary (spaces allowed) | user auth flow |
Write configuration: Save the convention to .specify/branch-convention.yml
Validate existing branches (optional): If branches already exist, check them against the new convention and report any non-compliant ones.
Report: Output a summary:
/speckit.branch-convention.validate to check compliance, or /speckit.specify to create a new feature using the convention.specify/branch-convention.yml already exists, show current config and ask before replacingfeat/) while folder stays flat{seq}-{kebab}) applies/, -, _)tools
Use for ANY rename, file-move, or move-symbol refactor — especially rename-heavy work across multiple files. Claude Code's built-in LSP tool is READ-ONLY (find references, but no rename / file-move / move-symbol). Hand-editing those refactors silently misses re-exports, aliased imports, type-only imports, and {@link} doc references. This skill drives a real language server via the `lspeasy` CLI to apply a correct WorkspaceEdit that catches every reference. Trigger when the user asks to rename a function/class/variable/type project-wide, move a file and fix its importers, or pull a symbol out into another module.
tools
Documentation site for lspeasy Use when: You are building a browser-based LSP client, a WebSocket-backed language....
tools
Documentation site for lspeasy Use when: You are implementing a custom client layer and need the same validation....
tools
Use when working with lspeasy (client, core, server). Covers: lsp, language-server-protocol, lsp-client, language-client, jsonrpc, transport, lsp-server, language-server.