chore(ci): replace issue-workflow.sh shell script with an AI skill#32
Merged
Merged
Conversation
The bash script encoded the branch -> PR -> merge -> cleanup loop imperatively. That orchestration belongs in the AI layer, not in a shell script contributors have to remember to call. Move it to .claude/skills/issue-workflow/SKILL.md so the AI drives the workflow with TaskCreate-tracked steps instead of bash. - Add .claude/skills/issue-workflow/SKILL.md: 14-step workflow (inspect issue, sync main, branch, plan, implement+test, make ci, PR body, push, watch CI, address review, squash-merge, verify issue closed, sync main, recurse). Encodes CONTRIBUTING.md conventions: branch off main, Conventional Commits allowed types/scopes, squash-merge, Closes #N in PR body. Includes a failure-mode table. - Delete scripts/issue-workflow.sh (265 lines of bash). - Update scripts/README.md to explain the directory is now empty and point contributors at the skill. - Update CONTRIBUTING.md PR-reference section to point at the skill instead of the script subcommand. - Update CLAUDE.md standing-orders section 2 to invoke the skill. - Rework Makefile's `next-issue` target: no longer shells out to the deleted script; prints a human-readable reminder of the CONTRIBUTING.md steps and points AI sessions at the skill. - Update .gitignore: was ignoring all of .claude/. Now ignores .claude/* and re-includes .claude/skills/ so the project-local skill is committable (and reachable after a fresh clone). .claude/settings.local.json remains ignored as before. CHANGELOG.md keeps the historical entry about the original bash script - accurate for that point in time. Co-Authored-By: Sonnet 4.6 <noreply@puku.sh>
|
✔️ 83557cc - Conventional commits check succeeded. |
15 tasks
dipto0321
added a commit
that referenced
this pull request
Jul 1, 2026
…ep (#33) The CHANGELOG was missing Phase 6 bullets for PRs #28 (QuotePath for paths with spaces), #29 (interrupted-upgrade sentinel + --from restore), and #30 (system-node classifier with warnings). It also had a duplicate `### Added` header from a prior merge and still listed the scripts/issue-workflow.sh script that PR #32 deleted. The README's Project status table said "Phase 1-5 OK" with no mention of Phase 6 cross-platform polish. The Phase 7 status (GoReleaser config + brew/scoop taps + npm wrapper) was also missing. CHANGELOG.md: - Single Added / Changed / Removed block under [Unreleased] (was two Added blocks). - Add Phase 6 bullets: system-node classifier (#30), interrupted- upgrade sentinel + replay (#29), QuotePath for paths with spaces (#28). - Drop the stale `scripts/issue-workflow.sh` bullet; add a Removed entry pointing at the squash-merged PR #32 commit for context. README.md: - Project status table marks Phase 6 complete, with PR refs and a note that Phase 7 (issue #17) is the remaining work blocking the v1.0.0 tag. - Trailing paragraph updated to reflect Phase 6 in the phase order. Refs #18 Co-authored-by: dipto0321 <dipto@local>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replace the imperative
scripts/issue-workflow.shbash script (265 linesof branch → PR → merge orchestration) with an AI-orchestrated skill at
.claude/skills/issue-workflow/SKILL.md. The skill encodes the sameworkflow as tracked
TaskCreatesteps, so the AI drives branch → PR →CI watch → squash-merge → issue-close → main-sync without a shell script
in the loop. No user-facing behavior changes; this is a tooling refactor.
Why
The bash script:
ghauth on every contributor machinegh pr checks --watchin asleep 600; kill $watch_pidpattern that crashed the IDE when paged output interleaved with other
terminal tabs (see
.conversation-history-chunk4.mdsection 17)This change moves orchestration into the AI: the assistant reads the
issue, plans the change, edits files, runs validation, opens the PR,
reads review comments, and merges. The shell just executes commands, it
doesn't encode the workflow.
Linked issues
No tracking issue. This refactor was driven by the editor-crash history
recorded in
.conversation-history-chunk4.mdsection 17 and the workflowlessons in sections 1–18. (CONTRIBUTING.md requires an issue reference;
this is documented as the rationale in lieu of an issue.)
Type of change
chore— tooling refactor, no behavior changeChecklist
chore(ai): subject)make cilocally and it passesdocs/, inline godoc) — updatedscripts/README.md,CONTRIBUTING.md,CLAUDE.mdScope notes / things reviewers may want to look at
.claude/skills/issue-workflow/SKILL.mdisproject-local. Any contributor/clone picks it up after a fresh checkout
because
.gitignorenow whitelists.claude/skills/while continuingto ignore the rest of
.claude/(session settings).make next-issuetarget: now a human-readable reminder of theCONTRIBUTING.md steps instead of calling the deleted script. The
Makefile no longer depends on
scripts/having any content.about the original bash script is intentionally preserved (it's
accurate for that point in time). Adding a "removed the script" entry
would imply a behavior change users would see; this is internal tooling.
Screenshots / output
N/A — no user-facing output change.