AgentSkillsCN

devops-fullstack

全栈DevOps——Docker、CI/CD、部署、监控

SKILL.md
--- frontmatter
name: devops-fullstack
description: DevOps for fullstack - Docker, CI/CD, deployment, monitoring
sasmp_version: "1.3.0"
bonded_agent: 05-devops-integration
bond_type: PRIMARY_BOND

# Skill Configuration
atomic: true
single_responsibility: devops_operations

# Parameter Schema
parameters:
  type: object
  required: [action]
  properties:
    action:
      type: string
      enum: [containerize, setup_cicd, deploy, configure_monitoring]
      description: The specific DevOps action to perform
    container_runtime:
      type: string
      enum: [docker, podman]
      default: docker
    ci_platform:
      type: string
      enum: [github-actions, gitlab-ci, circleci]
      default: github-actions
    cloud_provider:
      type: string
      enum: [aws, gcp, azure, vercel, railway]

# Return Schema
returns:
  type: object
  properties:
    success: { type: boolean }
    dockerfile: { type: string }
    pipeline: { type: object }
    deployment_config: { type: object }
    monitoring_config: { type: object }

# Retry Configuration
retry:
  max_attempts: 3
  backoff: exponential
  initial_delay_ms: 2000
  max_delay_ms: 20000
  jitter: true

# Observability
logging:
  level: INFO
  events: [container_built, pipeline_created, deployment_completed]
  metrics: [build_time, deployment_duration, resource_usage]

DevOps Fullstack Skill

Atomic skill for DevOps operations including containerization, CI/CD, and deployment.

Responsibility

Single Purpose: Containerize, automate, and deploy fullstack applications

Actions

containerize

Create optimized Docker configuration for the application.

typescript
// Input
{
  action: "containerize",
  container_runtime: "docker"
}

// Output
{
  success: true,
  dockerfile: "FROM node:20-alpine AS builder\n...",
  files: [
    { path: "Dockerfile", content: "..." },
    { path: "docker-compose.yml", content: "..." },
    { path: ".dockerignore", content: "..." }
  ]
}

setup_cicd

Configure CI/CD pipeline.

deploy

Deploy application to cloud platform.

configure_monitoring

Set up monitoring and alerting.

Validation Rules

typescript
function validateParams(params: SkillParams): ValidationResult {
  if (!params.action) {
    return { valid: false, error: "action is required" };
  }

  if (params.action === 'deploy' && !params.cloud_provider) {
    return { valid: false, error: "cloud_provider required for deployment" };
  }

  return { valid: true };
}

Error Handling

Error CodeDescriptionRecovery
BUILD_FAILEDDocker build failedCheck Dockerfile syntax
PIPELINE_INVALIDCI/CD config invalidValidate YAML syntax
DEPLOYMENT_FAILEDDeployment unsuccessfulCheck credentials and resources
HEALTH_CHECK_FAILEDService not healthyReview logs and config

Logging Hooks

json
{
  "on_invoke": "log.info('devops-fullstack invoked', { action, ci_platform })",
  "on_success": "log.info('DevOps operation completed', { files, duration_ms })",
  "on_error": "log.error('DevOps skill failed', { error })"
}

Unit Test Template

typescript
import { describe, it, expect } from 'vitest';
import { devopsFullstack } from './devops-fullstack';

describe('devops-fullstack skill', () => {
  describe('containerize', () => {
    it('should create multi-stage Dockerfile', async () => {
      const result = await devopsFullstack({
        action: 'containerize',
        container_runtime: 'docker'
      });

      expect(result.success).toBe(true);
      expect(result.dockerfile).toContain('AS builder');
      expect(result.dockerfile).toContain('AS runner');
    });

    it('should use non-root user', async () => {
      const result = await devopsFullstack({
        action: 'containerize'
      });

      expect(result.dockerfile).toContain('USER');
    });
  });

  describe('setup_cicd', () => {
    it('should create GitHub Actions workflow', async () => {
      const result = await devopsFullstack({
        action: 'setup_cicd',
        ci_platform: 'github-actions'
      });

      expect(result.success).toBe(true);
      expect(result.pipeline.jobs).toBeDefined();
    });
  });
});

Integration

  • Bonded Agent: 05-devops-integration
  • Upstream Skills: All development skills
  • Downstream Skills: fullstack-security

Version History

VersionDateChanges
1.0.02024-01Initial release
2.0.02025-01Production-grade upgrade with GitOps patterns