Install, run, and fix errors from actionlint — the GitHub Actions workflow linter. Load when validating `.github/workflows/*.yml` files after migration or generation.
日本語の概要は準備中です。原文の説明を表示しています。
Catalog of common CI/CD patterns (build, test, deploy, security, quality), scan scope resolution (org-wide or specific repos), the reusable workflow template, selection criteria, and usage-documentation template. Load when detecting recurring CI/CD patterns across GitHub orgs and/or repositories to generate standardized `reusable-*.yml` workflows with corresponding `docs/<name>-usage.md` files.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
This skill provides the catalog, template, and documentation standards used by the Reusable Workflow Builder agent to detect cross-platform CI/CD patterns and produce standardized GitHub Actions reusable workflows.
| System | File patterns |
|---|---|
| GitHub Actions | .github/workflows/*.yml, *.yaml |
| GitLab CI/CD | .gitlab-ci.yml |
| Azure DevOps | azure-pipelines.yml, .azure-pipelines/*.yml |
| Jenkins | Jenkinsfile, .jenkins/*.groovy |
| CircleCI | .circleci/config.yml |
| Travis CI | .travis.yml |
| Drone CI | .drone.yml |
| Others | Bitbucket, TeamCity, Bamboo, Buildkite |
A pattern becomes a reusable workflow when it shows:
The user controls the scope of analysis. Three modes are supported and can be freely combined:
| User input | Scope |
|---|---|
org-name | All repositories in that organization |
org-name/repo-name | That specific repository only |
| Mixed list | Union of all specified orgs and repos |
Always respect the stated scope — never crawl repos or orgs not explicitly provided.
Adapt these steps to the input scope:
Scope resolution — never guess a scope. Resolve in this order:
Local paths — if the user supplied directories of checked-out repos,
use glob/grep over **/.github/workflows/*.yml and *.yaml. Actions
accepts both, so searching only one silently misses workflows. This is the
only fully offline path; prefer it in regulated environments.
Explicit org-name/repo-name entries — use directly, no enumeration.
org-name entries — enumerate only after the capability probe in
migration-core reports NETWORK_OK:
gh api "orgs/ORG/repos?per_page=100" --paginate --jq '.[] | select(.archived|not) | .full_name'
--paginate walks every page, so the result is the complete visible set.
Do not substitute gh repo list --limit N — it stops at N, and a truncated
list makes the frequency analysis below wrong in a way that looks right.
If pagination fails partway, stop and report it rather than analysing a
partial set.
Deduplicate if a repo appears both via org scan and explicit reference.
If no scope can be resolved, stop and ask — do not invent one.
Universal pipeline discovery — search each repo for CI/CD files across all supported systems (see table above).
Cross-platform content analysis — retrieve and parse configurations.
Universal pattern extraction — identify common structures and steps.
Cross-system frequency analysis — count pattern occurrences across the resolved repo set.
Translation scoring — rank by frequency, complexity reduction, and GitHub Actions conversion feasibility.
Platform mapping — map equivalent concepts to GitHub Actions.
name: Reusable Node.js Build Workflow
on:
workflow_call:
inputs:
node-version:
description: 'Node.js version to use'
required: false
default: '18'
type: string
build-command:
description: 'Custom build command'
required: false
default: 'npm run build'
type: string
outputs:
build-success:
description: 'Build success status'
value: ${{ jobs.build.outputs.success }}
jobs:
build:
runs-on: ubuntu-latest
steps:
# ✅ Only verified actions from trusted publishers
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
cache: 'npm'
- run: npm install
- run: ${{ inputs.build-command }}
For every reusable workflow produced, create exactly two files:
.github/workflows/reusable-<name>.yml — the reusable workflow (workflow_call trigger only)docs/<name>-usage.md — the usage documentation (one per workflow, 1:1)Never create: README.md, WORKFLOWS.md, consolidated docs, scripts (.sh, .bat, .ps1, .py, .js), custom actions, caller workflows, or workflow templates.
Each docs/<name>-usage.md must contain:
# Reusable [Workflow Name] Usage Guide
## Pattern Analysis Summary
- **Frequency**: Found in X repositories across Y organizations
- **Source CI/CD Systems**: [List systems: GitHub Actions, GitLab CI, Jenkins, etc.]
- **Complexity Reduction**: [Explain how this replaces X previous steps]
## Migration Benefits
- **From GitLab CI**: [If applicable, before/after]
- **From Jenkins**: [If applicable, before/after]
- **From Azure DevOps**: [If applicable, before/after]
- **Standardization**: [Consistency improvements]
## Basic Usage Example
```yaml
name: Example Workflow
on: [push, pull_request]
jobs:
job-name:
uses: ./.github/workflows/reusable-[name].yml
with:
param1: 'value1'
param2: 'custom-value'
```
## Advanced Usage Example
```yaml
name: Production Workflow
on:
push:
branches: [main]
jobs:
job-name:
uses: ./.github/workflows/reusable-[name].yml
with:
param1: 'production-value'
param2: 'advanced-setting'
secrets:
SECRET_NAME: ${{ secrets.SECRET_NAME }}
```
## Input Parameters Reference
| Parameter | Description | Required | Default | Example |
| --------- | ------------- | -------- | ----------- | ---------- |
| param1 | [Description] | Yes | - | `'value'` |
| param2 | [Description] | No | `'default'` | `'custom'` |
## Output Reference
| Output | Description | Type |
| ------- | ------------- | ------ |
| output1 | [Description] | string |
## Migration Examples
### From GitLab CI
**Before (.gitlab-ci.yml):**
```yaml
[Show original GitLab CI configuration]
```
**After (GitHub Actions):**
```yaml
[Show how to use this reusable workflow instead]
```
### From Jenkins
**Before (Jenkinsfile):**
```groovy
[Show original Jenkins configuration]
```
**After (GitHub Actions):**
```yaml
[Show how to use this reusable workflow instead]
```
## Best Practices
- [Specific best practices for using this workflow]
- [Security considerations]
- [Performance tips]
actions/*, azure/*, aws-actions/*, google-github-actions/*migration-core guardrails)workflow_call only.github/workflows/reusable-<name>.ymlactionlintまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Install, run, and fix errors from actionlint — the GitHub Actions workflow linter. Load when validating `.github/workflows/*.yml` files after migration or generation.
日本語の概要は準備中です。原文の説明を表示しています。
Azure DevOps migration to GitHub Actions — syntax mappings and the migration report template for YAML pipelines, templates, variable groups, service connections, deployment jobs, stages, conditional logic. Load with `migration-core` when migrating Azure DevOps sources to GitHub Actions.
日本語の概要は準備中です。原文の説明を表示しています。
Bamboo migration to GitHub Actions — syntax mappings and the migration report template for Build plans, deployment projects, tasks, requirements, variables, plan branches. Load with `migration-core` when migrating Bamboo sources to GitHub Actions.
日本語の概要は準備中です。原文の説明を表示しています。
Bitbucket Pipelines migration to GitHub Actions — syntax mappings and the migration report template for Pipelines, Pipes, parallel steps, branch/pull-request workflows, deployments, variables. Load with `migration-core` when migrating Bitbucket Pipelines sources to GitHub Actions.
日本語の概要は準備中です。原文の説明を表示しています。
CircleCI migration to GitHub Actions — syntax mappings and the migration report template for Workflows, jobs, Orbs, executors, contexts, parameters, matrix jobs, approval gates. Load with `migration-core` when migrating CircleCI sources to GitHub Actions.
日本語の概要は準備中です。原文の説明を表示しています。
Drone CI migration to GitHub Actions — syntax mappings and the migration report template for Pipelines, plugins, services, secrets, triggers, multi-platform pipelines. Load with `migration-core` when migrating Drone CI sources to GitHub Actions.
日本語の概要は準備中です。原文の説明を表示しています。