Skip to main content

commit

Create a local git commit for source skills without pushing.

skillshare commit                         # Commit with default message
skillshare commit -m "Update skill" # Custom message
skillshare commit --dry-run # Preview

When to Use

  • Save a local checkpoint before experimenting with skill edits
  • Commit changes on a machine or source repo that does not have a remote configured
  • Keep local history separate from sharing changes across machines

Use push when you want to commit and push to a git remote.

What Happens

commit stages all changes in the skills source directory and creates a git commit. It does not require a remote and never runs git push.

Options

FlagDescription
-m, --message <msg>Commit message (default: "Update skills")
--dry-run, -nPreview without making changes

Git Root Scope

commit operates on the directory selected by the git_root config field (default: skills source). Use skillshare init --git-root <scope> to change which directory is versioned. Valid scopes:

ScopeDirectory
skills (default)Skills source (~/.config/skillshare/skills/)
agentsAgents source (~/.config/skillshare/agents/)
extrasExtras source (~/.config/skillshare/extras/)
rootConfig root (~/.config/skillshare/) — versions skills + agents + extras in one repo

If git_root was changed but the git repo still lives in another scope's directory, commit prints a "Git root mismatch" error with the exact git init / mv commands to fix it. See Changing the scope after init.

Prerequisites

Your skills source directory must be a git repository:

skillshare init

If the source is not a git repository, commit prints a setup hint and exits without changing files.

Examples

# Commit with the default message
skillshare commit

# Commit with a custom message
skillshare commit -m "Update review skill"

# Preview staged files and message without committing
skillshare commit --dry-run

See Also

  • push — Commit and push to a git remote
  • pull — Pull from remote and sync to targets
  • status — Check git and sync state