vcs-detect_skill

This skill detects whether jj or git is used in the current project before any VCS command to route to the correct tool.
  • Shell

477

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill dmmulroy/.dotfiles --skill vcs-detect

  • SKILL.md1.9 KB

Overview

This skill detects whether the current project uses jj (Jujutsu) or git for version control and outputs which tool to use. It runs a lightweight probe before any VCS command so an agent or script can select the correct CLI and avoid errors. The skill favors jj when both systems are present (colocated repos).

How this skill works

It executes the native discovery commands that walk the filesystem to find the repository root. First it runs jj root and, if that succeeds, returns jj. If that fails it runs git rev-parse --show-toplevel and returns git on success. If both fail it reports none so callers know the directory is not version controlled.

When to use it

  • Before running any VCS command to avoid invoking the wrong tool
  • In automation or CI scripts that must support both jj and git repositories
  • When opening a repo that may be colocated with both .jj/ and .git/
  • In language agents that translate user VCS requests into concrete commands
  • During pre-flight checks for developer tooling or editor integrations

Best practices

  • Run the detection command at the start of any VCS-related workflow
  • Prefer jj when detection finds both jj and git present (colocated repos)
  • Cache the detected result for the session if the working directory is unchanged
  • Treat a none result as a signal to warn the user or initialize a repository
  • Keep the detection command simple and side-effect free (no writes)

Example use cases

  • An assistant receives “Show me the log” and runs detection to choose jj log or git log
  • A CI step adapts its fetch/checkout commands depending on the repo's VCS
  • An editor plugin decides which status and branch commands to run for the open project
  • A wrapper script exposes unified commands and delegates to the correct VCS
  • A migration tool verifies target repositories and avoids running incompatible commands

FAQ

It runs jj root and falls back to git rev-parse --show-toplevel; if neither succeeds it reports none.

Why prefer jj when both .jj/ and .git/ exist?

In colocated repos jj manages the working copy and should be the command used for repository operations; git may be present for compatibility only.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational