{"id":"4d1cafb0-174c-4523-ac28-ec26d1d6bfb7","shortId":"Vv9xLJ","kind":"skill","title":"teamcity-cli","tagline":"Use when working with TeamCity CI/CD or when a user provides a TeamCity build URL — drives the `teamcity` CLI for builds, logs, jobs, queues, agents, pools, projects, and pipelines.","description":"# TeamCity CLI (`teamcity`)\n\n## Quick Start\n\n```bash\nteamcity auth status                    # Check authentication\nteamcity run list --status failure      # Find failed builds\nteamcity run log <id> --failed --raw    # Full failure diagnostics\n```\n\n**Do not guess flags or syntax.** Use the [command reference](references/commands.md) or `teamcity <command> --help`. Builds are **runs** (`teamcity run`); build configurations are **jobs** (`teamcity job`). Never use `--count` — use `--limit` (or `-n`).\n\n## Gotchas\n\n- **Composite builds have empty logs** — drill into child builds for the actual failure.\n- **Build chains fail bottom-up** — deepest failed dependency is the root cause. Use `teamcity run tree <id>`.\n- **`--local-changes` excludes Kotlin DSL** — push `.teamcity/` changes before running.\n- **`TEAMCITY_URL` alone bypasses stored auth** — set both `TEAMCITY_URL` and `TEAMCITY_TOKEN`, or leave unset.\n- **Logs**: use `--raw` and dump to a temp file. **Builds**: use `--watch` when starting them.\n- **VCS triggers aren't always wired up** — after pushing a fix you may need to start builds manually.\n- **`pipeline push` does not validate** — always `teamcity pipeline validate` first.\n- **GitHub VCS roots: use a GitHub App connection.** Never paste a PAT via `--auth password`. See [workflows](references/workflows.md).\n\n## Core Commands\n\n| Area      | Commands                                                                                          |\n|-----------|---------------------------------------------------------------------------------------------------|\n| Auth      | `auth login`, `logout`, `status`                                                                  |\n| Builds    | `run list`, `view`, `start`, `watch`, `log`, `cancel`, `restart`, `tests`, `changes`, `tree`      |\n| Artifacts | `run artifacts`, `run download`                                                                   |\n| Metadata  | `run pin/unpin`, `run tag/untag`, `run comment`                                                   |\n| Jobs      | `job list`, `view`, `tree`, `pause/resume`, `param list/get/set/delete`                           |\n| Projects  | `project list`, `view`, `create`, `tree`, `param`, `token put/get`, `settings export/status`      |\n| VCS/Conn  | `project vcs list/view/create/delete`, `project connection list/create/authorize/delete`          |\n| Queue     | `queue list`, `approve`, `remove`, `top`                                                          |\n| Agents    | `agent list`, `view`, `enable/disable`, `authorize/deauthorize`, `exec`, `term`, `reboot`, `move` |\n| Pools     | `pool list`, `view`, `link/unlink`                                                                |\n| Pipelines | `pipeline list`, `view`, `create`, `validate`, `pull`, `push`, `schema`, `delete`                 |\n| API       | `teamcity api <endpoint>` — raw REST access                                                       |\n| Link      | `teamcity link` — bind repo via `teamcity.toml`                                                   |\n\n## Quick Workflows\n\nSee [Workflows](references/workflows.md) for full details on each.\n\n- **Investigate failure**: `run list --status failure` → `run log <id> --failed --raw` → `run tests <id> --failed`\n- **Debug build chain**: `run tree <id>` → drill to deepest failed child\n- **Fix and verify**: edit → push → `run start --watch` (use `--local-changes` for personal builds)\n- **Pipeline lifecycle**: `pipeline pull <id>` → edit → `pipeline validate` → `pipeline push <id>`, `pipeline schema` to get the actual schema from the server\n- **GitHub VCS**: `connection create github-app` → `connection authorize` → install App on repo → `vcs create --auth token --connection-id <id>`\n- **Docker registry**: `echo $TOKEN | connection create docker -p <id> --name X --url https://ghcr.io --username U --stdin`\n\n## References\n\n- [Command reference](references/commands.md) — all commands and flags\n- [Workflows](references/workflows.md) — failure investigation, build chains, connections, pipelines\n- [Output formats](references/output.md) — JSON, plain text, scripting","tags":["teamcity","cli","jetbrains","agent-skills","ai-agent","claude-skills","teamcity-agent","teamcity-rest-api"],"capabilities":["skill","source-jetbrains","skill-teamcity-cli","topic-agent-skills","topic-ai-agent","topic-claude-skills","topic-cli","topic-teamcity","topic-teamcity-agent","topic-teamcity-rest-api"],"categories":["teamcity-cli"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/JetBrains/teamcity-cli/teamcity-cli","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add JetBrains/teamcity-cli","source_repo":"https://github.com/JetBrains/teamcity-cli","install_from":"skills.sh"}},"qualityScore":"0.488","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 77 github stars · SKILL.md body (4,128 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-02T12:55:23.569Z","embedding":null,"createdAt":"2026-04-18T22:13:05.929Z","updatedAt":"2026-05-02T12:55:23.569Z","lastSeenAt":"2026-05-02T12:55:23.569Z","tsv":"'access':306 'actual':104,376 'agent':28,276,277 'alon':136 'alway':169,188 'api':301,303 'app':199,387,391 'approv':273 'area':213 'aren':167 'artifact':232,234 'auth':40,139,206,215,216,396 'authent':43 'author':389 'authorize/deauthorize':281 'bash':38 'bind':310 'bottom':110 'bottom-up':109 'build':17,24,51,74,79,94,101,106,159,181,220,338,361,428 'bypass':137 'cancel':227 'caus':118 'chain':107,339,429 'chang':125,131,230,358 'check':42 'child':100,346 'ci/cd':9 'cli':3,22,34 'command':68,212,214,417,421 'comment':243 'composit':93 'configur':80 'connect':200,268,383,388,399,405,430 'connection-id':398 'core':211 'count':87 'creat':256,295,384,395,406 'debug':337 'deepest':112,344 'delet':300 'depend':114 'detail':321 'diagnost':59 'docker':401,407 'download':236 'drill':98,342 'drive':19 'dsl':128 'dump':154 'echo':403 'edit':350,366 'empti':96 'enable/disable':280 'exclud':126 'exec':282 'export/status':262 'fail':50,55,108,113,332,336,345 'failur':48,58,105,325,329,426 'file':158 'find':49 'first':192 'fix':175,347 'flag':63,423 'format':433 'full':57,320 'get':374 'ghcr.io':412 'github':193,198,381,386 'github-app':385 'gotcha':92 'guess':62 'help':73 'id':400 'instal':390 'investig':324,427 'job':26,82,84,244,245 'json':435 'kotlin':127 'leav':148 'lifecycl':363 'limit':89 'link':307,309 'link/unlink':290 'list':46,222,246,254,272,278,288,293,327 'list/create/authorize/delete':269 'list/get/set/delete':251 'list/view/create/delete':266 'local':124,357 'local-chang':123,356 'log':25,54,97,150,226,331 'login':217 'logout':218 'manual':182 'may':177 'metadata':237 'move':285 'n':91 'name':409 'need':178 'never':85,201 'output':432 'p':408 'param':250,258 'password':207 'past':202 'pat':204 'pause/resume':249 'person':360 'pin/unpin':239 'pipelin':32,183,190,291,292,362,364,367,369,371,431 'plain':436 'pool':29,286,287 'project':30,252,253,264,267 'provid':14 'pull':297,365 'push':129,173,184,298,351,370 'put/get':260 'queue':27,270,271 'quick':36,314 'raw':56,152,304,333 'reboot':284 'refer':69,416,418 'references/commands.md':70,419 'references/output.md':434 'references/workflows.md':210,318,425 'registri':402 'remov':274 'repo':311,393 'rest':305 'restart':228 'root':117,195 'run':45,53,76,78,121,133,221,233,235,238,240,242,326,330,334,340,352 'schema':299,372,377 'script':438 'see':208,316 'server':380 'set':140,261 'skill' 'skill-teamcity-cli' 'source-jetbrains' 'start':37,163,180,224,353 'status':41,47,219,328 'stdin':415 'store':138 'syntax':65 'tag/untag':241 'teamciti':2,8,16,21,33,35,39,44,52,72,77,83,120,130,134,142,145,189,302,308 'teamcity-c':1 'teamcity.toml':313 'temp':157 'term':283 'test':229,335 'text':437 'token':146,259,397,404 'top':275 'topic-agent-skills' 'topic-ai-agent' 'topic-claude-skills' 'topic-cli' 'topic-teamcity' 'topic-teamcity-agent' 'topic-teamcity-rest-api' 'tree':122,231,248,257,341 'trigger':166 'u':414 'unset':149 'url':18,135,143,411 'use':4,66,86,88,119,151,160,196,355 'user':13 'usernam':413 'valid':187,191,296,368 'vcs':165,194,265,382,394 'vcs/conn':263 'verifi':349 'via':205,312 'view':223,247,255,279,289,294 'watch':161,225,354 'wire':170 'work':6 'workflow':209,315,317,424 'x':410","prices":[{"id":"f8eca636-a07f-409a-88b2-cfea49948221","listingId":"4d1cafb0-174c-4523-ac28-ec26d1d6bfb7","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"JetBrains","category":"teamcity-cli","install_from":"skills.sh"},"createdAt":"2026-04-18T22:13:05.929Z"}],"sources":[{"listingId":"4d1cafb0-174c-4523-ac28-ec26d1d6bfb7","source":"github","sourceId":"JetBrains/teamcity-cli/teamcity-cli","sourceUrl":"https://github.com/JetBrains/teamcity-cli/tree/main/skills/teamcity-cli","isPrimary":false,"firstSeenAt":"2026-04-18T22:13:05.929Z","lastSeenAt":"2026-05-02T12:55:23.569Z"}],"details":{"listingId":"4d1cafb0-174c-4523-ac28-ec26d1d6bfb7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"JetBrains","slug":"teamcity-cli","github":{"repo":"JetBrains/teamcity-cli","stars":77,"topics":["agent-skills","ai-agent","claude-skills","cli","go","teamcity","teamcity-agent","teamcity-rest-api"],"license":"apache-2.0","html_url":"https://github.com/JetBrains/teamcity-cli","pushed_at":"2026-05-02T11:20:12Z","description":"TeamCity from your terminal – or your AI's. Builds, logs, agents, agent terminals, queues.","skill_md_sha":"a81eb71ef9519a8929c514c0ce795b2814e81484","skill_md_path":"skills/teamcity-cli/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/JetBrains/teamcity-cli/tree/main/skills/teamcity-cli"},"layout":"multi","source":"github","category":"teamcity-cli","frontmatter":{"name":"teamcity-cli","description":"Use when working with TeamCity CI/CD or when a user provides a TeamCity build URL — drives the `teamcity` CLI for builds, logs, jobs, queues, agents, pools, projects, and pipelines."},"skills_sh_url":"https://skills.sh/JetBrains/teamcity-cli/teamcity-cli"},"updatedAt":"2026-05-02T12:55:23.569Z"}}