ANTIGRAVITY LABJP
Articles/Editor View
Editor View/2026-06-28Intermediate

The Day My Own Skill Stopped Firing — When the Built-in Guide Skill Collides With Yours

Since the built-in Guide skill arrived, custom skills started getting skipped or double-fired. Here is how to observe which skill is chosen, and how to settle the conflict through descriptions and naming.

antigravity399skills2guide-skilleditor30

Premium Article

One morning, a custom skill I rely on simply did not fire. The prompt was the same as always. The only difference was the built-in Guide skill that had landed the day before. The agent leaned on the Guide skill's description and returned generic guidance instead of the steps I had prepared.

When you run several apps and sites in parallel as an indie developer, skills are the foundation that pins your own procedures in place. And that foundation can shift quietly when a built-in skill is added. Left alone, this slides into the most draining workaround of all: rephrasing the prompt every time to dodge the wrong skill.

Here is how I replaced guessing with observation, and settled the conflict through descriptions and naming.

Skills Are Chosen by Keywords in the Description

Antigravity selects a skill using the description placed at the top of SKILL.md. It matches your request against each skill's description and fires the closest one. In other words, the description — not the skill name — holds the steering wheel.

The built-in Guide skill has a deliberately broad description. Because it leans on general phrases like "guide you through" and "show how to proceed," its vocabulary overlaps easily with custom descriptions. The moment they overlap, which one wins stops being stable.

The first thing to do is to avoid deciding, by assumption, whether a conflict even exists.

First, Observe Why a Skill Was Chosen

Before fixing anything, nail down what is actually happening. The procedure is this.

  1. Run the same request once with explicit invocation (name the skill directly with /) to confirm the custom skill itself still works.
  2. Then ask in natural language only, without naming the skill, and check which skill fired from the opening line of the response.
  3. If the wrong skill fired, place your custom description next to the built-in one and eyeball which words overlap.
  4. Move the overlapping words one at a time, in either the request or the description, and reproduce how the firing changes.

What matters is not rewriting the description on a hunch. Move one word at a time and actually see the boundary before you fix it. Fix it without seeing the boundary, and a different request will trigger the opposite collision — an endless back-and-forth.

In my own case, a request that had been firing a different skill every time converged on the same custom skill three runs in a row after I added a single line of trigger words. When I instead moved two words at once without watching the boundary, the built-in stepped forward again on a different request, and it cost two extra round trips to fix. Observe first, then move one word at a time — that is the fastest repair in the end.

Observed symptomLikely causeFirst thing to try
Custom skill never firesThe built-in description sits closer to the requestAdd a unique trigger phrase to your description
Two fire and the response blendsThe descriptions share nearly identical vocabularyNarrow one skill's scope in its description
A different skill each timeBoth match weaklyMake explicit invocation the default
Guide appears unintentionallyThe request asks "how to proceed"Phrase the request as verb + object, imperative

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
A procedure to observe why a skill was chosen, instead of guessing and patching
How to write a description that does not collide with the built-in, plus a naming discipline
How to decide when to deliberately disable or override the built-in Guide skill
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

Editor View2026-06-15
Supervising Multiple Agents at Once on the Antigravity 2.0 Desktop: Screen Layout and Interruption Design
Now that Antigravity 2.0 has been recast as an agent control tower, here is how I lay out the screen, decide when to interrupt, and surface state when running several agents in parallel.
Editor View2026-05-27
Three Weeks with Antigravity Settings Sync Across Two Macs — A Sync Design for Solo App Development
Notes from three weeks of running Antigravity Settings Sync between a home Mac mini and a portable MacBook Air, written from the perspective of a solo developer working across multiple devices.
Editor View2026-05-27
Cultivating Antigravity Walkthroughs as a Regression Replay Memo: A Four-Month Operational Log
A four-month log of repurposing Antigravity Walkthroughs from a one-off explainer into a persistent regression replay memo. Includes the naming scheme, the four-section structure, and the concrete numbers behind a roughly 60 percent drop in duplicate bug reports.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →