Skip to content

Add the imgproxy-docs-sync skill - #92

Open
11bit wants to merge 1 commit into
mainfrom
add-imgproxy-docs-sync-skill
Open

Add the imgproxy-docs-sync skill#92
11bit wants to merge 1 commit into
mainfrom
add-imgproxy-docs-sync-skill

Conversation

@11bit

@11bit 11bit commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Adds a Claude Code skill at .claude/skills/imgproxy-docs-sync/ for working through the auto-generated "Usage docs of imgproxy have been updated" issues.

Those issues all have the same shape — a link to an imgproxy-docs compare range — and turning one into a PR is the same set of steps every time. The skill encodes them:

  1. Resolve the issue (number, URL, or pick from the open ones) and extract the <base>...<head> shas.
  2. Pull the diff via gh api, filtered to docs/usage/**; docs/configuration/** and friends are reported as ignored rather than dropped silently. Cross-check each option against the rendered docs page, since a hunk alone doesn't carry defaults or ranges.
  3. Classify every hunk: new option / changed option / removed or deprecated / prose only / out of scope.
  4. Print a plan and stop for approval — including the exact URL strings the change would emit, which is the quickest way to catch a misread of the docs.
  5. Only then implement, run lint && check-types && test && build, write a changeset by hand, and open a PR with Closes #N.

references/repo-conventions.md holds the things that are easy to get wrong here:

  • the four alphabetical wiring edits, and that src/options/index.ts order is the URL segment order at runtime
  • forgetting the Options intersection in src/types/index.ts — builds fine, type-errors for consumers
  • the optional-positional-argument rules from the gradient fix: gate on !== undefined, default with ??, trim trailing colons once at the end
  • the full guard table with the exact error strings the tests assert against
  • routing by docs section (processing / image info / shared), ((pro))**PRO feature** JSDoc, and npm run test -- --run rather than watch mode

Also gitignores .claude/settings.local.json, so the skill can be tracked without local permission settings tagging along.

No production code is touched.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UoYDgwBavVrxfoRrXn4ZHb

The imgproxy-docs repo dispatches to this one whenever the Usage section
of the documentation changes, and the workflow opens an issue linking to
a compare range. Working through one of those issues is the same set of
steps every time: read the diff, decide which hunks are actually URL
options we emit, map them onto this repo's layout, then implement.

This skill encodes that. It resolves the issue, pulls the docs diff
filtered to docs/usage/**, classifies each hunk (new option / changed
option / removed / prose only / out of scope), prints a plan with the
URL strings the change would emit, and only implements it after
approval, finishing with a changeset and a PR that closes the issue.

The reference file captures the conventions that are easy to get wrong:
the four alphabetical wiring edits, the Options intersection in
src/types/index.ts, the guard table with its exact error strings, and
the optional-positional-argument rules from the gradient fix.

.claude/settings.local.json is gitignored so the skill can be tracked
without dragging local permissions along with it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoYDgwBavVrxfoRrXn4ZHb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant