本文へ移動
cccskills
無料GitHub で公開

ci-pipeline-synthesizer

Generate GitHub Actions CI/CD pipeline configurations for automated building and testing of library and package projects. Use when creating or updating CI workflows for npm packages, Python packages, Go modules, Rust crates, or other library projects that need automated build and test pipelines. Includes templates for common package ecosystems with best practices for dependency caching, matrix testing, and artifact publishing.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md4.4 KB
  • assets/github-actions-go.yml635 B
  • assets/github-actions-nodejs.yml644 B
  • assets/github-actions-python.yml726 B
  • assets/github-actions-rust.yml1.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

CI Pipeline Synthesizer

Overview

Generate production-ready GitHub Actions workflow files for library and package projects with automated build and test stages, dependency caching, and multi-version testing matrices.

Workflow

1. Identify Project Type

Determine the package ecosystem by examining project files:

  • Node.js/npm: package.json present
  • Python: setup.py, pyproject.toml, or requirements.txt present
  • Go: go.mod present
  • Rust: Cargo.toml present

2. Select Template

Use the appropriate template from assets/ based on project type:

  • github-actions-nodejs.yml - Node.js/npm packages
  • github-actions-python.yml - Python packages
  • github-actions-go.yml - Go modules
  • github-actions-rust.yml - Rust crates

3. Customize Configuration

Adapt the template to project-specific needs:

Test commands: Update test scripts to match project conventions

  • Node.js: npm test, npm run test:coverage
  • Python: pytest, python -m unittest
  • Go: go test ./...
  • Rust: cargo test

Build commands: Adjust build steps if needed

  • Node.js: npm run build (if build step exists)
  • Python: python -m build
  • Go: go build
  • Rust: cargo build --release

Version matrix: Modify tested versions based on support policy

  • Node.js: LTS versions (16.x, 18.x, 20.x)
  • Python: Active versions (3.9, 3.10, 3.11, 3.12)
  • Go: Recent versions (1.21, 1.22)
  • Rust: stable, beta (optional)

Trigger conditions: Adjust when pipeline runs

  • Default: Push to main/master, all pull requests
  • Custom: Specific branches, paths, or schedules

4. Place Workflow File

Create the workflow file at .github/workflows/ci.yml in the project root. If .github/workflows/ doesn't exist, create the directory structure first.

5. Verify Configuration

Check that the generated workflow:

  • Uses appropriate actions versions (e.g., actions/checkout@v4, actions/setup-node@v4)
  • Includes dependency caching for faster builds
  • Runs on appropriate triggers (push, pull_request)
  • Tests against relevant version matrices
  • Has clear job and step names

Template Features

All templates include:

  • Dependency caching: Speeds up builds by caching package managers
  • Matrix testing: Tests across multiple language/runtime versions
  • Parallel execution: Runs tests for different versions concurrently
  • Clear naming: Descriptive job and step names for easy debugging
  • Best practices: Uses recommended actions and configurations

Customization Examples

Add code coverage reporting:

- name: Upload coverage to Codecov
  uses: codecov/codecov-action@v3
  with:
    file: ./coverage.xml

Add linting step:

- name: Run linter
  run: npm run lint  # or: pylint, golangci-lint, cargo clippy

Restrict to specific branches:

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

Add scheduled runs:

on:
  schedule:
    - cron: '0 0 * * 0'  # Weekly on Sunday

Tips

  • Start with the template and customize incrementally
  • Test the workflow by creating a pull request or pushing to a test branch
  • Use actions/cache for dependencies to reduce build times
  • Keep matrix versions current with language support policies
  • Add status badges to README.md: ![CI](https://github.com/user/repo/workflows/CI/badge.svg)

Note for this repository (ffmpeg-skill)

This skill's generic templates assume ordinary language-toolchain dependencies (pip/npm/go/cargo). They do NOT model this repo's actual CI needs — installing a real ffmpeg binary per OS (apt/brew ffmpeg-full/choco), capturing its -filters/-encoders/-bsfs listings as an artifact, or the skipIf-based Windows test coverage in tests/test_contract.py — all of which .github/workflows/ci.yml already handles and this skill's templates would not reproduce. Treat this as reference/scaffolding for a plain Python/Node/Go/ Rust package elsewhere, not a drop-in replacement for this repo's own workflow.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Builds robust Python MCP (Model Context Protocol) servers with FastMCP — tool design, error contracts, event-loop-safe blocking work, subprocess/CLI wrapping, single-file vs packaged distribution, global-state-free testing, and prompt-injection awareness. Use when writing an MCP server, exposing a tool or CLI to an LLM client, debugging tool registration/packaging, or testing MCP tools.

日本語の概要は準備中です。原文の説明を表示しています。

kajisho5/ffmpeg-skill1,9522026年10月15日 更新

Resolve conflicts and merges when several branches are open against one repo at the same time — the hotspot files every change must touch (registry manifests, a single version field, shared tool config, one aggregated test module, tracked build output), union-vs-recompute-vs-rebuild as three different correct resolutions, generated artifacts that must never be merged, non-deterministic serialization that makes every branch conflict, renumbered identifiers that git cannot show you, and why a clean auto-merge is not a passing test. Use when rebasing or merging a long-lived branch, resolving conflict markers, reviewing a merge commit, deciding what a repo should commit vs generate, or setting up a repo that will take parallel contributions.

日本語の概要は準備中です。原文の説明を表示しています。

kajisho5/ffmpeg-skill1,9522026年10月15日 更新

Edit video and audio with local FFmpeg from natural-language requests: cut, trim, join, resize/reframe (9:16, 1:1), speed change, captions and subtitles (SRT/ASS, animated, karaoke), logos and text overlays, lower-thirds and titles, silence removal, multicam and external-mic sync, loudness normalisation, HDR/Dolby Vision to SDR, LUTs, background music with ducking, platform exports (YouTube, Reels, TikTok, X), compliance checks, scene detection and highlight reels, contact sheets to inspect results, and whole-edit project files. Use this skill whenever the user mentions a video or audio file (mp4, mov, mkv, wav, m4a), footage, a clip, captions, subtitles, a reel or short, YouTube/Instagram/TikTok delivery, LUFS, sync, transcoding, ffmpeg, or asks to make something "60 seconds", "vertical", "louder", "captioned" — even when they do not say "edit". Python 3.9 standard library only, no cloud, no API keys.

日本語の概要は準備中です。原文の説明を表示しています。

kajisho5/ffmpeg-skill1,9522026年10月15日 更新

Add and review preconditions on operations that delete, overwrite, rewrite history, or resolve a caller-supplied name to a filesystem path — refusing instead of warning, placing the guard ahead of the first mutation, structural classification rather than string-prefix matching, name validation plus resolved-path containment as two independent checks, why a guard on the destructive path is invisible to the dry-run, and mutation-testing each half separately. Use when writing or reviewing a `--rebuild`/`--reset`/`--purge` command, a bulk delete, a history rewrite, an `rm -rf`-shaped step, or any code that turns an argument into a file path.

日本語の概要は準備中です。原文の説明を表示しています。

kajisho5/ffmpeg-skill1,9522026年10月15日 更新

Prevents, detects, and remediates files that should never be committed — secrets (.env, API tokens, hardcoded credentials) and dev artifacts (build output, scratch databases, editor/OS files). Covers .gitignore (and why it does not untrack), git rm --cached, auditing tracked files, history scrubbing, and credential rotation. Use when a repo has committed secrets or junk, when setting up a new repo's ignore rules, or when reviewing what a repo actually tracks.

日本語の概要は準備中です。原文の説明を表示しています。

kajisho5/ffmpeg-skill1,9522026年10月15日 更新

Manages Python library releases including semantic versioning, changelog maintenance (Keep a Changelog format), release automation with GitHub Actions, and deprecation workflows. Use when planning releases, writing changelogs, automating release pipelines, or communicating breaking changes.

日本語の概要は準備中です。原文の説明を表示しています。

kajisho5/ffmpeg-skill1,9522026年10月15日 更新

kajisho5 のスキルをすべて見る

このスキルの問題を報告する