teamcity-cli — Claude Code skill: drive TeamCity from chat
A skill that teaches your agent to work TeamCity builds through the CLI: pull failure logs, trace build chains, edit pipelines.
npx skills add cline/skills --skill teamcity-cli -a claude-codeWhat teamcity-cli does
The skill covers the teamcity CLI: runs, logs, jobs, queues, agents, pools, projects and pipelines. Instead of guessing flags, the agent checks the command reference. Handy when you paste a failing build URL and want a diagnosis rather than a summary.
Inside are a quick start, a gotchas list and a command table split by area. Builds are runs (teamcity run), build configurations are jobs (teamcity job). Separate workflows cover failure investigation, build chain debugging, the pipeline lifecycle and GitHub App connections.
You need working auth first: teamcity auth status tells you whether you are logged in. Setting TEAMCITY_URL on its own bypasses stored auth, so set both TEAMCITY_URL and TEAMCITY_TOKEN or leave both alone. Composite builds have empty logs, so the real failure lives in child builds. And pipeline push does not validate anything — run teamcity pipeline validate first.
What it helps with
- list failed builds and dump the full error log
- trace a build chain down to the root cause
- start a build and watch it to completion
- edit a pipeline and validate it before pushing
- bind a GitHub repo through an App connection
Example prompts for the agent
- why did build <id> fail? show me the failed step logs
- show the tree for build <id> and find the deepest failed child
- pull pipeline <id>, validate it, then push it back
How to install teamcity-cli
1Skills CLI (Vercel)
npx skills add cline/skills --skill teamcity-cli -a claude-code2Manually: put the files in place
~/.claude/skills/teamcity-cli/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/teamcity-cli/
1Skills CLI (Vercel)
npx skills add cline/skills --skill teamcity-cli -a codex2Manually: put the files in place
.agents/skills/teamcity-cli/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add cline/skills --skill teamcity-cli -a cursor2Manually: put the files in place
.cursor/skills/teamcity-cli/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install cline/skills teamcity-cli2Manually: put the files in place
.github/skills/teamcity-cli/SKILL.md1Skills CLI (Vercel)
npx skills add cline/skills --skill teamcity-cli -a gemini-cli2Platform CLI
gemini skills install https://github.com/cline/skills --path skills/teamcity-cliManually: put the files in place
.devin/skills/teamcity-cli/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add cline/skills --skill teamcity-cli -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about teamcity-cli
How do I install teamcity-cli in Claude?
Run npx skills add cline/skills --skill teamcity-cli -a claude-code. The skill lands in ~/.claude/skills/teamcity-cli/SKILL.md.
What does teamcity-cli do?
It gives the agent a reference for the teamcity CLI: builds, logs, jobs, queues, agents, pools, projects, pipelines and raw REST via teamcity api.
Why is the log empty for a composite build?
Composite builds have no logs of their own — drill into child builds. The skill suggests walking teamcity run tree <id> to the deepest failed one.
Source text
SKILL.md · Apache-2.0
--- name: teamcity-cli version: 1.0.0 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. --- # TeamCity CLI (`teamcity`) ## Quick Start ```bash teamcity auth status # Check authentication teamcity run list --status failure # Find failed builds teamcity run log <id> --failed --raw # Full failure diagnostics ``` **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`). ## Gotchas - **Composite builds have empty logs** — drill into child builds for the actual failure. - **Build chains fail bottom-up** — deepest failed dependency is the root cause. Use `teamcity run tree <id>`. - **`--local-changes` excludes Kotlin DSL** — push `.teamcity/` changes before running. - **`TEAMCITY_URL` alone bypasses stored auth** — set both `TEAMCITY_URL` and `TEAMCITY_TOKEN`, or leave unset. - **Logs**: use `--raw` and dump to a temp file. **Builds**: use `--watch` when starting them. - **VCS triggers aren't always wired up** — after pushing a fix you may need to start builds manually. - **`pipeline push` does not validate** — always `teamcity pipeline validate` first. - **GitHub VCS roots: use a GitHub App connection.** Never paste a PAT via `--auth password`. See [workflows](references/workflows.md). ## Core Commands | Area | Commands | |-----------|---------------------------------------------------------------------------------------------------| | Auth | `auth login`, `logout`, `status` | | Builds | `run list`, `view`, `start`, `watch`, `log`, `cancel`, `restart`, `tests`, `changes`, `tree` | | Artifacts | `run artifacts`, `run download` | | Metadata | `run pin/unpin`, `run tag/untag`, `run comment` | | Jobs | `job list`, `view`, `create`, `tree`, `pause/resume`, `step list/view/add/delete`, `param list/get/set/delete`, `settings list/get/set` | | Projects | `project list`, `view`, `create`, `tree`, `param`, `token put/get`, `settings export/status` | | VCS/Conn | `project vcs list/view/create/delete`, `project connection list/create/authorize/delete` | | Queue | `queue list`, `approve`, `remove`, `top` | | Agents | `agent list`, `view`, `enable/disable`, `authorize/deauthorize`, `exec`, `term`, `reboot`, `move` | | Pools | `pool list`, `view`, `link/unlink` | | Pipelines | `pipeline list`, `view`, `create`, `validate`, `pull`, `push`, `schema`, `delete` | | API | `teamcity api <endpoint>` — raw REST access | | Link | `teamcity link` — bind repo via `teamcity.toml` | ## Quick Workflows See [Workflows](references/workflows.md) for full details on each. - **Investigate failure**: `run list --status failure` → `run log <id> --failed --raw` → `run tests <id> --failed` - **Debug build chain**: `run tree <id>` → drill to deepest failed child - **Fix and verify**: edit → push → `run start --watch` (use `--local-changes` for personal builds) - **Pipeline lifecycle**: `pipeline pull <id>` → edit → `pipeline validate` → `pipeline push <id>`, `pipeline schema` to get the actual schema from the server - **GitHub VCS**: `connection create github-app` → `connection authorize` → install App on repo → `vcs create --auth token --connection-id <id>` - **Docker registry**: `echo $TOKEN | connection create docker -p <id> --name X --url https://ghcr.io --username U --stdin` ## References - [Command reference](references/commands.md) — all commands and flags - [Workflows](references/workflows.md) — failure investigation, build chains, connections, pipelines - [Output formats](references/output.md) — JSON, plain text, scripting
© cline · Apache-2.0 · cline/skills