---
id: sm-workflow-automation
name: "workflow-automation"
url: https://skills.yangsir.net/skill/sm-workflow-automation
author: supercent-io
domain: ai-ci-cd-deployment
tags: ["ci/cd-pipelines", "github-actions", "jenkins", "gitlab-ci", "process-automation"]
install_count: 12600
rating: 4.50 (504 reviews)
github: https://github.com/supercent-io/skills-template
---

# workflow-automation

> 此技能旨在自动化重复性任务、复杂的构建流程以及团队成员的入职设置，确保开发运维工作流程的一致性和效率。

**Stats**: 12,600 installs · 4.5/5 (504 reviews)

## Before / After 对比

### 开发运维工作流程自动化与效率提升

## Readme

# workflow-automation

Workflow Automation When to use this skill Repetitive tasks: running the same commands every time Complex builds: multi-step build processes Team onboarding: a consistent development environment Instructions Step 1: npm scripts package.json: { "scripts": { "dev": "nodemon src/index.ts", "build": "tsc &#x26;&#x26; vite build", "test": "jest --coverage", "test:watch": "jest --watch", "lint": "eslint src --ext .ts,.tsx", "lint:fix": "eslint src --ext .ts,.tsx --fix", "format": "prettier --write \"src/**/*.{ts,tsx,json}\"", "type-check": "tsc --noEmit", "pre-commit": "lint-staged", "prepare": "husky install", "clean": "rm -rf dist node_modules", "reset": "npm run clean &#x26;&#x26; npm install", "docker:build": "docker build -t myapp .", "docker:run": "docker run -p 3000:3000 myapp" } } Step 2: Makefile Makefile: .PHONY: help install dev build test clean docker .DEFAULT_GOAL := help help: ## Show this help @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' install: ## Install dependencies npm install dev: ## Start development server npm run dev build: ## Build for production npm run build test: ## Run all tests npm test lint: ## Run linter npm run lint lint-fix: ## Fix linting issues npm run lint:fix clean: ## Clean build artifacts rm -rf dist coverage docker-build: ## Build Docker image docker build -t myapp:latest . docker-run: ## Run Docker container docker run -d -p 3000:3000 --name myapp myapp:latest deploy: build ## Deploy to production @echo "Deploying to production..." ./scripts/deploy.sh production ci: lint test build ## Run CI pipeline locally @echo "✅ CI pipeline passed!" Usage: make help # Show all commands make dev # Start development make ci # Run full CI locally Step 3: Husky + lint-staged (Git Hooks) package.json: { "lint-staged": { "*.{ts,tsx}": [ "eslint --fix", "prettier --write" ], "*.{json,md}": [ "prettier --write" ] } } .husky/pre-commit: #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" echo "Running pre-commit checks..." # Lint staged files npx lint-staged # Type check npm run type-check # Run tests related to changed files npm test -- --onlyChanged echo "✅ Pre-commit checks passed!" Step 4: Task Runner scripts scripts/dev-setup.sh: #!/bin/bash set -e echo "🚀 Setting up development environment..." # Check prerequisites if ! command -v node &#x26;> /dev/null; then echo "❌ Node.js is not installed" exit 1 fi if ! command -v docker &#x26;> /dev/null; then echo "❌ Docker is not installed" exit 1 fi # Install dependencies echo "📦 Installing dependencies..." npm install # Copy environment file if [ ! -f .env ]; then echo "📄 Creating .env file..." cp .env.example .env echo "⚠️ Please update .env with your configuration" fi # Start Docker services echo "🐳 Starting Docker services..." docker-compose up -d # Wait for database echo "⏳ Waiting for database..." ./scripts/wait-for-it.sh localhost:5432 --timeout=30 # Run migrations echo "🗄️ Running database migrations..." npm run migrate # Seed data (optional) read -p "Seed database with sample data? (y/n) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then npm run seed fi echo "✅ Development environment ready!" echo "Run 'make dev' to start the development server" scripts/deploy.sh: #!/bin/bash set -e ENV=$1 if [ -z "$ENV" ]; then echo "Usage: ./deploy.sh [staging|production]" exit 1 fi echo "🚀 Deploying to $ENV..." # Build echo "📦 Building application..." npm run build # Run tests echo "🧪 Running tests..." npm test # Deploy based on environment if [ "$ENV" == "production" ]; then echo "🌍 Deploying to production..." # Production deployment logic ssh production "cd /app &#x26;&#x26; git pull &#x26;&#x26; npm install &#x26;&#x26; npm run build &#x26;&#x26; pm2 restart all" elif [ "$ENV" == "staging" ]; then echo "🧪 Deploying to staging..." # Staging deployment logic ssh staging "cd /app &#x26;&#x26; git pull &#x26;&#x26; npm install &#x26;&#x26; npm run build &#x26;&#x26; pm2 restart all" fi echo "✅ Deployment to $ENV completed!" Step 5: GitHub Actions workflow automation .github/workflows/ci.yml: name: CI on: push: branches: [main, develop] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '18' cache: 'npm' - name: Install dependencies run: npm ci - name: Run linter run: npm run lint - name: Type check run: npm run type-check - name: Run tests run: npm test -- --coverage - name: Upload coverage uses: codecov/codecov-action@v3 Output format project/ ├── scripts/ │ ├── dev-setup.sh │ ├── deploy.sh │ ├── test.sh │ └── cleanup.sh ├── Makefile ├── package.json └── .husky/ ├── pre-commit └── pre-push Constraints Required rules (MUST) Idempotency: safe to run scripts multiple times Error handling: clear messages on failure Documentation: comments on how to use the scripts Prohibited items (MUST NOT) Hardcoded secrets: do not include passwords or API keys in scripts Destructive commands: do not run rm -rf without confirmation Best practices Use Make: platform-agnostic interface Git Hooks: automated quality checks CI/CD: automated with GitHub Actions References npm scripts Make Tutorial Husky Metadata Version -- Current version: 1.0.0 -- Last updated: 2025-01-01 -- Compatible platforms: Claude, ChatGPT, Gemini Tags #automation #scripts #workflow #npm-scripts #Makefile #utilities Examples Example 1: Basic usage Example 2: Advanced usageWeekly Installs11.7KRepositorysupercent-io/sk…templateGitHub Stars53First SeenJan 24, 2026Security AuditsGen Agent Trust HubWarnSocketFailSnykPassInstalled oncodex11.6Kgemini-cli11.6Kopencode11.6Kgithub-copilot11.5Kcursor11.5Kkimi-cli11.5K

---
*Source: https://skills.yangsir.net/skill/sm-workflow-automation*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-workflow-automation/markdown*