workflow-setup

- TypeScript Workflows

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "workflow-setup" with this command: npx skills add athola/claude-night-market/athola-claude-night-market-workflow-setup

Table of Contents

  • When To Use

  • Standard Workflows

  • Python Workflows

  • Rust Workflows

  • TypeScript Workflows

  • Workflow

    1. Check Existing Workflows
    1. Identify Missing Workflows
    1. Render Workflow Templates
    1. Validate Workflows
  • Workflow Best Practices

  • Use Latest Action Versions

  • Matrix Testing (Python)

  • Caching Dependencies

  • Updating Workflows

  • Related Skills

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

  • test.yml - Run pytest on push/PR

  • lint.yml - Run ruff linting

  • typecheck.yml - Run mypy type checking

  • publish.yml - Publish to PyPI on release

Rust Workflows

  • ci.yml - Combined test/lint/check workflow

  • release.yml - Build and publish releases

TypeScript Workflows

  • test.yml - Run Jest tests

  • lint.yml - Run ESLint

  • build.yml - Build for production

  • 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.

  1. 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.

  1. 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.

  1. 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

Troubleshooting

Common Issues

Command not found Ensure all dependencies are installed and in PATH

Permission errors Check file permissions and run with appropriate privileges

Unexpected behavior Enable verbose logging with --verbose flag

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-quality-principles

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-refinement

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-async

No summary provided by upstream source.

Repository SourceNeeds Review