一键导入
goji-commit-smart
Create git commits using goji rules from .goji.json (type/scope/emoji/signoff) with path-based heuristics.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create git commits using goji rules from .goji.json (type/scope/emoji/signoff) with path-based heuristics.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create consistent releases and changelogs
Validate, push the current branch, and create a GitLab merge request from the current diff
Reduce image file size using the MCP image-compression tool. If no path is provided, ask the user for the file.
Skill para registrar worklogs en Jira usando el issue key derivado del branch actual y una descripcion basada en los commits del branch.
Skill para consultar Jira Cloud mediante MCP y generar un archivo CSV con las tareas más frecuentes de un proyecto dado, sin filtrar por estado.
Skill para gestionar incidentes en Jira Cloud usando el MCP de Atlassian (crear, buscar y actualizar issues).
| name | goji-commit-smart |
| description | Create git commits using goji rules from .goji.json (type/scope/emoji/signoff) with path-based heuristics. |
| agent | OpenRepoManager |
| license | MIT |
.goji.json
types[] (name + emoji)scopes[]subjectmaxlengthsignoffinfobot.toml
[issueTracking] provider + projectKey[issueTracking.branch] extraction regexes (derive key/id from branch name)[commit] style (github|gitlab|jira)[commit.providers.*] rulestask validate before creating any commit.<type> <emoji> (<scope>): <subject>.--signoff when signoff: true.Decide commit style from infobot.toml [commit].style.
jira
AR-123).<type>(<scope>): <JIRA-KEY> <subject>.<JIRA-KEY> from the current branch name using infobot.toml [issueTracking].projectKey.
(<PROJECTKEY>-[0-9]+) when [issueTracking.branch].jiraKeyFromProjectKey = true.[issueTracking.branch].jiraKeyRegexOverride.github
(#123) at the end).Fixes #123.123 from the current branch name using infobot.toml [issueTracking.branch].githubIssueNumberRegex.gitlab
(#123) at the end).Closes #123.123 from the current branch name using infobot.toml [issueTracking.branch].gitlabIssueNumberRegex.<type> <emoji> (<scope>): <subject>
emoji comes from .goji.json types[].emoji for the chosen type.type must be one of .goji.json types[].name.scope must be one of .goji.json scopes[].subject length must be <= subjectmaxlength.For github/gitlab styles, append the issue at the end of the subject: (#<number>).
Examples:
docs 📚 (ci): document MCP setup (#123)ci 👷 (ci): bump github actions runner (#123)feat ✨ (core): add release task include (#123)Use these as defaults; ask only when ambiguous.
docs/** -> docs(ci).github/workflows/** -> ci(ci).claude/** -> chore(core).opencode/** -> prompt(core)Taskfile.yml -> build(core)data/** -> chore(core) (or sample(core) if clearly examples)pkg/** or internal/** or core/** or config/** -> feat(core) (or fix(core) if bug)If only formatting changes, prefer style(core). If only refactors with no behavior change, prefer refactor(core).
task validate
task validate fails, do not commit. Fix issues, re-run task validate, then proceed.git status --porcelain
git diff
git diff --cached
git diff --name-only
git diff --cached --name-only
git rev-parse --abbrev-ref HEAD
cat .goji.json
cat infobot.toml
style from infobot.toml [commit].style.git rev-parse --abbrev-ref HEAD) and extract:
jira: <PROJECTKEY>-<number> (default derived from [issueTracking].projectKey)github/gitlab: <number>.github/workflows/** separate from docs/**.claude/** separate from runtime codeDefault grouping by path:
docs/** -> one commit.github/workflows/** -> one commit.claude/** + provision/** -> one commit.opencode/** + data/** -> one commitTaskfile.yml -> group with CI/tooling changes (not docs)pkg/**|internal/**|core/**|config/** -> one commitgit add <paths>
type/scope from heuristics.emoji from .goji.json for that type.<subject> within .goji.json subjectmaxlength.jira: include <JIRA-KEY> (e.g. AR-123) early in the subject.github/gitlab: include (#<number>) (e.g. (#123)) at the end..goji.json signoff is true:git commit -s -m "<type> <emoji> (<scope>): <subject>"
git commit -m "<type> <emoji> (<scope>): <subject>"
.env, credentials.json, private keys, tokens).git commit --amend unless explicitly requested.reset --hard, force-push) unless explicitly requested.