一键导入
commit
Commit staged changes, push the branch, and create or update a PR with a conventional-commit-formatted title. Use after completing a feature or fix.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Commit staged changes, push the branch, and create or update a PR with a conventional-commit-formatted title. Use after completing a feature or fix.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when the repository may have drifted out of conformance with OSS_SPEC.md. Runs `oss-spec validate .`, walks the violations, and fixes each one so the self-conformance test keeps passing.
Use when prompts under prompts/ may be stale. Discovers changes to OSS_SPEC.md, the validator, manifest enums, and the ai/fix glue since the last run, and rewrites the affected prompt templates so they stay aligned with their sources of truth.
Use when files under docs/ may be stale. Discovers commits since the last docs update, maps changed source files to affected conceptual documentation, and brings docs/*.md back into sync with the implementation.
Use when README.md may be stale. Discovers commits since the last README update, identifies what changed (CLI flags, subcommands, §19 rules, supported languages, spec version), and updates the affected README sections.
Use when OSS_SPEC.md has been edited. Bumps the spec version field, propagates the new mandate through validate.rs, tests, templates, docs, README, AGENTS.md, and the self-conformance test.
Use when you want to bring every drift-prone artifact in the repo back into sync. Dispatches to all individual update-* skills in the correct order, aggregates their results, and leaves a single combined PR ready to review.
基于 SOC 职业分类
| name | commit |
| description | Commit staged changes, push the branch, and create or update a PR with a conventional-commit-formatted title. Use after completing a feature or fix. |
This skill handles the full workflow: verify quality gates → commit → push → create or update a PR.
Run all checks before committing. All must pass:
make build # must compile cleanly
make test # all tests must pass
make lint # zero clippy warnings
make fmt-check # code formatted
Stop if any check fails. Fix the issue, then re-run.
Always work on a feature branch — never commit directly to main.
Check the current branch:
git branch --show-current
If already on main (or any protected branch), create and switch to a feature branch before staging anything. Derive the branch name from the commit type and a short summary of the change (kebab-case, no special characters):
git checkout -b type/short-description
# e.g.: feat/website, fix/check-symlinks, refactor/bootstrap-render
If already on a feature branch, continue with that branch — do not create another one.
git status && git diff --staged && git diff
Understand what changed so you can write an accurate commit message and PR title.
Stage relevant files (prefer specific paths over git add -A to avoid accidentally including secrets or build artifacts):
git add <files...>
Write a conventional commit message:
type(scope): summary in imperative mood
Changelog-eligible types (pick the right one — it determines what appears in the changelog):
| Type | Changelog section | Version bump |
|---|---|---|
feat | Added | minor |
fix | Fixed | patch |
perf | Performance | patch |
docs | Documentation | none |
test | Tests | none |
refactor, chore, ci, build, style | (not included) | none |
For breaking changes use feat!: or fix!:, or add a BREAKING CHANGE: footer → triggers a major version bump.
Scopes are lowercase, comma-separated if multiple: feat(check,bootstrap): ...
git commit -m "type(scope): summary"
git push -u origin HEAD
Check if a PR already exists for this branch:
gh pr view --json number,title,url 2>/dev/null
The PR title must follow conventional commit format — it becomes the squashed commit message on main and is what drives the changelog. Match it to the overall intent of the branch, not just the latest commit.
gh pr create \
--title "type(scope): summary" \
--body "$(cat <<'EOF'
## Summary
<brief description of the changes and motivation>
## Test plan
- [ ] `make build` passes
- [ ] `make test` passes
- [ ] `make lint` has zero warnings
- [ ] `make fmt-check` applied
## Checklist
- [ ] Tests added/updated
- [ ] Documentation updated (if user-facing behavior changed):
- [ ] `README.md`
- [ ] `man/oss-spec.md`
- [ ] `docs/agent/help-agent.txt`
- [ ] `agent_help::COMMANDS_TABLE` / `COMMAND_SPECS`
- [ ] Commit messages follow conventional commit style
EOF
)"
Re-evaluate the PR title and description to reflect the combined scope of all commits on the branch, then update:
gh pr edit \
--title "type(scope): updated summary" \
--body "$(cat <<'EOF'
## Summary
<updated description covering all changes>
## Test plan
- [ ] `make build` passes
- [ ] `make test` passes
- [ ] `make lint` has zero warnings
- [ ] `make fmt-check` applied
## Checklist
- [ ] Tests added/updated
- [ ] Documentation updated (if user-facing behavior changed):
- [ ] `README.md`
- [ ] `man/oss-spec.md`
- [ ] `docs/agent/help-agent.txt`
- [ ] `agent_help::COMMANDS_TABLE` / `COMMAND_SPECS`
- [ ] Commit messages follow conventional commit style
EOF
)"
feat(check,bootstrap): ...--no-verify) — fix the underlying issue instead.