Conversation
The fabric capability probed which("fabric"), but Homebrew ships
danielmiessler/fabric as `fabric-ai` — the `fabric` formula is the unrelated
Python SSH tool (fabfile.org). A correct `brew install fabric-ai` therefore
reported as broken.
The fix hint made it worse: "see the fabric project for install" steers a user
toward `brew install fabric`, which installs the SSH tool. Doctor then reports
the capability live while every -y call fails — strictly worse than the
original broken state.
- probe accepts either binary name, so source installs and user aliases work too
- fixCmd names the right formula and warns off the collision
- powers/detail strings corrected: all 237 patterns run natively from
skills/Fabric/Patterns per skills/Fabric/SKILL.md:37, so a missing binary
costs only -y and -u, not the pattern library
Inverse of danielmiessler#2066: same which() call, false negative instead of false positive.
Closes danielmiessler#2152
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2152.
What
Doctor.ts's fabric probe callswhich('fabric'). Homebrew installsdanielmiessler/fabric as
fabric-ai— thefabricformula is theunrelated Python SSH tool (fabfile.org). So a
correct
brew install fabric-aireports the capability broken.The
fixCmdcompounded it: "see the fabric project for install" steers auser to
brew install fabric, which installs the SSH tool. Doctor then reportsthe capability live while every
-ycall fails — a false positive that isstrictly worse than the false negative it replaced.
This is the inverse of #2066: same
which()call, opposite direction.Changes
fabric-ai), source installs, and users who aliasfabricthemselves, so it doesn't trade one narrow assumption for another.fixCmdnames the right formula and warns off the collision explicitly.powersanddetailcorrected. Both claimed the binary provides "the Fabric skill's pattern library". It doesn't:skills/Fabric/SKILL.md:37states patterns run natively with no CLI round-trip, and all 237 ship inskills/Fabric/Patterns/. The binary is needed only for-y(YouTube transcripts) and-u(URL fallback). The old wording overstated the breakage and hid the one thing actually lost.One line of logic, three strings. No behavioural change beyond the probe result.
Verification
macOS arm64,
fabric-ai1.4.478:Before:
❌ Prompt patterns (fabric) — broken.After:
✅ Prompt patterns (fabric) — live·fabric-ai on PATH.The gated feature works:
Patched file builds clean under
bun build --target=bun.Follow-up, not in this PR
The binary exits 0 and prints nothing until
~/.config/fabric/.envexists. Anempty file is enough for
-y; no vendor key is needed for transcripts. Thatbelongs in the Fabric skill's setup notes rather than in Doctor.