# Github Workflows

> Work with GitHub Actions CI/CD workflows - read live syntax, monitor runs, and debug failures. Use when writing, running, or debugging GitHub Actions workflows.

- Skill: `open-gsd/github-workflows` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add open-gsd/github-workflows`
- Raw SKILL.md: https://api.skillmd.com/api/skills/open-gsd/github-workflows/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: open-gsd (https://skillmd.com/u/open-gsd)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/open-gsd/github-workflows

---


# GitHub Workflows

**Mission:** Work with GitHub Actions without using stale training data. All syntax, versions, and parameters come from live sources.

---

## Structural Principle

**All CI operations go through ci_monitor.cjs.** Never reach for `gh` CLI directly — the script wraps it with observable output.

---

## Primary Tool: ci_monitor.cjs

**Path:** `scripts/ci_monitor.cjs`

```bash
node scripts/ci_monitor.cjs <command>
```

**Before using any command:**
- [ ] Run `--help` to discover available arguments

**Routing Table:**

| When You Need | Command |
|---------------|---------|
| List recent runs | `runs [--branch <name>]` |
| Monitor running workflow | `watch <run-id>` |
| Fail fast in scripts | `fail-fast <run-id>` |
| See why run failed | `log-failed <run-id>` |
| Test pass/fail counts | `test-summary <run-id>` |
| Check action versions | `check-actions [file]` |
| Search logs | `grep <run-id> --pattern <regex>` |
| Wait for deployment | `wait-for <run-id> <job> --keyword <text>` |

---

## Documentation Routing

**Base URL:** `https://docs.github.com/en/actions/reference/workflows-and-actions/`

**Before writing any workflow syntax:**
- [ ] Fetch the relevant `.md` file from the URL above
- [ ] Read only the section you need

| Task | File | Section |
|------|------|---------|
| Create workflow | workflow-syntax.md | `name`, `on`, `jobs` |
| Set triggers | workflow-syntax.md | `on` |
| Set permissions | workflow-syntax.md | `permissions` |
| Concurrency | workflow-syntax.md | `concurrency` |
| Reusable workflow | workflow-syntax.md | `on.workflow_call` |
| Annotations | workflow-commands.md | "Setting an error/warning/notice message" |
| Output variables | workflow-commands.md | "Environment files" |
| Conditionals | expressions.md | "Operators", "Functions" |
| Contexts | contexts.md | "<context> context" |
| Events | events-that-trigger-workflows.md | Event tables |

---

## Version Verification

| What | Where |
|------|-------|
| Action versions | `node ci_monitor.cjs check-actions <file>` |
| Node.js LTS | `curl -s https://nodejs.org/dist/index.json \| jq '.[0].version'` |

---

## Validation Constraint

**"No errors" is not validation.** Prove observable change:

```
BEFORE: [specific state]
AFTER:  [different state]
EVIDENCE: [output from ci_monitor.cjs]
```

---

## References

- `references/gh/SKILL.md` — gh CLI reference

