name: Update golang-xxxx libraries skill on: schedule: - cron: '0 10 2 * *' # 2nd of every month at 10am UTC workflow_dispatch: {} permissions: contents: write pull-requests: write jobs: update-libraries: if: github.repository_owner == 'samber' runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version: stable - uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} prompt: | You maintain the golang-{library-name} skill at skills/golang-{library-name}/SKILL.md in this repository. The library name is {library-name}. Not all skills describe a library. Examples of library skills: - golang-samber-hot - golang-samber-lo - golang-samber-mo - golang-samber-slog - golang-samber-do - golang-samber-oops - golang-stretchr-testify - golang-grpc - golang-sqlx Examples of non-library skills: - golang-code-style - golang-data-structures - golang-database - golang-design-patterns - golang-documentation - golang-error-handling - golang-modernize If the skill does not describe a library, do nothing. Your job is to check if those skill needs updating: 1. Check the library README, documentation, changelog and released notes for the latest version. If a new version has been released that is not yet covered in the skill, research its changelog and add a new section with modernization opportunities. 2. Check if any suggestions in the skill have been deprecated or too old to be relevant. Suggest removing them or moving them to a "baseline" note. 3. Update the README.md if needed. 4. Increment skill version + plugin version. If there are changes to make, open a PR with a clear description of what was updated and why. claude_args: | --allowedTools "Read,Write,Edit,Glob,Grep,Bash,WebFetch,WebSearch,mcp__github__get_file_contents,mcp__github__search_code,mcp__github__list_releases,mcp__github__get_latest_release,mcp__github__list_tags,mcp__github__create_pull_request,mcp__github__create_branch,mcp__github__push_files"