Marketplace workflow-automation
Automate repetitive development tasks and workflows. Use when creating build scripts, automating deployments, or setting up development workflows. Handles npm scripts, Makefile, GitHub Actions workflows, and task automation.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/supercent-io/workflow-automation" ~/.claude/skills/aiskillstore-marketplace-workflow-automation-6d3632 && rm -rf "$T"
manifest:
skills/supercent-io/workflow-automation/SKILL.mdsource content
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 && 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 && 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 &> /dev/null; then echo "❌ Node.js is not installed" exit 1 fi if ! command -v docker &> /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 && git pull && npm install && npm run build && pm2 restart all" elif [ "$ENV" == "staging" ]; then echo "🧪 Deploying to staging..." # Staging deployment logic ssh staging "cd /app && git pull && npm install && npm run build && 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
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