From ork
Creates conventional git commits with validation, branch safety checks, local Python/JS linting/formatting/typechecking, change review, and agent attribution. Use for safe commits.
npx claudepluginhub yonatangross/orchestkit --plugin orkThis skill is limited to using the following tools:
Simple, validated commit creation. Run checks locally, no agents needed for standard commits.
references/conventional-commits.mdreferences/recovery.mdrules/_sections.mdrules/_template.mdrules/atomic-commit.mdrules/branch-protection.mdrules/commit-splitting.mdrules/conventional-format.mdrules/history-hygiene.mdrules/issue-reference-required.mdrules/merge-strategy.mdrules/stacked-pr-rebase.mdrules/stacked-pr-workflow.mdscripts/validate-conventional.shtest-cases.jsonManages Git commit workflow using Conventional Commits format with safety protocols. Creates, validates, executes commits; handles hooks, PRs, and safety checks before operations.
Manages git commit workflows: checks status and diffs, stages changes selectively, generates and validates conventional commit messages, then executes commits.
Guides systematic git commits: checks staging status, reviews diffs, splits changes into atomic commits, formats conventional messages. Use before PRs or when committing code.
Share bugs, ideas, or general feedback.
Simple, validated commit creation. Run checks locally, no agents needed for standard commits.
/ork:commit
/ork:commit fix typo in auth module
COMMIT_MSG = "$ARGUMENTS" # Optional commit message, e.g., "fix typo in auth module"
# If provided, use as commit message. If empty, generate from staged changes.
# $ARGUMENTS[0] is the first token (CC 2.1.59 indexed access)
# CRITICAL: Verify we're not on dev/main
BRANCH=$(git branch --show-current)
if [[ "$BRANCH" == "dev" || "$BRANCH" == "main" || "$BRANCH" == "master" ]]; then
echo "STOP! Cannot commit directly to $BRANCH"
echo "Create a feature branch: git checkout -b issue/<number>-<description>"
exit 1
fi
Run every check that CI runs:
# Backend (Python)
poetry run ruff format --check app/
poetry run ruff check app/
poetry run mypy app/
# Frontend (Node.js)
npm run format:check
npm run lint
npm run typecheck
Fix any failures before proceeding.
git status
git diff --staged # What will be committed
git diff # Unstaged changes
Before committing, check for the branch activity ledger at .claude/agents/activity/{branch}.jsonl.
If it exists and has entries since the last commit, include them in the commit message:
.claude/agents/activity/{branch}.jsonl (one JSON object per line)ts is after the last commit timestamp (git log -1 --format=%cI)duration_ms < 5000 (advisory-only agents go in PR, not commits)Co-Authored-By trailers: Co-Authored-By: ork:{agent} <noreply@orchestkit.dev>If the ledger doesn't exist or is empty, skip this step — commit normally.
# Stage files
git add <files>
# Or all: git add .
# Commit with conventional format (with agent attribution if ledger exists)
git commit -m "<type>(#<issue>): <brief description>
- [Change 1]
- [Change 2]
Agents Involved:
backend-system-architect — API design + data models (2m14s)
security-auditor — Dependency audit (0m42s)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: ork:backend-system-architect <noreply@orchestkit.dev>
Co-Authored-By: ork:security-auditor <noreply@orchestkit.dev>"
# Verify
git log -1 --stat
After successful commit, write handoff:
Write(".claude/chain/committed.json", JSON.stringify({
"phase": "commit", "sha": "<commit-sha>",
"message": "<commit-message>", "branch": "<branch>",
"files": [<staged-files>]
}))
| Type | Use For |
|---|---|
feat | New feature |
fix | Bug fix |
refactor | Code improvement |
docs | Documentation |
test | Tests only |
chore | Build/deps/CI |
#123 format in commit messageFor trivial changes (typos, single-line fixes):
git add . && git commit -m "fix(#123): Fix typo in error message
Co-Authored-By: Claude <noreply@anthropic.com>"
ork:create-pr: Create pull requests from commitsork:review-pr: Review changes before committingork:fix-issue: Fix issues and commit the fixesork:issue-progress-tracking: Auto-updates GitHub issues with commit progressEach category has individual rule files in rules/ loaded on-demand:
| Category | Rule | Impact | Key Pattern |
|---|---|---|---|
| Atomic Commits | ${CLAUDE_SKILL_DIR}/rules/atomic-commit.md | CRITICAL | One logical change per commit, atomicity test |
| Branch Protection | ${CLAUDE_SKILL_DIR}/rules/branch-protection.md | CRITICAL | Protected branches, required PR workflow |
| Commit Splitting | ${CLAUDE_SKILL_DIR}/rules/commit-splitting.md | HIGH | git add -p, interactive staging, separation strategies |
| Conventional Format | ${CLAUDE_SKILL_DIR}/rules/conventional-format.md | HIGH | type(scope): description, breaking changes |
| History Hygiene | ${CLAUDE_SKILL_DIR}/rules/history-hygiene.md | HIGH | Squash WIP, fixup commits, clean history |
| Issue Reference | ${CLAUDE_SKILL_DIR}/rules/issue-reference-required.md | HIGH | Reference issue #N in commits on issue branches |
| Merge Strategy | ${CLAUDE_SKILL_DIR}/rules/merge-strategy.md | HIGH | Rebase-first, conflict resolution, force-with-lease |
| Stacked PRs | ${CLAUDE_SKILL_DIR}/rules/stacked-pr-workflow.md | HIGH | Stack planning, PR creation, dependency tracking |
| Stacked PRs | ${CLAUDE_SKILL_DIR}/rules/stacked-pr-rebase.md | HIGH | Rebase management, force-with-lease, retargeting |
Total: 9 rules across 7 categories
Load on demand with Read("${CLAUDE_SKILL_DIR}/references/<file>"):
| File | Content |
|---|---|
references/conventional-commits.md | Conventional commits specification |
references/recovery.md | Recovery procedures |