agentleFS
thisrohanguptathisrohangupta/harness-skills/skills/run-pipeline/SKILL.md

run-pipeline

Skill2 starsChanged 7 months agoApache-2.0Archived repositoryView on GitHub

Execute and monitor Harness pipeline runs via MCP tools. Find pipelines, provide runtime inputs, trigger executions, monitor progress, handle approvals, retry failures, and abort running or stuck executions. Use when asked to run a pipeline, execute a deployment, trigger a build, start a pipeline, deploy a service, check execution status, approve a pipeline, or abort/stop/interrupt executions. Trigger phrases: run pipeline, execute pipeline, deploy, start build, trigger pipeline, check execution, approve deployment, retry failed pipeline, abort execution, stop pipeline, interrupt execution, kill stuck pipeline.

We split this skill into the rules it gives an agent

12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If execution is waiting for approval:

    line 101
  2. Distinctive:

    Check if pipeline has approval gates

    line 127
  3. Distinctive:

    Verify the version was tested in lower environments

    line 128
  4. Distinctive:

    Always confirm the pipeline identifier and required inputs before triggering execution.

    line 205
  5. Distinctive:

    When monitoring executions, wait for terminal status (Success, Failed, Aborted) before reporting results.

    line 206
  6. Distinctive:

    If an execution fails, gather full error context from logs before suggesting fixes.

    line 207
  7. Very specific:

    Check delegate availability with harness_status

    line 212
  8. Very specific:

    Test connector credentials with harness_execute (resource_type: "connector", action: "test_connection")

    line 214
  9. Very specific:

    Use harness_get on the pipeline to see all <+input> fields

    line 217
  10. Distinctive:

    Check input sets for pre-configured values

    line 218
  11. Very specific:

    Check for pending approvals with harness_list (resource_type: "approval_instance")

    line 221
  12. Very specific:

    Check delegate status with harness_status

    line 222

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Run Pipeline

Execute and monitor Harness pipeline runs via MCP.

Instructions

Step 1: Find the Pipeline

Call MCP tool: harness_search
Parameters:
  query: "<user's pipeline name or keyword>"
  resource_types: ["pipeline"]
  compact: true

Or list all pipelines in a project:

Call MCP tool: harness_list
Parameters:
  resource_type: "pipeline"
  org_id: "<organization>"
  project_id: "<project>"
  search_term: "<optional filter>"

Step 2: Get Pipeline Details

Call MCP tool: harness_get
Parameters:
  resource_type: "pipeline"
  resource_id: "<pipeline_identifier>"
  org_id: "<organization>"
  project_id: "<project>"

Extract from response:

  • Required runtime inputs (<+input> fields)
  • Pipeline variables with types and defaults
  • Stage structure and deployment targets

Step 3: Check Available Input Sets

Call MCP tool: harness_list
Parameters:
  resource_type: "input_set"
  org_id: "<organization>"
  project_id: "<project>"

Input sets provide pre-configured values that can be used or overridden.

Step 4: Execute the Pipeline

Call MCP tool: harness_execute
Parameters:
  resource_type: "pipeline"
  action: "run"
  resource_id: "<pipeline_identifier>"
  org_id: "<organization>"
  project_id: "<project>"

Step 5: Monitor Execution

Call MCP tool: harness_get
Parameters:
  resource_type: "execution"
  resource_id: "<execution_id>"
  org_id: "<organization>"
  project_id: "<project>"

Execution statuses: Running, Success, Failed, Aborted, Waiting (approval/input), Expired

Step 6: Handle Approvals

If execution is waiting for approval:

Call MCP tool: harness_list
Parameters:
  resource_type: "approval_instance"
  org_id: "<organization>"
  project_id: "<project>"

Then approve or reject:

Call MCP tool: harness_execute
Parameters:
  resource_type: "approval_instance"
  action: "approve"  # or "reject"
  resource_id: "<approval_id>"

Safety: Production Deployments

CRITICAL: Before executing pipelines targeting production:

  1. Confirm intent with the user explicitly
  2. Show what will be deployed (version, service, environment)
  3. Check if pipeline has approval gates
  4. Verify the version was tested in lower environments

Response Format

Before Execution

Pipeline: <name>
Project: <project>
Required Inputs: <list variables needing values>
Available Input Sets: <list>
Ready to execute? Confirm to proceed.

After Trigger

Pipeline: <name>
Execution ID: <id>
Status: Running
View in Harness: <openInHarness link>

Execution Complete

Pipeline: <name>
Status: Success/Failed
Duration: <time>
Stages: <stage results table>

Retrying Failed Executions

Call MCP tool: harness_execute
Parameters:
  resource_type: "execution"
  action: "retry"
  resource_id: "<execution_id>"
  org_id: "<organization>"
  project_id: "<project>"

Interrupting Running Executions

To abort an entire pipeline execution:

Call MCP tool: harness_execute
Parameters:
  resource_type: "execution"
  action: "interrupt"
  resource_id: "<execution_id>"
  org_id: "<organization>"
  project_id: "<project>"
  params:
    interrupt_type: "AbortAll"

The interrupt_type field inside params is required. Valid values:

interrupt_typeEffect
AbortAllAbort the entire pipeline execution
UserMarkedFailureMark the execution as failed by user

To abort multiple stuck executions, call harness_execute with params: {interrupt_type: "AbortAll"} for each execution ID.

Examples

  • "Run the ci-pipeline" - Search for pipeline, execute with defaults
  • "Deploy version 2.0.0 to staging" - Find deploy pipeline, provide version input, execute
  • "What's the status of execution xyz123?" - Get execution details
  • "Retry the last failed deployment" - List recent failed executions, retry
  • "Abort all stuck executions" - List running/waiting executions, interrupt each with params: {interrupt_type: "AbortAll"}
  • "Stop execution abc123" - Interrupt the specific execution with params: {interrupt_type: "AbortAll"}

Performance Notes

  • Always confirm the pipeline identifier and required inputs before triggering execution. A failed execution due to missing inputs wastes time.
  • When monitoring executions, wait for terminal status (Success, Failed, Aborted) before reporting results. Do not assume intermediate states are final.
  • If an execution fails, gather full error context from logs before suggesting fixes. Do not guess at root causes.

Troubleshooting

Pipeline Won't Start

  • Check delegate availability with harness_status
  • Validate all required inputs have values
  • Test connector credentials with harness_execute (resource_type: "connector", action: "test_connection")

Missing Inputs

  • Use harness_get on the pipeline to see all <+input> fields
  • Check input sets for pre-configured values

Execution Stuck

  • Check for pending approvals with harness_list (resource_type: "approval_instance")
  • Check delegate status with harness_status
  • Abort stuck executions with harness_execute (resource_type: "execution", action: "interrupt", params: {interrupt_type: "AbortAll"})

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.