Skip to content
Development
Skill

/workflow-setup

Configures GitHub Actions CI/CD workflows for testing, linting, and deployment. Use when setting up automation for a Python, Rust, or TypeScript project.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill workflow-setup --agent claude-code

SKILL.md

workflow-setup.SKILL.md
name: workflow-setup
description: Configures GitHub Actions CI/CD workflows for testing, linting, and deployment. Use when setting up automation for a Python, Rust, or TypeScript project.
globs: "**/.github/workflows/*.yml"
alwaysApply: false
# Custom metadata (not used by Claude for matching):
tools: [Read, Write, Bash]
category: infrastructure
tags: [github-actions, ci-cd, workflows, automation, testing]
complexity: intermediate
estimated_tokens: 1500

Workflow Setup Skill

Set up GitHub Actions workflows for continuous integration and deployment.

When To Use

  • Need CI/CD for a new project
  • Adding missing workflows to existing project
  • Updating workflow versions to latest
  • Automating testing and quality checks
  • Setting up deployment pipelines

When NOT To Use

  • GitHub Actions workflows already configured and current
  • Project uses different CI platform (GitLab CI, CircleCI, etc.)
  • Not hosted on GitHub
  • Use `/attune:upgrade-project` instead for updating existing workflows

Standard Workflows

Python Workflows

1. **test.yml** - Run pytest on push/PR 2. **lint.yml** - Run ruff linting 3. **typecheck.yml** - Run mypy type checking 4. **publish.yml** - Publish to PyPI on release

Rust Workflows

1. **ci.yml** - Combined test/lint/check workflow 2. **release.yml** - Build and publish releases

TypeScript Workflows

1. **test.yml** - Run Jest tests 2. **lint.yml** - Run ESLint 3. **build.yml** - Build for production 4. **deploy.yml** - Deploy to hosting (Vercel, Netlify, etc.)

Workflow

1. Check Existing Workflows

ls -la .github/workflows/

**Verification:** Run the command with `--help` flag to verify availability.

2. Identify Missing Workflows

from project_detector import ProjectDetector

detector = ProjectDetector(Path.cwd())
language = detector.detect_language()

required_workflows = {
    "python": ["test.yml", "lint.yml", "typecheck.yml"],
    "rust": ["ci.yml"],
    "typescript": ["test.yml", "lint.yml", "build.yml"],
}

missing = detector.get_missing_configurations(language)

**Verification:** Run `pytest -v` to verify tests pass.

3. Render Workflow Templates

workflows_dir = Path(".github/workflows")
workflows_dir.mkdir(parents=True, exist_ok=True)

for workflow in required_workflows[language]:
    template = templates_dir / language / "workflows" / f"{workflow}.template"
    output = workflows_dir / workflow

    engine.render_file(template, output)
    print(f"✓ Created: {output}")

**Verification:** Run the command with `--help` flag to verify availability.

4. Validate Workflows

# Syntax check (requires act or gh CLI)
gh workflow list

# Or manually check YAML syntax
python3 -c "import yaml; yaml.safe_load(open('.github/workflows/test.yml'))"

**Verification:** Run `pytest -v` to verify tests pass.

Workflow Best Practices

Use Latest Action Versions

# Good - pinned to major version
- uses: actions/checkout@v4
- uses: actions/setup-python@v5

# Avoid - unpinned or outdated
- uses: actions/checkout@v2
- uses: actions/setup-python@latest

**Verification:** Run `pytest -v` to verify tests pass.

Matrix Testing (Python)

strategy:
  matrix:
    python-version: ["3.10", "3.11", "3.12"]
    os: [ubuntu-latest, macos-latest, windows-latest]

**Verification:** Run `pytest -v` to verify tests pass.

Caching Dependencies

- uses: actions/setup-python@v5
  with:
    python-version: '3.10'
    cache: 'pip'  # Cache pip dependencies

**Verification:** Run `python --version` to verify Python environment.

Shell Script Safety in Workflows

When writing inline shell scripts in workflows, ensure proper exit code handling:

# BAD - pipeline masks exit code
- run: |
    make typecheck 2>&1 | grep -v "^make\["
    echo "Typecheck passed"  # Runs even if make failed!

# GOOD - use pipefail
- run: |
    set -eo pipefail
    make typecheck 2>&1 | grep -v "^make\["

# GOOD - capture exit code explicitly
- run: |
    output=$(make typecheck 2>&1) || exit_code=$?
    echo "$output" | grep -v "^make\[" || true
    exit ${exit_code:-0}

For complex wrapper scripts, run `/pensive:shell-review` before integrating.

Updating Workflows

To update workflows to latest versions:

/attune:upgrade-project --component workflows

**Verification:** Run the command with `--help` flag to verify availability.

Related Skills

  • `Skill(attune:project-init)` - Full project initialization
  • `Skill(sanctum:pr-prep)` - PR preparation with CI checks

Exit Criteria

  • [ ] All required workflow files for the detected language exist under `.github/workflows/`

(Python: test.yml + lint.yml + typecheck.yml; Rust: ci.yml; TypeScript: test.yml + lint.yml + build.yml) and contain valid YAML syntax verified by `python3 -c "import yaml; yaml.safe_load(open('...'))"`.

  • [ ] `gh workflow list` returns each created workflow file as an entry, confirming GitHub

recognizes the workflow definitions.

  • [ ] Any inline shell script in a workflow uses `set -eo pipefail` or explicit exit-code

capture; pipeline-masked failures (`cmd | grep`) without pipefail are flagged as errors.

  • [ ] If the project uses a CI platform other than GitHub Actions (GitLab CI, CircleCI), the

skill reports this incompatibility and stops rather than generating GitHub-specific files.

Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about workflow-setup.

Which coding agents can use workflow-setup?
workflow-setup installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.