con un clic
committing-smart
Create a Jira SMART-formatted git commit (TICKET-ID
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Create a Jira SMART-formatted git commit (TICKET-ID
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Publish a new version of node-pandas to the npm registry. Validates auth, branch, working tree, and tests; bumps version (patch/minor/major); generates changelog from commits since last tag; creates an annotated git tag; runs npm publish; logs the release to .kiro/published-versions.md. Always shows a dry-run preview and waits for explicit user approval before publishing. Has rollback on failure.
Create a Jira SMART-formatted git commit (TICKET-ID
Basado en la clasificación ocupacional SOC
| name | committing-smart |
| description | Create a Jira SMART-formatted git commit (TICKET-ID |
Create a Jira SMART-formatted commit for the node-pandas project. The format is:
<type>(<scope>): TICKET-ID #time Xm #comment <message>
Where <type> is a conventional commit type (feat, fix, docs, refactor, test, chore, perf, style) and <scope> is optional (e.g. series, dataframe).
Execute these steps in order. Never skip the user-confirmation step at the end.
Run git diff --cached --name-only (skip if you have already committed the changes a minute before — in that case feel free to push the changes instead).
If empty:
git status --short to see if there are unstaged changes.git add -A or git add .).Try these in order; stop at the first match.
a. From the current branch name.
git rev-parse --abbrev-ref HEAD to get the branch.[A-Z]+-\d+ against the branch name (case-sensitive on the letters).DSA-42, feat/DSA-100-add-pivot, bugfix/TSH-7-fix-merge, DSA-3 → take the first match.master, main, develop, feat/add-pivot (no ticket).b. From the most recent time-log entry.
.kiro/time-log.md (path relative to the repo root).Ticket column holds the ID.c. Ask the user.
<branch> or .kiro/time-log.md. What ticket should I use? (e.g. DSA-42)"[A-Z]+-\d+. Re-ask if invalid.Count files changed: git diff --cached --name-only | wc -l.
| File count | Time estimate |
|---|---|
| 1-2 | 10m |
| 3-5 | 20m |
| 6-10 | 30m |
| 11+ | 45m |
The user can override in step 6 (the approval prompt accepts a different time).
Run git diff --cached --stat and git diff --cached (truncate the latter mentally if huge — read enough to understand intent).
Pick a conventional commit type from the changes:
*.md, docs/, README*) → docstests/, *.test.js, *.spec.js) → testpackage.json, .gitignore, jest.config.js, .kiro/** non-spec) → choreCHANGELOG.md + version bump in package.json → chore(release)src/ adding capability → featsrc/ fixing broken behavior → fixsrc/ restructuring without behavior change → refactorsrc/ improving speed/memory → perfrefactor if truly mixedPick a scope (optional but encouraged):
src/series/ → seriessrc/dataframe/ → dataframesrc/features/ → name the feature (e.g. groupBy)src/utils/ → utilsdocs:Write the message body (the part after #comment):
Add setIndex and resetIndex methods to DataFrameFix off-by-one in rolling window mean for first elementDocument camelCase aliases for snake_case Series methods<type>(<scope>): TICKET-ID #time Xm #comment <message>
Examples:
feat(series): DSA-42 #time 20m #comment Add setIndex and resetIndex with drop optiondocs: DSA-100 #time 10m #comment Document naming convention and snake_case aliaseschore(release): DSA-50 #time 10m #comment Bump version to 2.3.0 with indexing foundationShow the user the proposed commit in this format:
Proposed commit:
Branch: <current-branch>
Ticket: <TICKET-ID> (source: branch | time-log | user-provided)
Time: <Xm> (estimate based on N files; override OK)
Type: <type>(<scope>)
Message: <message body>
Full commit message:
<type>(<scope>): TICKET-ID #time Xm #comment <message>
Files (N):
M src/series/series.js
A tests/unit/setIndex.test.js
M README.md
Approve? (yes / edit ticket / edit time / edit message / cancel)
Wait for the user's response. Handle each case:
\d+m or \d+h(\s\d+m)?), redisplay.Use a HEREDOC to preserve formatting:
git commit -m "$(cat <<'EOF'
<type>(<scope>): TICKET-ID #time Xm #comment <message>
EOF
)"
Do not add Co-Authored-By lines. The SMART format is the project's convention; no other footers.
If the commit fails because of a pre-commit hook, do not retry with --no-verify. Investigate the hook output, fix the underlying issue, re-stage, and create a NEW commit (never --amend to recover from hook failure — the original commit didn't happen).
Append a row to .kiro/time-log.md. Format (preserves the existing table layout):
| YYYY-MM-DD | TICKET-ID | Xm | <short-hash> | <message body> |
currentDate if available, else date +%Y-%m-%d).git rev-parse --short HEAD.If the file is missing the table header, skip the update silently — don't auto-create a new file structure (that's a separate spec).
Committed <short-hash> on <branch>
<full commit message>
Time log updated.
Do not push. Pushing is a separate, deliberate action; the user can run git push themselves or use /cap for the combined flow.
git add -A or git add . — only stage files the user explicitly mentioned, or what was already staged.--no-verify). If a hook fails, fix the underlying issue.master / main from this skill (don't push at all).Use when the user asks to "commit", "make a commit", "smart commit", or invokes /committing-smart. If the user wants to commit AND push in one step, use the existing /cap skill instead. If the user wants a non-SMART commit (e.g. for a fork or a non-Jira project), don't force the SMART format — fall back to a plain conventional commit.