mrkeyoor.com_
Mon 28 Sept 02:37 UTC
LLM Toolsevaluationupdated 26 Aug 2026

Fabric review

Fabric is a command-line tool and prompt library for running repeatable AI tasks such as summarizing text, extracting ideas, analyzing claims, and processing video transcripts. It packages named Markdown prompts, called Patterns, so the same workflow can be piped through different local or hosted models.

+39stars / 7d
Verdict

Our Fabric build took 126 seconds, then its test run ended with 32 passing packages and 1 failure after 26 seconds. It is still a strong choice for engineers who want readable prompts as versionable command-line tools across several providers, especially for text and transcript work. Pin a release, inspect the Patterns you depend on, and do not treat a named prompt as a quality guarantee.

We ran it

Lab card: what happened when we ran FabricScreenshot of Fabric (danielmiessler.com/p/fabric-origin-story)
Install✓ · 64s295 packages
Build✓ · 126s
Tests✗ · 26s32 passed · 1 failed of 33 (go test)
Repo843 files~49,072 lines of source · 28 MB · 4 CI workflows

Answers from our run

Does Fabric build from source?

Dependencies installed in 64 seconds (295 packages), and the build succeeded in 126 seconds. We cloned commit 338b89c into a clean Debian container with 3 CPUs and no project-specific setup.

Do Fabric's tests pass?

Not all of them: 32 of 33 passed and 1 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use Fabric?

Teams that require a green source test run before adoption: our run finished with 32 passing Go packages and 1 failing package.

What are the alternatives to Fabric?

LLM, AIChat, Mods. Our Fabric build took 126 seconds, then its test run ended with 32 passing packages and 1 failure after 26 seconds.

Setup4/5Many install paths, followed by provider and tool configuration
Docs5/5Extensive CLI, provider, pattern, server, and workflow examples
Community5/5Recent release, current fixes, and active contributor traffic
Maturity4/5Long feature history, tempered by 1 failing Go package in our run

Discussed on

  1. hnFabric is an open-source framework for augmenting humans using AI137 points
  2. hnI Created Fabric3 points

Who it’s for

Terminal users who want named, inspectable prompts instead of repeatedly pasting instructions into chat.
Researchers and writers who process articles, YouTube transcripts, podcasts, or notes through repeatable model tasks.
Teams that need one CLI across Ollama, LM Studio, and many hosted model providers.
Developers who want to expose selected patterns through a REST or Ollama-compatible API.

Who it’s NOT for

Teams that require a green source test run before adoption: our run finished with 32 passing Go packages and 1 failing package.
Users expecting output to be verified merely because a Pattern is shared: results still come from a chosen language model and need human checking.
Air-gapped users who want video, web, or hosted-model features without extra services: YouTube handling, Jina scraping, Spotify metadata, and cloud providers depend on external systems.
High-volume Ollama callers that need cancellation to stop compute immediately: an open v1.4.470 report says canceled streams continue until Ollama finishes or times out.
Daemons invoking the CLI per item without housekeeping: an open report at the measured commit describes one unused temporary directory created per normal invocation.

Setup reality

Our Go dependency step succeeded in 64 seconds and installed 295 packages. Building took 126 seconds. Tests failed with exit code 1 after 26 seconds: 32 Go packages passed and 1 failed out of 33; the supplied log tail lists several passing and no-test packages, then only FAIL, so it does not identify the failing package or cause.

A first real task requires provider configuration through fabric --setup, or a running local Ollama or LM Studio service. YouTube visuals need FFmpeg, scraping uses Jina AI, and hosted providers need credentials.

Release binaries and package managers avoid source compilation. Docker needs a persistent config mount. A served API should use its API-key option and deliberate bind address rather than exposing the default service casually.

Fabric turns prompts into shell commands

Fabric's most useful idea is simple: give a prompt a stable name, keep its instructions in readable Markdown, and invoke it against stdin or a supplied source. summarize, analyze_claims, and other Patterns behave like small text-processing commands, except a selected language model produces the output. Patterns can contain variables, use a model assigned through configuration, and remain separate from private custom Patterns.

The repository is much larger than a folder of prompts. Our checkout contained 843 files, roughly 49,072 source lines, and 28 MB. The Go CLI manages providers, models, sessions, contexts, attachments, output files, updates, strategies, extensions, media transcription, web search, image generation, and speech. It can also start a REST service or present Fabric Patterns as models through Ollama-compatible endpoints.

This breadth makes Fabric attractive to people who live in a terminal. Clipboard contents, a file, a web page, or a YouTube transcript can flow into the same Pattern, while --dry-run prints what would be sent before spending API credit. A custom Pattern with the same name takes precedence over the supplied one and survives catalog updates, which is the right behavior for a team that edits instructions under version control.

The Pattern catalog saves time without proving quality

Fabric includes prompts for extracting ideas, writing, threat analysis, summarization, and many other jobs. Each Pattern is inspectable, copyable, and usable outside Fabric. That openness is a practical advantage over prompt products whose behavior lives behind an interface. It also makes review possible: a team can read the system instructions and decide whether the requested format, assumptions, and tone fit its work.

Nothing in our 295-package dependency install tests the truth of a model response. A long, carefully structured Pattern may improve consistency, but output still varies by provider, model, sampling controls, and input. Some Patterns encode the author's preferred way to frame a task. Treat them as maintained starting points. For consequential analysis, add source checks, evaluation cases, and a human decision after the command completes.

Provider choice is broad. Native integrations cover major hosted services plus Ollama and LM Studio, while many OpenAI-compatible vendors are listed. Per-Pattern environment variables can pin a vendor and model. That flexibility is useful when a local model should clean sensitive text before a hosted model receives it, or when a costly model is reserved for one demanding Pattern. It also means reproducibility requires recording the Pattern revision, Fabric version, provider, and model.

What happened when we ran it

Our dependency step completed in 64 seconds and installed 295 Go packages. The build succeeded in 126 seconds at commit 338b89c. Those figures make source installation heavier than the one-line installer or release binary suggests, though an end user can avoid compiling by choosing a packaged build. The repository had 4 CI workflow files and no Dockerfile or tests directory in our signal scan.

The Go test command failed after 26 seconds. It reported 32 passing packages and 1 failing package out of 33. The supplied tail shows successful packages for the server, converters, custom Patterns, notifications, Spotify, and YouTube, along with several packages containing no test files. It then ends with FAIL. Because that excerpt does not name the failed package or assertion, this review does not assign a cause.

A 32-to-1 result is close to green and still a failure. Maintainers evaluating a source change need the complete log or a rerun that isolates the package before relying on the suite. Users installing v1.4.470 can reasonably try the binary, but should smoke-test the exact provider and Patterns they need. Our run measured compilation and package tests, not response quality, provider availability, or YouTube extraction success.

External sources add convenience and failure points

Fabric can retrieve YouTube transcripts and comments, extract visual frames with OCR and FFmpeg, send Spotify metadata to a model, or scrape a page through Jina AI. These shortcuts make transcript analysis pleasant, especially when piped into an extraction Pattern. They also introduce changing third-party behavior, optional binaries, network access, and sometimes more credentials. A private local-model workflow is only local if its inputs stay local too.

The 26-second test run included passing YouTube and Spotify packages, but that does not guarantee their upstream services will answer tomorrow. Keep raw inputs when the output matters. For videos, capture the transcript separately if it must be reproducible. The --dry-run option is worth using when a Pattern includes confidential text, because it exposes the constructed request before Fabric sends it to a model provider.

Two open reports identify friction for automated use of v1.4.470. Issue 2196 says canceling an Ollama streaming client does not cancel the underlying request, so generation continues until completion or timeout. Issue 2190 says normal invocations create unused fabric-patterns-* directories; the reporter reproduced about 55,000 directories before a 10-day cleanup window in a high-frequency daemon. Both reports have associated fix pull requests, a useful sign, but released behavior still deserves checking.

The server mode needs an explicit trust boundary

fabric --serve exposes chat, Pattern management, contexts, sessions, provider listings, YouTube extraction, and configuration over HTTP. An API-key flag is available, as is a configurable address. Ollama mode makes Patterns appear as model names to existing clients. This can turn a personal CLI workflow into a shared internal service, but it also exposes provider spending and stored configuration to network callers if deployed carelessly.

GitHub showed 43,530 stars, 65 open issues and pull requests combined, a push on 2026-08-09, and v1.4.470 released on 2026-08-04. Recent activity includes provider additions and fixes for cancellation, temporary directories, input handling, and Pattern normalization. Fabric is actively maintained. The one-package test failure prevents an unqualified endorsement, while the readable Pattern format and provider range still make it one of the better prompt-workflow tools for shell users.

Alternatives

ProjectWhat it isPick it when
LLM gh↗A model-agnostic command-line tool with plugins, templates, logging, and structured output.pick this instead when model access, conversation logs, and a plugin ecosystem matter more than Fabric's large shared prompt collection.
AIChat gh↗A terminal AI client with roles, sessions, tools, and support for many providers.pick this instead when interactive terminal chat and tool calling are the main workflow.
ModsA compact command-line client for piping text through language models.pick this instead when a small Unix-style model command is enough and you do not need a maintained pattern catalog.

What people are saying

  1. [github-trending] danielmiessler/Fabric

Sources

  1. Fabric README
  2. Fabric repository
  3. Fabric v1.4.470 release
  4. Ollama cancellation issue 2196
  5. Temporary directory issue 2190

More llm tools reviews

llm-wiki-compiler · claude-skills · Humanizer-zh · agent-beacon · MiMo-Code · pi-claude-bridge · the whole board →