Skip to content

Releases

v2.2.1

Choose a tag to compare

@qiaeru qiaeru released this 23 Oct 14:00

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.
  • releasing and the README state their points plainly, without stock contrasts or announced emphasis.

Fixed

  • The CHANGELOG example in committing no longer adds a detail its "before" version lacks.

v2.2.0

Choose a tag to compare

@qiaeru qiaeru released this 21 Oct 16:06

Added

  • scaffolding-repos offers a Dependabot configuration that keeps the GitHub Actions of a repo with workflows up to date.

Changed

  • scaffolding-repos flags a missing LICENSE only in a public repo, writes the license the owner picks with gh repo license view, and starts from GitHub's official .gitignore templates for a stack it does not list.
  • The skills read the repo's default branch instead of assuming main, so a repo still on master follows the same workflow.
  • committing merges a pull request only while its head is still the one the owner approved.
  • releasing notes that immutable releases lock the tag once the Release is published, so a wrong release is fixed with a new patch version.

Fixed

  • scaffolding-repos keeps Windows batch scripts (.bat, .cmd) in CRLF, since cmd.exe misreads them with LF endings.
  • releasing looks up the triggered run by the full commit hash, since gh run list --commit matches nothing with an abbreviated one.

v2.1.0

Choose a tag to compare

@qiaeru qiaeru released this 23 Sep 12:38

Added

  • releasing derives the SemVer bump from the repo (the [Unreleased] headings, or the commit types since the last tag) and publishes pre-releases with --prerelease; committing marks breaking changes with !.
  • The invariants script checks that every step reference between or within the skills points to an existing numbered heading.

Changed

  • releasing works in repos without a CHANGELOG.md: it writes the notes from the commits in the shape of the previous Release, and tags HEAD directly 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 with npm version --no-git-tag-version.
  • committing tightens only the current concern's CHANGELOG bullets, leaving the full pass over [Unreleased] to releasing. 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 the Co-Authored-By trailer into the message file.
  • scaffolding-repos points to committing for why the CHANGELOG boilerplate stays English.

Fixed

  • scaffolding-repos renormalizes 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.
  • releasing publishes 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.
  • committing retries a rejected push with --autostash, since a plain rebase refuses to run while other concerns sit unstaged, and returns to an up-to-date main after a merge.
  • README: the intro no longer presents the manual copy as the install path.

v2.0.0

Choose a tag to compare

@qiaeru qiaeru released this 14 Sep 08:42

Changed

  • The skills write in the language the repo already uses (French docs, French output; English docs, English output), following CLAUDE.md when it names one, instead of a Docs language: token; nothing has to be declared for the common case. committing also states that a repo's own conventions beat the skill's defaults.
  • committing and releasing commit straight to main by default, with a branch and a pull request only when the owner asks or a protected main rejects the push, instead of two declared lock modes.
  • With gh installed and authenticated, the skills do the GitHub side themselves: committing opens a requested pull request and merges it once the owner approves (gh pr merge, with an explicit strategy flag), releasing publishes the Release with gh release create on the owner's request and watches the triggered run with gh run watch. Without gh, they give the owner what to paste.
  • The shared rules live once in committing (the language rule in step 0, Git and gh in step 1, CHANGELOG tightening in step 5); releasing and scaffolding-repos point to them.
  • scaffolding-repos installs three files (.gitignore, .gitattributes, CHANGELOG.md), writes no marker, and folds its language step into its intro (steps 1 to 4).

Removed

  • The ## Repo profile marker in CLAUDE.md, its Lock: and Docs language: tokens, the marker-only mode, and the locked mode with its owner-merge gate before the tag.

v1.5.0

Choose a tag to compare

@qiaeru qiaeru released this 05 Sep 06:27

Changed

  • scaffolding-repos ships one English CHANGELOG.md template for both docs languages: the French Keep a Changelog page shows the same untranslated example (title, intro sentences, headings), so a fr repo keeps the English boilerplate and writes only its bullets in French. The skill also ends by committing the scaffold as one chore: commit, apart from the line-ending normalization.
  • committing opens 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, locked when the lock is uncertain, and reports the assumption).
  • releasing reads the profile through committing step 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-repos explains how to share a .claude/settings.json despite 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 in scaffolding-repos mirrors the template comments, row for row.
  • README: the "Quick test" section folds into "First run".

Removed

  • The CHANGELOG.fr.md template, superseded by the single English one.

v1.4.0

Choose a tag to compare

@qiaeru qiaeru released this 05 Jul 16:31

Changed

  • CHANGELOG headings stay English in fr repos too (Added, Fixed, [Unreleased]): the official Keep a Changelog French translation keeps the English labels, so the skills stop localizing the change-type names.

v1.3.0

Choose a tag to compare

@qiaeru qiaeru released this 05 Jul 16:22

Added

  • A validate CI 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 committing skill: US spelling (color, behavior), missing serial commas, and small wording fixes.
  • committing adds the amend rule (fix an unpushed commit with git commit --amend, fix forward once pushed), per-concern staging instead of a reflex git add -A, the same diff base for the secret scan as for the comment pass (with an origin/main fallback when the branch has no upstream), and pins the [Unreleased] and version headings as never localized.
  • releasing names the pre-release range (<last-tag>..HEAD, the whole history on a first release), guards the tag step (clean tree, right commit, vX.Y.Z as 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-repos flags a missing LICENSE to 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.md line from the .gitignore template: an unslashed CLAUDE.md already matches at every level.

v1.2.0

Choose a tag to compare

@qiaeru qiaeru released this 12 Jun 16:15

Added

  • The repo now installs as a Claude Code plugin (skills-github) and is its own marketplace, installable with /plugin marketplace add qiaeru/skills-github then /plugin install skills-github@skills-github, with updates through /plugin update; copying the skill folders by hand stays as a fallback. releasing lists the plugin manifest among the version files to bump.

Changed

  • scaffolding-repos ships the CHANGELOG boilerplates as template files (templates/CHANGELOG.en.md / CHANGELOG.fr.md) instead of inline blocks in the skill.
  • committing condenses the Co-Authored-By rule and uses a model-neutral example trailer, since commits may come from different Claude models (Fable, Opus).
  • committing adds a pre-push scan for secrets and unintended staged files, names the diff-base commands (git merge-base origin/main HEAD when locked, @{u} when free), recovers a rejected free-mode push with git pull --rebase, and prunes every comment syntax (# included).
  • releasing validates 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-repos templates ignore macOS ._*, KDE .directory, and Zed .zed/ files, and mark more binary types in .gitattributes (avif, mp3, mp4, ttf, otf, gz).
  • scaffolding-repos runs git add --renormalize . after installing .gitattributes into a repo that already has commits, with the normalization committed separately; its ecosystem examples gain Rust.

v1.1.1

Choose a tag to compare

@qiaeru qiaeru released this 05 Jun 05:30

Changed

  • Trim two filler adverbs from the releasing and scaffolding-repos prose (stop-slop pass).

v1.1.0

Choose a tag to compare

@qiaeru qiaeru released this 27 May 10:55

Changed

  • committing and releasing now write the four-line Repo profile marker themselves when it is missing, instead of delegating to the full scaffolding-repos skill; scaffolding-repos documents this marker-only mode.
  • committing flags that suppressing the Generated with Claude Code PR 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.
  • releasing recommends 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-file rather than inline.
  • releasing spells out the lockfile bump for two more layouts: a workspace monorepo (every packages.<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.
  • releasing step 5 now has the owner read the publishing workflow's on: trigger (tag push vs Release event) to know when automation fires, and confirm the run succeeded with gh run list / gh run watch rather than only noting it was triggered.
  • releasing notes that gh release create defaults the Release title to the tag (pass --title for another label), and that on a squash-merge repo the feature branch must be deleted local-first or with git branch -D, since the flattened commits make git branch -d refuse.

Fixed

  • committing now says to keep the Co-Authored-By trailer Claude adds verbatim, without stripping it or hardcoding a model name or version, so commits stay attributed to whichever model actually made them.