Skip to content
Security
Agent

companion-template-sync

Pull newest GitHub Actions versions from companion repos back into `.companions/templates/`. Dependabot updates each companion repo's rendered workflows directly, but templates aren't scanned (see `companions.md`) — this workflow reverse-syncs those bumps so the next

BOOST
From plugin
jwx
2.4k9 skills9 agents
Install
> /plugin marketplace add lestrrat-go/jwx
> /plugin install jwx-dev-v4@jwx-v4

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Pull newest GitHub Actions versions from companion repos back into `.companions/templates/`. Dependabot updates each companion repo's rendered workflows directly, but templates aren't scanned (see `companions.md`) — this workflow reverse-syncs those bumps so the next

Agent definition

companion-template-sync.md

Companion Template Action Sync

Pull newest GitHub Actions versions from companion repos back into `.companions/templates/`. Dependabot updates each companion repo's rendered workflows directly, but templates aren't scanned (see `companions.md`) — this workflow reverse-syncs those bumps so the next `/jwx-companion-bulk sync` doesn't regress them.

When to run

  • User asks to bump template actions / "sync templates with dependabot"
  • Periodically, when template actions feel stale

Procedure

1. **Sync every companion clone** under `.companions/repo/<name>/` to its origin default branch (fast-forward only). Every clone — this is a pre-read rule from memory.

2. **Scan `uses:` lines** across all companion workflow files:

   Grep pattern: uses:\s*\S+/\S+@
   path: .companions/repo
   glob: **/.github/**/*.yml

Output goes to `.tmp/` if large.

3. **Pick newest version per action**, across all companion usages (ignore benchmarks' loose `@vN` tags — they're a different pin style). Tie-break by the version comment after `#`. Apply the single newest version everywhere.

4. **Diff against templates** in `.companions/templates/*.yml`. Edit templates so every `uses: owner/repo@<sha> # <ver>` matches the newest observed version (both SHA and comment).

5. **Worktree + PR** against `develop/v4`:

  • branch: `chore-bump-companion-template-actions`
  • commit: `bump <action> to <ver> in companion templates`
  • PR body: bullet list of file + action + old→new version

Notes

  • Only reverse-sync versions *observed in companions*. Don't query the GitHub

API for newer releases — that's dependabot's job in the companion repos.

  • If no companion has been bumped past the template yet, there's nothing to

do.

  • The `benchmarks` companion uses loose `@v6`/`@v9` tags for ci.yml/lint.yml

(separate template variants scoped via `skip:`/`only:` in `.companions/templates.yaml`). Skip those when picking the newest pinned SHA.

Read more
Ships withjwx

Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies. If you are using this module in your product or your company, please add your product and/or company name in the Wiki! It really helps keeping up our motivation.

Get the whole plugin
Stats
2,440
Stars
197
Forks
Active
Maintenance
Go
Language
MIT
License
1d ago
Last commit
10y ago
Created
4h ago
Added

Repo: lestrrat-go/jwx

Other agents on jwx.