Awesome-omni-skill github-workflow
Write and edit GitHub Actions workflow files. Use when creating new workflows, editing existing .github/workflows/*.yml files, or setting up CI/CD pipelines. Triggers on requests like "create a workflow", "add GitHub Actions", "set up CI", or "edit the workflow file".
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/github-workflow" ~/.claude/skills/diegosouzapw-awesome-omni-skill-github-workflow-138681 && rm -rf "$T"
manifest:
skills/devops/github-workflow/SKILL.mdsource content
GitHub Workflow
Write clear, minimal GitHub Actions workflow files.
Naming Guidelines
Do NOT name
steps that are self-explanatory from the command itselfrun
steps for common, obvious actions like:usesactions/checkoutactions/setup-nodeoven-sh/setup-bunpnpm/action-setupactions/cache
DO name
steps withuses
(explain what the script does)actions/github-script- Complex multi-line shell scripts (summarize the purpose)
- Steps where the intent is not obvious from the code
Examples
Good
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bun run build - run: bun test - name: Post build status to Slack uses: actions/github-script@v7 with: script: | const webhook = process.env.SLACK_WEBHOOK; // ... complex logic
Bad
jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v2 - name: Install dependencies run: bun install - name: Build project run: bun run build - name: Run tests run: bun test
Best Practices
- Pin action versions with full SHA or major version tag (
, not@v4
)@main - Use
for manual triggers when usefulworkflow_dispatch - Set appropriate
to follow least privilegepermissions - Use
to cancel redundant runsconcurrency - Prefer
over PAT when possible${{ github.token }} - Avoid emoji in workflow names and step names
- Use
to output execution results in Markdown format$GITHUB_STEP_SUMMARY - Avoid obvious comments; only add comments to explain complex logic
Step Summary Example
- name: Report test results run: | echo "## Test Results" >> $GITHUB_STEP_SUMMARY echo "| Suite | Passed | Failed |" >> $GITHUB_STEP_SUMMARY echo "|-------|--------|--------|" >> $GITHUB_STEP_SUMMARY echo "| Unit | 42 | 0 |" >> $GITHUB_STEP_SUMMARY