원클릭으로
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.