PR Finalize Review
microsoft/garnet
Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.
This skill should be used when the user asks to "create a commit", "generate commit message", "commit changes", "make a commit", mentions "conventional commits", or discusses commit message…
$ npx skills add tektoncd/cli --skill commit-message -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tektoncd/cli commit-message --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tektoncd/cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/commit-message .claude/skills/commit-message && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "commit-message" agent skill from https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-message into .claude/skills/commit-message/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commit-message", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-messageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tektoncd/cli --skill commit-message -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tektoncd/cli commit-message --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tektoncd/cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/commit-message .agents/skills/commit-message && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "commit-message" agent skill from https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-message into .agents/skills/commit-message/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commit-message", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tektoncd/cli --skill commit-message -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tektoncd/cli commit-message --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tektoncd/cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/commit-message .cursor/skills/commit-message && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "commit-message" agent skill from https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-message into .cursor/skills/commit-message/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commit-message", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tektoncd/cli.git --path .agents/skills/commit-message--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tektoncd/cli --skill commit-message -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tektoncd/cli commit-message --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tektoncd/cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/commit-message .gemini/skills/commit-message && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "commit-message" agent skill from https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-message into .gemini/skills/commit-message/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commit-message", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tektoncd/cli commit-messageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tektoncd/cli --skill commit-message -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tektoncd/cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/commit-message .github/skills/commit-message && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "commit-message" agent skill from https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-message into .github/skills/commit-message/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commit-message", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tektoncd/cli --skill commit-message -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tektoncd/cli commit-message --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tektoncd/cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/commit-message .opencode/skills/commit-message && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "commit-message" agent skill from https://github.com/tektoncd/cli/tree/main/.agents/skills/commit-message into .opencode/skills/commit-message/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "commit-message", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
commit-messageThis skill should be used when the user asks to "create a commit", "generate commit message", "commit changes", "make a commit", mentions "conventional commits", or discusses commit message…
Commit Message is an agent skill from tektoncd/cli. This skill should be used when the user asks to "create a commit", "generate commit message", "commit changes", "make a commit", mentions "conventional commits", or discusses commit message formatting. Provides guided workflow for creating properly formatted commit messages with line length validation and required trailers.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/commit-types.md` and `references/trailer-detection.md`).
It sits in Development, covering Commit messages. It works with GitHub. The repository describes itself as: A CLI for interacting with Tekton! The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 808e3b1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Commit Message loads about 2.8k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 969 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tektoncd/cli at commit 808e3b1, republished under its Apache-2.0 licence (© tektoncd). 969 words, ~2,798 tokens.
.claude/skills/commit-message/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Create properly formatted conventional commit messages following project standards with line length validation and required trailers.
Generate commit messages that:
type(scope): description)CRITICAL: Never commit without explicit user confirmation.
<type>(<scope>): <description>
[optional body]
Signed-off-by: <name> <email>
Assisted-by: <Model name> (via <Tool>)Choose the appropriate commit type based on changes:
| Type | Description | Example |
|---|---|---|
feat | New features | feat(pipeline): add start --output flag |
fix | Bug fixes | fix(taskrun): resolve log streaming race |
docs | Documentation | docs(README): update installation steps |
refactor | Code refactoring | refactor(actions): simplify CRUD helpers |
test | Test changes | test(pipelinerun): add describe unit tests |
chore | Maintenance | chore(deps): update go dependencies |
build | Build system | build(Makefile): add vendor target |
ci | CI/CD changes | ci(github): add golangci-lint action |
perf | Performance | perf(log): optimize pod log streaming |
style | Code style | style(format): run goimports formatter |
revert | Revert commit | revert: undo breaking CLI flag change |
For complete type reference, see references/commit-types.md.
Analyze staged files to identify the primary component:
git diff --cached --name-only| File pattern | Scope | Example commit |
|---|---|---|
pkg/cmd/pipeline/* | pipeline | feat(pipeline): add start --dry-run flag |
pkg/cmd/task/* | task | fix(task): resolve list filtering |
pkg/cmd/pipelinerun/* | pipelinerun | feat(pipelinerun): add cancel subcommand |
pkg/cmd/taskrun/* | taskrun | fix(taskrun): correct log streaming |
pkg/actions/* | actions | refactor(actions): simplify CRUD |
pkg/formatted/* | formatted | feat(formatted): add JSON output |
pkg/log/* | log | fix(log): handle container restart |
pkg/pods/* | pods | fix(pods): resolve container lookup |
pkg/cli/* | cli | refactor(cli): extract client setup |
pkg/flags/* | flags | feat(flags): add --output flag |
pkg/plugins/* | plugins | feat(plugins): add discovery logic |
pkg/version/* | version | fix(version): correct server detection |
docs/* | docs or filename | docs(README): update steps |
test/* | component being tested | test(pipeline): add E2E tests |
cmd/* | command name | feat(tkn): add new subcommand |
| Root files | filename | chore(Makefile): add target |
AGENTS.md, CLAUDE.md | docs | docs(AGENTS.md): update conventions |
If the work is tracked in a GitHub issue and the user provides one, it can be used as the scope:
# Branch: fix-123-log-race
# Scope: #123 or component name
# Result: fix(log): resolve streaming race condition
Fixes #123Add Fixes #NNN or Closes #NNN in the commit body (not the scope) — this is the standard GitHub convention for auto-closing issues.
If changed files span multiple components or scope is unclear, ask the user which component is the primary focus.
type(scope): description counts toward limit# Good (40 chars)
feat(pipeline): add start --dry-run
# Too long - exceeds 72 char hard limit
feat(pipeline): add comprehensive dry-run support with preview output for pipeline start commandfeat(pipeline): add start --dry-run
Add dry-run flag to pipeline start command that previews the
PipelineRun YAML without creating it. Useful for validating
parameters and workspace bindings before submission.
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)Always include: Signed-off-by: <name> <email>
This certifies the Developer Certificate of Origin (DCO) — required by tektoncd upstream.
Detection priority order:
$GIT_AUTHOR_NAME and $GIT_AUTHOR_EMAILgit config user.name and git config user.emailecho "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>"
git config user.name
git config user.emailIf neither is configured, ask the user to provide their name and email.
Always include: Assisted-by: <model-name> (via <Tool>)
Format examples:
Assisted-by: <Model name> (via <Tool>)Use the actual model name (Claude Sonnet 4.5, Claude Opus 4.5, etc.).
CRITICAL RULE: Always ask for user confirmation before executing git commit.
Generated commit message:
---
feat(pipeline): add JSON output support
Add --output=json flag to pipeline list and describe commands.
Uses the existing formatted package JSON helpers.
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)
---
Should I commit with this message? (y/n)Wait for user response before proceeding.
Use heredoc format for proper multi-line handling:
git commit -m "$(cat <<'EOF'
feat(pipeline): add JSON output support
Add --output=json flag to pipeline list and describe commands.
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)
EOF
)"Never use:
--no-verify (skips pre-commit hooks)--no-gpg-sign (skips signing)--amend (unless explicitly requested and safe)feat(pipeline): add start --dry-run
Add dry-run flag to pipeline start command that previews the
PipelineRun YAML without creating it on the cluster.
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)fix(log): resolve concurrent streaming panic
Prevent nil pointer dereference when multiple containers stream
logs simultaneously during a TaskRun.
Fixes #789
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)docs(AGENTS.md): update architecture conventions
Add command tree structure and clarify golden-file testing
rules for contributors.
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)feat(cli)!: remove deprecated --namespace flag
Remove the deprecated short-form --namespace flag from all
commands. Use -n instead. Deprecated since v0.30.
BREAKING CHANGE: Removed --namespace long flag from all
commands. Use -n or --ns instead.
Signed-off-by: Developer Name <developer@example.com>
Assisted-by: <Model name> (via <Tool>)Every commit message must pass these checks:
type(scope): description (conventional commits). ! ? , : ; (exception: ! for breaking changes like feat!:)feat, fix, docs, style, refactor, test, chore, build, ci, perf, revertSigned-off-by: Name <email>Assisted-by: <Model name>Follow Tekton commit message standards:
type(scope): description)Signed-off-by trailer (DCO)When generating commit messages:
git status (without -uall flag)git diff for staged and unstaged changesFixes #NNN to bodyFor detailed information:
references/commit-types.md - Complete commit type reference with descriptionsreferences/trailer-detection.md - Author detection logic and priority order© tektoncd, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .agents/skills/commit-message of tektoncd/cli.
Open the folder on GitHubat commit 808e3b1
Commit Message next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Commit Message this skilltektoncd/cli | 461 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| PR Finalize Reviewmicrosoft/garnet | 12k | — | ~3.1k | Automated safety check: Pass | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Gh PR Metadatamodule-federation/core | 2.7k | — | ~1k | Automated safety check: Pass | MIT | |
| Draft Pull Request Creatorwordpress-mobile/WordPress-Android | 3.2k | — | ~881 | Automated safety check: Notes | GPL-2.0 |
microsoft/garnet
Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
module-federation/core
Update the current GitHub PR title and body for this repository so they match the repo's pull request template and conventional-commit title style.
wordpress-mobile/WordPress-Android
Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.
tisfeng/Easydict
创建或复用当前 checkout 已提交变更的 GitHub PR,必要时推送任务分支。PR 审查使用 review-pr;仅本地提交使用 git-commit。
tektoncd/cli
This skill should be used when the user asks to "create release note", "generate release notes", "release notes", "release changelog", "update GitHub release", or wants to generate categorized…
Works with
Categories
This skill should be used when the user asks to "create a commit", "generate commit message", "commit changes", "make a commit", mentions "conventional commits", or discusses commit message…. Commit Message is an agent skill from tektoncd/cli. This skill should be used when the user asks to "create a commit", "generate commit message", "commit changes", "make a commit", mentions "conventional commits", or discusses commit message formatting.
Commit Message fits situations like: asks to create a commit; generate commit message; mentions conventional commits; discusses commit message formatting.
Run `npx skills add tektoncd/cli --skill commit-message -a claude-code`. Or copy the skill folder (.agents/skills/commit-message in tektoncd/cli) into .claude/skills/commit-message in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tektoncd/cli --skill commit-message -a codex`. Or copy the skill folder (.agents/skills/commit-message in tektoncd/cli) into .agents/skills/commit-message in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tektoncd/cli --skill commit-message -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/commit-message, .gemini/skills/commit-message, .github/skills/commit-message and .opencode/skills/commit-message in your project.
Going by SKILL.md and its folder, Commit Message needs the command-line tools its instructions call (git).
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Commit Message is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Commit Message: PR Finalize Review (microsoft/garnet, 12k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars), Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars) and Gh PR Metadata (module-federation/core, 2.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tektoncd (a GitHub organization) maintains it in tektoncd/cli, which has 461 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.
Source: tektoncd/cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.