Skip to content
Agentmart
Submit a tool

dotfile

Create conventional commits for ~/.dotfiles.git bare repo.

Skill by gitduk

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/gitduk-dotfile

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Create conventional commits for ~/.dotfiles.git bare repo. Analyzes changes, stages files, and generates semantic commit messages.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dotfile

Tools it pre-approves 2

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash,
  • Read

What's inside

Skill name
dotfile
Description
Create conventional commits for ~/.dotfiles.git bare repo. Analyzes changes, stages files, and generates semantic commit messages.
License
MIT
Allowed tools
Bash,, Read
Instructions
112 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands
  • Instructions read files in your home folder (~/.ssh, ~/.aws…)

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Dotfiles Commit Skill

Manage commits for a bare git repo (`~/.dotfiles.git`, worktree `$HOME`) using Conventional Commits.

## Git Command

All git operations MUST use this prefix:

```bash
git --work-tree=$HOME --git-dir=$HOME/.dotfiles.git <command>
```

Abbreviated as `dotgit` below for clarity. Always expand to the full form when executing.

## Workflow

### 1. Check status and diff

```bash
# Always run these three in parallel to understand current state
dotgit status --porcelain
dotgit diff --staged
dotgit diff
```

If nothing is staged, ask the user what to stage, or stage all changed tracked files.

### 2. Review recent commits for style consistency

```bash
dotgit log --oneline -10
```

### 3. Stage files

```bash
# Stage specific files (preferred - be explicit)
dotgit add ~/.zshrc ~/.config/nvim/init.lua

# Stage all tracked changes
dotgit add -u
```

**NEVER** stage secrets: `.env`, credentials, private keys, tokens.

### 4. Commit

```bash
dotgit commit -m "$(cat <<'EOF'
<type>(<scope>): <description>

<optional body>
EOF
)"
```

### 5. Push (if requested)

**Argument parsing**: Check if the user passed `push` as an argument (e.g., `/dotfile push`).

If `push` argument is present:

```bash
dotgit push
```

If push fails due to no upstream, set it:

```bash
dotgit push -u origin $(dotgit branch --show-current)
```

If `push` argument is NOT present, do NOT push.

## Commit Convention

Format: `<type>(<scope>): <description>`

**Types**: `feat`, `fix`, `docs`, `style`, `refactor`, `chore`

**Common scopes for dotfiles**:

| Scope      | Files                                  |
| ---------- | -------------------------------------- |
| `zsh`      | .zshrc, .zsh.d/, .zprofile, .zshenv   |
| `vim`      | .vimrc, .config/nvim/                  |
| `tmux`     | .tmux.conf, .config/tmux/             |
| `git`      | .gitconfig, .gitignore_global         |
| `ssh`      | .ssh/config                            |
| `claude`   | .claude/                               |
| `alacritty`| .config/alacritty/                     |
| `kitty`    | .config/kitty/                         |
| `starship` | .config/starship.toml                  |
| `homebrew` | Brewfile, .Brewfile                    |
| `shell`    | cross-shell scripts, .local/bin/       |

Omit scope if changes span multiple unrelated areas.

**Rules**:
- Imperative mood, present tense: "add", not "added"
- Description < 72 chars
- One logical change per commit
- Analyze the actual diff content to determine type and scope, don't guess

## Safety

- NEVER update git config
- NEVER run destructive commands (--force, hard reset) without explicit request
- NEVER skip hooks unless user asks
- If commit fails due to hooks, fix and create a NEW commit (don't amend)

From gitduk/agents, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Feb 3, 2026 (8 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from gitduk

Cite this page

dotfile skill. Agent Mart. https://agentmart.dev/skills/gitduk-dotfile (last updated 2026-10-24)