Speckit git feature
Skill ldilov/harness-forge/.agents/skills/speckit-git-feature
AI coding agent runtime that makes LLMs understand your codebase with repository-aware context, memory, and continuous learning
npx -y skills add ldilov/harness-forge --skill speckit-git-featureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create a feature branch with sequential or timestamp numbering
SKILL.md
3.4 KB, 727 tokens by cl100k_base, as published. Nobody here has run it
Create Feature Branch
Create and switch to a new git feature branch for the given specification. This command handles branch creation only — the spec directory and files are created by the core /speckit.specify workflow.
User Input
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Environment Variable Override
If the user explicitly provided GIT_BRANCH_NAME (e.g., via environment variable, argument, or in their request), pass it through to the script by setting the GIT_BRANCH_NAME environment variable before invoking the script. When GIT_BRANCH_NAME is set:
- The script uses the exact value as the branch name, bypassing all prefix/suffix generation
--short-name,--number, and--timestampflags are ignoredFEATURE_NUMis extracted from the name if it starts with a numeric prefix, otherwise set to the full branch name
Prerequisites
- Verify Git is available by running
git rev-parse --is-inside-work-tree 2>/dev/null - If Git is not available, warn the user and skip branch creation
Branch Numbering Mode
Determine the branch numbering strategy by checking configuration in this order:
- Check
.specify/extensions/git/git-config.ymlforbranch_numberingvalue - Check
.specify/init-options.jsonforbranch_numberingvalue (backward compatibility) - Default to
sequentialif neither exists
Execution
Generate a concise short name (2-4 words) for the branch:
- Analyze the feature description and extract the most meaningful keywords
- Use action-noun format when possible (e.g., "add-user-auth", "fix-payment-bug")
- Preserve technical terms and acronyms (OAuth2, API, JWT, etc.)
Run the appropriate script based on your platform:
- Bash:
.specify/extensions/git/scripts/bash/create-new-feature.sh --json --short-name "<short-name>" "<feature description>" - Bash (timestamp):
.specify/extensions/git/scripts/bash/create-new-feature.sh --json --timestamp --short-name "<short-name>" "<feature description>" - PowerShell:
.specify/extensions/git/scripts/powershell/create-new-feature.ps1 -Json -ShortName "<short-name>" "<feature description>" - PowerShell (timestamp):
.specify/extensions/git/scripts/powershell/create-new-feature.ps1 -Json -Timestamp -ShortName "<short-name>" "<feature description>"
IMPORTANT:
- Do NOT pass
--number— the script determines the correct next number automatically - Always include the JSON flag (
--jsonfor Bash,-Jsonfor PowerShell) so the output can be parsed reliably - You must only ever run this script once per feature
- The JSON output will contain
BRANCH_NAMEandFEATURE_NUM
Graceful Degradation
If Git is not installed or the current directory is not a Git repository:
- Branch creation is skipped with a warning:
[specify] Warning: Git repository not detected; skipped branch creation - The script still outputs
BRANCH_NAMEandFEATURE_NUMso the caller can reference them
Output
The script outputs JSON with:
BRANCH_NAME: The branch name (e.g.,003-user-author20260319-143022-user-auth)FEATURE_NUM: The numeric or timestamp prefix used