regression-auto-baseline
Automatically manage regression test baseline lifecycle triggered by releases, deployments, and quality gates
What this skill does
# regression-auto-baseline
Automatically manage regression test baseline lifecycle with triggers for releases, deployments, and quality gates.
## Triggers
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
- "auto-update baselines" → automatic baseline management
- "baseline on release" → release-triggered baseline update
## Purpose
This skill automates regression baseline management by:
- Triggering baseline updates on semantic version tags
- Updating baselines after successful merges to main/master
- Creating baselines on deployment success
- Scheduling periodic baseline refreshes
- Managing baseline retention and archival
- Validating baseline quality before activation
- Integrating with CI/CD for seamless automation
## Behavior
When triggered or activated automatically, this skill:
1. **Detects trigger conditions**:
- Semantic version tag created (v*.*.*)
- Merge to protected branch completed
- Deployment succeeded to environment
- Quality gate passed
- Manual approval received
- Scheduled time reached
2. **Validates pre-conditions**:
- Tests are passing (minimum threshold met)
- No critical issues open
- Quality gates passed
- Human approval obtained (if required)
- No concurrent baseline updates in progress
3. **Captures new baseline**:
- Run full regression test suite
- Capture all artifact types (functional, visual, performance, API)
- Verify baseline stability (run multiple times if configured)
- Generate checksums for integrity
- Tag with git commit, release version, timestamp
4. **Validates baseline quality**:
- Compare to previous baseline
- Detect unexpected changes
- Verify all expected outputs present
- Check for baseline drift
- Flag suspicious differences for review
5. **Activates baseline**:
- Archive previous baseline version
- Set new baseline as active
- Update baseline manifest
- Notify relevant teams
- Create baseline comparison report
6. **Manages lifecycle**:
- Archive old baselines per retention policy
- Compress large baselines
- Upload to cloud storage if configured
- Prune outdated baselines
- Maintain audit trail
## Trigger Types
### Semantic Version Tag
```yaml
trigger:
type: git_tag
pattern: "^v[0-9]+\\.[0-9]+\\.[0-9]+$"
description: "Baseline on semantic version tags"
behavior:
on_tag_create:
- validate_tag_format
- check_if_tests_passing
- create_baseline:
name: "release-{tag}"
auto_activate: true
- tag_baseline_with_git_tag
example:
tag: v2.1.0
baseline_id: release-v2.1.0
status: auto-created
```
### Merge to Main
```yaml
trigger:
type: git_merge
branches:
- main
- master
description: "Baseline after merge to protected branch"
behavior:
on_merge_complete:
- wait_for_ci_success
- check_test_pass_rate:
minimum: 95%
- create_baseline:
name: "main-{commit_short}"
auto_activate: false # Require approval
- request_approval:
approvers: [tech-lead, test-lead]
example:
merge_commit: abc123def
baseline_id: main-abc123d
approval_required: true
```
### Deployment Success
```yaml
trigger:
type: deployment
environments:
- production
- staging
description: "Baseline after successful deployment"
behavior:
on_deployment_success:
- wait_for_smoke_tests
- verify_health_checks
- create_baseline:
name: "{environment}-{deploy_id}"
auto_activate: true
- link_to_deployment:
id: deploy_id
timestamp: deployment_timestamp
example:
environment: production
deploy_id: prod-2026-01-28-01
baseline_id: production-prod-2026-01-28-01
```
### Manual Approval
```yaml
trigger:
type: manual
description: "Baseline after explicit human approval"
behavior:
on_approval_received:
- validate_approver_permissions
- capture_approval_metadata
- create_baseline:
name: "approved-{timestamp}"
auto_activate: true
- record_approver:
name: approver_name
reason: approval_reason
example:
approver: tech-lead
reason: "Post-release validation complete"
baseline_id: approved-2026-01-28T15-30
```
### Scheduled Updates
```yaml
trigger:
type: schedule
description: "Baseline on fixed schedule"
schedules:
nightly:
cron: "0 2 * * *"
description: "Nightly baseline capture"
auto_activate: false
weekly:
cron: "0 3 * * 0"
description: "Weekly baseline for long-term tracking"
auto_activate: false
monthly:
cron: "0 4 1 * *"
description: "Monthly baseline archive"
auto_activate: false
behavior:
on_schedule_trigger:
- check_if_tests_healthy
- create_baseline:
name: "{schedule}-{date}"
auto_activate: false
- generate_drift_report
```
## Baseline Storage Strategies
### Local File Storage
```yaml
storage:
type: local
location: .aiwg/testing/baselines/
structure:
- functional/
- visual/
- performance/
- api/
retention:
active: 1 # Keep 1 active baseline per type
archive: 10 # Keep 10 archived versions
compress: true # Compress archives with gzip
cleanup:
prune_after_days: 90
keep_tagged: true # Never prune tagged baselines
```
### Git LFS
```yaml
storage:
type: git_lfs
description: "Use Git LFS for large baselines (screenshots, large JSON)"
configuration:
track_patterns:
- "*.png"
- "*.jpg"
- "baselines/**/*.json"
max_file_size: 10MB
behavior:
on_baseline_create:
- compress_if_needed
- add_to_git_lfs
- commit_with_metadata
```
### Cloud Storage (S3/GCS)
```yaml
storage:
type: cloud
provider: s3 # or gcs, azure_blob
configuration:
bucket: my-project-baselines
path_prefix: baselines/{environment}/
encryption: AES256
behavior:
on_baseline_create:
- upload_to_cloud
- generate_signed_url:
expiry: 7 days
- store_url_in_manifest
- keep_local_copy: false # Optional: delete after upload
retention:
lifecycle_policy:
- after_30_days: transition_to_infrequent_access
- after_90_days: transition_to_glacier
- after_365_days: delete
```
### Artifact Registry
```yaml
storage:
type: artifact_registry
description: "Integrate with artifact registries (npm, Maven, Docker)"
configuration:
registry_url: https://registry.example.com
repository: baseline-artifacts
versioning: semver # Follow package versioning
behavior:
on_baseline_create:
- package_baseline:
format: tarball
name: "{project}-baseline"
version: "{tag_version}"
- publish_to_registry
- tag_as_latest: true
```
## Baseline Validation
### Pre-Activation Checks
```yaml
validation:
before_activation:
- test_pass_rate:
minimum: 95%
description: "At least 95% of tests must pass"
- quality_gates:
all_must_pass: true
description: "All quality gates must be green"
- stability_check:
runs: 3
consistency: 100%
description: "Baseline must be 100% consistent across 3 runs"
- critical_issues:
max_open: 0
description: "No critical issues can be open"
- human_approval:
required_for:
- production_baselines
- breaking_changes
approvers: [tech-lead, qa-lead]
```
### Baseline Diff Detection
```yaml
validation:
diff_detection:
compare_to_previous: true
flag_changes:
- new_failures
- performance_degradation
- unexpected_schema_changes
- visual_differences
severity_classification:
critical:
- new_test_failures
- security_regressionRelated in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.