TeamCity CLI is a command-line client for TeamCity, a continuous integration system that runs builds and manages their logs, queues, and build agents. Developers and AI agents use it to start builds, inspect results, access agent terminals, edit job settings, and call the TeamCity REST API.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add JetBrains/teamcity-cli --skill migrate-to-teamcitygit clone --depth 1 https://github.com/JetBrains/teamcity-cliWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jetbrains/teamcity-cli/migrate-to-teamcity)<a href="https://agentmods.dev/skills/jetbrains/teamcity-cli/migrate-to-teamcity"><img src="https://agentmods.dev/badge/skills/jetbrains/teamcity-cli/migrate-to-teamcity/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jetbrains/teamcity-cli/migrate-to-teamcity"><img src="https://agentmods.dev/badge/skills/jetbrains/teamcity-cli/migrate-to-teamcity.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.01253 |
| Opus 5 | $0.00043 | $0.00626 |
| Sonnet 5 | $0.00017 | $0.00251 |
| Haiku 4.5 | $0.00009 | $0.00125 |
Grade A, and why
migrate-to-teamcity scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migrate to TeamCity
Quick Start
teamcity migrate # detect + convert + write .tc.yml files
teamcity migrate --dry-run --json # preview as structured JSON
teamcity pipeline validate f.tc.yml # schema check
teamcity project vcs create --url <repo-url> --auth anonymous -p ProjectId # create VCS root first
teamcity pipeline create name -p ProjectId -f f.tc.yml --vcs-root <VcsRootId>
teamcity run start PipelineId --watch
Run teamcity migrate from the repo root -- detection scans .github/workflows/ and bamboo-specs/ relative to the current directory.
Reading the report
- Needs review -- problems inside the generated YAML: TODO stubs, dropped steps, reusable-workflow placeholders. Fix these in the file before creating the pipeline.
- Manual setup needed -- work the converter cannot do. Sort each item onto one of two sides: YAML edits (secrets, matrix expansion, expression
runs-on,container:/services:) go beforepipeline create; server-side configuration (connections,if:-derived branch filters, triggers, notifications) comes after. The checklist below orders them. - Exit code 1 means at least one source failed to convert or one generated file failed schema validation -- files that converted cleanly are still written. Read the per-file ✓/⚠/✗ lines instead of treating exit 1 as total failure.
--jsonprints{"sources": [...], "results": [...]}to stdout; each result carriesoutputFile,yaml,needsReview,manualSetup, andvalidationError.
Gotchas
- Always
type: scriptfor./gradlewand./mvnw. TC'stype: gradle/type: mavenrunners use the agent's version, not the project's. This causes real build failures. - Schema valid does not mean pipeline works. Migration is not done until builds pass.
- Private repos: use a GitHub App connection, not a PAT. Start with
teamcity project connection create github-app -p <project>-- its output prints the authorize, App-install, andvcs createfollow-up commands. That flow opens a browser; in headless runs pass existing App credentials (--no-manifest --app-id <id> --client-id <id> --private-key-file <pem> --stdin, client secret piped to stdin) or use SSH deploy keys (teamcity project ssh uploadwith a[email protected]:URL). Public repos:--auth anonymous. - Secrets, triggers, and branch filters are always manual. The converter flags them but cannot create them -- the checklist below covers each.
- VCS root must exist before pipeline create.
teamcity pipeline createtakes--vcs-root <id>, not a URL. Create it first withteamcity project vcs create. - Default branch defaults to
main. Pass--branch refs/heads/mastertoteamcity project vcs createif the repo usesmaster. - Unknown actions/tasks become stubs. Read the action's source, write an equivalent shell script. Most actions are thin CLI wrappers. See mappings.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 63 lines · 86 tokens per session scan A 5479bb5c5bce
migrate-to-teamcity is a skill published in the GitHub repository JetBrains/teamcity-cli (123 stars, last pushed today), licensed Apache-2.0. It adds 86 tokens to every session and 1,253 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ci-cd
A skill for configuring continuous integration and continuous delivery, or CI/CD: automated steps that build, test, and sometimes package or publish software when code changes. It includes examples for Jenkins, GitLab CI, and GitHub Actions.
atmos-hooks
Atmos hooks: lifecycle events, hook kinds, command/store/git/security hooks, step/steps hooks, when: conditions, scoping and overrides, toolchain integration, --skip-hooks, and Atmos Pro/local output.
atmos-modernization
Atmos Modernization: migrate deprecated or legacy Atmos patterns to current names, Native CI, Atmos Pro drift detection, dependencies.components, nametemplate, and declared secrets.
atmos-pro
Atmos Pro setup and workflows: settings.pro, GitHub OIDC, affected and inventory uploads, stack locks, pro commit, workflow dispatch, merge queues, and drift detection.
atmos-sbom
Atmos SBOM provenance: CycloneDX and SPDX generation from vendor and Terraform evidence, coverage diagnostics, NTIA validation, and native CI workflow-artifact publication.
atmos-cache
Atmos caching: CI cache configuration and commands, GitHub Actions cache integration, Terraform registry cache mirror/list/prune/stats/trust, and cache modernization guidance.