SKILL.md
$2a
---
title: CI/CD Workflow Specification - [Workflow Name]
version: 1.0
date_created: [YYYY-MM-DD]
last_updated: [YYYY-MM-DD]
owner: DevOps Team
tags: [process, cicd, github-actions, automation, [domain-specific-tags]]
---
## Workflow Overview
**Purpose**: [One sentence describing workflow's primary goal]
**Trigger Events**: [List trigger conditions]
**Target Environments**: [Environment scope]
## Execution Flow Diagram
graph TD
A[Trigger Event] --> B[Job 1]
B --> C[Job 2]
C --> D[Job 3]
D --> E[End]
B --> F[Parallel Job]
F --> D
style A fill:#e1f5fe
style E fill:#e8f5e8
## Jobs & Dependencies
Job Name
Purpose
Dependencies
Execution Context
job-1
[Purpose]
[Prerequisites]
[Runner/Environment]
job-2
[Purpose]
job-1
[Runner/Environment]
## Requirements Matrix
### Functional Requirements
ID
Requirement
Priority
Acceptance Criteria
REQ-001
[Requirement]
High
[Testable criteria]
REQ-002
[Requirement]
Medium
[Testable criteria]
### Security Requirements
ID
Requirement
Implementation Constraint
SEC-001
[Security requirement]
[Constraint description]
### Performance Requirements
ID
Metric
Target
Measurement Method
PERF-001
[Metric]
[Target value]
[How measured]
## Input/Output Contracts
### Inputs
Environment Variables
ENV_VAR_1: string # Purpose: [description]
ENV_VAR_2: secret # Purpose: [description]
Repository Triggers
paths: [list of path filters]
branches: [list of branch patterns]
### Outputs
Job Outputs
job_1_output: string # Description: [purpose]
build_artifact: file # Description: [content type]
### Secrets & Variables
Type
Name
Purpose
Scope
Secret
SECRET_1
[Purpose]
Workflow
Variable
VAR_1
[Purpose]
Repository
## Execution Constraints
### Runtime Constraints
- **Timeout**: [Maximum execution time]
- **Concurrency**: [Parallel execution limits]
- **Resource Limits**: [Memory/CPU constraints]
### Environmental Constraints
- **Runner Requirements**: [OS/hardware needs]
- **Network Access**: [External connectivity needs]
- **Permissions**: [Required access levels]
## Error Handling Strategy
Error Type
Response
Recovery Action
Build Failure
[Response]
[Recovery steps]
Test Failure
[Response]
[Recovery steps]
Deployment Failure
[Response]
[Recovery steps]
## Quality Gates
### Gate Definitions
Gate
Criteria
Bypass Conditions
Code Quality
[Standards]
[When allowed]
Security Scan
[Thresholds]
[When allowed]
Test Coverage
[Percentage]
[When allowed]
## Monitoring & Observability
### Key Metrics
- **Success Rate**: [Target percentage]
- **Execution Time**: [Target duration]
- **Resource Usage**: [Monitoring approach]
### Alerting
Condition
Severity
Notification Target
[Condition]
[Level]
[Who/Where]
## Integration Points
### External Systems
System
Integration Type
Data Exchange
SLA Requirements
[System]
[Type]
[Data format]
[Requirements]
### Dependent Workflows
Workflow
Relationship
Trigger Mechanism
[Workflow]
[Type]
[How triggered]
## Compliance & Governance
### Audit Requirements
- **Execution Logs**: [Retention policy]
- **Approval Gates**: [Required approvals]
- **Change Control**: [Update process]
### Security Controls
- **Access Control**: [Permission model]
- **Secret Management**: [Rotation policy]
- **Vulnerability Scanning**: [Scan frequency]
## Edge Cases & Exceptions
### Scenario Matrix
Scenario
Expected Behavior
Validation Method
[Edge case]
[Behavior]
[How to verify]
## Validation Criteria
### Workflow Validation
- **VLD-001**: [Validation rule]
- **VLD-002**: [Validation rule]
### Performance Benchmarks
- **PERF-001**: [Benchmark criteria]
- **PERF-002**: [Benchmark criteria]
## Change Management
### Update Process
- **Specification Update**: Modify this document first
- **Review & Approval**: [Approval process]
- **Implementation**: Apply changes to workflow
- **Testing**: [Validation approach]
- **Deployment**: [Release process]
### Version History
Version
Date
Changes
Author
1.0
[Date]
Initial specification
[Author]
## Related Specifications
- [Link to related workflow specs]
- [Link to infrastructure specs]
- [Link to deployment specs]
Analysis Instructions
When analyzing the workflow file:
- Extract Core Purpose: Identify the primary business objective
- Map Job Flow: Create dependency graph showing execution order
- Identify Contracts: Document inputs, outputs, and interfaces
- Capture Constraints: Extract timeouts, permissions, and limits
- Define Quality Gates: Identify validation and approval points
- Document Error Paths: Map failure scenarios and recovery
- Abstract Implementation: Focus on behavior, not syntax
Mermaid Diagram Guidelines
Flow Types
- Sequential:
A --> B --> C
- Parallel:
A --> B & A --> C; B --> D & C --> D
- Conditional:
A --> B{Decision}; B -->|Yes| C; B -->|No| D
Styling
style TriggerNode fill:#e1f5fe
style SuccessNode fill:#e8f5e8
style FailureNode fill:#ffebee
style ProcessNode fill:#f3e5f5
Complex Workflows
For workflows with 5+ jobs, use subgraphs:
graph TD
subgraph "Build Phase"
A[Lint] --> B[Test] --> C[Build]
end
subgraph "Deploy Phase"
D[Staging] --> E[Production]
end
C --> D
Token Optimization Strategies
- Use Tables: Dense information in structured format
- Abbreviate Consistently: Define once, use throughout
- Bullet Points: Avoid prose paragraphs
- Code Blocks: Structured data over narrative
- Cross-Reference: Link instead of repeat information
Focus on creating a specification that serves as both documentation and a template for workflow updates.