본문으로 건너뛰기
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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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-skill2천2026년 10월 22일 업데이트

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-skill2천2026년 10월 22일 업데이트

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.10+ standard library only (3.9 deprecated), no cloud, no API keys.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

kajisho5/ffmpeg-skill2천2026년 10월 22일 업데이트

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-skill2천2026년 10월 22일 업데이트

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-skill2천2026년 10월 22일 업데이트

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-skill2천2026년 10월 22일 업데이트

kajisho5의 스킬 모두 보기

이 스킬의 문제 신고