---
title: "Migrating a Claude Code skill from WebFetch to the new CircleCI CLI: lessons learned about tool and API design"
url: https://daily.dev/posts/migrating-a-claude-code-skill-from-webfetch-to-the-new-circleci-cli-lessons-learned-about-tool-and--11gmfsnoe
source_url: http://microservices.io/post/deployment-pipeline/2026/07/17/from-webfetch-to-circleci-cli-lessons-learned.html
type: article
source: "Microservices.io"
published: 2026-07-18T01:45:49.544Z
updated: 2026-07-18T04:21:24.085Z
tags: ["cicd", "ai-agents", "claude-code", "circleci"]
reading_time: 8
upvotes: 6
comments: 2
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrating a Claude Code skill from WebFetch to the new CircleCI CLI: lessons learned about tool and API design

**[Microservices.io](https://daily.dev/sources/microservicesio)** · 8 min read · 6 upvotes · 2 comments

## Summary

A developer migrated a Claude Code skill for debugging CI failures from using WebFetch (direct REST API calls) to the new CircleCI CLI. The migration required only a one-line prompt, and Claude Code autonomously explored the CLI's help tree to discover the right commands. Key improvements include replacing a polling loop with `circleci run watch` (a blocking call with meaningful exit codes), eliminating cache-busting hacks, and leveraging a `--condensed` flag that filters noisy output server-side for LLM consumption. Claude also discovered `circleci testresult list` as a faster shortcut for identifying failing tests. The broader lessons: prefer well-designed CLIs over raw APIs for AI agents, make CLIs discoverable via `--help`, and design CLI output to be token-efficient for LLM contexts.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <http://microservices.io/post/deployment-pipeline/2026/07/17/from-webfetch-to-circleci-cli-lessons-learned.html>

## Community discussion

Top comments from developers on daily.dev.

**@trevorsuna** · 0 upvotes

> A blocking run watch with useful exit codes is much cleaner than teaching an agent to poll an API. The --condensed output is a nice touch too—good CLI design helps both people and agents.

**@kartiknvj** · 0 upvotes

> The point about designing CLI output to be token-efficient is the lesson I wish more tool authors internalized, since a verbose default response burns context and pushes the agent toward truncation errors. Swapping a polling loop for a blocking watch call with meaningful exit codes is a real win too, because exit codes give the agent a clean success signal instead of forcing it to parse status text. I have found the --help discoverability angle matters most: if the agent can walk the help tree itself, I stop hardcoding command strings that break on the next release.

## Similar posts on daily.dev

- [How I refactored a legacy Node.js test suite with Claude \(and saved 3 days of work\)](https://daily.dev/posts/how-i-refactored-a-legacy-node-js-test-suite-with-claude-and-saved-3-days-of-work--rgcx1hnq3) · Red Hat Developer · 3 upvotes · 0 comments

---

Tags: [#cicd](https://daily.dev/tags/cicd), [#ai-agents](https://daily.dev/tags/ai-agents), [#claude-code](https://daily.dev/tags/claude-code), [#circleci](https://daily.dev/tags/circleci)

[View this post on daily.dev](https://daily.dev/posts/migrating-a-claude-code-skill-from-webfetch-to-the-new-circleci-cli-lessons-learned-about-tool-and--11gmfsnoe)
