Skip to content

fix(wbfy): write an absolute skills directory path in ~/.gemini/config/skills.json - #1634

Merged
exKAZUu merged 1 commit into
mainfrom
fix/agy-skills-absolute-path
Nov 11, 2026
Merged

exKAZUu merged 1 commit into
mainfrom
fix/agy-skills-absolute-path

Conversation

@exKAZUu

@exKAZUu exKAZUu commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Why

Antigravity CLI (agy v1.5.4, customization.go:667) does not expand ~ in ~/.gemini/config/skills.json despite its built-in documentation (json_configs.md), rejecting ~/.agents/skills with Failed to resolve absolute path "~/.agents/skills": ~/.agents/skills must be an absolute path: path is not absolute. Writing the resolved os.homedir() path instead makes Antigravity CLI load global skills from <homedir>/.agents/skills, matching how userAgentConfigs.ts already resolves status line script paths.

Requirements

  • required: Update Antigravity CLI configuration file generation so it does not use ~, replacing ~/.agents/skills in ~/.gemini/config/skills.json with an absolute path without ~.
  • chosen: Drop the { "path": "~/.agents/skills" } entry written by an earlier wbfy version when merging ~/.gemini/config/skills.json because leaving that previous wbfy output in entries would keep triggering Antigravity CLI's non-absolute path error after re-running wbfy generate-user-agent-configs.

Customer Summary

bunx @willbooster/wbfy generate-user-agent-configs now writes the resolved absolute path to .agents/skills under the user's home directory into ~/.gemini/config/skills.json and removes the previous ~/.agents/skills entry, allowing Antigravity CLI to discover shared global skills without path resolution errors.

Technical Summary

  • Resolved sharedGlobalSkillsDirPath via path.join(os.homedir(), '.agents/skills') in packages/wbfy/src/generators/userAgentConfigs.ts instead of writing '~/.agents/skills'.
  • Added obsoleteItems: [{ path: '~/.agents/skills' }] on the .gemini/config/skills.json setting entry and filtered matching items out of target in mergeAgentSettings's arrayMerge callback so previously generated ~/.agents/skills entries are replaced cleanly while keeping user-defined entries and remaining idempotent across repeated runs.
  • Updated packages/wbfy/test/unit/userAgentConfigs.test.ts to run repeated invocations against the same scratch HOME directory and verify both replacement of { "path": "~/.agents/skills" } and preservation of user entries and full-line comments.

Testing

  • Ran bun wb test -w packages/wbfy test/unit/userAgentConfigs.test.ts (7 passed).
  • Ran bun run verify (install, cleanup, typecheck, and code-gauge all passed with 0 errors and no warnings in changed code) and PR CI passed.
  • Live Antigravity CLI startup against ~/.gemini/config/skills.json was not exercised in automated tests because agy is an external host CLI.

…g/skills.json

Co-authored-by: WillBooster (Antigravity) <agent@willbooster.com>
@exKAZUu exKAZUu self-assigned this Nov 11, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a compatibility issue where Antigravity CLI fails to resolve '~' paths in its configuration files. By resolving the home directory path programmatically and implementing a smarter merge strategy that removes obsolete legacy entries, the tool now generates valid, absolute paths that satisfy the CLI's requirements while maintaining user customizations and idempotency.

Highlights

  • Absolute Path Resolution: Updated configuration generation to use resolved absolute paths for global skills directories instead of '~', ensuring compatibility with Antigravity CLI.
  • Idempotent Configuration Merging: Introduced an 'obsoleteItems' mechanism to clean up legacy '~' entries in 'skills.json' while preserving user-defined entries and comments across repeated runs.
  • Testing Improvements: Enhanced unit tests to support multiple command invocations against a shared scratch directory, verifying idempotent behavior and correct path replacement.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


The tilde path was causing strife, It would not work in agent life. An absolute path we now provide, With legacy entries cast aside.

Footnotes

  1. Review the Generative AI Prohibited Use Policy, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the user agent configuration generator to resolve the global skills directory path (~/.agents/skills) to an absolute path, addressing an issue where the Antigravity CLI rejects non-absolute paths. It introduces an obsoleteItems mechanism to clean up legacy unresolved paths from previous configurations during the settings merge process. The unit tests have been refactored to verify this cleanup behavior and to use absolute paths. There are no review comments to assess, and the code changes adhere to the repository's style guidelines, so I have no additional feedback to provide.

@exKAZUu
exKAZUu merged commit 23f95bf into main Nov 11, 2026
4 checks passed
@exKAZUu
exKAZUu deleted the fix/agy-skills-absolute-path branch November 11, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant