{"id":"443e2eae-e918-4a0f-bd26-6d965d2da786","shortId":"dXpaGx","kind":"skill","title":"create-pipeline-v1","tagline":">-","description":"# Create Pipeline v1\n\nGenerate Harness v1 simplified Pipeline YAML and optionally push to Harness via MCP.\n\n**Alpha: This skill is currently in internal testing only.**\n\n## Instructions\n\n1. **Confirm v1 format** - User must specifically want v1 syntax. Default to v0 (`/create-pipeline`) if unclear.\n2. **Clarify requirements** - Pipeline type (CI, CD, or both), language/framework, deployment target\n3. **Consult the spec reference** - Use `references/v1-spec-schema.md` for the complete v1 schema, step types, action catalog, and examples\n4. **Select native actions** - Always prefer native action and template steps over `run:` steps. Consult `references/native-actions.md` for the full mapping. Key rules:\n   - Docker build/push → use `template: uses: buildAndPushToDocker` / `buildAndPushToECR` / `buildAndPushToGAR` (never `run: docker build && docker push`)\n   - K8s deploy → use `action: uses: kubernetes-rolling-deploy` or `template: uses: k8sRollingDeployStep` (never `run: kubectl apply`)\n   - Helm deploy → use `action: uses: helm-deploy` or `template: uses: helmDeployBasicStep` (never `run: helm upgrade --install`)\n   - ECS deploy → use `template: uses: ecsBluegreenDeployStep` (never `run: aws ecs update-service`)\n   - Terraform → use `template: uses: terraformStep` (never `run: terraform apply`)\n   - Security scanning → use native STO templates (`gitleaksStep`, `banditStep`, `sbomOrchestrationStep`)\n   - Uploads → use `template: uses: uploadArtifactsToS3` / `uploadArtifactsToGCS` (never `run: aws s3 cp`)\n   - Approvals → use `approval: uses: harness` or `approval: uses: jira` (never polling scripts)\n   - Ticketing → use `action: uses: jira-create` / `snow-create` (never `run: curl`)\n   - HTTP requests → use `action: uses: http` or `template: uses: httpStep` (never `run: curl`)\n   - Use `run:` steps only for custom build/test/lint commands with no native equivalent\n5. **Generate v1 YAML** using flat structure, `${{ }}` expressions, `script` field for run steps, and `action`/`template` steps for deployments\n6. **Optionally create via MCP** using `harness_create` with resource_type `pipeline`\n\n## v1 Key Differences from v0\n\n| v0 Syntax | v1 Syntax |\n|-----------|-----------|\n| `<+variable>` expressions | `${{ variable }}` expressions |\n| `type: CI` / `type: Deployment` stage types | Flat stages -- no `type` field |\n| `command:` field in Run steps | `script:` field in `run:` steps |\n| Native steps (`K8sRollingDeploy`, `HelmDeploy`) | Action steps (`action: uses: kubernetes-rolling-deploy`) |\n| `failureStrategies:` | `on-failure:` |\n| `HarnessApproval` step type | `approval: uses: harness` (stage-level or inline) |\n| Deep nesting (`spec: execution: steps:`) | Flat structure (`steps:`) |\n| `strategy: matrix:` under stage `spec` | `strategy: matrix:` directly on stage or step |\n\n## Pipeline Structure\n\n```yaml\npipeline:\n  name: My Pipeline\n  repo:                          # optional: repository config\n    connector: account.github\n    name: myorg/my-repo\n  clone:                         # optional: clone config\n    depth: 1\n  on:                            # optional: event triggers\n  - push:\n      branches: [main]\n  env:                           # optional: global env vars\n    NODE_ENV: production\n  inputs:                        # optional: pipeline inputs\n    branch:\n      type: string\n      default: main\n  stages:\n  - name: build\n    steps:\n    - run:\n        script: go build\n```\n\nNo `version:`, `kind:`, or `spec:` wrapper -- `pipeline:` is the root key.\n\n## Stages\n\nStages have no `type` field. Their purpose is determined by their keys.\n\n### CI Stage\n\n```yaml\n- name: build\n  runtime: cloud\n  platform:\n    os: linux\n    arch: arm\n  cache:\n    path: node_modules\n    key: npm.${{ branch }}\n  steps:\n  - run:\n      script: npm ci\n```\n\n### Deployment Stage\n\n```yaml\n- name: deploy\n  service: my-service\n  environment: staging\n  steps:\n  - action:\n      uses: kubernetes-rolling-deploy\n      with:\n        dry-run: false\n```\n\n### Approval (stage-level)\n\n```yaml\n- approval:\n    uses: harness\n    with:\n      timeout: 30m\n      message: \"Approve deployment?\"\n      groups: [admins, ops]\n      min-approvers: 1\n```\n\n## Step Types\n\n### Run Step\n\nUses `script:` field (not `command:` or `run:`).\n\n```yaml\n# long syntax\n- run:\n    script: npm test\n\n# short syntax\n- run: npm test\n\n# with container\n- run:\n    container: node:18\n    script: npm test\n\n# with shell and env\n- run:\n    shell: bash\n    script: |\n      npm ci\n      npm test\n    env:\n      NODE_ENV: test\n\n# with output variables\n- id: build\n  run:\n    script: echo \"TAG=v1\" >> $HARNESS_OUTPUT\n    output: [TAG]\n```\n\n### Run Test Step\n\n```yaml\n- run-test:\n    container: maven\n    script: mvn test\n    report:\n      type: junit\n      path: target/surefire-reports/*.xml\n    splitting:\n      concurrency: 4\n```\n\n### Action Step\n\nActions replace v0 native steps. See `references/v1-spec-schema.md` for the full action catalog.\n\n```yaml\n# Kubernetes deploy\n- action:\n    uses: kubernetes-rolling-deploy\n    with:\n      dry-run: false\n\n# Helm deploy\n- action:\n    uses: helm-deploy\n    with:\n      timeout: 10m\n\n# Terraform plan\n- action:\n    uses: terraform-plan\n    with:\n      command: apply\n      aws-provider: account.aws_connector\n\n# HTTP request\n- action:\n    uses: http\n    with:\n      method: GET\n      endpoint: https://acme.com\n```\n\n### Background Step\n\n```yaml\n- background:\n    container: redis\n- run:\n    script: npm test\n```\n\n### Template Step\n\n```yaml\n- template:\n    uses: account.docker@1.0.0\n    with:\n      push: true\n      tags: latest\n```\n\n### Approval Step (inline)\n\n```yaml\n- approval:\n    uses: jira\n    with:\n      connector: account.jira\n      project: PROJ\n```\n\n## Parallel and Group\n\n```yaml\n# parallel steps\n- parallel:\n    steps:\n    - run:\n        script: npm run lint\n    - run:\n        script: npm test\n\n# parallel stages\n- parallel:\n    stages:\n    - steps:\n      - run: go test\n    - steps:\n      - run: npm test\n\n# step group\n- group:\n    steps:\n    - run:\n        script: go build\n    - run:\n        script: go test\n```\n\n## Strategy\n\n```yaml\n# matrix (stage-level)\n- strategy:\n    matrix:\n      node: [16, 18, 20]\n      os: [linux, macos]\n    max-parallel: 3\n  steps:\n  - run:\n      container: node:${{ matrix.node }}\n      script: npm test\n\n# matrix (step-level)\n- strategy:\n    matrix:\n      go: [1.19, 1.20, 1.21]\n  run:\n    container: golang:${{ matrix.go }}\n    script: go test\n```\n\n## Failure Strategy\n\n```yaml\n# step-level\n- run:\n    script: go test\n  on-failure:\n    errors: all\n    action: ignore       # abort, ignore, retry, fail, success\n\n# retry with attempts\n- run:\n    script: go test\n  on-failure:\n    errors: [unknown]\n    action:\n      retry:\n        attempts: 5\n        interval: 10s\n        failure-action: fail\n\n# stage-level\n- steps:\n  - run:\n      script: go test\n  on-failure:\n    errors: all\n    action: abort\n```\n\n## Conditional Execution\n\n```yaml\n# stage conditional\n- if: ${{ branch == \"main\" }}\n  steps:\n  - run:\n      script: deploy.sh\n\n# step conditional\n- if: ${{ branch == \"main\" }}\n  run:\n    script: deploy.sh\n```\n\n## Complete CI Example\n\n```yaml\npipeline:\n  repo:\n    connector: account.github\n    name: myorg/my-app\n  clone:\n    depth: 1\n  on:\n  - push:\n      branches: [main]\n  - pull_request:\n      branches: [main]\n  stages:\n  - name: build-and-test\n    runtime: cloud\n    platform:\n      os: linux\n      arch: arm\n    cache:\n      path: node_modules\n      key: npm.${{ branch }}\n    steps:\n    - run:\n        script: npm ci\n    - parallel:\n        steps:\n        - run:\n            script: npm run lint\n        - run-test:\n            script: npm test\n            report:\n              type: junit\n              path: junit.xml\n    - action:\n        uses: docker-build-push\n        with:\n          connector: dockerhub\n          repo: myorg/my-app\n          tags: [${{ pipeline.sequenceId }}, latest]\n```\n\n## Complete CD Example\n\n```yaml\npipeline:\n  inputs:\n    skip_dry_run:\n      type: boolean\n      default: false\n  stages:\n  - name: deploy-staging\n    service: petstore\n    environment: staging\n    steps:\n    - action:\n        uses: manifest-download\n    - action:\n        uses: manifest-bake\n    - action:\n        uses: kubernetes-rolling-deploy\n        with:\n          dry-run: ${{ inputs.skip_dry_run }}\n  - approval:\n      uses: harness\n      with:\n        timeout: 1d\n        message: \"Approve production deployment?\"\n        groups: [prod-approvers]\n        min-approvers: 1\n  - name: deploy-prod\n    service: petstore\n    environment: prod\n    steps:\n    - action:\n        uses: manifest-download\n    - action:\n        uses: manifest-bake\n    - action:\n        uses: kubernetes-rolling-deploy\n        with:\n          dry-run: false\n```\n\n## Creating via MCP\n\n1. **Verify the project exists** — List projects with `harness_list` (resource_type: `project`, org_id) to confirm. If the project does not exist, create it first with `harness_create` (resource_type: `project`, body: `{ identifier, name }`) or ask the user.\n2. **Create the pipeline** — Use `harness_create` with the v1 pipeline YAML serialized as a **`yamlPipeline`** string in the body. Do not pass a nested JSON `pipeline` object; it causes serialization errors.\n\n```\nCall MCP tool: harness_create\nParameters:\n  resource_type: \"pipeline\"\n  org_id: \"<organization>\"\n  project_id: \"<project>\"\n  body: { yamlPipeline: \"<full v1 pipeline YAML string, including 'pipeline:' root key>\" }\n```\n\n## Examples\n\n### Create a v1 CI pipeline\n\n```\n/create-pipeline-v1\nCreate a v1 CI pipeline for a Node.js app with caching, parallel lint and test, and Docker push\n```\n\n### Create a v1 deployment pipeline\n\n```\n/create-pipeline-v1\nCreate a v1 Kubernetes deployment pipeline with staging approval and production stages\n```\n\n### Create a v1 matrix build\n\n```\n/create-pipeline-v1\nCreate a v1 pipeline that tests across Go 1.19, 1.20, and 1.21 using matrix strategy\n```\n\n## Performance Notes\n\n- Always check `references/native-actions.md` before using a `run:` step. Native actions provide better error handling, rollback support, and UI integration.\n- Always consult `references/v1-spec-schema.md` for the complete v1 spec before generating YAML.\n- Use `script:` field in run steps, never `command:` or `run:` as the field name.\n- Use `action: uses:` or `template: uses:` for deployments, never v0 native step types like `K8sRollingDeploy`.\n- Do not mix v0 and v1 syntax. No `<+...>` expressions, no `type:` on stages, no `spec:` wrapper.\n- Validate all expressions use `${{ }}` syntax before presenting.\n\n## Troubleshooting\n\n### Common v1 Syntax Errors\n\n- Using `<+...>` instead of `${{ ... }}` expressions\n- Adding `type:` field on stages (v1 stages have no type)\n- Using `command:` or `run:` as the field name instead of `script:`\n- Wrapping pipeline in `version:`, `kind:`, `spec:` (v1 uses bare `pipeline:`)\n- Using v0 step types (`K8sRollingDeploy`) instead of actions (`action: uses: kubernetes-rolling-deploy`)\n- Using `failureStrategies:` instead of `on-failure:`\n\n### MCP Errors\n\n- **Project not found** — Verify the project exists with `harness_list` (resource_type: `project`, org_id). Create it first or confirm org_id/project_id are correct.\n- **Missing required fields for pipeline: pipeline** — Pass the body as `{ yamlPipeline: \"<full v1 pipeline YAML string>\" }` instead of a nested JSON `pipeline` object.\n- `DUPLICATE_IDENTIFIER` — Pipeline exists; use `harness_update`\n- `INVALID_REQUEST` — Check YAML structure matches v1 schema","tags":["create","pipeline","harness","skills","agent-skills","agents"],"capabilities":["skill","source-harness","skill-create-pipeline-v1","topic-agent-skills","topic-agents"],"categories":["harness-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/harness/harness-skills/create-pipeline-v1","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add harness/harness-skills","source_repo":"https://github.com/harness/harness-skills","install_from":"skills.sh"}},"qualityScore":"0.457","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 15 github stars · SKILL.md body (11,494 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:06:29.349Z","embedding":null,"createdAt":"2026-05-09T01:05:27.978Z","updatedAt":"2026-05-18T19:06:29.349Z","lastSeenAt":"2026-05-18T19:06:29.349Z","tsv":"'/create-pipeline':44 '/create-pipeline-v1':1116,1140,1158 '1':31,371,495,852,981,1015 '1.0.0':658 '1.19':751,1167 '1.20':752,1168 '1.21':753,1170 '10m':616 '10s':800 '16':726 '18':524,727 '1d':969 '2':47,1054 '20':728 '3':59,735 '30m':485 '4':77,578 '5':239,798 '6':258 'abort':778,819 'account.aws':630 'account.docker':657 'account.github':363,847 'account.jira':673 'acme.com':641 'across':1165 'action':73,80,84,116,133,203,217,253,308,310,464,579,581,591,596,609,619,634,776,795,803,818,904,941,946,951,991,996,1001,1185,1221,1305,1306 'ad':1267 'admin':490 'alpha':21 'alway':81,1176,1195 'app':1125 'appli':129,168,626 'approv':189,191,195,323,475,480,487,494,664,668,964,971,977,980,1149 'arch':438,872 'arm':439,873 'ask':1051 'attempt':785,797 'aw':155,186,628 'aws-provid':627 'background':642,645 'bake':950,1000 'banditstep':176 'bare':1296 'bash':534 'better':1187 'bodi':1047,1073,1099,1353 'boolean':928 'branch':377,391,446,826,835,855,859,880 'build':110,398,403,432,548,712,864,908,1157 'build-and-test':863 'build/push':100 'build/test/lint':233 'buildandpushtodock':104 'buildandpushtoecr':105 'buildandpushtogar':106 'cach':440,874,1127 'call':1086 'catalog':74,592 'caus':1083 'cd':53,919 'check':1177,1372 'ci':52,284,428,451,537,841,885,1114,1120 'clarifi':48 'clone':366,368,850 'cloud':434,868 'command':234,294,504,625,1213,1278 'common':1259 'complet':68,840,918,1200 'concurr':577 'condit':820,824,833 'config':361,369 'confirm':32,1031,1340 'connector':362,631,672,846,911 'consult':60,91,1196 'contain':520,522,565,646,738,755 'correct':1344 'cp':188 'creat':2,5,207,210,260,265,1012,1038,1043,1055,1060,1090,1111,1117,1135,1141,1153,1159,1336 'create-pipeline-v1':1 'curl':213,226 'current':25 'custom':232 'deep':331 'default':41,394,929 'deploy':57,114,121,131,137,148,257,286,315,452,456,469,488,595,601,608,613,934,956,973,984,1006,1138,1145,1227,1311 'deploy-prod':983 'deploy-stag':933 'deploy.sh':831,839 'depth':370,851 'determin':424 'differ':272 'direct':346 'docker':99,109,111,907,1133 'docker-build-push':906 'dockerhub':912 'download':945,995 'dri':472,604,925,959,962,1009 'dry-run':471,603,958,1008 'duplic':1363 'ec':147,156 'echo':551 'ecsbluegreendeploystep':152 'endpoint':640 'env':379,382,385,531,540,542 'environ':461,938,988 'equival':238 'error':774,793,816,1085,1188,1262,1320 'event':374 'exampl':76,842,920,1110 'execut':334,821 'exist':1019,1037,1327,1366 'express':246,280,282,1243,1253,1266 'fail':781,804 'failur':319,761,773,792,802,815,1318 'failure-act':801 'failurestrategi':316,1313 'fals':474,606,930,1011 'field':248,293,295,300,420,502,1208,1218,1269,1283,1347 'first':1040,1338 'flat':244,289,336 'format':34 'found':1323 'full':95,590,1101 'generat':8,240,1204 'get':639 'gitleaksstep':175 'global':381 'go':402,699,711,715,750,759,769,788,811,1166 'golang':756 'group':489,678,706,707,974 'handl':1189 'har':9,18,193,264,325,482,554,966,1023,1042,1059,1089,1329,1368 'harnessapprov':320 'helm':130,136,144,607,612 'helm-deploy':135,611 'helmdeploy':307 'helmdeploybasicstep':141 'http':214,219,632,636 'httpstep':223 'id':547,1029,1096,1098,1335 'id/project_id':1342 'identifi':1048,1364 'ignor':777,779 'includ':1106 'inlin':330,666 'input':387,390,923 'inputs.skip':961 'instal':146 'instead':1264,1285,1303,1314,1356 'instruct':30 'integr':1194 'intern':27 'interv':799 'invalid':1370 'jira':197,206,670 'jira-cr':205 'json':1079,1360 'junit':572,901 'junit.xml':903 'k8s':113 'k8srollingdeploy':306,1234,1302 'k8srollingdeploystep':125 'key':97,271,414,427,444,878,1109 'kind':406,1292 'kubectl':128 'kubernet':119,313,467,594,599,954,1004,1144,1309 'kubernetes-rolling-deploy':118,312,466,598,953,1003,1308 'language/framework':56 'latest':663,917 'level':328,478,722,747,766,807 'like':1233 'lint':688,892,1129 'linux':437,730,871 'list':1020,1024,1330 'long':508 'maco':731 'main':378,395,827,836,856,860 'manifest':944,949,994,999 'manifest-bak':948,998 'manifest-download':943,993 'map':96 'match':1375 'matrix':340,345,719,724,744,749,1156,1172 'matrix.go':757 'matrix.node':740 'maven':566 'max':733 'max-parallel':732 'mcp':20,262,1014,1087,1319 'messag':486,970 'method':638 'min':493,979 'min-approv':492,978 'miss':1345 'mix':1237 'modul':443,877 'must':36 'mvn':568 'my-servic':458 'myorg/my-app':849,914 'myorg/my-repo':365 'name':355,364,397,431,455,848,862,932,982,1049,1219,1284 'nativ':79,83,172,237,304,584,1184,1230 'nest':332,1078,1359 'never':107,126,142,153,165,184,198,211,224,1212,1228 'node':384,442,523,541,725,739,876 'node.js':1124 'note':1175 'npm':445,450,512,517,526,536,538,650,686,691,703,742,879,884,890,897 'object':1081,1362 'on-failur':317,771,790,813,1316 'op':491 'option':15,259,359,367,373,380,388 'org':1028,1095,1334,1341 'os':436,729,870 'output':545,555,556 'parallel':676,680,682,693,695,734,886,1128 'paramet':1091 'pass':1076,1351 'path':441,573,875,902 'perform':1174 'petstor':937,987 'pipelin':3,6,12,50,269,351,354,357,389,410,844,922,1057,1064,1080,1094,1103,1107,1115,1121,1139,1146,1162,1289,1297,1349,1350,1361,1365 'pipeline.sequenceid':916 'plan':618,623 'platform':435,869 'poll':199 'prefer':82 'present':1257 'prod':976,985,989 'prod-approv':975 'product':386,972,1151 'proj':675 'project':674,1018,1021,1027,1034,1046,1097,1321,1326,1333 'provid':629,1186 'pull':857 'purpos':422 'push':16,112,376,660,854,909,1134 'redi':647 'refer':63 'references/native-actions.md':92,1178 'references/v1-spec-schema.md':65,587,1197 'replac':582 'repo':358,845,913 'report':570,899 'repositori':360 'request':215,633,858,1371 'requir':49,1346 'resourc':267,1025,1044,1092,1331 'retri':780,783,796 'roll':120,314,468,600,955,1005,1310 'rollback':1190 'root':413,1108 'rule':98 'run':89,108,127,143,154,166,185,212,225,228,250,297,302,400,448,473,498,506,510,516,521,532,549,558,563,605,648,684,687,689,698,702,709,713,737,754,767,786,809,829,837,882,888,891,894,926,960,963,1010,1182,1210,1215,1280 'run-test':562,893 'runtim':433,867 's3':187 'sbomorchestrationstep':177 'scan':170 'schema':70,1377 'script':200,247,299,401,449,501,511,525,535,550,567,649,685,690,710,714,741,758,768,787,810,830,838,883,889,896,1207,1287 'secur':169 'see':586 'select':78 'serial':1066,1084 'servic':159,457,460,936,986 'shell':529,533 'short':514 'simplifi':11 'skill':23 'skill-create-pipeline-v1' 'skip':924 'snow':209 'snow-creat':208 'source-harness' 'spec':62,333,343,408,1202,1249,1293 'specif':37 'split':576 'stage':287,290,327,342,348,396,415,416,429,453,462,477,694,696,721,806,823,861,931,935,939,1148,1152,1247,1271,1273 'stage-level':326,476,720,805 'step':71,87,90,229,251,255,298,303,305,309,321,335,338,350,399,447,463,496,499,560,580,585,643,653,665,681,683,697,701,705,708,736,746,765,808,828,832,881,887,940,990,1183,1211,1231,1300 'step-level':745,764 'sto':173 'strategi':339,344,717,723,748,762,1173 'string':393,1070,1105 'structur':245,337,352,1374 'success':782 'support':1191 'syntax':40,276,278,509,515,1241,1255,1261 'tag':552,557,662,915 'target':58 'target/surefire-reports':574 'templat':86,102,123,139,150,162,174,180,221,254,652,655,1224 'terraform':160,167,617,622 'terraform-plan':621 'terraformstep':164 'test':28,513,518,527,539,543,559,564,569,651,692,700,704,716,743,760,770,789,812,866,895,898,1131,1164 'ticket':201 'timeout':484,615,968 'tool':1088 'topic-agent-skills' 'topic-agents' 'trigger':375 'troubleshoot':1258 'true':661 'type':51,72,268,283,285,288,292,322,392,419,497,571,900,927,1026,1045,1093,1232,1245,1268,1276,1301,1332 'ui':1193 'unclear':46 'unknown':794 'updat':158,1369 'update-servic':157 'upgrad':145 'upload':178 'uploadartifactstogc':183 'uploadartifactstos3':182 'use':64,101,103,115,117,124,132,134,140,149,151,161,163,171,179,181,190,192,196,202,204,216,218,222,227,243,263,311,324,465,481,500,597,610,620,635,656,669,905,942,947,952,965,992,997,1002,1058,1171,1180,1206,1220,1222,1225,1254,1263,1277,1295,1298,1307,1312,1367 'user':35,1053 'v0':43,274,275,583,1229,1238,1299 'v1':4,7,10,33,39,69,241,270,277,553,1063,1102,1113,1119,1137,1143,1155,1161,1201,1240,1260,1272,1294,1376 'valid':1251 'var':383 'variabl':279,281,546 'verifi':1016,1324 'version':405,1291 'via':19,261,1013 'want':38 'wrap':1288 'wrapper':409,1250 'xml':575 'yaml':13,242,353,430,454,479,507,561,593,644,654,667,679,718,763,822,843,921,1065,1104,1205,1373 'yamlpipelin':1069,1100,1355","prices":[{"id":"28386da8-6970-4e48-ae26-b03ede750526","listingId":"443e2eae-e918-4a0f-bd26-6d965d2da786","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"harness","category":"harness-skills","install_from":"skills.sh"},"createdAt":"2026-05-09T01:05:27.978Z"}],"sources":[{"listingId":"443e2eae-e918-4a0f-bd26-6d965d2da786","source":"github","sourceId":"harness/harness-skills/create-pipeline-v1","sourceUrl":"https://github.com/harness/harness-skills/tree/main/skills/create-pipeline-v1","isPrimary":false,"firstSeenAt":"2026-05-09T01:05:27.978Z","lastSeenAt":"2026-05-18T19:06:29.349Z"}],"details":{"listingId":"443e2eae-e918-4a0f-bd26-6d965d2da786","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"harness","slug":"create-pipeline-v1","github":{"repo":"harness/harness-skills","stars":15,"topics":["agent-skills","agents"],"license":"apache-2.0","html_url":"https://github.com/harness/harness-skills","pushed_at":"2026-05-13T01:28:28Z","description":"A collection of structured AI agent skills that   enable Claude Code, Cursor, GitHub Copilot, and   other AI coding assistants to create, operate,   debug, and govern Harness CI/CD workflows through   natural language.","skill_md_sha":"4f58090026b5b609e184f7cd61acbdf306c8b2ca","skill_md_path":"skills/create-pipeline-v1/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/harness/harness-skills/tree/main/skills/create-pipeline-v1"},"layout":"multi","source":"github","category":"harness-skills","frontmatter":{"name":"create-pipeline-v1","license":"Apache-2.0","description":">-","compatibility":"Requires Harness MCP v2 server (harness-mcp-v2)"},"skills_sh_url":"https://skills.sh/harness/harness-skills/create-pipeline-v1"},"updatedAt":"2026-05-18T19:06:29.349Z"}}