Repository navigation
Releases
Releases · qiaeru/skills-github
v2.2.1
Changed
- The skill and plugin descriptions follow the shape the owner's other plugins share: what the skill does, then when to use it, then how.
releasingand the README state their points plainly, without stock contrasts or announced emphasis.
Fixed
- The CHANGELOG example in
committingno longer adds a detail its "before" version lacks.
v2.2.0
Added
scaffolding-reposoffers a Dependabot configuration that keeps the GitHub Actions of a repo with workflows up to date.
Changed
scaffolding-reposflags a missingLICENSEonly in a public repo, writes the license the owner picks withgh repo license view, and starts from GitHub's official.gitignoretemplates for a stack it does not list.- The skills read the repo's default branch instead of assuming
main, so a repo still onmasterfollows the same workflow. committingmerges a pull request only while its head is still the one the owner approved.releasingnotes that immutable releases lock the tag once the Release is published, so a wrong release is fixed with a new patch version.
Fixed
scaffolding-reposkeeps Windows batch scripts (.bat,.cmd) in CRLF, since cmd.exe misreads them with LF endings.releasinglooks up the triggered run by the full commit hash, sincegh run list --commitmatches nothing with an abbreviated one.
v2.1.0
Added
releasingderives the SemVer bump from the repo (the[Unreleased]headings, or the commit types since the last tag) and publishes pre-releases with--prerelease;committingmarks breaking changes with!.- The invariants script checks that every step reference between or within the skills points to an existing numbered heading.
Changed
releasingworks in repos without aCHANGELOG.md: it writes the notes from the commits in the shape of the previous Release, and tagsHEADdirectly when there is nothing to bump. It also stops when no commit landed since the last tag, reads an ISO date from the shell, and bumps Node versions withnpm version --no-git-tag-version.committingtightens only the current concern's CHANGELOG bullets, leaving the full pass over[Unreleased]toreleasing. It writes each bullet just before staging its concern, reads untracked files in the comment pass and secret scan, skips the CHANGELOG where a repo has none, and writes theCo-Authored-Bytrailer into the message file.scaffolding-repospoints tocommittingfor why the CHANGELOG boilerplate stays English.
Fixed
scaffolding-reposrenormalizes line endings only after the scaffold commit and on a clean tree, so unrelated edits no longer land in the normalization commit, and never overwrites an existing.gitattributes.releasingpublishes with--verify-tag, so a tag missing on the remote aborts the Release instead of gh tagging another commit, and edits the notes when a workflow already created the Release. It watches the triggered run by ID with--exit-status, which works in a non-interactive shell and fails on a failed run, and writes the release commit subject in the repo's language.committingretries a rejected push with--autostash, since a plain rebase refuses to run while other concerns sit unstaged, and returns to an up-to-datemainafter a merge.- README: the intro no longer presents the manual copy as the install path.
v2.0.0
Changed
- The skills write in the language the repo already uses (French docs, French output; English docs, English output), following
CLAUDE.mdwhen it names one, instead of aDocs language:token; nothing has to be declared for the common case.committingalso states that a repo's own conventions beat the skill's defaults. committingandreleasingcommit straight tomainby default, with a branch and a pull request only when the owner asks or a protectedmainrejects the push, instead of two declared lock modes.- With
ghinstalled and authenticated, the skills do the GitHub side themselves:committingopens a requested pull request and merges it once the owner approves (gh pr merge, with an explicit strategy flag),releasingpublishes the Release withgh release createon the owner's request and watches the triggered run withgh run watch. Withoutgh, they give the owner what to paste. - The shared rules live once in
committing(the language rule in step 0, Git andghin step 1, CHANGELOG tightening in step 5);releasingandscaffolding-repospoint to them. scaffolding-reposinstalls three files (.gitignore,.gitattributes,CHANGELOG.md), writes no marker, and folds its language step into its intro (steps 1 to 4).
Removed
- The
## Repo profilemarker inCLAUDE.md, itsLock:andDocs language:tokens, the marker-only mode, and thelockedmode with its owner-merge gate before the tag.
v1.5.0
Changed
scaffolding-reposships one EnglishCHANGELOG.mdtemplate for both docs languages: the French Keep a Changelog page shows the same untranslated example (title, intro sentences, headings), so afrrepo keeps the English boilerplate and writes only its bullets in French. The skill also ends by committing the scaffold as onechore:commit, apart from the line-ending normalization.committingopens with the order to run its steps in (edit the worktree, then stage), defines the diff base once for both the secret scan and the comment pass, drops a bullet that repeated the shared rules in free mode, and no longer stalls on the profile confirmation when nobody can answer (it proceeds on the inferred profile,lockedwhen the lock is uncertain, and reports the assumption).releasingreads the profile throughcommittingstep 0 instead of restating it, reads today's date from the shell rather than from memory, counts lint and repo-invariants scripts among the pre-flight checks, spells out the Release notes (the promoted section minus its version heading), and tells CI-only workflows apart from release automation in its last step.scaffolding-reposexplains how to share a.claude/settings.jsondespite the ignored.claude/folder (.claude/*plus a!rule, since git cannot re-include a file under an excluded directory).- The three skill descriptions name more of the phrasings that should trigger them (a one-line change, "push this", tag or bump a version, audit a repo's setup).
- The invariants script also checks that the literal
## [Unreleased]heading exists in the CHANGELOG and its template, and that the French comment-translation table inscaffolding-reposmirrors the template comments, row for row. - README: the "Quick test" section folds into "First run".
Removed
- The
CHANGELOG.fr.mdtemplate, superseded by the single English one.
v1.4.0
v1.3.0
Added
- A
validateCI workflow mirroring the sibling repos: a repo-invariants script (skill frontmatter, relative links, the no-dash prose rule, plugin version matching the latest release), markdown hygiene via markdownlint-cli2, and the plugin manifest validation, on push, PR, and a weekly schedule. Dependabot keeps the workflow's actions current.
Changed
- English-prose pass over the README and the
committingskill: US spelling (color,behavior), missing serial commas, and small wording fixes. committingadds the amend rule (fix an unpushed commit withgit commit --amend, fix forward once pushed), per-concern staging instead of a reflexgit add -A, the same diff base for the secret scan as for the comment pass (with anorigin/mainfallback when the branch has no upstream), and pins the[Unreleased]and version headings as never localized.releasingnames the pre-release range (<last-tag>..HEAD, the whole history on a first release), guards the tag step (clean tree, right commit,vX.Y.Zas the tag message), recovers a pushed tag whose Release did not publish, skips the automation check when no workflow exists, and reminds that a released plugin reaches installed copies through/plugin update.scaffolding-reposflags a missingLICENSEto the owner without ever picking one.- Trim the skill descriptions back under the 300-character frontmatter limit, and write italics as underscores.
Fixed
- Drop the redundant
**/CLAUDE.mdline from the.gitignoretemplate: an unslashedCLAUDE.mdalready matches at every level.
v1.2.0
Added
- The repo now installs as a Claude Code plugin (
skills-github) and is its own marketplace, installable with/plugin marketplace add qiaeru/skills-githubthen/plugin install skills-github@skills-github, with updates through/plugin update; copying the skill folders by hand stays as a fallback.releasinglists the plugin manifest among the version files to bump.
Changed
scaffolding-reposships the CHANGELOG boilerplates as template files (templates/CHANGELOG.en.md/CHANGELOG.fr.md) instead of inline blocks in the skill.committingcondenses theCo-Authored-Byrule and uses a model-neutral example trailer, since commits may come from different Claude models (Fable, Opus).committingadds a pre-push scan for secrets and unintended staged files, names the diff-base commands (git merge-base origin/main HEADwhen locked,@{u}when free), recovers a rejected free-mode push withgit pull --rebase, and prunes every comment syntax (#included).releasingvalidates the plugin manifest after bumping its version, and checks that the tag, the manifest(s), and the new CHANGELOG heading agree on the version before tagging.- The
scaffolding-repostemplates ignore macOS._*, KDE.directory, and Zed.zed/files, and mark more binary types in.gitattributes(avif, mp3, mp4, ttf, otf, gz). scaffolding-reposrunsgit add --renormalize .after installing.gitattributesinto a repo that already has commits, with the normalization committed separately; its ecosystem examples gain Rust.
v1.1.1
v1.1.0
Changed
committingandreleasingnow write the four-lineRepo profilemarker themselves when it is missing, instead of delegating to the fullscaffolding-reposskill;scaffolding-reposdocuments this marker-only mode.committingflags that suppressing theGenerated with Claude CodePR trailer deliberately overrides the default Claude Code instruction, recommends passing multi-line commit messages and PR bodies through a file, and says to keep that file outside the worktree so it is never staged.releasingrecommends running the typecheck or build before tagging, with a fallback to cheap equivalent checks when the build only runs in CI or Docker, and passing Release notes through--notes-filerather than inline.releasingspells out the lockfile bump for two more layouts: a workspace monorepo (everypackages.<workspace>node) and several independent packages side by side (the two-occurrence rule per lockfile), and warns against editing a dependency that shares the version number by coincidence.releasingstep 5 now has the owner read the publishing workflow'son:trigger (tag push vs Release event) to know when automation fires, and confirm the run succeeded withgh run list/gh run watchrather than only noting it was triggered.releasingnotes thatgh release createdefaults the Release title to the tag (pass--titlefor another label), and that on a squash-merge repo the feature branch must be deleted local-first or withgit branch -D, since the flattened commits makegit branch -drefuse.
Fixed
committingnow says to keep theCo-Authored-Bytrailer Claude adds verbatim, without stripping it or hardcoding a model name or version, so commits stay attributed to whichever model actually made them.