# Ci Pipeline Synthesizer > Genera configuraciones de CI/CD para GitHub Actions: compilación y pruebas de librerías y paquetes. Úsalo al crear o actualizar workflows de npm, Python, Go o Rust con caché de dependencias, pruebas en matriz y publicación de artefactos. Fuente: https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/ci-pipeline-synthesizer Markdown: https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/ci-pipeline-synthesizer.md Repositorio: https://github.com/kajisho5/ffmpeg-skill Autor: kajisho5 Licencia: MIT Actualizado: hace 4 días Coste de contexto: 108 tok instalada, 1.1k tok al activarse, 1.9k tok con todos los archivos del bundle Bundle: 5 archivos, 8 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add kajisho5/ffmpeg-skill --skill ci-pipeline-synthesizer --agent claude-code # Cursor npx -y skills add kajisho5/ffmpeg-skill --skill ci-pipeline-synthesizer --agent cursor # Codex npx -y skills add kajisho5/ffmpeg-skill --skill ci-pipeline-synthesizer --agent codex # Gemini CLI npx -y skills add kajisho5/ffmpeg-skill --skill ci-pipeline-synthesizer --agent gemini # Windsurf npx -y skills add kajisho5/ffmpeg-skill --skill ci-pipeline-synthesizer --agent windsurf # Cline npx -y skills add kajisho5/ffmpeg-skill --skill ci-pipeline-synthesizer --agent cline ``` ## Qué hace - Genera ficheros de workflow de GitHub Actions listos para producción en proyectos de librerías o paquetes. - Selecciona la plantilla adecuada según el ecosistema: npm, Python, Go o Rust. - Añade caché de dependencias, pruebas en matriz, ejecución paralela y nombres claros de jobs y pasos. - Personaliza comandos de build y test, versiones soportadas, triggers y pasos extra como cobertura o linting. - Crea el workflow en .github/workflows/ci.yml y verifica acciones, caché y condiciones de disparo. ## Cuándo usarla - Al crear o actualizar un workflow de CI para un paquete npm, Python, Go o Rust. - Cuando un proyecto de librería necesita build y test automatizados con caché de dependencias y matriz de versiones. - Al generar flujos de trabajo para GitHub Actions desde plantillas de ecosistemas habituales. - Al añadir triggers, programaciones o pasos de linting/cobertura a un workflow existente. ## Cuándo no - Para el CI real de este repositorio ffmpeg-skill: no modela instalar ffmpeg por SO ni los tests Windows del repo. - Como sustituto directo del workflow .github/workflows/ci.yml de este repo. ## Qué la activa - "Genérame un workflow de GitHub Actions para un paquete npm con caché y matriz de versiones." - "Crea un pipeline de CI/CD para un módulo Go con go test y go build." - "Necesito un workflow de CI para una crate de Rust con pruebas en stable y beta." - "Actualiza el CI de mi librería Python para usar pytest y publicar artefactos." - "Añade un workflow de GitHub Actions a mi proyecto con triggers en main y pull requests." ## Antes de instalar - El proyecto debe ser una librería o paquete con su fichero de manifiesto (package.json, pyproject.toml, go.mod o Cargo.toml) en un repositorio GitHub. ## Archivos - SKILL.md — 4 KB - assets/github-actions-go.yml — 635 B - assets/github-actions-nodejs.yml — 644 B - assets/github-actions-python.yml — 726 B - assets/github-actions-rust.yml — 1 KB ## SKILL.md Reproducido tal cual desde kajisho5/ffmpeg-skill bajo MIT. Esta sección es el documento original y está en inglés. # 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**: ```yaml - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: file: ./coverage.xml ``` **Add linting step**: ```yaml - name: Run linter run: npm run lint # or: pylint, golangci-lint, cargo clippy ``` **Restrict to specific branches**: ```yaml on: push: branches: [main, develop] pull_request: branches: [main] ``` **Add scheduled runs**: ```yaml 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. ## Dónde encaja - Categoría: [DevOps e infraestructura](https://skillsagentes.com/categorias/devops-infraestructura.md) — Despliegues, contenedores, IaC y flujos de gestión de incidentes. - Creador: [kajisho5](https://skillsagentes.com/creators/kajisho5.md) — 0 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Ffmpeg Skill](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/ffmpeg-skill.md): Edita vídeo y audio con FFmpeg local desde lenguaje natural: cortes, unión, reframe 9:16/1:1, velocidad, subtítulos, overlays, multicámara/sync, LUFS, HDR→SDR, LUTs, export y verificación. Python 3.9 stdlib, sin nube ni API keys. - [Concurrent Branches](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/concurrent-branches.md): Resuelve conflictos de merge con varias ramas abiertas: unión, recomputación y reconstrucción como resoluciones correctas; artefactos generados, serialización no determinista e IDs renumerados; un auto-merge limpio no es un test que pasa. - [Guarding Destructive Operations](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/guarding-destructive-operations.md): Guarda operaciones destructivas: borrados, sobrescrituras, reescritura de historial o resolución de nombres a rutas; rechaza en vez de avisar, comprueba antes de mutar, clasifica por estructura y prueba cada mitad. - [Keeping Git Repos Clean](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/keeping-git-repos-clean.md): Previene, detecta y corrige la subida a git de secretos (.env, API tokens, credenciales) y artefactos dev (builds, BD de trabajo, editor/SO). Cubre .gitignore (por qué no deja de trackear), git rm --cached, auditoría, historial y rotación. - [Building Python Mcp Servers](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/building-python-mcp-servers.md): Crea servidores MCP robustos en Python con FastMCP: diseño de herramientas, contratos de error, trabajo bloqueante, subprocesos/CLI, distribución, pruebas e inyección de prompts. Úsalo al escribir, exponer, depurar o probar servidores MCP. ## Skills relacionadas - [Running Github Actions Efficiently](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/running-github-actions-efficiently.md): Reduce minutos y tiempo de CI en GitHub Actions sin perder cobertura: multiplicador de facturación por SO, triggers sin duplicar push y pull_request, concurrency que cancela runs obsoletos, caché por lockfile, matrices y auditar crons 24/7. - [Shipping Build Artifacts](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/shipping-build-artifacts.md): Haz del build una puerta real sobre lo que distribuyes: entradas ausentes que no abortan, límites de tamaño solo superiores, listas de archivos que se desfasan, bundles obsoletos y verificación contra el árbol fuente en vez del artefacto. - [Building Python Mcp Servers](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/building-python-mcp-servers.md): Crea servidores MCP robustos en Python con FastMCP: diseño de herramientas, contratos de error, trabajo bloqueante, subprocesos/CLI, distribución, pruebas e inyección de prompts. Úsalo al escribir, exponer, depurar o probar servidores MCP. - [Concurrent Branches](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/concurrent-branches.md): Resuelve conflictos de merge con varias ramas abiertas: unión, recomputación y reconstrucción como resoluciones correctas; artefactos generados, serialización no determinista e IDs renumerados; un auto-merge limpio no es un test que pasa. - [Ffmpeg Skill](https://skillsagentes.com/skills/kajisho5/ffmpeg-skill/ffmpeg-skill.md): Edita vídeo y audio con FFmpeg local desde lenguaje natural: cortes, unión, reframe 9:16/1:1, velocidad, subtítulos, overlays, multicámara/sync, LUFS, HDR→SDR, LUTs, export y verificación. Python 3.9 stdlib, sin nube ni API keys. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)