# Distinctdeer

> Claim an unused project name with distinctdeer and create an empty git repo for it. Use when starting a new project, when a new project needs a name, or when creating a fresh project directory.

- Skill: `gkwa/distinctdeer` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gkwa/distinctdeer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gkwa/distinctdeer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gkwa (https://skillmd.com/u/gkwa)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gkwa/distinctdeer

---


## distinctdeer

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.

