Files
claude-skills-reference/.github/workflows/sync-codex-skills.yml
Alireza Rezvani 7fde8a90e9 Dev (#218)
* Improve senior-fullstack skill description and workflow validation

- Expand frontmatter description with concrete actions and trigger clauses
- Add validation steps to scaffolding workflow (verify scaffold succeeded)
- Add re-run verification step to audit workflow (confirm P0 fixes)

* chore: sync codex skills symlinks [automated]

* fix(skill): normalize senior-fullstack frontmatter to inline format

Normalize YAML description from block scalar (>) to inline single-line
format matching all other 50+ skills. Align frontmatter trigger phrases
with the body's Trigger Phrases section to eliminate duplication.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(ci): add GITHUB_TOKEN to checkout + restore corrupted skill descriptions

- Add token: ${{ secrets.GITHUB_TOKEN }} to actions/checkout@v4 in
  sync-codex-skills.yml so git-auto-commit-action can push back to branch
  (fixes: fatal: could not read Username, exit 128)
- Restore correct description for incident-commander (was: 'Skill from engineering-team')
- Restore correct description for senior-fullstack (was: '>')

* fix(ci): pass PROJECTS_TOKEN to fix automated commits + remove duplicate checkout

Fixes PROJECTS_TOKEN passthrough for git-auto-commit-action and removes duplicate checkout step in pr-issue-auto-close workflow.

* fix(ci): remove stray merge conflict marker in sync-codex-skills.yml (#221)

Co-authored-by: Leo <leo@leo-agent-server>

* fix(ci): fix workflow errors + add OpenClaw support (#222)

---------

Co-authored-by: Baptiste Fernandez <fernandez.baptiste1@gmail.com>
Co-authored-by: alirezarezvani <5697919+alirezarezvani@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Leo <leo@leo-agent-server>
2026-02-25 10:58:52 +01:00

90 lines
2.8 KiB
YAML

---
name: Sync Codex Skills Symlinks
on:
push:
paths:
- '**/SKILL.md'
- 'scripts/sync-codex-skills.py'
branches:
- main
- dev
workflow_dispatch:
inputs:
dry_run:
description: 'Dry run (no changes)'
required: false
default: false
type: boolean
jobs:
sync:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.PROJECTS_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Sync Codex skills symlinks
env:
DRY_RUN: ${{ github.event.inputs.dry_run }}
run: |
if [ "$DRY_RUN" == "true" ]; then
python scripts/sync-codex-skills.py --verbose --dry-run
else
python scripts/sync-codex-skills.py --verbose --validate
fi
- name: Check for changes
id: check_changes
run: |
if git diff --quiet .codex/; then
echo "has_changes=false" >> $GITHUB_OUTPUT
else
echo "has_changes=true" >> $GITHUB_OUTPUT
fi
- name: Commit changes (dev only)
if: steps.check_changes.outputs.has_changes == 'true' && github.event.inputs.dry_run != 'true' && github.ref != 'refs/heads/main'
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore: sync codex skills symlinks [automated]"
file_pattern: ".codex/*"
commit_user_name: "github-actions[bot]"
commit_user_email: "github-actions[bot]@users.noreply.github.com"
token: ${{ secrets.PROJECTS_TOKEN }}
- name: Warn if main has drift
if: steps.check_changes.outputs.has_changes == 'true' && github.ref == 'refs/heads/main'
run: |
echo "::warning::Codex skills symlinks are out of sync on main. Run the sync on dev and merge via PR."
- name: Summary
run: |
echo "## Codex Skills Sync Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ -f ".codex/skills-index.json" ]; then
TOTAL=$(python3 -c "import json; print(json.load(open('.codex/skills-index.json'))['total_skills'])")
echo "**Total Skills:** $TOTAL" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Categories" >> $GITHUB_STEP_SUMMARY
python3 -c "
import json
data = json.load(open('.codex/skills-index.json'))
for cat, info in data['categories'].items():
print(f'- **{cat}**: {info[\"count\"]} skills')
" >> $GITHUB_STEP_SUMMARY
else
echo "No skills index found." >> $GITHUB_STEP_SUMMARY
fi