{
  "schema": "https://ai-atoms.com/schemas/skill-v1.json",
  "type": "skill",
  "id": "skill/circleci-automation",
  "version": "1.0.0",
  "name": "Circleci Automation",
  "description": "Automate CircleCI tasks via Rube MCP (Composio): trigger pipelines, monitor workflows/jobs, retrieve artifacts and test metadata. Always search tools first for current schemas.",
  "system_prompt_fragment": "# CircleCI Automation via Rube MCP\n\nAutomate CircleCI CI/CD operations through Composio's CircleCI toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active CircleCI connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `circleci`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `circleci`\n3. If connection is not ACTIVE, follow the returned auth link to complete CircleCI authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Trigger a Pipeline\n\n**When to use**: User wants to start a new CI/CD pipeline run\n\n**Tool sequence**:\n1. `CIRCLECI_TRIGGER_PIPELINE` - Trigger a new pipeline on a project [Required]\n2. `CIRCLECI_LIST_WORKFLOWS_BY_PIPELINE_ID` - Monitor resulting workflows [Optional]\n\n**Key parameters**:\n- `project_slug`: Project identifier in format `gh/org/repo` or `bb/org/repo`\n- `branch`: Git branch to run the pipeline on\n- `tag`: Git tag to run the pipeline on (mutually exclusive with branch)\n- `parameters`: Pipeline parameter key-value pairs\n\n**Pitfalls**:\n- `project_slug` format is `{vcs}/{org}/{repo}` (e.g., `gh/myorg/myrepo`)\n- `branch` and `tag` are mutually exclusive; providing both causes an error\n- Pipeline parameters must match those defined in `.circleci/config.yml`\n- Triggering returns a pipeline ID; workflows start asynchronously\n\n### 2. Monitor Pipelines and Workflows\n\n**When to use**: User wants to check the status of pipelines or workflows\n\n**Tool sequence**:\n1. `CIRCLECI_LIST_PIPELINES_FOR_PROJECT` - List recent pipelines for a project [Required]\n2. `CIRCLECI_LIST_WORKFLOWS_BY_PIPELINE_ID` - List workflows within a pipeline [Required]\n3. `CIRCLECI_GET_PIPELINE_CONFIG` - View the pipeline configuration used [Optional]\n\n**Key parameters**:\n- `project_slug`: Project identifier in `{vcs}/{org}/{repo}` format\n- `pipeline_id`: UUID of a specific pipeline\n- `branch`: Filter pipelines by branch name\n- `page_token`: Pagination cursor for next page of results\n\n**Pitfalls**:\n- Pipeline IDs are UUIDs, not numeric IDs\n- Workflows inherit the pipeline ID; a single pipeline can have multiple workflows\n- Workflow states include: success, running, not_run, failed, error, failing, on_hold, canceled, unauthorized\n- `page_token` is returned in responses for pagination; continue until absent\n\n### 3. Inspect Job Details\n\n**When to use**: User wants to drill into a specific job's execution details\n\n**Tool sequence**:\n1. `CIRCLECI_LIST_WORKFLOWS_BY_PIPELINE_ID` - Find workflow containing the job [Prerequisite]\n2. `CIRCLECI_GET_JOB_DETAILS` - Get detailed job information [Required]\n\n**Key parameters**:\n- `project_slug`: Project identifier\n- `job_number`: Numeric job number (not UUID)\n\n**Pitfalls**:\n- Job numbers are integers, not UUIDs (unlike pipeline and workflow IDs)\n- Job details include executor type, parallelism, start/stop times, and status\n- Job statuses: success, running, not_run, failed, retried, timedout, infrastructure_fail, canceled\n\n### 4. Retrieve Build Artifacts\n\n**When to use**: User wants to download or list artifacts produced by a job\n\n**Tool sequence**:\n1. `CIRCLECI_GET_JOB_DETAILS` - Confirm job completed successfully [Prerequisite]\n2. `CIRCLECI_GET_JOB_ARTIFACTS` - List all artifacts from the job [Required]\n\n**Key parameters**:\n- `project_slug`: Project identifier\n- `job_number`: Numeric job number\n\n**Pitfalls**:\n- Artifacts are only available after job completion\n- Each artifact has a `path` and `url` for download\n- Artifact URLs may require authentication headers to download\n- Large artifacts may have download size limits\n\n### 5. Review Test Results\n\n**When to use**: User wants to check test outcomes for a specific job\n\n**Tool sequence**:\n1. `CIRCLECI_GET_JOB_DETAILS` - Verify job ran tests [Prerequisite]\n2. `CIRCLECI_GET_TEST_METADATA` - Retrieve test results and metadata [Required]\n\n**Key parameters**:\n- `project_slug`: Project identifier\n- `job_number`: Numeric job number\n\n**Pitfalls**:\n- Test metadata requires the job to have uploaded test results (JUnit XML format)\n- If no test results were uploaded, the response will be empty\n- Test metadata includes classname, name, result, message, and run_time fields\n- Failed tests include failure messages in the `message` field\n\n## Common Patterns\n\n### Project Slug Format\n\n```\nFormat: {vcs_type}/{org_name}/{repo_name}\n- GitHub:    gh/myorg/myrepo\n- Bitbucket: bb/myorg/myrepo\n```\n\n### Pipeline -> Workflow -> Job Hierarchy\n\n```\n1. Call CIRCLECI_LIST_PIPELINES_FOR_PROJECT to get pipeline IDs\n2. Call CIRCLECI_LIST_WORKFLOWS_BY_PIPELINE_ID with pipeline_id\n3. Extract job numbers from workflow details\n4. Call CIRCLECI_GET_JOB_DETAILS with job_number\n```\n\n### Pagination\n\n- Check response for `next_page_token` field\n- Pass token as `page_token` in next request\n- Continue until `next_page_token` is absent or null\n\n## Known Pitfalls\n\n**ID Formats**:\n- Pipeline IDs: UUIDs (e.g., `5034460f-c7c4-4c43-9457-de07e2029e7b`)\n- Workflow IDs: UUIDs\n- Job numbers: Integers (e.g., `123`)\n- Do NOT mix up UUIDs and integers between different endpoints\n\n**Project Slugs**:\n- Must include VCS prefix: `gh/` for GitHub, `bb/` for Bitbucket\n- Organization and repo names are case-sensitive\n- Incorrect slug format causes 404 errors\n\n**Rate Limits**:\n- CircleCI API has per-endpoint rate limits\n- Implement exponential backoff on 429 responses\n- Avoid rapid polling; use reasonable intervals (5-10 seconds)\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Trigger pipeline | CIRCLECI_TRIGGER_PIPELINE | project_slug, branch, parameters |\n| List pipelines | CIRCLECI_LIST_PIPELINES_FOR_PROJECT | project_slug, branch |\n| List workflows | CIRCLECI_LIST_WORKFLOWS_BY_PIPELINE_ID | pipeline_id |\n| Get pipeline config | CIRCLECI_GET_PIPELINE_CONFIG | pipeline_id |\n| Get job details | CIRCLECI_GET_JOB_DETAILS | project_slug, job_number |\n| Get job artifacts | CIRCLECI_GET_JOB_ARTIFACTS | project_slug, job_number |\n| Get test metadata | CIRCLECI_GET_TEST_METADATA | project_slug, job_number |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.",
  "applicable_domains": [
    "devops"
  ],
  "category": "devops",
  "invocation": [
    "/circleci-automation"
  ],
  "authored_by": "claudeskills.in community",
  "source_url": "https://claudeskills.in/skill/circleci-automation",
  "provenance": {
    "source": "claudeskills.in",
    "source_url": "https://claudeskills.in/skill/circleci-automation",
    "license": "unknown",
    "imported_at": "2026-09-03",
    "notes": "Aggregated by claudeskills.in from community GitHub lists."
  },
  "tags": [
    "claudeskills",
    "devops"
  ],
  "lifecycle": "draft"
}