Automatically update oh-my-agent skills in your repository via a scheduled GitHub Action.
Marketplace: This action is also available on the GitHub Marketplace via
first-fluke/oma-update-action.
Create .github/workflows/update-oma.yml in your repository:
name: Update oh-my-agent
on:
schedule:
- cron: "0 9 * * 1" # Every Monday at 09:00 UTC
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: first-fluke/oma-update-action@v1| Input | Description | Default |
|---|---|---|
mode |
pr creates a pull request, commit pushes directly |
pr |
base-branch |
Base branch for PR or direct commit target | main |
force |
Overwrite user config files (--force) |
false |
pr-title |
Custom PR title | chore(deps): update oh-my-agent skills |
pr-labels |
Comma-separated labels for the PR | dependencies,automated |
commit-message |
Custom commit message | chore(deps): update oh-my-agent skills |
token |
GitHub token for PR creation | ${{ github.token }} |
| Output | Description |
|---|---|
updated |
true if changes were detected |
version |
The oh-my-agent version after update |
pr-number |
PR number (only in pr mode) |
pr-url |
PR URL (only in pr mode) |
- uses: first-fluke/oma-update-action@v1
with:
mode: commit
commit-message: "chore: sync oh-my-agent skills"- uses: first-fluke/oma-update-action@v1
with:
token: ${{ secrets.PAT_TOKEN }}jobs:
update:
runs-on: ubuntu-latest
outputs:
updated: ${{ steps.oma.outputs.updated }}
steps:
- uses: actions/checkout@v4
- uses: first-fluke/oma-update-action@v1
id: oma
notify:
needs: update
if: needs.update.outputs.updated == 'true'
runs-on: ubuntu-latest
steps:
- run: echo "oh-my-agent was updated!"- Installs
oh-my-agentCLI via Bun - Runs
oma update --ci(non-interactive mode) - Detects changes in
.agents/and.claude/directories - Creates a PR or commits directly based on
modeinput