xiaohongshu
xiaohongshu
building-cicd-configs
Generates or updates CI/CD pipeline configurations for GitHub Actions, GitLab CI, or CircleCI. Use when the user asks to set up CI/CD, create workflows, automate deployment, or mentions GitHub Actions, pipelines, or continuous integration.
Full skill instructions
Check for framework indicators:
| Framework | Indicators |
|---|---|
| Next.js | next.config.*, "next" in package.json |
| Nuxt | nuxt.config.*, "nuxt" in package.json |
| Vite | vite.config.*, "vite" in package.json |
| Node.js | package.json without frontend framework |
| Static | index.html at root, no package.json |
| Python | requirements.txt, pyproject.toml, setup.py |
Detect package manager:
ls package-lock.json yarn.lock pnpm-lock.yaml bun.lockb 2>/dev/null | head -1
Check for existing scripts:
npm pkg get scripts 2>/dev/null
Check for existing configs:
ls -la .github/workflows/ .gitlab-ci.yml .circleci/config.yml 2>/dev/null
Platform selection:
.github/workflows/*.yml.gitlab-ci.yml.circleci/ exists or user specifiesStandard pipeline flow:
install → lint → test → build → deploy
Required stages based on project:
linttestbuilddeployGitHub Actions (Node.js/Next.js):
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm test
- name: Build
run: npm run build
GitHub Actions (with matrix):
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm ci
- run: npm run lint
- run: npm test
GitLab CI:
stages:
- install
- lint
- test
- build
variables:
npm_config_cache: "$CI_PROJECT_DIR/.npm"
cache:
paths:
- .npm/
- node_modules/
install:
stage: install
image: node:20
script:
- npm ci
lint:
stage: lint
image: node:20
script:
- npm run lint
test:
stage: test
image: node:20
script:
- npm test
coverage: '/All files[^|]*\|[^|]*\s+([\d\.]+)/'
build:
stage: build
image: node:20
script:
- npm run build
artifacts:
paths:
- dist/
CircleCI:
version: 2.1
orbs:
node: circleci/node@5
jobs:
build-and-test:
executor:
name: node/default
tag: "20"
steps:
- checkout
- node/install-packages
- run:
name: Lint
command: npm run lint
- run:
name: Test
command: npm test
- run:
name: Build
command: npm run build
workflows:
ci:
jobs:
- build-and-test
Vercel (GitHub Actions):
deploy:
needs: ci
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- uses: amondnet/vercel-action@v25
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
vercel-args: "--prod"
AWS S3 (GitHub Actions):
deploy:
needs: ci
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- run: aws s3 sync ./dist s3://${{ secrets.S3_BUCKET }} --delete
GitHub Actions:
# Install actionlint
brew install actionlint
actionlint .github/workflows/*.yml
GitLab CI:
# Use GitLab's CI Lint API or local validation
gitlab-ci-lint .gitlab-ci.yml
CircleCI:
circleci config validate .circleci/config.yml
YAML syntax check:
npx yaml-lint .github/workflows/*.yml
Environment variables:
env:
NODE_ENV: production
CI: true
Caching (GitHub Actions):
- uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Conditional jobs:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
Secrets reference:
${{ secrets.SECRET_NAME }}
Before completing:
on: triggers match.@v4 not @v5).actionlint or YAML linter locally.--help on CLI tools.xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience