circleci-config

Optimizes CircleCI configuration files for faster, more reliable CI pipelines.

5.3k|765|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/openai/plugins --skill circleci-config
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: circleci-config
Source: https://github.com/openai/plugins/tree/main/plugins/circleci/skills/config
Command: npx skills add https://github.com/openai/plugins --skill circleci-config

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

CircleCI pipelines often suffer from slow runtimes, flaky behavior, and wasted compute caused by poor cache keys, oversized workspaces, missing test metadata, and redundant jobs. This Skill diagnoses those configuration bottlenecks and applies targeted fixes to .circleci/config.yml without changing product behavior.

Core Features & Use Cases

  • Cache Optimization: Replaces write-only or overly strict cache keys with versioned lockfile checksums, splits broad caches into per-tool caches, and audits unused save_cache/restore_cache steps.
  • Data Persistence Decisions: Guides the correct choice between caches, workspaces, and artifacts so data moves between jobs efficiently.
  • Test Splitting & Results: Configures store_test_results, JUnit XML quality, circleci tests run, and timing-based parallelism for faster, more visible test suites.
  • Workflow Patterns: Reviews approval gates, branch/tag filters, scheduled workflows, and deploy promotion structure.
  • Use Case: A team's CI pipeline takes 25 minutes with low cache hit rates. The Skill baselines the slowest jobs, fixes the npm cache key to use package-lock.json checksums, removes dead workspace persistence, and enables timing-based test splitting.

Quick Start

Analyze my .circleci/config.yml and reduce the pipeline runtime by fixing caching, parallelism, and workflow filters.

Frequently Asked Questions about circleci-config

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I speed up a slow CircleCI pipeline?

Start by baselining the top longest and flakiest jobs, then remove duplicate jobs, tighten branch/tag filters, and fix cache keys to use lockfile checksums. Apply parallelism only to proven bottlenecks and validate impact against before metrics.

How do I fix CircleCI cache keys that never hit?

Replace volatile keys like {{ epoch }} or commit SHAs with versioned lockfile checksums such as v1-npm-{{ checksum "package-lock.json" }}. Cache the package manager's download store rather than broad directories like node_modules.

Should I use a CircleCI cache, workspace, or artifact?

Use caches for reusable dependency data that speeds up future runs, workspaces for data handed off between jobs in the same workflow, and artifacts for outputs humans inspect later like reports or logs. Each mechanism has a distinct consumer.

How do I set up test splitting in CircleCI?

First ensure store_test_results uploads valid JUnit XML with file or classname attributes, then use circleci tests run --split-by=timings to distribute tests. Only increase parallelism once timing data is reliable.

Why is my CircleCI cache restore not helping build times?

The restored path may not be read by any later command, or the cache may be broader than needed, making restore time exceed the savings. Audit each restore_cache step to confirm a downstream command actually consumes the restored data.

When should I not add parallelism to CircleCI jobs?

Avoid increasing parallelism when test volume is low or timing data is unreliable, since fan-out overhead can outweigh gains. Parallelize only measured bottlenecks and keep the workflow graph readable and deterministic.