About distinctdeer
distinctdeer is a project-naming skill that claims an unused name and records it as taken. It runs from GitHub without a local checkout, then initializes an empty repository at the configured project root; project scaffolding is left to other skills.
Key features
- 01Claim an unused project name
- 02Record the claim in an Obsidian vault
- 03Copy the name to the clipboard
- 04Initialize an empty Git repository
Use cases
- 01Reserve a name for a new project
- 02Create an empty repository at the project root
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ gkwa/ volcanicviper --skill distinctdeerAfter installing, type/distinctdeerin Claude Code to confirm it loaded.
Details
From the project READMEdistinctdeer
distinctdeer owns the pool of project names and hands out an unused one.
Treat it as the sole authority on names, and let it record the claim itself.
It runs straight from GitHub, so no local checkout is involved and nothing on disk needs to be kept in sync.
Base directory
New projects live under one root, PDEV_ROOT, which defaults to $HOME/pdev/taylormonacelli.
Shell state does not persist between tool calls, so the command below expands the root inline rather than relying on an exported variable.
Claim a name
uv tool run --from git+https://github.com/gkwa/distinctdeer distinctdeer use --out json rand
This prints {"name": "<name>"} and marks the name used in one step.
Read <name> out of that JSON and use it for the rest of the run.
Create the project
git init "${PDEV_ROOT:-$HOME/pdev/taylormonacelli}/<name>"
git init creates the directory itself, so this is the entire step.
Report the resolved absolute path when done.
The result is an empty repository with no commit, which is where this skill stops.
Scaffolding what goes inside it belongs to the language-specific skills.
Reference
--from belongs to uv tool run, and uv run rejects it while suggesting --frozen.
--out belongs to the use subcommand and comes before rand.
use --out json rand works, while use rand --out json exits with an unrecognized-arguments error.
distinctdeer copies the claimed name to the clipboard, replacing whatever was there.
distinctdeer records the claim in the Obsidian vault and leaves that change uncommitted, which is expected; leave it as it stands.