vcs-detect/SKILL.md
Detect whether the current project uses jj (Jujutsu) or git for version control. Run this BEFORE any VCS command to use the correct tool.
npx skillsauth add sanurb/skills vcs-detectInstall 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.
Detect the version control system in use before running any VCS commands.
git commands in a jj repo (or vice versa) causes errors.jj/ and .git/ exist)Both jj root and git rev-parse --show-toplevel walk up the filesystem to find repo root.
Priority order:
jj root succeeds → jj (handles colocated too)git rev-parse succeeds → gitif jj root &>/dev/null; then echo "jj"
elif git rev-parse --show-toplevel &>/dev/null; then echo "git"
else echo "none"
fi
| Operation | git | jj |
|-----------|-----|-----|
| Status | git status | jj status |
| Log | git log | jj log |
| Diff | git diff | jj diff |
| Commit | git commit | jj commit / jj describe |
| Branch list | git branch | jj branch list |
| New branch | git checkout -b <name> | jj branch create <name> |
| Push | git push | jj git push |
| Pull/Fetch | git pull / git fetch | jj git fetch |
| Rebase | git rebase | jj rebase |
Before any VCS operation:
none, warn user directory is not version controlledUser: Show me the git log
Agent: [Runs detection] -> Result: jj
Agent: [Runs `jj log` instead of `git log`]
When both .jj/ and .git/ exist, the repo is "colocated":
development
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub, GitLab, fp, or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `fp-plan`, `fp-implement`, `fp-review`, `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.
development
Build a throwaway prototype to flush out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says "prototype this", "let me play with it", "try a few designs".
tools
Control herdr (a terminal-native agent multiplexer) from inside it. Manage workspaces and tabs, split panes, spawn sibling agents, read pane output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1). Do not use outside herdr.
documentation
Compact the current conversation into a handoff document for another agent to pick up.