# content-farm > content-farm A small farm of writing tools — a suite of 11 Obsidian community plugins from The Lossless Group, working in chorus inside one vault. AI-assisted drafting, citations, image generation, search-augmented enhancement, and the connective tissue to keep them all in step. This splash aggregates each plugin's documentation, ship notes, and design context from 9 source repos: 11 plugin highlights, 30 changelog entries, and 52 context-v notes. ## Reference - [Full corpus content](https://lossless-group.github.io/content-farm/llms-full.txt): every plugin highlight, ship note, and context-v entry concatenated as raw markdown — preferred ingest target for LLMs that can handle a single large document. - [Source repository](https://github.com/lossless-group/content-farm): the pseudomonorepo that hosts the plugin submodules and the splash. - [Lossless Group](https://lossless.group): the org that maintains these plugins. ## Plugins The curated catalog. Each plugin has its own page on this splash and its own repository under [lossless-group](https://github.com/lossless-group). - [image-gin](https://lossless-group.github.io/content-farm/plugins/image-gin/): Generate, search, and place AI images without leaving Obsidian. - [cite-wide](https://lossless-group.github.io/content-farm/plugins/cite-wide/): Citations as a first-class concern, not an afterthought. - [metafetch](https://lossless-group.github.io/content-farm/plugins/metafetch/): Open Graph & Metadata fetching for instant metadata generation on any website/article/page. - [perplexed](https://lossless-group.github.io/content-farm/plugins/perplexed/): Search-augmented text enhancement powered by Perplexica. - [lmstud-yo](https://lossless-group.github.io/content-farm/plugins/lmstud-yo/): Ask your local LM Studio server, right inside Obsidian. - [grab-reference](https://lossless-group.github.io/content-farm/plugins/grab-reference/): Capture a link, get the metadata, drop it where you're writing. - [plunk-it](https://lossless-group.github.io/content-farm/plugins/plunk-it/): Send your draft as an email, straight from the editor. - [file-transporter](https://lossless-group.github.io/content-farm/plugins/file-transporter/): Round-trip files between Obsidian and Google Docs. - [filestarter](https://lossless-group.github.io/content-farm/plugins/filestarter/): The opinionated starting point for the next plugin. - [obsidian-git](https://lossless-group.github.io/content-farm/plugins/obsidian-git/): Commit your vault on a schedule. Sleep better. - [obsidian-textgenerator](https://lossless-group.github.io/content-farm/plugins/obsidian-textgenerator-plugin/): The original "templates as prompts" plugin. Influenced our directory-template paradigm. ## Changelog Ship notes rolled up from each plugin submodule (and content-farm itself). Grouped by source. ### cite-wide - [Hex citations, day one](https://lossless-group.github.io/content-farm/changelog/cite-wide/2025-06-07_01/): Cite-Wide's identity moment: the first working hex-citation transform inside an Obsidian modal. The plugin we'd later spin into its own repo announced itself in commit f394ef7 — 'added hex citations to functionality.' Logged retrospectively from 2026 because the convention didn't exist yet when this happened. - [Dedupe Citations by URL — Command, Modal, and URL-Normalizing Service for Consolidating Multi-Source Research Pastes](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-01_03/): New 'Dedupe Citations by URL' command for the workflow where the same article gets cited under multiple hex IDs because research from Perplexity / Google AI / Claude was pasted into the same file across a session. The service finds reference-section entries that share an article URL (after normalizing host case, fragment, and tracking params), groups them, and rewrites the file so each unique URL ends up with exactly one canonical hex ID. The modal lists groups in document order with per-occurrence line links, default-checked checkboxes per group so the user can opt out of any false-positive match, and a single 'Apply Dedup' button that writes through app.vault.modify. - [Dependabot Cleanup + Tanuj-Intent Port — Removed 3 Unused Deps, Forced 4 Transitive CVE Patches, Ported Explicit Save Flow](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-01_04/): Two-commit cleanup that eliminates the bulk of the 28 open Dependabot alerts on this repo and absorbs the intent of TanujKS's August 2025 work (which we force-pushed past in 2026-05-01_02 — his commits are archived on the auto-rescued `feature/save-all-citations` branch). First commit removes fastify, @modelcontextprotocol/sdk, and zod (zero imports across src/ and main.ts since they were added in 644582d) and forces patch/minor bumps on four surviving dev-tool transitive CVEs via pnpm.overrides. Second commit ports the explicit save flow — `autoSaveUrlCitations` setting (default off), 'Save All Hex Citations' command, modal-level 'Save All Hex (N)' button, per-citation 'Save to Citations' button — without any of his `any` types. Build clean throughout. - [Dependency Refresh — Eight Packages Bumped to Latest Within Current Major, Build Verified Clean](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-01_01/): First pass on package hygiene since the project's last broad upgrade. Eight dependencies advanced to the latest version within their current major (obsidian 1.8 → 1.12, esbuild 0.25 → 0.28, fastify 5.3 → 5.8, MCP SDK 1.12 → 1.29, both @typescript-eslint packages, builtin-modules, and @types/node held to the 22.x line to match the local Node 22 runtime). Four major bumps held back for review. The full build (`tsc -noEmit -skipLibCheck && esbuild production`) passes cleanly on the new lockfile. - [Type-Safety Pass — Eliminated All `any` Declarations, Retired Hand-Rolled YAML Parser, Gated ESLint Into Build](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-01_02/): Five-commit refactor that brings the project from 14 explicit `any` declarations to zero, replaces a structurally broken regex-based YAML parser with Obsidian's native frontmatter APIs (metadataCache.getFileCache + fileManager.processFrontMatter), introduces a small set of boundary coercers for narrowing untrusted values, and wires an ESLint flat-config mirroring ObsidianReviewBot's rules into `pnpm build` so the rules that gate community-store submission now fire locally pre-push. Verified working in a live Obsidian vault. - [v0.1.3 — LLM Citation Parser v1: Multi-Form Tokenizer + Modal-Driven Per-Cluster Review](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-01_05/): Ships the first version of the LLM-citation-format converter that takes Google AI's `[1, 2, 3]` and Perplexity's `[1][2]` styles plus their `[N] [Title](url)` reference lists and rewrites them into the Lossless `[^hex]` footnote format. Pure-TypeScript service with token-level parsing, a CLI test harness for non-Obsidian validation, and a modal UI that gives the user per-numeric checkbox control plus per-row Convert buttons. Preserves already-Lossless citations verbatim, partially-converts multi-comma forms when only some members have ref defs, flags orphans and collisions, and refuses to transform anything where the multi-cluster collision rule would corrupt the result. Validated end-to-end against `ChromaDB.md` (the canonical messy test case mixing one Google-AI numeric series with 53 already-Lossless hex citations). - [v0.2.0 — Assure Inline Citation Spacing for Obsidian Anchor-Link Behavior](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-02_02/): Small but load-bearing cleanup to the standalone citation-formatting command: the old punctuation-only pass is now an anchor-link spacing pass. It still moves inline citations behind punctuation and preserves single-space separation across citation chains, but now also catches the more common real-world failure case where an already-Lossless `[^hex]` marker is attached directly to a word or bullet item with no intervening space. The command label was renamed from `Move Citations after Punctuation` to `Assure Spacing for Anchor Link behavior` to match what the transform actually guarantees: rendered citations remain clickable Obsidian footnote anchors with preview-on-hover and jump-on-click behavior. - [v0.2.0 — Ship v1 of LLM Response Parser: Paste Modal + Spec-Conformant Output](https://lossless-group.github.io/content-farm/changelog/cite-wide/2026-05-02_01/): Closes the LLM-citation-parser feature to a true v1 ship. Three coordinated changes: a Paste LLM Content modal that intercepts at paste-time so the colliding-numerics problem never enters the file, a fix for Perplexity's `Title https://url` reference-def format that was being silently rejected by the refdef-body heuristic, and a spec-conformance pass on transformation output that brings inline citation spacing and reference-def body shape into line with the Lossless Citation Spec. Output now matches the spec on inline whitespace and refdef body shape; the canonical `date / author / publisher / accessed-date` envelope still requires network or AI assistance and is explicitly deferred. ### content-farm - [Splash unfurls properly now — OG system, per-plugin pages, share button on every card](https://lossless-group.github.io/content-farm/changelog/content-farm/2026-05-05_01/): Until today every splash URL unfurled with the same seedling-on-paper default — homepage, ship-note, cite-wide entry, all identical. We wired the elegant-OG-system blueprint into the splash, generated nine per-plugin landing pages whose `og:image` is the plugin's own banner, and dropped a share button on every plugin card so the URL you share unfurls with that plugin's image instead of the default. Filestarter's modals got the same widening treatment we shipped for perplexed two weeks ago, closing the last gap in cross-plugin consistency. - [63 pages, 9 plugins: the roll-up loader ships](https://lossless-group.github.io/content-farm/changelog/content-farm/2026-05-04_04/): The content-farm splash now aggregates every plugin submodule's `changelog/` and `context-v/` into one feed via the GitHub Content API at build time. 63 pages on the latest build, up from 9. Provenance on every card. Legacy `context-v/changelogs/` paths routed correctly. Built with no new dependencies, all frontmatter fields optional, defensive per-entry error handling — and a healthy amount of friction along the way. - [Nine plugins, one splash, one branch model](https://lossless-group.github.io/content-farm/changelog/content-farm/2026-05-04_01/): Seven plugin repos relocated from the monorepo root into content-farm as submodules. Nine submodules aligned onto a development → main → master tier model. And a brand-new Astro splash page that ships from main to GitHub Pages — the pseudomonorepo finally has a face to put with its name. - [Roll-up, deliberate: pnpm rollup:sync replaces sync-on-build](https://lossless-group.github.io/content-farm/changelog/content-farm/2026-05-04_05/): The roll-up loader we shipped four hours ago hit the GitHub Content API on every build — 30 seconds per `pnpm dev`, auth plumbed through CI, every iteration eating the rate limit. Replaced it with a deliberate-sync model: a human runs `pnpm rollup:sync` when content drifts, the result lands in `splash/src/rollup/` as committable markdown, and from then on builds are pure file IO. Build time fell from 30s to 1.1s. CI auth needed: zero. - [Seeding the farm: a reminder, eight retrospectives, and a roll-up convention](https://lossless-group.github.io/content-farm/changelog/content-farm/2026-05-04_02/): Every plugin in the farm now has the same canonical 'this is an Obsidian plugin — read the API docs' reminder in its context-v/. Eight of them have a retrospective changelog dated to their first commit of substance. And the convention for how a parent splash should aggregate its children's content via the GitHub Content API is now captured in two skills. The content for tomorrow's roll-up loader is ready. - [Three GitHub Pages gotchas, conquered](https://lossless-group.github.io/content-farm/changelog/content-farm/2026-05-04_03/): Three failed deploys in a row before the splash actually shipped. None of them were our code; all of them were GitHub Pages onboarding friction nobody warns you about. We documented every one — what failed, what fixed it, and the canonical workflow shape that survives them — so the next Lossless repo can pay this setup tax in minutes instead of an hour. ### file-transporter - [Google Docs auth: a deadend, logged honestly](https://lossless-group.github.io/content-farm/changelog/file-transporter/2025-08-27_01/): File-Transporter (then 'google-docs-api-plugin') was initialized to bridge Obsidian and Google Docs — and within hours hit a wall on Google's auth flow that stopped the project cold. The two-commit history reads init → deadend on the same day. Filing it retrospectively because building in public means logging the dead-ends too. ### filestarter - [A better Obsidian starter plugin (back when starters mattered)](https://lossless-group.github.io/content-farm/changelog/filestarter/2025-09-30_01/): Filestarter — first known as obsidian-plugin-starter — was built because Obsidian's own sample plugin is so simple it's useless: a single ribbon icon and a hello-world modal. We wanted a starter that actually showed off the API surface, with current dependencies and modal/command patterns wired in. Logged retrospectively from 2026, because the world has changed since. ### grab-reference - [GrabCite, day one — a microservice and a stack we'd later abandon](https://lossless-group.github.io/content-farm/changelog/grab-reference/2025-02-19_01/): What is now Grab-Reference began life on February 19, 2025 as 'GrabCite' — a microservice architecture in Docker, with React + StyleX + Vite + TypeScript + Prisma. A snapshot of choices we'd later move away from, captured retrospectively so the history isn't pretty-revisionist. ### image-gin - [Image-Gin's first working API call](https://lossless-group.github.io/content-farm/changelog/image-gin/2025-07-21_01/): Image-Gin came online on July 21, 2025 with the first ImageKit API call that actually placed files where they belonged — followed within minutes by the first command-launched modal that took user parameters and produced a file. The plugin's identity arrived in a single overnight session. - [Ideogram + Recraft UX parity: master size toggle, last-session persistence, frontmatter auto-init, brand-template copy rewrite](https://lossless-group.github.io/content-farm/changelog/image-gin/2026-05-03_02/) - [Publishing readiness: ESLint enforcement, eliminate any, replace innerHTML, route logging through FileLogger, replace hand-rolled YAML parser, bump to 0.1.0](https://lossless-group.github.io/content-farm/changelog/image-gin/2026-05-03_01/) - [Maintenance: Update all packages, conform to Obsidian updates, support Magnific after rebrand from Freepik](https://lossless-group.github.io/content-farm/changelog/image-gin/2026-05-02_01/) - [Modals: Widen Magnific search to fill the viewport, beautify the result grid, fix the URL/CORS bugs that broke selection](https://lossless-group.github.io/content-farm/changelog/image-gin/2026-05-02_02/) - [New Obsidian Plugin: Image Gin Plugin](https://lossless-group.github.io/content-farm/changelog/image-gin/2025-07-20_01/): Bringing professional-grade content management to Obsidian with Obsidian plugins, one at a time. Introducing Image Gin for AI-based image generation with Recraft.ai ### lmstud-yo - [LM Studio writes to file — Lmstud-Yo's first complete loop](https://lossless-group.github.io/content-farm/changelog/lmstud-yo/2025-07-28_01/): Lmstud-Yo went from `init(project)` to `works(response)` in roughly three hours on the night of July 27–28, 2025. The first time a query went out to a locally-running LM Studio server, came back, and landed in an Obsidian note as actual text. Logged retrospectively from 2026. - [Created a new Obsidian Community Plugin for LM Studio](https://lossless-group.github.io/content-farm/changelog/lmstud-yo/2025-07-27_01/) ### perplexed - [Streaming Perplexity through a modal — Perplexed comes online](https://lossless-group.github.io/content-farm/changelog/perplexed/2025-07-19_01/): Perplexed's identity moment landed July 19, 2025: the first time an API call to Perplexity ran through the plugin's modal and streamed responses back into the note. Not perfect, but real. Logged retrospectively from 2026 — the convention came after the fact. - [Maintenance pass: dependency refresh + streaming-citations bug fix](https://lossless-group.github.io/content-farm/changelog/perplexed/2026-05-02_01/): We are maintained. Updated all packages, solved for dependabot flags, and fixed a streaming-citations bug. - [UX pass: modal redesign + wide-modal CSS unlock](https://lossless-group.github.io/content-farm/changelog/perplexed/2026-05-01_01/): The three 'Ask ' modals — Ask Perplexity, Ask Claude, and Ask Perplexica — all have beautiful, wide, and consistent Modal UIs now. - [Claude provider integration: Anthropic SDK + Ask Claude modal + two-pass citation extraction](https://lossless-group.github.io/content-farm/changelog/perplexed/2026-04-30_01/): Claude is now a first-class research provider in Perplexed — wired via the Anthropic SDK with server-side web_search, adaptive thinking, streaming, an Ask Claude command, and a citations pipeline that handles both per-claim text-block citations and bare web_search_tool_result fallbacks. ### plunk-it - [Plunk-It's working demo — three commands wired through Plunk](https://lossless-group.github.io/content-farm/changelog/plunk-it/2025-08-15_01/): Plunk-It crossed from infrastructure to working demo on August 15, 2025: Send Email, Create Campaign, Send Campaign — three commands inside Obsidian, talking to Plunk's API, doing the thing. Logged retrospectively from 2026 to seed the changelog the convention now requires. ## Context-V Specs, plans, blueprints, prompts, chores, reminders, and other context-v artifacts rolled up from each plugin submodule (and content-farm itself). Grouped by source. ### cite-wide - [Citation Acquisition Pipeline — Agent Architecture, Phases, Output Contract](https://lossless-group.github.io/content-farm/context-v/cite-wide/blueprints/Citation-Acquisition-Pipeline/): The HOW for filling the Lossless Citation schema. Decouples the capture moment (a URL pasted into a doc) from the canonicalization moment (the source promoted into the knowledge base). Specifies the agent that does the work: where it runs, what tools it has, what phases it executes, what it emits, how it fails gracefully, and how multiple clients (Obsidian plugin, CLI, Investment Memo Orchestrator) share the same agent. - [Citation Field Acquisition Guide — Per-Field Reference for Filling the Lossless Schema](https://lossless-group.github.io/content-farm/context-v/cite-wide/blueprints/Citation-Field-Acquisition-Guide/): The operational reference for the citation acquisition agent. For each field in the Lossless Citation schema: where the value comes from, the cheap path the agent should try first, the expensive path it falls back to, the validation rule, the failure behavior, and the publisher_types that warrant filling it. Designed to be loaded as prompt context for the agent and as a checklist for human reviewers. - [cite-wide/blueprints/Maximize-Data-Collection-on-Cannonical-Sources](https://lossless-group.github.io/content-farm/context-v/cite-wide/blueprints/Maximize-Data-Collection-on-Cannonical-Sources/) - [cite-wide/blueprints/Parse-Common-Citation-Formats](https://lossless-group.github.io/content-farm/context-v/cite-wide/blueprints/Parse-Common-Citation-Formats/) - [cite-wide/reminders/Lossless-Citation-Spec](https://lossless-group.github.io/content-farm/context-v/cite-wide/reminders/Lossless-Citation-Spec/) - [cite-wide/specs/Modal-for-Pasting-LLM-Native-Content](https://lossless-group.github.io/content-farm/context-v/cite-wide/specs/Modal-for-Pasting-LLM-Native-Content/) - [cite-wide/workflow/2026-05-01](https://lossless-group.github.io/content-farm/context-v/cite-wide/workflow/2026-05-01/) - [cite-wide/workflow/2026-05-01_Refactor](https://lossless-group.github.io/content-farm/context-v/cite-wide/workflow/2026-05-01_Refactor/) - [Lossless Citation Standards — Schema, Audiences, Portability Thesis](https://lossless-group.github.io/content-farm/context-v/cite-wide/blueprints/Lossless-Citation-Standards/): The schema layer of the Lossless citation system: what fields exist, why each exists, which audiences and source types each serves, and how the schema is designed to outlive any one rendering target. This is the WHAT and WHY. For HOW the schema gets filled, see Citation-Acquisition-Pipeline.md and Citation-Field-Acquisition-Guide.md. - [Obsidian Plugin Type Safety — Rules, Patterns, and Cite-Wide Conventions](https://lossless-group.github.io/content-farm/context-v/cite-wide/reminders/Obsidian-Type-Safety/): Reference document for everyone (human or AI) working in the cite-wide codebase. Captures the actual rejection criteria from Obsidian's community plugin review, the patterns we use to satisfy them, and the YAML-frontmatter coercion strategy that keeps content-creator drift from breaking the type system. - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/cite-wide/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. ### content-farm - [A Component Inserter](https://lossless-group.github.io/content-farm/context-v/content-farm/plans/A-Component-Inserter/): An Obsidian command that scaffolds the right block — HTML, codefence, callout, embed — at the cursor, with frontmatter-driven defaults. Makes Lossless Flavored Markdown extension blocks feel like first-class citizens of the editor instead of patterns you have to remember. - [Add a New API Provider to a Metadata-Fetching Plugin](https://lossless-group.github.io/content-farm/context-v/content-farm/prompts/Add-New-API-Provider-to-Plugin/): Reusable prompt for wiring a new third-party metadata API (e.g. Microlink, Jina Reader, OpenGraph.io) into an Obsidian plugin like Metafetch as an additional fetcher, without breaking the existing flows. - [Auto-Hyperlink Feature Names in Generated Tables](https://lossless-group.github.io/content-farm/context-v/content-farm/plans/Auto-Hyperlink-Feature-Names-In-Tables/) - [Citation Resolution and the Canonical Source](https://lossless-group.github.io/content-farm/context-v/content-farm/explorations/Citation-Resolution-and-Canonical-Sources/): Three problems that look separate — link-rot recovery, smart cite-wide save with lookup-before-create, and content preservation as a future RAG corpus — are actually three operations on one underlying entity. This doc names that entity, sketches the data model, and proposes a v1 scope. - [Cite-Wide — dedupe inline repetition of identical hex citations](https://lossless-group.github.io/content-farm/context-v/content-farm/plans/Cite-Wide-Dedupe-Inline-Repetition/) - [Create a Study of the Best Obsidian Plugins](https://lossless-group.github.io/content-farm/context-v/content-farm/plans/Create-a-Study-of-the-Best-Obsidian-Plugins/): Before we ship more plugins of our own, take a deliberate read of what's working in the Obsidian community. Catalog the plugins doing the most interesting work, what they get right, what we'd do differently, and which ideas are worth borrowing. - [Create an Audio Transcriber, with extra layers of value](https://lossless-group.github.io/content-farm/context-v/content-farm/specs/Create-an-Audio-Transcriber-plus-Layered-Value/) - [Enabling Obsidian Plugins to Access Homegrown API Helpers](https://lossless-group.github.io/content-farm/context-v/content-farm/explorations/Enabling-Obsidian-Plugins-to-access-Homegrown-API-Helpers/): Architecture patterns for bridging Obsidian's JavaScript environment to powerful, non-JS backend logic (Python, Rust, CLI tools) via lightweight cloud proxies. - [Github Splash Page for Content Farm](https://lossless-group.github.io/content-farm/context-v/content-farm/specs/Github-Splash-Page-for-Content-Farm/): An in-repo Astro site that turns the content-farm pseudomonorepo into a public landing page — hero, plugin gallery, changelog and context-v rendering — deployed for free off GitHub Pages while we wait for a real marketing surface. - [Image Drop Confirmation Gate](https://lossless-group.github.io/content-farm/context-v/content-farm/plans/Image-Drop-Confirmation-Gate/): An Obsidian plugin that intercepts every image drag-drop and paste, then asks — before anything touches the disk or the network — where this image should go. The default is the vault. The point is to make the decision deliberate, because some of the imagery we work with is private and a chart on imgur is a phone call we don't want to make. - [Migrating When an API Provider Rebrands](https://lossless-group.github.io/content-farm/context-v/content-farm/Migrating-when-an-API-Provider-Rebrands/): A vendor rebrands mid-integration — different name, different domain, sometimes different auth surface. What do you fix today, what do you leave alone, and what's the safe order? A short runbook from the day Freepik turned into Magnific. - [Moving Beyond Simple API Calls — LLM Orchestration Options for Our Plugins](https://lossless-group.github.io/content-farm/context-v/content-farm/explorations/Moving-Beyond-Simple-API-Calls/) - [Nudging AI search to return contextually appropriate images](https://lossless-group.github.io/content-farm/context-v/content-farm/issues/Nudgeing-AI-Search-to-Return-Contextually-Appriate-Images/) - [Obsidian Marketplace Compliance — Rules the Review Bot Enforces](https://lossless-group.github.io/content-farm/context-v/content-farm/reminders/Obsidian-Marketplace-Compliance/): Source-of-truth for the patterns that get a Lossless plugin past `ObsidianReviewBot` on a community-marketplace submission PR. Read before opening any re-submission, and ideally before writing the code that will be submitted. Companion to cite-wide's `Obsidian-Type-Safety.md` (which covers the `any`-rule). Distilled from the review bot's verbatim feedback on perplexed PR #12513. - [Obsidian Review Bot Feedback on Perplexed Submission](https://lossless-group.github.io/content-farm/context-v/content-farm/issues/Obsidian-Review-Bot-Feedback-on-Perplexed-Submission/) - [Per-Directory Profile Templates — v0.1 Spike](https://lossless-group.github.io/content-farm/context-v/content-farm/specs/Per-Directory-Profile-Templates/) - [Renaming a Repo and managing Downstream Effects](https://lossless-group.github.io/content-farm/context-v/content-farm/chores/Rename-Repo-Downstream-Renaming/): It's not as simple as renaming the github path. - [Stenographer: an Obsidian Plugin that Transcribes Audio Content](https://lossless-group.github.io/content-farm/context-v/content-farm/specs/Stenographer-an-Obsidian-Plugin-that-transcribes-Audio-Content/): Drop a YouTube, SoundCloud, or other listenable link into Obsidian and Stenographer turns it into a fully-frontmattered note with a streaming, AI-generated transcript — sources become searchable knowledge in one move. - [Textgenerator Plugin — Analysis](https://lossless-group.github.io/content-farm/context-v/content-farm/studies/Textgenerator-Analysis/) - [Tidy Naming — Repo Mentions of 'Obsidian' and 'Plugin'](https://lossless-group.github.io/content-farm/context-v/content-farm/chores/Tidy-Naming-Repo-Mentions-of-Obsidian-and-Plugin/): Obsidian's community-plugin guidelines forbid using 'Obsidian' or 'Plugin' in the brand name (repo, manifest, README, description). Several of our repos still do. A punch list of what to rename, where, and why we held off until now. - [Using APIs to Ingest More Data](https://lossless-group.github.io/content-farm/context-v/content-farm/explorations/Using-APIs-to-Ingest-More-Data/): Beyond OpenGraph.io — what Jina.ai already gives us (we pay for it), what other fetching services do, and a rough sketch of how a portfolio-company site crawler would actually work. - [Widening (and Re-Sizing) Obsidian Plugin Modals via CSS](https://lossless-group.github.io/content-farm/context-v/content-farm/issues/Widen-Modals-in-Obsidian-using-CSS/) ### file-transporter - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/file-transporter/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. ### filestarter - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/filestarter/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. ### grab-reference - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/grab-reference/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. ### image-gin - [Blueprint — Add a New Image-Generation Provider (case study: Ideogram)](https://lossless-group.github.io/content-farm/context-v/image-gin/blueprints/Add-New-Image-API-to-Providers/) - [image-gin/Chore-to-Update-All-Dependencies](https://lossless-group.github.io/content-farm/context-v/image-gin/Chore-to-Update-All-Dependencies/) - [image-gin/prompts/Add-New-Model-Provider](https://lossless-group.github.io/content-farm/context-v/image-gin/prompts/Add-New-Model-Provider/) - [image-gin/releases/0.1.1](https://lossless-group.github.io/content-farm/context-v/image-gin/releases/0.1.1/) - [Plan — Bring Image Gin up to Obsidian Community-Plugin Publishing Standards](https://lossless-group.github.io/content-farm/context-v/image-gin/plans/2026-05-03_Assuring-Obsidian-Community-Plugin-Requirements/) - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/image-gin/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. ### lmstud-yo - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/lmstud-yo/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. ### perplexed - [perplexed/issues/Getting-Claude-to-Respond-With-Research](https://lossless-group.github.io/content-farm/context-v/perplexed/issues/Getting-Claude-to-Respond-With-Research/) - [perplexed/issues/Updating-Naming-to-Reflect-Provider-Rebrand](https://lossless-group.github.io/content-farm/context-v/perplexed/issues/Updating-Naming-to-Reflect-Provider-Rebrand/) - [perplexed/reminders/Ideal-and-Overkill-Schema-for-Max-Flexibility](https://lossless-group.github.io/content-farm/context-v/perplexed/reminders/Ideal-and-Overkill-Schema-for-Max-Flexibility/) - [perplexed/specs/Using-Files-as-Prompt-Outlines](https://lossless-group.github.io/content-farm/context-v/perplexed/specs/Using-Files-as-Prompt-Outlines/) - [Plan — Bring Perplexed up to Obsidian Community-Plugin Publishing Standards](https://lossless-group.github.io/content-farm/context-v/perplexed/plans/20206-05-02_Assuring-Obsidian-Community-Plugin-Requirements/) - [Plan — Submission Blockers Punch List (from docs.obsidian.md re-read)](https://lossless-group.github.io/content-farm/context-v/perplexed/plans/2026-05-02_Submission-Blockers-Punch-List/) - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/perplexed/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something. - [Widening (and Re-Sizing) Obsidian Plugin Modals via CSS](https://lossless-group.github.io/content-farm/context-v/perplexed/issues/Widen-Modals-in-Obsidian-using-CSS/) ### plunk-it - [This Is an Obsidian Plugin — Read the Obsidian API Docs](https://lossless-group.github.io/content-farm/context-v/plunk-it/reminders/This-is-an-Obsidian-plugin-Read-Obsidian-API-Docs/): Reminder for any human or AI working in this codebase: this is an Obsidian plugin. The Obsidian API at https://github.com/obsidianmd/obsidian-api is the source of truth. Consult it before guessing API shapes, and re-read it whenever the community plugin review bot flags something.