跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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 / 1000 字

此表单受 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-skill20612026年10月23日 更新

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-skill20612026年10月23日 更新

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-skill20612026年10月23日 更新

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-skill20612026年10月23日 更新

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-skill20612026年10月23日 更新

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-skill20612026年10月23日 更新

查看 kajisho5 的全部技能

报告此技能的问题