<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: GBTI Network</title>
    <description>The latest articles on DEV Community by GBTI Network (gbti-network).</description>
    <link>https://dev.to/gbti-network</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10466%2F2e22c94b-ee5b-408c-9b74-002b7b9336a6.png</url>
      <title>DEV Community: GBTI Network</title>
      <link>https://dev.to/gbti-network</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gbti-network"/>
    <language>en</language>
    <item>
      <title>Advanced Pixel Editor Brings ImageMagick Editing Into WordPress</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Fri, 16 Oct 2026 22:51:06 +0000</pubDate>
      <link>https://dev.to/gbti-network/new-project-published-by-rafael-minuesa-advanced-pixel-editor-edit-media-library-images-5e77</link>
      <guid>https://dev.to/gbti-network/new-project-published-by-rafael-minuesa-advanced-pixel-editor-edit-media-library-images-5e77</guid>
      <description>&lt;p&gt;&lt;strong&gt;By Rafael Minuesa, &lt;a href="https://gbti.network/members/rafael-minuesa/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/projects/advanced-pixel-editor/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Advanced Pixel Editor edits the images already in a WordPress Media Library without leaving the dashboard. Pick an image, move a slider, and ImageMagick renders the result on the server and sends&lt;br&gt;
back a preview.&lt;/p&gt;

&lt;h2&gt;
  
  
  Image editing inside the WordPress Media Library
&lt;/h2&gt;

&lt;p&gt;ImageMagick renders every adjustment on the server rather than in the browser, so the preview is the file that will be saved. The editor opens from the Media Library grid, the list view, or any attachment edit screen, and the image loads straight into it. JPEG, PNG, GIF and WebP are supported, up to 10 MB and 4096 by 4096 pixels by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sigmoidal contrast and unsharp mask sharpening
&lt;/h2&gt;

&lt;p&gt;Contrast uses a sigmoidal curve, which lifts midtones while holding the ends of the range, and sharpening is an unsharp mask with separate amount, radius and threshold controls. Both are the algorithms Photoshop and Lightroom use for the same two jobs. A draggable comparison slider sits over the preview, so an edit is judged against the original rather than from memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Crop, resize and DPI in the same panel
&lt;/h2&gt;

&lt;p&gt;Crop uses an interactive overlay with free, 1:1, 4:3 and 16:9 presets. Resize holds the aspect ratio unless told otherwise, DPI is set alongside it, and rotation offers 45 and 90 degree steps as well as a free angle. Horizontal and vertical flips are one click each.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI image editing from a text prompt
&lt;/h2&gt;

&lt;p&gt;On WordPress 7.0 or newer, an image can be edited by describing the change, for example replacing a sky with a sunset. The request goes to whichever AI provider is already connected under Settings and&lt;br&gt;
Connectors, an OpenAI or Google key, so the plugin adds no account and no bill of its own: the provider charges for its own usage. The result can be refined with another prompt, adjusted with the ordinary sliders, and saved like any other edit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Automatic backup and one-click restore
&lt;/h2&gt;

&lt;p&gt;Saving defaults to a new file, which leaves the original untouched. Replacing the original is the other option, and it writes an automatic backup first, so the original is one click away afterwards.&lt;br&gt;
The editor is keyboard navigable, carries ARIA labels and screen reader support, and the comparison slider works on touch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advanced Pixel Editor Pro filters, watermarks and batches
&lt;/h2&gt;

&lt;p&gt;The Pro add-on adds filters, watermarking and batch processing to the same editor. Filters cover brightness, saturation, hue, auto levels, sepia, vignette, Gaussian blur, noise reduction and emboss, each with the same live preview. Watermarking takes text or an image from the Media Library, with size, colour, opacity, rotation, a nine point position grid and tiling. Batch processing applies contrast, sharpness, brightness, saturation and hue across many images at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  WordPress 5.6 and PHP 7.4 requirements
&lt;/h2&gt;

&lt;p&gt;WordPress 5.6 or later and PHP 7.4 or later, tested to WordPress 7.1.3. The AI edit is the one feature with a higher floor, since it needs WordPress 7.0 and a connected provider. Version 3.8.0, released&lt;br&gt;
under GPLv2 or later, with the source on GitHub.&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new project published by GBTI Network member Rafael Minuesa. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Rafael Minuesa's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/rafael-minuesa/" rel="noopener noreferrer"&gt;https://gbti.network/members/rafael-minuesa/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>wordpress</category>
      <category>imageediting</category>
      <category>imagemagick</category>
      <category>medialibrary</category>
    </item>
    <item>
      <title>A WordPress Plugin for Detecting Distributed Bot Swarms</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Wed, 14 Oct 2026 20:51:36 +0000</pubDate>
      <link>https://dev.to/gbti-network/new-project-published-by-rafael-minuesa-bot-storm-radar-score-the-swarm-not-the-address-1jm8</link>
      <guid>https://dev.to/gbti-network/new-project-published-by-rafael-minuesa-bot-storm-radar-score-the-swarm-not-the-address-1jm8</guid>
      <description>&lt;p&gt;&lt;strong&gt;By Rafael Minuesa, &lt;a href="https://gbti.network/members/rafael-minuesa/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/projects/bot-storm-radar/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Bot Storm Radar watches a WordPress site's traffic as a crowd and scores it as a whole, instead of judging one visitor at a time. A swarm of thousands of addresses that each make a single request looks perfectly ordinary to any per-IP rate limiter, because no individual address does anything wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  WordPress bot swarm detection
&lt;/h2&gt;

&lt;p&gt;Every minute it counts the distinct addresses that visited, how many made exactly one request, how many loaded a stylesheet or a script the way a real browser does, and how widely the user-agent strings are spread. Those become a storm score from 0 to 100, compared against a baseline learned over seven days, and gated by traffic volume so a quiet site stays at 0.&lt;/p&gt;

&lt;p&gt;Requests are classified as &lt;code&gt;html&lt;/code&gt;, &lt;code&gt;search&lt;/code&gt;, &lt;code&gt;rest&lt;/code&gt;, &lt;code&gt;xmlrpc&lt;/code&gt;, &lt;code&gt;login&lt;/code&gt;, &lt;code&gt;admin-ajax&lt;/code&gt;, &lt;code&gt;asset&lt;/code&gt; or &lt;code&gt;404&lt;/code&gt;, with WooCommerce classes added when WooCommerce is present. Counters are kept in sliding one-minute and ten-minute windows keyed by address, IPv4 /24, IPv6 /48, user-agent hash and session, held in a persistent object cache where one exists, then APCu, then transients.&lt;/p&gt;

&lt;p&gt;The site moves between four states (calm, warning, storm and cooling), and each transition is logged with the numbers that caused it. Addresses claiming to be Googlebot, Bingbot, Applebot or Yandex are checked by reverse and forward DNS before they are believed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blocking scanner probes and banning bad bots
&lt;/h2&gt;

&lt;p&gt;Since version 0.2 the plugin also acts. A gate answers scanner probes with a 403: requests for &lt;code&gt;.env&lt;/code&gt; and &lt;code&gt;.git&lt;/code&gt; files, backups, database dumps, config and log files, and the admin paths of other applications. An address that keeps probing, or that keeps asking for pages that do not exist, is banned for a while.&lt;/p&gt;

&lt;p&gt;Bans start in observe mode, where every trip is listed as a ban that would have happened and nobody is actually refused, so the list can be checked against real traffic before enforcement is switched on. Administrators, verified search bots, declared proxies and anything on the never-ban list are never banned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Refusing bots before WordPress loads
&lt;/h2&gt;

&lt;p&gt;On the GitHub build, a must-use plugin loads the gate before the rest of WordPress. It reads a small state file and touches neither WordPress nor the database, so a refused probe costs almost nothing. Turning on early protection goes one step further and writes an &lt;code&gt;auto_prepend_file&lt;/code&gt; line into &lt;code&gt;.user.ini&lt;/code&gt; under PHP-FPM, or a &lt;code&gt;php_value&lt;/code&gt; line into &lt;code&gt;.htaccess&lt;/code&gt; under Apache with mod_php, so the gate runs before PHP loads WordPress at all.&lt;/p&gt;

&lt;p&gt;The plugin verifies with a test request that the gate really runs first, and if another &lt;code&gt;auto_prepend_file&lt;/code&gt; is already set it reports the conflict rather than replacing it. Dropping an empty file named &lt;code&gt;disabled&lt;/code&gt; into the data directory turns the gate off without wp-admin.&lt;/p&gt;

&lt;h2&gt;
  
  
  The wordpress.org plugin directory rule
&lt;/h2&gt;

&lt;p&gt;The wordpress.org build does not carry the early gate. The plugin directory does not accept a plugin that writes PHP files, ships a must-use plugin or sets &lt;code&gt;auto_prepend_file&lt;/code&gt;, so that build makes the same decisions later, on &lt;code&gt;plugins_loaded&lt;/code&gt;, using rules kept in an autoloaded option. The refusals still happen; they cost more, because WordPress and the database have already loaded by then. Abuse reporting is GitHub-build only.&lt;/p&gt;

&lt;h2&gt;
  
  
  AbuseIPDB reporting from WordPress
&lt;/h2&gt;

&lt;p&gt;With an AbuseIPDB key saved, probe bans can be reported, one per address per day and within a daily cap, covering probe trips only. Those reports are public. Provider reports look up a network's abuse contact through RIPEstat, sending only the address, and produce plain text to copy or hand to a mail client; the plugin never sends mail itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  WordPress 6.0 and PHP 7.4 requirements
&lt;/h2&gt;

&lt;p&gt;WordPress 6.0 or later and PHP 7.4 or later. A persistent object cache or APCu is strongly recommended, since without one the counters fall back to database transients. Released under GPL-2.0.&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new project published by GBTI Network member Rafael Minuesa. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Rafael Minuesa's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/rafael-minuesa/" rel="noopener noreferrer"&gt;https://gbti.network/members/rafael-minuesa/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>wordpress</category>
      <category>botdetection</category>
      <category>security</category>
      <category>ratelimiting</category>
    </item>
    <item>
      <title>Sondeas: A Browser Voice Workspace for Clinical Dictation</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Wed, 14 Oct 2026 00:55:21 +0000</pubDate>
      <link>https://dev.to/gbti-network/new-project-published-by-gsusi-sondeas-a-browser-voice-workspace-for-clinical-dictation-5dd8</link>
      <guid>https://dev.to/gbti-network/new-project-published-by-gsusi-sondeas-a-browser-voice-workspace-for-clinical-dictation-5dd8</guid>
      <description>&lt;p&gt;&lt;strong&gt;By Jesus Iniesta, &lt;a href="https://gbti.network/members/gsusi/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/projects/sondeas/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sondeas is a browser-based voice workspace. Record live or upload an existing file, and it returns an editable transcript you can translate, summarise, restructure or turn back into speech. It runs in Chrome, Edge and Safari on desktop and mobile, with nothing to install.&lt;/p&gt;

&lt;h2&gt;
  
  
  From recording to draft
&lt;/h2&gt;

&lt;p&gt;It records in the browser, or takes an uploaded MP3, M4A, WAV, WebM or MP4 file, including multi-hour sessions. The transcript arrives punctuated, timestamped, split into paragraphs and separated by speaker, so it is readable before any editing. Rewrite presets then summarise it, cut filler, pull out action items or restructure it as an outline. Translation covers 100 languages, and text-to-speech generates audio back from the finished text. Labels organise transcripts by project, status or to-do list.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built around clinical dictation
&lt;/h2&gt;

&lt;p&gt;Sondeas is aimed at doctors and healthcare workers doing recurring dictation: record permitted, non-sensitive detail between appointments while the context is fresh, shape it into a draft, then review it. The site states plainly that Sondeas is not the EHR, and that the official record is still updated in an approved clinical system. Meeting notes, voice notes and research interviews are the other named use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy
&lt;/h2&gt;

&lt;p&gt;Content is encrypted with a passphrase the account holder sets, rotates and revokes. Sondeas states that its staff cannot view user content, and that without the passphrase it cannot decrypt anything. Transcripts, audio and translations can be exported, downloaded or deleted at any time, and billing history carries timestamped credit records with downloadable receipts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plans
&lt;/h2&gt;

&lt;p&gt;The Clinician Plan is 29 euros a month, with unlimited slow transcription while it is active and 1,500 premium minutes a month. Premium minutes cover fast transcription, translation, rewrites and speech generation. Pay-as-you-go minutes start at 2 dollars with no subscription, and purchased credits do not expire. A trial can be requested from the site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools and guides
&lt;/h2&gt;

&lt;p&gt;Alongside the workspace sit standalone pages for audio-to-text, voice-memo-to-text, text-to-speech and audio translation, plus guides for transcribing WhatsApp voice messages and iPhone voice memos, and a global keyboard shortcut for starting a recording.&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new project published by GBTI Network member Jesus Iniesta. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Jesus Iniesta's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/gsusi/" rel="noopener noreferrer"&gt;https://gbti.network/members/gsusi/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>transcription</category>
      <category>speechtotext</category>
      <category>translation</category>
      <category>texttospeech</category>
    </item>
    <item>
      <title>Magic Manta: Find and Verify a Company's Social Profiles</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Tue, 13 Oct 2026 00:36:54 +0000</pubDate>
      <link>https://dev.to/gbti-network/new-project-published-by-mike-demo-magic-manta-find-and-verify-a-companys-social-profiles-5f5o</link>
      <guid>https://dev.to/gbti-network/new-project-published-by-mike-demo-magic-manta-find-and-verify-a-companys-social-profiles-5f5o</guid>
      <description>&lt;div class="ltag__user ltag__user__id__389717"&gt;
    &lt;a href="/mpmike" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F389717%2Fa648f865-55d3-4e9f-98cf-e832c4d376a2.jpg" alt="mpmike image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/mpmike"&gt;Mike “Demo” Demopoulos&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/mpmike"&gt;&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;By Mike Demo Demopoulos, &lt;a href="https://gbti.network/members/mike-demo/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/projects/magic-manta/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Magic Manta&lt;/strong&gt; is a social radar scanner. Enter a company's domain and it finds that company's social media profiles across X, Threads, Instagram, LinkedIn, Bluesky, GitHub and more, then shows the evidence behind every handle it returns.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a lookup works
&lt;/h2&gt;

&lt;p&gt;It reads the site's Schema.org sameAs data and the links on its official pages, then falls back to targeted search for anything those do not declare. A profile declared through JSON-LD sameAs or an official-site DOM link gets a Verified badge, with its evidence source shown. A search fallback candidate stays Unverified unless it links back to the official domain. Every result carries a last-checked timestamp, and conflicts between official sources are flagged.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond one domain
&lt;/h2&gt;

&lt;p&gt;Batch lookups sweep several domains in a single run: five per batch on the Operative plan, twenty-five on Deep Recon.&lt;/p&gt;

&lt;h2&gt;
  
  
  For agents
&lt;/h2&gt;

&lt;p&gt;The radar core is framework-agnostic, with three doorways into the same engine. The MCP server is live today, auth-gated, at 100 lookups per account per day. A REST endpoint and a React SDK are listed as coming soon, and there is no public REST API yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Accounts and plans
&lt;/h2&gt;

&lt;p&gt;Single lookups need no account. An account unlocks saved lookups, lists, paid plans and the MCP server, with sign-in through Google, Apple, Microsoft, AgentID, or email and password. Single lookups are free. Operative is a one-time five dollars for an account, lookup history, saved lists and CSV or JSON export. Deep Recon is ten dollars a month, and Brand Command twenty dollars a month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hosting and carbon
&lt;/h2&gt;

&lt;p&gt;The site runs on Lovable Cloud behind Cloudflare, which the Green Web Foundation verifies as green hosting, and 1.5 percent of purchases goes to Stripe Climate for carbon removal. A machine-readable disclosure sits at /carbon.txt.&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new project published by GBTI Network member Mike Demo Demopoulos. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Mike Demo Demopoulos's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/mike-demo/" rel="noopener noreferrer"&gt;https://gbti.network/members/mike-demo/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>osint</category>
      <category>socialmedia</category>
      <category>brandmonitoring</category>
      <category>mcp</category>
    </item>
    <item>
      <title>/FARLEY : An Agent Skill for Remembering People</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Fri, 18 Sep 2026 00:04:37 +0000</pubDate>
      <link>https://dev.to/gbti-network/new-prompt-published-by-493193064467267594-farley-an-agent-skill-for-remembering-people-409g</link>
      <guid>https://dev.to/gbti-network/new-prompt-published-by-493193064467267594-farley-an-agent-skill-for-remembering-people-409g</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/atwellpub"&gt;@atwellpub&lt;/a&gt;, &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/prompts/farley-file-skill-for-claude-code/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This Claude Code skill offers your agent an &lt;code&gt;/farley&lt;/code&gt; command that helps keep track of memorable data you learn about the people you meet. This is for those who network with many people and would like to be able to record and recall details that may otherwise slip the memory.&lt;/p&gt;

&lt;p&gt;The name comes from James Farley, Franklin Roosevelt's campaign manager and later Postmaster General, who kept a file on everyone the two of them met: family, work, the last conversation. Before a return visit he read it, and a man who had shaken his hand once, a year earlier, got asked about a family member by name.&lt;/p&gt;

&lt;p&gt;I came across this concept while reading Robert Heinlein's &lt;em&gt;Double Star&lt;/em&gt;, where an actor stands in for a politician and survives the handshakes because the politician's staff keeps exactly that file. Heinlein named it after Farley, and the 1956 novel is how most people who keep one first heard of the idea.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/farley&lt;/code&gt; takes a mode as its first word, and &lt;code&gt;/farleyfile&lt;/code&gt; is the same skill under a second name.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/farley &amp;lt;name&amp;gt; &amp;lt;notes&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Creates or updates that person's dossier, logs the meeting, and tags it. Plain sentences work: &lt;code&gt;/farley Met Tom Ruiz at the fundraiser, his wife is Ana&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/farley brief &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Reads the notes back as a pre-meeting brief: names, last conversation, open threads, what to raise, what to avoid.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/farley search &amp;lt;query&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Finds people by text (&lt;code&gt;fly fishing&lt;/code&gt;) or by tag (&lt;code&gt;tag:role/donor tag:place/austin&lt;/code&gt;). Local only, plain grep.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/farley research &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Searches the web for their public footprint and records confirmed findings with sources, in their own section.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;/farley list&lt;/code&gt;, &lt;code&gt;/farley autotag&lt;/code&gt;, &lt;code&gt;/farley init&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Everyone on file; re-tag one dossier or all of them; set where the file lives.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create &lt;code&gt;~/.claude/skills/farley/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Save the file below into it as &lt;code&gt;SKILL.md&lt;/code&gt;. That is the whole skill.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;/farley init&lt;/code&gt;. It asks where the dossiers should live, creates the folder, and writes &lt;code&gt;config.json&lt;/code&gt;. Pick somewhere outside every git repository.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;/farley&lt;/code&gt; and it shows you the menu.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The skill file
&lt;/h2&gt;

&lt;p&gt;Save this as &lt;code&gt;~/.claude/skills/farley/SKILL.md&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;farley&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="s"&gt;Keep the Farley File: a private set of notes about people and organizations the user knows or works with.&lt;/span&gt;
  &lt;span class="s"&gt;Invoke for "/farley" or "/farleyfile" with any of: init, list, search &amp;lt;search&amp;gt;, research &amp;lt;name&amp;gt;,&lt;/span&gt;
  &lt;span class="s"&gt;autotag [name], brief &amp;lt;name&amp;gt;, or a name followed by notes. Also for "add this to the farley file",&lt;/span&gt;
  &lt;span class="s"&gt;"I just met &amp;lt;name&amp;gt;", "note that &amp;lt;name&amp;gt; works with ...", "brief me on &amp;lt;name&amp;gt;", or "who do we&lt;/span&gt;
  &lt;span class="s"&gt;know who ...". Stores one Markdown record per person or organization, adds useful tags, searches&lt;/span&gt;
  &lt;span class="s"&gt;those records, and looks up public professional information on the web only when asked. With no&lt;/span&gt;
  &lt;span class="s"&gt;arguments it asks what the user wants. Works from any project directory; the storage location is&lt;/span&gt;
  &lt;span class="s"&gt;set once with "/farley init".&lt;/span&gt;
&lt;span class="na"&gt;allowed-tools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Bash, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;


&lt;span class="gh"&gt;# /farley: the Farley File&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;A Farley File is a private set of notes about people and organizations the user knows or works with. It keeps useful context from real interactions, such as roles, interests, past conversations, shared work, associates, and follow-ups. Before meeting again, the user can review the record so the conversation can pick up where it left off.&lt;span class="sb"&gt;


`/farleyfile`&lt;/span&gt; is the same skill under a second name.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Storage&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gs"&gt;**Markdown is the only place the notes are stored.**&lt;/span&gt; Each person or organization gets a folder
with one Markdown record. The user may keep related material beside it, such as a business card,
meeting notes, or a document. There is no database or background service. Search uses plain text.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;&amp;lt;root&amp;gt;/
  jane-doe/
    jane-doe.md            the record (the only file that holds data)
    (optional related files: business cards, meeting notes, documents)
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;The location of &lt;span class="sb"&gt;`&amp;lt;root&amp;gt;`&lt;/span&gt; is the one setting, kept in &lt;span class="sb"&gt;`config.json`&lt;/span&gt; beside this file:
&lt;span class="sb"&gt;`{"root": "&amp;lt;absolute path&amp;gt;"}`&lt;/span&gt;. &lt;span class="gs"&gt;**Init**&lt;/span&gt; writes it and nothing else does.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Step 0: find the Farley File folder (every command)&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;Read &lt;span class="sb"&gt;`config.json`&lt;/span&gt;. Its &lt;span class="sb"&gt;`root`&lt;/span&gt; value is the folder every command reads and writes, no matter which
project is open. Below, &lt;span class="sb"&gt;`&amp;lt;root&amp;gt;`&lt;/span&gt; means that folder. Use the full path in commands because shell
variables do not carry between calls.&lt;span class="sb"&gt;


&lt;/span&gt;If &lt;span class="sb"&gt;`config.json`&lt;/span&gt; is missing, has no &lt;span class="sb"&gt;`root`&lt;/span&gt;, or the folder no longer exists, tell the user no
Farley File folder is set, run &lt;span class="gs"&gt;**Init**&lt;/span&gt; first, then carry on with what they asked for.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Pick the command from `$ARGUMENTS`&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;The first word decides. A person who happens to be named "List" is written as &lt;span class="sb"&gt;`/farley brief List`&lt;/span&gt;
or with notes after the name.&lt;span class="sb"&gt;


&lt;/span&gt;| Arguments | What to do |
|---|---|
| empty | &lt;span class="gs"&gt;**Ask.**&lt;/span&gt; Ask what the user wants to do. |
| &lt;span class="sb"&gt;`init`&lt;/span&gt; | &lt;span class="gs"&gt;**Init.**&lt;/span&gt; Set or change the storage location. |
| &lt;span class="sb"&gt;`list`&lt;/span&gt; | &lt;span class="gs"&gt;**List.**&lt;/span&gt; Every name on file. |
| &lt;span class="sb"&gt;`search &amp;lt;search&amp;gt;`&lt;/span&gt; | &lt;span class="gs"&gt;**Search.**&lt;/span&gt; Find records by text or &lt;span class="sb"&gt;`tag:`&lt;/span&gt;. Local only. |
| &lt;span class="sb"&gt;`research &amp;lt;name&amp;gt; [focus]`&lt;/span&gt; | &lt;span class="gs"&gt;**Research.**&lt;/span&gt; Look up relevant public professional information. |
| &lt;span class="sb"&gt;`autotag [name]`&lt;/span&gt; | &lt;span class="gs"&gt;**Autotag.**&lt;/span&gt; Re-tag one record, or every record when no name is given. |
| &lt;span class="sb"&gt;`brief &amp;lt;name&amp;gt;`&lt;/span&gt;, &lt;span class="sb"&gt;`prep &amp;lt;name&amp;gt;`&lt;/span&gt;, or a bare name | &lt;span class="gs"&gt;**Brief.**&lt;/span&gt; Read the record back for a meeting. |
| a name plus information about them, or a plain sentence | &lt;span class="gs"&gt;**Record.**&lt;/span&gt; Create or update the record. |&lt;span class="sb"&gt;


&lt;/span&gt;If a command is missing what it needs (&lt;span class="sb"&gt;`/farley search`&lt;/span&gt;, for example), ask only for the missing
name or search terms.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Ask&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;Do nothing else yet. Reply with a short question asking who or what this is about, and show the
menu so the user can answer in one line:&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;Who is this about, and what should I do?
  &amp;lt;name&amp;gt; &amp;lt;notes&amp;gt;            record what you learned
  brief &amp;lt;name&amp;gt;              read a record back before a meeting
  search &amp;lt;search&amp;gt;            find people by text, or by tag:place/austin
  research &amp;lt;name&amp;gt;           look up relevant public information
  autotag [name]            re-tag one record, or all of them
  list                      everyone on file
  init                      set where the Farley File lives
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;End the turn there. Treat the user's next message as the arguments and pick the command from it.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Init&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="p"&gt;1.&lt;/span&gt; Read &lt;span class="sb"&gt;`config.json`&lt;/span&gt;.
&lt;span class="p"&gt;2.&lt;/span&gt; &lt;span class="gs"&gt;**A root is already set:**&lt;/span&gt; say where it is and how many records it holds. Ask with
   AskUserQuestion whether to keep it or change it. Keep ends here.
&lt;span class="p"&gt;3.&lt;/span&gt; &lt;span class="gs"&gt;**No root yet, or the user chose to change it:**&lt;/span&gt; ask for the location with AskUserQuestion.
   Offer the current working directory and &lt;span class="sb"&gt;`~/farley`&lt;/span&gt; as options; the user can type any other
   path through "Other".
&lt;span class="p"&gt;4.&lt;/span&gt; Normalize the answer: &lt;span class="sb"&gt;`~`&lt;/span&gt; expands to the home directory, and the result must be absolute. On WSL,
   a Windows path (&lt;span class="sb"&gt;`D:\Brain\farley`&lt;/span&gt;) becomes a WSL path with &lt;span class="sb"&gt;`wslpath -u`&lt;/span&gt;.
&lt;span class="p"&gt;5.&lt;/span&gt; Create the folder if needed (&lt;span class="sb"&gt;`mkdir -p`&lt;/span&gt;), and write &lt;span class="sb"&gt;`config.json`&lt;/span&gt; as
   &lt;span class="sb"&gt;`{"root": "&amp;lt;absolute path&amp;gt;"}`&lt;/span&gt;.
&lt;span class="p"&gt;6.&lt;/span&gt; &lt;span class="gs"&gt;**Changing from an old root that holds records:**&lt;/span&gt; ask whether to move them to the new location
   or leave them where they are. Move only on a yes, with &lt;span class="sb"&gt;`mv`&lt;/span&gt;, and never delete anything.
&lt;span class="p"&gt;7.&lt;/span&gt; Report the new location.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Step 1: find the person or organization (Record, Brief, Research, Autotag)&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="p"&gt;1.&lt;/span&gt; Make the &lt;span class="gs"&gt;**folder name**&lt;/span&gt; from the name: lowercase it, remove accents, titles and suffixes
   (Dr, Rep, Sen, Mr, Ms, Jr, III), remove apostrophes and periods, and replace spaces with hyphens.
   &lt;span class="sb"&gt;`Dr. María O'Neil`&lt;/span&gt; becomes &lt;span class="sb"&gt;`maria-oneil`&lt;/span&gt;. &lt;span class="sb"&gt;`The Acme Foundation`&lt;/span&gt; becomes &lt;span class="sb"&gt;`acme-foundation`&lt;/span&gt;.
&lt;span class="p"&gt;2.&lt;/span&gt; Look for an existing record before creating one. Check the folder list, then the &lt;span class="sb"&gt;`name:`&lt;/span&gt; and
   &lt;span class="sb"&gt;`aliases:`&lt;/span&gt; lines of every record, without caring about capitalization, so a nickname, alternate name, or first name
   alone still finds the right person:&lt;span class="sb"&gt;


&lt;/span&gt;   &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;bash
&lt;/span&gt;   &lt;span class="nb"&gt;ls&lt;/span&gt; &amp;lt;root&amp;gt;
   &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-iE&lt;/span&gt; &lt;span class="s2"&gt;"^(name|aliases):"&lt;/span&gt; &amp;lt;root&amp;gt;/&lt;span class="k"&gt;*&lt;/span&gt;/&lt;span class="k"&gt;*&lt;/span&gt;.md 2&amp;gt;/dev/null
   &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="p"&gt;3.&lt;/span&gt; Decide:
&lt;span class="p"&gt;   -&lt;/span&gt; &lt;span class="gs"&gt;**One clear match:**&lt;/span&gt; use it.
&lt;span class="p"&gt;   -&lt;/span&gt; &lt;span class="gs"&gt;**No match:**&lt;/span&gt; Record creates &lt;span class="sb"&gt;`&amp;lt;folder-name&amp;gt;/&amp;lt;folder-name&amp;gt;.md`&lt;/span&gt; from the layout below. The other
     commands say no record exists and ask whether to start one. Never create an empty file.
&lt;span class="p"&gt;   -&lt;/span&gt; &lt;span class="gs"&gt;**Several plausible matches**&lt;/span&gt; (two Johns, or "Sarah" alone): ask with AskUserQuestion, listing
     each possible match with their role and last contact. Never guess and merge two people.
&lt;span class="p"&gt;   -&lt;/span&gt; &lt;span class="gs"&gt;**Same name, different person:**&lt;/span&gt; add a short identifying word to the folder name from what the
     notes give (&lt;span class="sb"&gt;`john-smith-austin`&lt;/span&gt;, &lt;span class="sb"&gt;`john-smith-acme`&lt;/span&gt;), and say so.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Record&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;Read the whole record first, then edit it in place. Never rewrite it from memory. A new record 
takes this shape, with the headings kept even when empty, so every file reads the same way:&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gh"&gt;```markdown
---
&lt;/span&gt;name: Jane Doe
aliases: []
type: person
relationship: how the user knows them, in a few words
first_met: 2026-09-16
last_contact: 2026-09-16
&lt;span class="gh"&gt;tags: []
---
&lt;/span&gt;

&lt;span class="gh"&gt;# Jane Doe&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## At a glance&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;One or two sentences: who they are and why they matter.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## About&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="p"&gt;-&lt;/span&gt; Role and organization:
&lt;span class="p"&gt;-&lt;/span&gt; Location:
&lt;span class="p"&gt;-&lt;/span&gt; Contact:
&lt;span class="p"&gt;-&lt;/span&gt; Relevant details:&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Associates&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Interests and preferences&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Background&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Topics and positions&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Connections&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Follow-ups&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Research&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;span class="gu"&gt;## Interaction log&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

**Sections.** Put each new fact under the heading where someone reviewing the record before a
meeting would expect to find it. Add a bullet and do not repeat something already recorded.
Only **Research** writes to the `Research` section.


**The interaction log** keeps a simple history of what happened. Add one entry per meeting or note,
**newest first**, directly under `## Interaction log`:


&lt;span class="p"&gt;```&lt;/span&gt;markdown
&lt;span class="gu"&gt;### 2026-09-16 · Rotary lunch, Austin&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; What was said, done or learned, in the user's own words where possible.
&lt;span class="p"&gt;-&lt;/span&gt; Anything they asked for, offered, or promised.
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

If the notes are not about a meeting (a fact heard secondhand, a correction), log it as
`### 2026-09-16 · Note` and name the source if the user gave one.


**Details at the top of the file.** Keep them current on every write: add new names or nicknames to
`aliases`, set `last_contact` to the date of the newest real interaction (not a secondhand note or
research), and set `first_met` only once. Keep `aliases` and `tags` as one-line lists
(`tags: [role/donor, place/austin]`) because the search commands read that format.


**Then tag it:** apply **Tags** to the record.


### Rules that keep the file trustworthy


- **Record only what the user supplied.** Do not infer, embellish, or fill gaps. The web is used
  only by **Research**, and only when the user invokes it.
- **Pronouns:** use the ones the user used. If none were given, write around them or use
  they/them. Never infer them from a name.
- **Absolute dates only.** Convert "yesterday", "last Tuesday", "next month" against today's date.
  If no meeting date is given, use today and say so in the reply.
- **Never delete a fact.** When new information contradicts old, write the new value and keep the
  old one beside it with its date: `Works at Dell (previously HP, noted 2026-03-02)`.
- **Keep uncertainty visible.** "I think she now works at UT" becomes
  `May now work at UT (unconfirmed)`.
- **Follow-ups are checkboxes.** Promises made in either direction become `- [ ] Send Tom the grant
  deadline (promised 2026-09-16)`. When the user reports one done, tick it and add the date; do
  not remove it.
- **Associates mentioned in the notes.** Colleagues, collaborators, assistants, contacts, and other
  associates mentioned in passing go under `Associates` or `Connections`. Give someone their
  own record only if the notes are substantially about them too, or the user asks. When both people
  have records, link the two records to each other (`[Ana Ruiz](../ana-ruiz/ana-ruiz.md)`) in each file's
  `Connections`.
- **Write no em-dashes** in any file this skill writes, per the global writing rule. Use commas,
  colons, parentheses or a new sentence. The `·` in log headings is fine.


Report briefly: the record path and whether it was **created** or **updated**, a few bullets of what
was added, the tags added, any conflicting information kept, any assumption made (for example, using
today when no date was given), and this person's open follow-ups. Do not repeat the whole record.


## Tags


Tags help the file answer questions like "who do I know who..." without a database. They are added
automatically on every **Record**, **Research** and **Autotag**; the user never has to ask.


**Tag format:** `group/value`, lowercase with hyphens: `place/travis-county`, `interest/fly-fishing`.


| Group | For | Examples |
|---|---|---|
| `role` | how they relate to the user or their work | `role/donor`, `role/volunteer`, `role/press`, `role/staff`, `role/elected-official` |
| `org` | organizations they belong to or lead | `org/literacy-council`, `org/dell` |
| `place` | where they live, work or are active, online communities included | `place/austin`, `place/district-7`, `place/reddit` |
| `event` | where the user met or saw them | `event/rotary-lunch`, `event/2026-literacy-gala` |
| `interest` | hobbies and passions | `interest/fly-fishing`, `interest/jazz` |
| `issue` | policy areas they care about or work on | `issue/school-funding`, `issue/water-rights` |


**Rules:**


1. **Reuse before inventing.** Read the tags already in use and pick an existing one when it fits,
   so `interest/fishing` does not gain a rival `interest/angling`:


   ```bash
   grep -h "^tags:" &amp;lt;root&amp;gt;/*/*.md | tr -d '[]' | tr ',' '\n' | sed 's/^tags://' | tr -d ' ' | sort -u
   ```


2. **Tag only what the record says.** Every tag must trace to a line in the file. Remove a tag
   only when the fact behind it is gone or superseded, and say so.
3. **Stay within these six tag groups.** If a tag fits none of them, it usually belongs in the notes instead.
4. **Never use sensitive personal information as a tag:** health, religion, ethnicity, sexual
   orientation, immigration status, political party, or anything similar. If the user chose to
   record such a fact, keep it only in the notes. Never make it a way to group or list people.
5. **A handful per record.** Tags that would match almost everyone on file (`place/texas` for a
   Texas office) add nothing; prefer the more specific one.


## List


Read the details at the top of every record and return **every** name, alphabetically, one per
line, with relationship and last contact after it, and the total at the end:


&lt;span class="p"&gt;```&lt;/span&gt;bash
grep -H -E "^(name|relationship|last_contact):" &lt;span class="nt"&gt;&amp;lt;root&amp;gt;&lt;/span&gt;/&lt;span class="ge"&gt;*/*&lt;/span&gt;.md
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

&lt;span class="p"&gt;```&lt;/span&gt;
Ana Ruiz · board member, Literacy Council · last contact 2026-08-30
Jane Doe · donor, Travis County · last contact 2026-09-16
2 people on file.
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

If the folder is empty, say so and offer to add someone.


## Search


Local only. This command never uses the web and never edits a record. It searches the Markdown files
on this machine with `grep`.


1. **Tag searches.** `tag:place/austin` finds records carrying that tag. Several `tag:` terms mean
   all of them (`tag:role/donor tag:place/austin`). The brackets match the whole tag, so
   `role/donor` does not also match `role/donor-major` (a `\b` boundary would):


   &lt;span class="p"&gt;```&lt;/span&gt;bash
   grep -lE "^tags:.&lt;span class="ge"&gt;*[[ ]role/donor[],]" &amp;lt;root&amp;gt;/*&lt;/span&gt;/&lt;span class="ge"&gt;*.md | xargs -r grep -lE "^tags:.*&lt;/span&gt;[[ ]place/austin[],]"
   &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

2. **Text searches.** Turn the search into a few obvious related words (`fish`, `fishing`,
   `angler`), and search every record with line numbers:


   &lt;span class="p"&gt;```&lt;/span&gt;bash
   grep -rinE "fish|angl" &lt;span class="nt"&gt;&amp;lt;root&amp;gt;&lt;/span&gt; --include='&lt;span class="err"&gt;*&lt;/span&gt;.md'
   &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

3. **Date and relationship searches.** Use the details at the top (`relationship`, `first_met`, `last_contact`)
   and dated log headings (`### YYYY-MM-DD`) for questions like "everyone I met in March" or "people
   I have not spoken to since spring". For "who knows Ana Ruiz", search for links to her record:
   `grep -l "ana-ruiz/ana-ruiz.md" &amp;lt;root&amp;gt;/*/*.md`.
4. Open the matching records and make sure each one really answers the search. Ignore accidental
   matches.
5. Return the most useful matches as a numbered list, at most 15 (say how many more there are):


   &lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;   1.&lt;/span&gt; Jane Doe (donor, Travis County; last contact 2026-09-16)
      Interested in fly fishing and mentioned going on the Llano with Tom.
      &lt;span class="nt"&gt;&amp;lt;root&amp;gt;&lt;/span&gt;/jane-doe/jane-doe.md:24
   &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

With no results, say so and suggest a broader search or a nearby tag already in use.


## Refresh tags (`autotag`)


`/farley autotag &amp;lt;name&amp;gt;` re-tags one record; `/farley autotag` re-tags every record. Use it after
the tag rules change, or to update older records that were created before tags were added.


1. Read the tags already in use, then each record in turn.
2. Apply **Tags** to its whole content. Add missing tags, reuse an existing tag when two tags mean the same thing, and
   remove only tags whose fact is gone.
3. Change nothing but the `tags:` line. Do not add this cleanup work to the interaction log.
4. Report per record what was added, merged or removed.


## Brief


Read the record and give a short pre-meeting brief:


1. **Who:** one line with their role, organization, how you know them, and when you first met.
2. **People to remember:** relevant associates, colleagues, assistants, collaborators, or contacts.
3. **Last time:** the date, place, and what you discussed.
4. **Open threads:** unfinished follow-ups, things they were waiting on, or upcoming work and events
   that are worth asking about.
5. **Talking points:** useful interests, preferences, and subjects connected to the relationship.


Draw only from the file. Anything taken from `Research` is labelled as coming from public sources.
If the file is thin, say so rather than padding the brief.


## Research


This command searches the web only when the user explicitly asks for it. It sends the person's name
and enough context to distinguish them from people with the same name.


1. **Find the record** (Step 1). With no record, ask for enough context to identify the right person,
   such as where they work, their role, organization, or how the user knows them, and whether to start
   a record for the results. Never search a bare name with no identifying context.
2. **Load web search:** `ToolSearch` with `select:WebSearch,WebFetch`.
3. **Collect useful context** from the record: organization, role, city, known associates, and
   events. Any focus given after the name (`research Jane Doe literacy work`) guides the searches.
4. **Search** using the name together with that context, and open the pages that look
   relevant.
5. **Confirm it is the right person.** A result counts only when it matches the name **and** at least
   one piece of that context. If you are not sure, report the possible match but do not add it to the
   record.
6. **Look only for relevant public information:** current role and work history, organizations and
   boards, public statements, news coverage, awards, published work, professional profiles, and
   public records connected to a public or professional role.
7. **Do not look for or record** a home address, personal phone number or email, date of birth,
   health information, personal finances, or private details about associates. Do not use
   people-search or data-broker sites, and do not try to get past a login or paywall.
   **People known only by a handle** (a Reddit or forum username): research only what they publish
   under that handle. Do not try to discover their real name. Do not assume the same handle on another
   site belongs to the same person unless the record already gives enough context to confirm it. If
   they publicly connect the handle to their own name, that link may be recorded.
   **Blocked sites:** WebFetch cannot reach reddit.com (old or new). Do not work around a block with
   curl or a browser; record that the site could not be read, and suggest the user paste or
   screenshot what they want kept.
8. **Write** confirmed findings as bullets under `## Research`, each with its source and date:


   &lt;span class="p"&gt;```&lt;/span&gt;markdown
&lt;span class="p"&gt;   -&lt;/span&gt; Chairs the Travis County Literacy Council board (&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Austin Chronicle&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://...&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;, retrieved 2026-09-16)
   &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;

   Do not duplicate an existing bullet; when a finding updates one, keep both with their dates. Do
   not copy findings into the firsthand sections. If a finding contradicts something the user
   recorded, leave the firsthand fact alone and raise it in the reply.
9. **Log it** as `### 2026-09-16 · Web research` with one line: how many findings were added and the
   focus, if any. Do not change `last_contact`. Apply **Tags** (confirmed findings may add `org/`
   and `issue/` tags).
10. **Report:** say what was added and where it came from, which possible matches were left out and
    why, what was searched for but not found, and remind the user that the web searches were sent to
    a search provider.


## Privacy


These records contain private notes about real people and organizations, so keep them limited,
relevant, and local.


- Records stay on this machine. Never publish them as an Artifact, put them in Claude Docs,
  Google Drive or email, or commit them to a repository.
- **Research** is the only command that sends anything to the web, and only when the user asks for it.
- Never use sensitive personal information as a tag.
- Do not copy a record into another project or conversation unless the user asks.
- If the user asks to remove a record, confirm first, delete that folder, then say what was deleted.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The resource shared in this post is a new prompt published by GBTI Network member Hudson Atwell. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Hudson Atwell's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;https://gbti.network/members/atwellpub/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>claudecode</category>
      <category>agentskills</category>
      <category>workflow</category>
      <category>notetaking</category>
    </item>
    <item>
      <title>The Turtle King: A look into the Turtly World of Jeff Bezos</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Wed, 16 Sep 2026 01:35:53 +0000</pubDate>
      <link>https://dev.to/gbti-network/the-turtle-king-a-look-into-the-turtly-world-of-jeff-bezos-318h</link>
      <guid>https://dev.to/gbti-network/the-turtle-king-a-look-into-the-turtly-world-of-jeff-bezos-318h</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/gbti"&gt;@gbti&lt;/a&gt;, &lt;a href="https://gbti.network/members/gbtilabs/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/articles/the-turtle-king-a-look-into-the-turtly-world-of-jeff-bezos/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In a world where billionaires and tech moguls are often likened to superheroes or visionary geniuses, Jeff Bezos, the founder of Amazon and space exploration company &lt;a href="https://www.blueorigin.com/" rel="noopener noreferrer"&gt;Blue Origin&lt;/a&gt;, has garnered a unique and somewhat whimsical comparison: the turtle.&lt;/p&gt;

&lt;p&gt;Bezos’ resemblance to other famous turtles has been a playful topic on &lt;a href="https://twitter.com/search?q=bezos%2Bturtle&amp;amp;src=typed_query" rel="noopener noreferrer"&gt;social media&lt;/a&gt;. We particularly like this rendition played by Dana Carvey in the movie &lt;a href="https://www.imdb.com/title/tt0295427/" rel="noopener noreferrer"&gt;The Master of Disgu&lt;/a&gt;&lt;a href="https://www.imdb.com/title/tt0295427/" rel="noopener noreferrer"&gt;i&lt;/a&gt;&lt;a href="https://www.imdb.com/title/tt0295427/" rel="noopener noreferrer"&gt;se&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fru9xp1u3spjkjt3gixeh.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fru9xp1u3spjkjt3gixeh.webp" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dana Carvey from the movie The Master of Disguise&lt;/p&gt;

&lt;p&gt;Listening to Jeff Bezos on the latest &lt;a href="https://www.youtube.com/watch?v=DcWqzZ3I2cY" rel="noopener noreferrer"&gt;Lex Fridman podcast&lt;/a&gt; you get a sense of how &lt;em&gt;tutrly&lt;/em&gt; Bezos really can be as you can easily imagine this highly interesting conversation being held with the famous turtle from the Pixar movie Finding Nemo:&lt;/p&gt;

&lt;p&gt;“Righteous! Righteous!” – Crush rides the East Aulstrailian Current, Finding Nemo&lt;/p&gt;

&lt;h2&gt;
  
  
  Leaning into the theme: The Blue Origin Coat of Arms
&lt;/h2&gt;

&lt;p&gt;Blue Origin’s coat of arms includes turtles reaching for the stars, symbolizing the company’s philosophy of steady progress in space exploration, mirroring a turtle’s journey.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr8k4u5u4ux7pjgmu6pdt.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr8k4u5u4ux7pjgmu6pdt.webp" width="799" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image sourced from Blue Origin &lt;a href="https://cynthiashen.design/blue-origin/blue-origin-process/" rel="noopener noreferrer"&gt;brand audit&lt;/a&gt; by &lt;a href="https://cynthiashen.design/" rel="noopener noreferrer"&gt;Cynthia Shen&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The coat of arms features a central shield with a graphical representation of Earth and space, flanked by two turtles looking upwards the celestial kingdom.&lt;/p&gt;

&lt;p&gt;Above the shield is a banner with the company’s motto, &lt;strong&gt;“Gradatim Ferociter”&lt;/strong&gt; which translates to &lt;em&gt;“Step by Step, Ferociously.”&lt;/em&gt; This coat of arms encapsulates Blue Origin’s mission and philosophy, with the turtles symbolizing steady, determined progress towards space exploration goals.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tortoise and the Hare
&lt;/h2&gt;

&lt;p&gt;In July of 2021, &lt;a href="https://twitter.com/TrungTPhan" rel="noopener noreferrer"&gt;Trung Phan&lt;/a&gt; a developer, writer, and podcaster, produced an &lt;a href="https://twitter.com/TrungTPhan/status/1416416608990294017" rel="noopener noreferrer"&gt;X/Twitter thread&lt;/a&gt; that highlighted the relationship between Elon Musk and Jeff Bezos and their mutual interest in space travel. Elon, musk noticed this thread, specially a tweet that highlighted a reference to the story &lt;a href="https://en.wikipedia.org/wiki/The_Tortoise_and_the_Hare" rel="noopener noreferrer"&gt;Tortoise and Hare&lt;/a&gt; in comparison to the Blue Origin strategy of approaching space travel, reading:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The lesson from “tortoise &amp;amp; hare” is not that tortoises are faster, but rather that hares should not be complacent&lt;/p&gt;

&lt;p&gt;— Elon Musk (&lt;a class="mentioned-user" href="https://dev.to/elonmusk"&gt;@elonmusk&lt;/a&gt;) &lt;a href="https://twitter.com/elonmusk/status/1438780252474560513?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;September 17, 2021&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Master’s Chamber
&lt;/h2&gt;

&lt;p&gt;Mackenzie Bezos, Jeff’s ex-wife, reportedly had &lt;a href="https://www.nationalenquirer.com/celebrity/jeff-bezos-shared-wifes-pillow-talk-with-mistress-lauren-sanchez/" rel="noopener noreferrer"&gt;turtle-themed dreams&lt;/a&gt; before their split, adding a surreal layer to the turtle motif in Bezos’ life.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“MacKenzie dreamt I redecorated the bedroom.”&lt;/p&gt;

&lt;p&gt;“I kept doing it and it got weirder and weirder and weirder. Until I was sewing stuffed turtles into the comforter.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.nationalenquirer.com/celebrity/jeff-bezos-shared-wifes-pillow-talk-with-mistress-lauren-sanchez/" rel="noopener noreferrer"&gt;https://www.nationalenquirer.com/celebrity/jeff-bezos-shared-wifes-pillow-talk-with-mistress-lauren-sanchez/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Jeff Bezos, intentional or coincidental, seems to lean into the appeal of the long-living turtle. And Jeff, in case you are reading this. This isn’t a bad thing at all. We can only hope and even request that we get more turtle content in the future.  &lt;/p&gt;

&lt;p&gt;For this reason, in the spirit of The Doors, we have lovingly dubbed Jeff Bezos the &lt;em&gt;Turtle King&lt;/em&gt;.&lt;/p&gt;




&lt;p&gt;Thanks for reading! Please leave your turtle-related comments below. 🐢&lt;/p&gt;

&lt;p&gt;If you like our content, please consider following us! If you like our free &lt;a href="https://github.com/gbti-labs" rel="noopener noreferrer"&gt;open-source assets&lt;/a&gt;, please give them a github star. We’re also happy to have lurkers on our Discord community where we manage our syndication network and curate together.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://twitter.com/gbti_network" rel="noopener noreferrer"&gt;X&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://github.com/gbti-labs" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://www.youtube.com/channel/UCh4FjB6r4oWQW-QFiwqv-UA" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The resource shared in this post is a new article published by GBTI Network member GBTI Network. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow GBTI Network's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/gbtilabs/" rel="noopener noreferrer"&gt;https://gbti.network/members/gbtilabs/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>entertainment</category>
    </item>
    <item>
      <title>Is our future full of MCP servers?</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Wed, 16 Sep 2026 01:35:50 +0000</pubDate>
      <link>https://dev.to/gbti-network/is-our-future-full-of-mcp-servers-54hg</link>
      <guid>https://dev.to/gbti-network/is-our-future-full-of-mcp-servers-54hg</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/atwellpub"&gt;@atwellpub&lt;/a&gt;, &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;GBTI Network Supporter&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/articles/is-our-future-full-of-mcp-servers/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;MCP stands for &lt;strong&gt;Model Context Protocol&lt;/strong&gt;, and recently the&amp;nbsp;&lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf IDE&lt;/a&gt;&amp;nbsp;released a new feature to their &lt;a href="https://docs.codeium.com/windsurf/cascade" rel="noopener noreferrer"&gt;&lt;em&gt;Cascade&lt;/em&gt;&lt;/a&gt; agent that enables support for connecting the Claude 3.5 to MCP servers.&lt;/p&gt;

&lt;p&gt;The emergence of MCP servers in chat agents is still very new, but considering the current trajectory, there is a strong change that it could be very common in the near (and potentially distant) future. In this blog post I’ll share my thoughts about MCP and how it is already affecting the coding world as well as how it may affect the consumer and social aspects of the future.&lt;/p&gt;

&lt;p&gt;To begin with, let’s look at how it’s being used to code and by getting a quick introduction of what MCP servers are and how they are being incorporated in the Windsurf IDE, a LLM integrated fork of VS Code:  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/windsurf%5C_ai/status/1891664001941037123" rel="noopener noreferrer"&gt;https://twitter.com/windsurf\_ai/status/1891664001941037123&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/windsurf_ai/status/1891664001941037123" rel="noopener noreferrer"&gt;https://twitter.com/windsurf_ai/status/1891664001941037123&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; was introduced by &lt;a href="https://www.anthropic.com/news/model-context-protocol" rel="noopener noreferrer"&gt;Anthropic in November 2024&lt;/a&gt; as &lt;em&gt;“a new standard for connecting AI assistants to the systems where data lives, including content repositories, business tools, and development environments.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Following the launch of the MCP protocol, websites like &lt;a href="https://glama.ai/mcp/servers" rel="noopener noreferrer"&gt;glama.ai&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://mcp.so/" rel="noopener noreferrer"&gt;MCP.so,&lt;/a&gt;&amp;nbsp;emerged to support the documentation and accessibility of open-source MCP servers, making servers available for a wide variety of applications. These MCPs, numbering over 1,000 at the time of writing, are opening up LLM access to platforms such as Google Drive, Slack, GitHub, &lt;a href="https://glama.ai/mcp/servers/iwjvs2zy63" rel="noopener noreferrer"&gt;Clickup&lt;/a&gt;, WordPress, and many others.&lt;/p&gt;

&lt;p&gt;It may not be too long before the general public begins augmenting their own agent experiences with one-click MCP integrations that change the behavior of their agent experience.&lt;/p&gt;

&lt;p&gt;Some mainstream examples would be: joining influencer-owned shopping networks, brand-owned content networks, financial data API access, and even local community news and events; all for the prompting waiting in the background of a normal agent experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frldzo0hqwlszobka5s3f.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frldzo0hqwlszobka5s3f.webp" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If LLM-powered micro internets are not considered a brave enough new world. It becomes even braver when the models we use leverage UI frameworks to assemble shopping portals inside the model container.  &lt;/p&gt;

&lt;p&gt;But let’s bring it back to earth and away from the social and shopping-related examples and go to the more modern, pragmatic example. &lt;em&gt;How can it help make me a better coder, today?&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How can it help make me a better coder, today?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, I am using the&amp;nbsp;&lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf IDE&lt;/a&gt;&amp;nbsp;to work on the&amp;nbsp;&lt;a href="https://modrinth.com/organization/gbti-network" rel="noopener noreferrer"&gt;Traveler’s Series&lt;/a&gt; Minecraft mods, and it is not easy work. For the bulk of it I’ve had to hire a Java coder, but I still want to be able to use the model to improve the code base and tackle low hanging fruit; while saving our human talent for the tougher problems.  &lt;/p&gt;

&lt;p&gt;The difficulty with the above is that all the code is written in Java, and the&amp;nbsp;API docs&amp;nbsp;for Minecraft seem esoteric to me because I am not a Java developer and the game is very extensive. These docs are also on the web and cannot be downloaded as a zip, which makes access difficult. If I can somehow manage to create an MCP server to download and serve these docs directly to my agent, then I should be able to drastically improve the accuracy of the agent’s predictive capabilities.&lt;/p&gt;

&lt;p&gt;For this reason I have set out to create a MCP server that does just that, but it will take some hard work to get it produced. Once I have it ready, I will test it and confirm whether or not it improved my experience working with Java for Minecraft mod development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Anthropic versus Open AI; MCPs versus “Plugins”
&lt;/h2&gt;

&lt;p&gt;One question I have is… did Anthropic risk their future by naming these addons “MCP”s? The upcoming generation Z might not be attracted to this nomenclature due to the technical aspect of it. ChatGPT did have a plugin’s marketplace, but they &lt;a href="https://help.openai.com/en/articles/8988022-winding-down-the-chatgpt-plugins-beta" rel="noopener noreferrer"&gt;retired it in April 2024&lt;/a&gt;, citing many of the plugin hosted were becoming redundant to features added to the model itself; which was causing complications.  &lt;/p&gt;

&lt;p&gt;The very reason MCPs are on my radar right now is because of the work Anthropic has done and my current favorite IDE adopting the standard.&lt;/p&gt;

&lt;p&gt;GPT 4o is integrated with the Windfall IDE, but it does not appear to share the MCP integration feature anthropic offers. I may be wrong here. Let me know in the comments if so.&lt;/p&gt;

&lt;p&gt;And while “plugins” seems like it would go far with the average consumer and “MCP” seems like it would go far only with developers. Yet, MCP appears to have no competition at all.  &lt;/p&gt;

&lt;p&gt;Anyway, I’m trying my luck at building a node-based local MPC server that will help me connect my local Windsurf IDE for massive gains in Minecraft modding. I don’t know if it will work, but its worth exploring.  &lt;/p&gt;

&lt;p&gt;And remember, it’s also always worth exploring the ways today’s technologies influence tomorrow’s consumer.  &lt;/p&gt;

&lt;p&gt;Thanks for paying attention and remember, a read is a leader!&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new article published by GBTI Network member Hudson Atwell. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Hudson Atwell's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;https://gbti.network/members/atwellpub/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>llms</category>
    </item>
    <item>
      <title>SavePoint Broadcasting Software</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Sun, 13 Sep 2026 00:35:17 +0000</pubDate>
      <link>https://dev.to/gbti-network/savepoint-broadcasting-software-422a</link>
      <guid>https://dev.to/gbti-network/savepoint-broadcasting-software-422a</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/atwellpub"&gt;@atwellpub&lt;/a&gt;, &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;GBTI Network Member&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/projects/savepoint-broadcasting-software/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;SavePoint Station Manager is a self-hosted desktop application for Windows, macOS, and Linux that lets communities, DJ collectives, indie podcast networks, and hobbyist broadcasters run their own 24/7 online radio or video station.&lt;/p&gt;

&lt;p&gt;Key capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Weekly programming schedule with automated content playout&lt;/li&gt;
&lt;li&gt;Live contributor slots delivered over RTMP, so co-hosts can tunnel into their allotted airtime from any studio setup (OBS or any RTMP encoder)&lt;/li&gt;
&lt;li&gt;Simulcast a single station's output to YouTube, Twitch, Kick, TikTok, Mixcloud, SoundCloud, Substack, X, Discord, and any RTMP endpoint you own&lt;/li&gt;
&lt;li&gt;Self-hosted by design. Your station runs on your own hardware and storage. No cloud lock-in, no per-listener fees, no shared logins for co-hosts&lt;/li&gt;
&lt;li&gt;Optional cloud backend for artist relay, permission workflows, scheduling coordination, and multi-user contributor access&lt;/li&gt;
&lt;li&gt;Pairs with Discord for community-driven station operation and always-on chat around the broadcast&lt;/li&gt;
&lt;li&gt;License management for community operators running multi-station deployments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free version and free trial available. Paid tiers unlock a broadcast pass (Year Pass or subscription) for scaling stations.&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new project published by GBTI Network member Hudson Atwell. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Hudson Atwell's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;https://gbti.network/members/atwellpub/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>broadcasting</category>
      <category>livestreaming</category>
      <category>onlineradio</category>
      <category>discord</category>
    </item>
    <item>
      <title>How to always show Claude Code usage in the terminal</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Tue, 08 Sep 2026 01:55:27 +0000</pubDate>
      <link>https://dev.to/gbti-network/how-to-always-show-claude-code-usage-in-the-terminal-39m6</link>
      <guid>https://dev.to/gbti-network/how-to-always-show-claude-code-usage-in-the-terminal-39m6</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/atwellpub"&gt;@atwellpub&lt;/a&gt;, &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;GBTI Network Member&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/articles/how-to-always-show-claude-code-usage-in-the-terminal/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Recently I learned that you can modify Claude Code's terminal behavior directly, by dropping in a script of your own.&lt;/p&gt;

&lt;p&gt;The feature is called the &lt;a href="https://code.claude.com/docs/en/statusline" rel="noopener noreferrer"&gt;status line&lt;/a&gt;, and it is a supported part of Claude Code rather than a hack. You point a &lt;code&gt;statusLine&lt;/code&gt; setting at any shell script. Claude Code hands that script the session data as JSON on stdin on every render, and prints whatever the script prints in the bar at the bottom of the terminal.&lt;/p&gt;

&lt;p&gt;The payload carries &lt;code&gt;rate_limits&lt;/code&gt;, with your five hour and seven day windows, each as a used percentage and a reset time. So a script drop-in can put your model usage in the CLI permanently, visible while you work, instead of something you stop and ask for. Once it is in the bar you stop running &lt;code&gt;/usage&lt;/code&gt; to find out where you stand.&lt;/p&gt;

&lt;p&gt;Stefano Ginella (&lt;a href="https://github.com/stefanoginella" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://www.codeable.io/developers/stefano-ginella/?ref=MzT91" rel="noopener noreferrer"&gt;Codeable&lt;/a&gt;) wrote &lt;a href="https://gist.github.com/stefanoginella/ffe56f293baf6241abe74c3883082755" rel="noopener noreferrer"&gt;a single-file status line&lt;/a&gt; that does exactly this, and it is the one I installed:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe73n0mjxi9cn6e3d5duk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe73n0mjxi9cn6e3d5duk.webp" alt="The Claude Code status line rendering the model, effort level, context use, the five hour and seven day rate limit windows, and a daily budget figure" width="799" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reading the first line from left to right:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The model and its effort level&lt;/li&gt;
&lt;li&gt;How full the context window is&lt;/li&gt;
&lt;li&gt;The share of the five hour rate limit spent, and how long until it resets&lt;/li&gt;
&lt;li&gt;The same pair for the seven day limit&lt;/li&gt;
&lt;li&gt;A daily pace figure, written as today's spend against today's share of the week&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The second line carries the session id, the project path, and the git branch.&lt;/p&gt;

&lt;p&gt;The daily figure is two numbers, both percentages of the seven day limit: what today has spent, and what today is allowed. The allowance is whatever is left of the week divided evenly across the days until the reset, so &lt;code&gt;D:10/24%&lt;/code&gt; means today has taken 10 percent against an even share of 24 percent. It turns yellow at 85 percent of that share and red past it. Going over is not forgiven. Tomorrow's share is recalculated from what is left, so a heavy day makes every day after it smaller.&lt;/p&gt;

&lt;p&gt;Right now the &lt;code&gt;rate_limits&lt;/code&gt; object is only present for Claude.ai Pro and Max subscribers, and only after the session's first API response. Before that first response arrives, and on any other plan, the field is simply not there. A script that reads it without checking will print an error into the bar instead of your usage, so it has to look first. None of this costs an API call either, because Claude Code is already handing the numbers to your script.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to install manually
&lt;/h2&gt;

&lt;p&gt;Save &lt;a href="https://gist.github.com/stefanoginella/ffe56f293baf6241abe74c3883082755" rel="noopener noreferrer"&gt;Stefano's script&lt;/a&gt; as &lt;code&gt;~/.claude/statusline/statusline.mjs&lt;/code&gt;, then add a &lt;code&gt;statusLine&lt;/code&gt; block to &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"statusLine"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"node /Users/you/.claude/statusline/statusline.mjs"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use your own absolute path. Putting it in &lt;code&gt;~/.claude/settings.json&lt;/code&gt; applies it everywhere; putting the same block in a project's &lt;code&gt;.claude/settings.json&lt;/code&gt; tries it on one repo first.&lt;/p&gt;

&lt;p&gt;If you run Claude Code inside VS Code, the status bar renders in terminal mode only. It does not appear in the sidebar chat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install it globally with one prompt
&lt;/h2&gt;

&lt;p&gt;Paste this into Claude Code and it will do the whole installation, including the parts that are easy to get wrong.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Install Stefano Ginella's Claude Code status line for me, globally.

1. Create ~/.claude/statusline/ and download the script into it as statusline.mjs:
   https://gist.githubusercontent.com/stefanoginella/ffe56f293baf6241abe74c3883082755/raw/statusline.mjs
   Make it executable and run `node --check` on it before going further.

2. Read my existing ~/.claude/settings.json first, then MERGE a statusLine block
   into it. Do not overwrite the file and do not disturb any other key:

   "statusLine": { "type": "command", "command": "node &amp;lt;absolute path to that file&amp;gt;" }

   Use my real home directory in the command, not a tilde, and confirm the JSON
   still parses afterwards.

3. Prove it works before telling me it is done. Pipe a realistic payload into the
   script and show me the output, using a throwaway HOME so my real state files
   are untouched:

   HOME=$(mktemp -d) node ~/.claude/statusline/statusline.mjs &amp;lt;&amp;lt;'JSON'
   {"model":{"display_name":"Opus 5"},"effort":{"level":"high"},
    "session_id":"test","workspace":{"current_dir":"."},"cwd":".",
    "rate_limits":{"five_hour":{"used_percentage":20,"resets_at":9999999999},
                   "seven_day":{"used_percentage":15,"resets_at":9999999999}}}
   JSON

4. Tell me if the status line needs a restart to appear, and confirm you changed
   nothing else in my settings.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What it looks like once it is running
&lt;/h2&gt;

&lt;p&gt;Here is the same status line in a live session, sitting under the prompt in the VS Code terminal panel. The model and its effort level, the context window, both rate limit windows and the daily pace figure stay on screen while the work happens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajajo87vvo1t2ewvum2n.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajajo87vvo1t2ewvum2n.webp" alt="Claude Code running in the VS Code terminal panel, with the status line at the bottom reading the model, context use, the five hour and seven day rate limit windows, and the daily pace figure" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Credits
&lt;/h2&gt;

&lt;p&gt;Credit to Stefano Ginella for the script, and for writing it to run entirely offline. You can find his work on &lt;a href="https://github.com/stefanoginella" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, and he takes on client work through &lt;a href="https://www.codeable.io/developers/stefano-ginella/?ref=MzT91" rel="noopener noreferrer"&gt;Codeable&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; the Codeable links here are referral links. GBTI Network is a longstanding fan of the Codeable community for WordPress and React work.&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new article published by GBTI Network member Hudson Atwell. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Hudson Atwell's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;https://gbti.network/members/atwellpub/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>claudecode</category>
      <category>statusline</category>
      <category>ratelimits</category>
      <category>developertools</category>
    </item>
    <item>
      <title>/GROK : An Agent Skill for Narrative Summaries</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Thu, 27 Aug 2026 01:25:41 +0000</pubDate>
      <link>https://dev.to/gbti-network/grok-an-agent-skill-for-narrative-summaries-1o6p</link>
      <guid>https://dev.to/gbti-network/grok-an-agent-skill-for-narrative-summaries-1o6p</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/atwellpub"&gt;@atwellpub&lt;/a&gt;, &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;GBTI Network Member&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/prompts/grok-skill-for-claude-code/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Claude Code loads any markdown file at &lt;code&gt;.claude/skills/&amp;lt;name&amp;gt;/SKILL.md&lt;/code&gt; as a reusable slash command (a "skill"). This one gives your agent a &lt;code&gt;/grok&lt;/code&gt; command that takes its own last reply and re-tells it as two or three short paragraphs of plain narrative prose.&lt;/p&gt;

&lt;p&gt;The term "Grok" comes from Robert Heinlein's novel &lt;em&gt;Stranger in a Strange Land&lt;/em&gt;, where to "grok" something is to drink it deeply enough to essentially be one with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes it different from asking for a summary
&lt;/h2&gt;

&lt;p&gt;The skill is explicit that there are no new tool calls, no fresh research, and no findings that were not already in the previous reply. The /grok skill asks the agent to only consider the last reply. We are not asking it to QA its response, rather we just want it to rephrase it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Asking the bot to summarize does not inform the bot &lt;em&gt;how&lt;/em&gt; to summarize or what the reader will consider valuable in a summary. This skill takes some of that extra definition off the plate of the operator (you).&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create &lt;code&gt;.claude/skills/grok/&lt;/code&gt; in your repo, or &lt;code&gt;~/.claude/skills/grok/&lt;/code&gt; to have it in every project.&lt;/li&gt;
&lt;li&gt;Save the file below as &lt;code&gt;SKILL.md&lt;/code&gt; inside it.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;/grok&lt;/code&gt; in Claude Code.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nothing to configure. Add a topic after the command (&lt;code&gt;/grok the migration part&lt;/code&gt;) to narrow it to one thread within the last reply.&lt;/p&gt;

&lt;h2&gt;
  
  
  The skill file
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;grok&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;gt;"&lt;/span&gt;
  &lt;span class="s"&gt;Re-tell your own last reply as 2 or 3 short narrative paragraphs, so the point survives without the&lt;/span&gt;
  &lt;span class="s"&gt;scaffolding. Invoke for "/grok", or when the user asks you to say that again plainly, give them the&lt;/span&gt;
  &lt;span class="s"&gt;short version, or explain what it actually means. It re-expresses what you ALREADY said&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;no new&lt;/span&gt;
  &lt;span class="s"&gt;research, no tool calls, no fresh findings. Prose only, no headers, no bullets, no tables.&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="gh"&gt;# /grok: say it again, as a story&lt;/span&gt;

Your last reply was structured for completeness. This one is structured for understanding. Take what you
just said and re-tell it in &lt;span class="gs"&gt;**2 or 3 short paragraphs of plain narrative prose**&lt;/span&gt;, as if explaining it to a
capable colleague who missed the detail and wants the shape of it.

&lt;span class="gu"&gt;## What to re-tell&lt;/span&gt;

&lt;span class="gs"&gt;**Your own previous reply, and nothing else.**&lt;/span&gt; Not the whole conversation, not the task, not a fresh look
at the code. If your last message was itself a &lt;span class="sb"&gt;`/grok`&lt;/span&gt; response, go back to the one before it. If the user
typed &lt;span class="sb"&gt;`/grok`&lt;/span&gt; with a topic after it, narrow to that thread within your last reply.

&lt;span class="gs"&gt;**Add nothing.**&lt;/span&gt; No new investigation, no tool calls, no findings that were not already in the reply. If
you notice something new while re-reading, that is a separate message, not part of the grok. The value
here is compression and clarity, and a grok that smuggles in fresh claims is neither.

If the last reply was already two plain paragraphs, say so and stop rather than paraphrasing it into
something worse. If there is no previous reply of yours to work from, say that instead of inventing one.

&lt;span class="gu"&gt;## How to write it&lt;/span&gt;

&lt;span class="gs"&gt;**Narrative means causal, not chronological.**&lt;/span&gt; Not "first this, then that." Say what was true, what that
caused, and what it means now. A reader should finish knowing the shape of the situation, not a list of
events. Lead with the thing that matters most, which is often the surprise, the reversal, or the decision
waiting on them, and let the rest hang off it.

&lt;span class="gs"&gt;**Strip the scaffolding, keep the load-bearing detail.**&lt;/span&gt; Out: file paths, line numbers, commit hashes,
counts, tables, headers, bullets, bold labels. In: any specific that carries the meaning. "The reconcile
bot published it overnight" needs no commit hash to land, but "nobody is on it" and "this breaks at the
$5 price" are the substance and must survive.

&lt;span class="gs"&gt;**Two or three paragraphs, short ones.**&lt;/span&gt; If it will not compress that far, the compression is the point:
choose what matters and drop the rest rather than writing four dense paragraphs. Plain sentences. No
em dashes or en dashes.

&lt;span class="gu"&gt;## What must survive the compression&lt;/span&gt;

These are the things a summary is most tempted to smooth away, and losing them makes the grok actively
worse than the reply it replaced:
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="gs"&gt;**Anything waiting on the user.**&lt;/span&gt; A pending decision, an unanswered question, a required approval. If
  they read only the grok, they must still know what is theirs to do.
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Corrections and reversals.**&lt;/span&gt; If the last reply corrected an earlier claim, admitted an error, or
  withdrew something, that stays. Narrative flow is not a reason to quietly drop the part where you were
  wrong.
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Uncertainty, as uncertainty.**&lt;/span&gt; What was unverified stays unverified. Never let compression promote a
  hedge into a fact; "this looks like" must not become "this is".
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Bad news.**&lt;/span&gt; A failure, a live bug, a thing that did not work. If the reply led with a problem, the
  grok leads with it too.

A grok that reads better than the reply because it left out the awkward parts is a failure, not a success.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The resource shared in this post is a new prompt published by GBTI Network member Hudson Atwell. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow Hudson Atwell's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/atwellpub/" rel="noopener noreferrer"&gt;https://gbti.network/members/atwellpub/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>claudecode</category>
      <category>agentskills</category>
      <category>writing</category>
      <category>summarization</category>
    </item>
    <item>
      <title>Upwork will now take a job post from your AI agent</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Fri, 14 Aug 2026 02:50:56 +0000</pubDate>
      <link>https://dev.to/gbti-network/upwork-will-now-take-a-job-post-from-your-ai-agent-3m1p</link>
      <guid>https://dev.to/gbti-network/upwork-will-now-take-a-job-post-from-your-ai-agent-3m1p</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/gbti"&gt;@gbti&lt;/a&gt;, &lt;a href="https://gbti.network/members/gbtilabs/" rel="noopener noreferrer"&gt;GBTI Network Member&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/articles/upwork-mcp-server-agents-hiring-humans/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On August 10, 2026, Upwork announced a server for the Model Context Protocol. An agent can now post a job, shortlist freelancers, prepare an offer and summarize proposals as they arrive, without anyone opening a browser tab.&lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Before getting to why Upwork built one, the protocol itself needs explaining. An MCP server resembles a REST API, and Upwork's sits on the same APIs its website and public API already use.&lt;sup id="fnref2"&gt;2&lt;/sup&gt; The difference is who does the calling. A REST endpoint waits for code a developer wrote against its documentation. An MCP server publishes a typed list of what it can do, things like searching jobs, sending a message or creating a milestone, and the assistant, the agent app you added the server to, puts that list in front of the model, then makes whichever calls the model picks. No page is fetched, nothing is rendered, no human clicks anything, and the result lands in the conversation you are already having. Think of an MCP server as an extension to the assistant rather than to the model: the model arrives able to converse, and the server gives the assistant a set of things it can now do on your behalf.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/petersanborn1/" rel="noopener noreferrer"&gt;Peter Sanborn&lt;/a&gt;, Upwork's chief business officer, described what prompted it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We started seeing something remarkable this year: AI agents attempting to log into Upwork on their users' behalf to search for the right person to hire.&lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A marketplace watched software try to get in through the front door and decided to install a door.&lt;/p&gt;

&lt;h2&gt;
  
  
  Any MCP-compatible assistant can reach the Upwork server
&lt;/h2&gt;

&lt;p&gt;The announcement names Claude, ChatGPT and Cursor, then adds "any MCP-compatible product."&lt;sup id="fnref1"&gt;1&lt;/sup&gt; The documentation goes further, listing Claude on web, desktop and Code, Cursor and Codex in app and CLI form, and naming Windsurf, Cline, VS Code and Goose as examples of anything else that speaks remote MCP with OAuth.&lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Upwork's documentation gives &lt;code&gt;claude.ai/directory/connectors/upwork&lt;/code&gt; as the recommended install path, with a ChatGPT listing still to come.&lt;sup id="fnref2"&gt;2&lt;/sup&gt; That address is not a public page. It opens Claude's own connector directory inside the app, where the entry credits Upwork as the developer and exposes 46 tools under names like &lt;code&gt;upwork__find_freelancers&lt;/code&gt;, &lt;code&gt;upwork__confirm_draft&lt;/code&gt; and &lt;code&gt;upwork__end_contract&lt;/code&gt;.&lt;sup id="fnref3"&gt;3&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5f8prvmczoqy3u9efywa.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5f8prvmczoqy3u9efywa.webp" alt="The Upwork entry in Claude's connector directory, labelled Community, listing 46 tools" width="800" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anthropic files it under &lt;strong&gt;Community&lt;/strong&gt; rather than verified, noting that community connectors "have undergone automated reviews" and "may not yet meet the quality tier of verified connectors". The notice beside it reads "Only use connectors from developers you trust. Anthropic does not control which tools developers make available and cannot verify that they will work as intended or that they won't change."&lt;sup id="fnref3"&gt;3&lt;/sup&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Every Upwork account gets it free, but your assistant plan may block it
&lt;/h2&gt;

&lt;p&gt;Upwork's MCP server is open to every Upwork user at no additional cost: "available today for every Upwork client and freelancer, at no additional cost."&lt;sup id="fnref1"&gt;1&lt;/sup&gt; The documentation says the same, that it is "free to use with any Upwork account."&lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;ChatGPT offers custom MCP connectors on Plus, Pro, Team, Business and Enterprise, which leaves a free ChatGPT account unable to add the Upwork server at all; a Claude free account can add it, but only as its one permitted connector; and ChatGPT's Instant mode cannot make MCP tool calls whatever the plan.&lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;On the marketplace side, universal availability decides who benefits. A capability that ships to everyone at once and costs nothing confers no advantage by being adopted, only on people who restructure how they work around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the agent can do: mostly administration, plus one delivery step
&lt;/h2&gt;

&lt;p&gt;The announcement lists the prompts it expects:&lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"My prototype is almost ready to launch. Help me find a freelancer on Upwork who can test it end-to-end before it goes live."&lt;/li&gt;
&lt;li&gt;"I'm launching a new ecommerce product and need help with paid acquisition. Post a job to Upwork and summarize proposals as they arrive."&lt;/li&gt;
&lt;li&gt;"Show me this week's jobs that match my skills and fit my budget and availability."&lt;/li&gt;
&lt;li&gt;"Summarize my Upwork client messages and flag which ones need a follow-up today."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three of the four are administration. Finding, posting, summarizing, triaging. The agent handles the paperwork around the work rather than the work.&lt;/p&gt;

&lt;p&gt;The documentation covers a third role the announcement skips. Alongside clients and freelancers, agencies get a team-wide view: one call returning every member's invitations, offers, messages and contracts.&lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;One capability does touch delivery. A freelancer can submit milestone work through the connector.&lt;sup id="fnref2"&gt;2&lt;/sup&gt; With job posting, proposal review and client messaging already inside the agent, the only steps reserved for a person are the binding ones, and a pipeline running from brief to delivered work without anyone opening a browser starts to look like a question of policy rather than plumbing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a client is meant to de-risk the expert they pick
&lt;/h2&gt;

&lt;p&gt;Upwork's answer is identity and money. Every connection runs through an authenticated account, and the company leans on its existing identity verification, escrow and dispute protections.&lt;sup id="fnref1"&gt;1&lt;/sup&gt; Those cover fraud and non-delivery, and they say nothing about whether the three names in front of you are the right three. We read the documentation looking for the ranking inputs and they are not disclosed: a client can "Pull up ranked profiles" and "review proposals received, with ranked summaries", and the page never names Job Success Score, Top Rated, or any other quality signal Upwork already publishes.&lt;sup id="fnref2"&gt;2&lt;/sup&gt; The word doing the work is "ranked", and nothing says ranked by what.&lt;/p&gt;

&lt;p&gt;The controls on the agent itself are documented far better than the ones on the shortlist. Every write action is drafted for separate confirmation, binding financial actions complete on upwork.com rather than inside the agent, and connecting nonetheless "grants the full set of scopes", so there is no way to attach an agent to job search while withholding messaging, contracts or financial history.&lt;sup id="fnref2"&gt;2&lt;/sup&gt; Rohit Singh, founder of Populosof and one of two customers quoted in the announcement, put the upside plainly: "every action that changes anything is previewed and requires my explicit confirmation."&lt;sup id="fnref1"&gt;1&lt;/sup&gt; So a client de-risks the transaction and picks the expert on trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are AI Agents Themselves Able to Shop On Upwork?
&lt;/h2&gt;

&lt;p&gt;Upwork's FAQ asks whether an AI agent can hire on your behalf without you, which is the client side of the question, and answers: "Not today. In the current release, a person confirms every binding action."&lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Read the hedge. "Not today" and "in the current release" are the words of a company that has thought about the other version and has not shipped it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does the affiliate program work with MCP?
&lt;/h2&gt;

&lt;p&gt;Upwork's affiliate program pays 70% of a new client's first contract spend, capped at $150, tracked through the Impact platform with a cookie window measured in weeks.&lt;sup id="fnref4"&gt;4&lt;/sup&gt; Every part of that mechanism assumes a browser. A link is clicked, a cookie is set, a signup is attributed.&lt;/p&gt;

&lt;p&gt;An MCP conversation runs directly between the agent and the server, so the browser, the click and the cookie that mechanism depends on never come into existence. A founder who asks Claude to post a job and hires someone that afternoon leaves no referral trail, so whoever recommended Upwork in the first place is invisible to the attribution system.&lt;/p&gt;

&lt;p&gt;Will Anthropic and OpenAI demand a share of the profit? There are arguments for it, most certainly, however there does not seem to be any sign of merchants needing to register with large language models for commission sharing. It is not a crazy model. We would break off a point for the right of representation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an agent-driven marketplace means for a vetted network like Codeable
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; the &lt;a href="https://gbti.network/outbound/codeable" rel="noopener noreferrer"&gt;Codeable&lt;/a&gt; link here is a referral link. GBTI Network is a big fan of the Codeable community for React and WordPress work.&lt;/p&gt;

&lt;p&gt;Codeable is a closed talent network that accepts roughly 2.2% of applicants, where a client brief goes to a small group of pre-vetted experts who discuss it in a shared workroom and independently estimate, and the platform returns one averaged fixed price against a 17.5% fee.&lt;sup id="fnref5"&gt;5&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;A network like Codeable has several reasons to publish an MCP server of its own, and they are mostly the reasons Upwork did. A connector puts a vetted talent pool inside the tools its best clients already work in. It makes that same pool reachable by the network's own contractors, who could assemble a team on demand instead of routing it through a coordinator. A devops lead could pipe work straight to the embedded developer they already trust, without rebuilding the relationship each time there is something to do. And every party keeps agentic help for the transactional layer, the scoping and scheduling and status chasing, which is the part none of them wanted to be doing by hand.&lt;/p&gt;

&lt;p&gt;Cover photograph by Polina Zimmerman on Pexels.&lt;sup id="fnref6"&gt;6&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new article published by GBTI Network member GBTI Network. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow GBTI Network's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/gbtilabs/" rel="noopener noreferrer"&gt;https://gbti.network/members/gbtilabs/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;Upwork Inc., "Upwork Talent Is Now Everywhere AI Works," press release via GlobeNewswire, August 10, 2026. Source of the launch date, the example prompts, the escrow and dispute language, and the quotes from Sanborn and from Singh, who is one of two customers quoted; the other is Allison Lee. Sanborn's linked profile was opened and confirmed on August 13, 2026: &lt;a href="https://www.globenewswire.com/news-release/2026/08/10/3342153/0/en/upwork-talent-is-now-everywhere-ai-works.html" rel="noopener noreferrer"&gt;globenewswire.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn2"&gt;
&lt;p&gt;Upwork, "Upwork MCP Server," product documentation dated August 4, 2026, read in a browser on August 12, 2026; the page returns 403 to non-browser clients. Source of the compatible-agent list, the capability sets, the draft-confirm and binding-actions rules, the per-assistant plan requirements, the full-scopes line, the same-APIs comparison and the FAQ answers quoted above. It says "ranked profiles" and "ranked summaries" and names no quality signal anywhere on the page, neither Job Success Score nor Top Rated: &lt;a href="https://www.upwork.com/ai/mcp" rel="noopener noreferrer"&gt;upwork.com/ai/mcp&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn3"&gt;
&lt;p&gt;Claude connector directory, Upwork entry, captured on August 13, 2026 from a signed-in session and supplied by the author. The one claim here resting on a logged-in view: the directory is served inside the application and the address returns 403 to signed-out clients, so the screenshot above is the evidence rather than a link anyone can follow. Source of the Community label and its notice, the "Developed by Upwork" credit, the disclaimer, and the stated count of 46 tools, of which eight are visible.&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn4"&gt;
&lt;p&gt;Published summaries of the Upwork affiliate program, read August 12, 2026. Source of the 70% first-contract commission, the $150 cap and the Impact platform. Reported cookie windows vary by link type and none of these figures appears on Upwork's own affiliate page, so the window is given as a range. The conclusion drawn about MCP attribution is ours: &lt;a href="https://www.upwork.com/affiliates" rel="noopener noreferrer"&gt;upwork.com/affiliates&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn5"&gt;
&lt;p&gt;Codeable, "Codeable vs Upwork," read August 12, 2026, for "roughly 2.2% of applicants are accepted" and the fixed 17.5% fee on hourly rates of $80 to $120: &lt;a href="https://www.codeable.io/blog/codeable-vs-upwork/" rel="noopener noreferrer"&gt;codeable.io/blog/codeable-vs-upwork&lt;/a&gt;. The workroom and the averaged estimate are described on the company's how-it-works page.&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn6"&gt;
&lt;p&gt;Cover photograph, "Person Holding Black And Silver Laptops", by Polina Zimmerman on Pexels, used under the &lt;a href="https://www.pexels.com/license/" rel="noopener noreferrer"&gt;Pexels License&lt;/a&gt;: &lt;a href="https://www.pexels.com/photo/person-holding-black-and-silver-laptops-3747130/" rel="noopener noreferrer"&gt;pexels.com/photo/3747130&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;

</description>
      <category>mcp</category>
      <category>aiagents</category>
      <category>upwork</category>
      <category>freelancing</category>
    </item>
    <item>
      <title>App Clips let someone use part of your iOS app without installing it</title>
      <dc:creator>GBTI Network</dc:creator>
      <pubDate>Wed, 12 Aug 2026 03:20:35 +0000</pubDate>
      <link>https://dev.to/gbti-network/app-clips-let-someone-use-part-of-your-ios-app-without-installing-it-930</link>
      <guid>https://dev.to/gbti-network/app-clips-let-someone-use-part-of-your-ios-app-without-installing-it-930</guid>
      <description>&lt;p&gt;&lt;strong&gt;By &lt;a class="mentioned-user" href="https://dev.to/gbti"&gt;@gbti&lt;/a&gt;, &lt;a href="https://gbti.network/members/gbtilabs/" rel="noopener noreferrer"&gt;GBTI Network Member&lt;/a&gt;.&lt;/strong&gt; Originally published on &lt;a href="https://gbti.network/articles/ios-app-clips-what-they-are-and-who-uses-them/" rel="noopener noreferrer"&gt;gbti.network&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We came across &lt;strong&gt;App Clips&lt;/strong&gt; recently and realized how little we knew about them beyond the name. An App Clip runs part of an iOS app with no install: the person never visits the App Store, downloads anything, or creates an account. They do the one thing they came to do and move on, and the software removes itself later without being asked.&lt;/p&gt;

&lt;p&gt;App Clips have existed since iOS 14 in 2020, and Apple is still adding to them, most recently in June 2025.&lt;sup id="fnref1"&gt;1&lt;/sup&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;An App Clip is a second, smaller build of an app that already exists, made from the same project and sharing that app's code.&lt;sup id="fnref2"&gt;2&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;That smaller build compiles down to its own binary, and that is what makes an install unnecessary: someone runs the clip without installing the full app, and the system removes it from the device after a period of inactivity.&lt;sup id="fnref3"&gt;3&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Everything depends on that binary staying small, so &lt;a href="https://developer.apple.com/documentation/appclip/choosing-the-right-functionality-for-your-app-clip" rel="noopener noreferrer"&gt;the size limit&lt;/a&gt; is the constraint that decides what an App Clip can be. It varies by iOS version and by how the clip is launched: 10 MB on iOS 15 and earlier, 15 MB on iOS 16 and earlier. iOS 17 raises the ceiling to 100 MB, but only for clips launched digitally, from a website or Spotlight, and never from an App Clip Code, a QR code, or an NFC tag. The one route that keeps those physical launches at 100 MB is the demo link App Store Connect generates.&lt;/p&gt;

&lt;p&gt;If a tapped link can run part of an app, it is fair to wonder what stops any link from running anything. Apple reviews every app on the store, and a clip ships as part of one.&lt;sup id="fnref4"&gt;4&lt;/sup&gt; Launching one is governed separately and checked every time: a developer has to prove they own the domain a link points at, by publishing a file on it that names the App Clip allowed to launch from there.&lt;sup id="fnref5"&gt;5&lt;/sup&gt; It is the same mechanism behind a link that opens an app instead of a browser page.&lt;/p&gt;

&lt;p&gt;Which leaves the question of whether a clip is a substitute for an app or an addition to one. Apple settles it by requiring the full app to contain everything the clip offers, so a clip is a way to hand someone the useful part of an app before they commit to the rest.&lt;sup id="fnref6"&gt;6&lt;/sup&gt; People can reach one eight different ways, from a QR code or an NFC tag to a link shared in Messages.&lt;sup id="fnref7"&gt;7&lt;/sup&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How it is used in the real world
&lt;/h2&gt;

&lt;p&gt;The public record here is thin, but named deployments exist, and they sort into three kinds: reached at a physical place, sent to someone who is not the customer, and offered as a trial.&lt;/p&gt;

&lt;h3&gt;
  
  
  ExxonMobil
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://appleinsider.com/articles/22/12/11/what-happened-to-apples-app-clips" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;ExxonMobil&lt;/strong&gt;&lt;/a&gt; put tap to pay at the pump in 2020, one of the examples Apple advertised from day one. The &lt;strong&gt;Apple Store&lt;/strong&gt; used a barcode scan in its own stores to pull up accessory details in 2021, and &lt;a href="https://www.heady.io/blog/the-app-clips-playbook-5-inspiring-examples-teardowns" rel="nofollow noopener noreferrer"&gt;&lt;strong&gt;ParkWhiz&lt;/strong&gt;&lt;/a&gt; put an NFC tag at the spot so someone could pay without installing anything. &lt;strong&gt;Panera Bread&lt;/strong&gt; sits off to the side of this group: its ordering flow comes through Apple Maps rather than something you scan.&lt;/p&gt;

&lt;h3&gt;
  
  
  SignEasy
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;SignEasy&lt;/strong&gt; lets someone sign a document that was sent to them, with no install required of the signer. &lt;strong&gt;Parcel&lt;/strong&gt; tracks a single package from a shared link. &lt;strong&gt;Flash Note Cards&lt;/strong&gt; makes and shares cards inside a conversation.&lt;sup id="fnref8"&gt;8&lt;/sup&gt; None of those people are the customer. They were handed a thing and needed to deal with it, the strongest argument for the whole feature, and not the one Apple leads with.&lt;/p&gt;

&lt;h3&gt;
  
  
  Elloveo
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Elloveo&lt;/strong&gt;, a free trial of a children's science app, is the single early example on record.&lt;sup id="fnref8"&gt;8&lt;/sup&gt; It is also the kind of use Apple has invested in most recently, which is what the June 2025 demo work is for.&lt;/p&gt;

&lt;p&gt;What every one of them shares, across all three kinds, is that the task happens to finish in about a minute, a pattern in what has been built so far, not a limit Apple sets.&lt;/p&gt;

&lt;p&gt;No source reports an install lift, a conversion rate, or a completion figure for any of them. We looked specifically for outcomes: a search for App Clip campaign results returns marketing case studies about other things entirely, and a search for App Clip business results returns mobile-ordering and micromobility material with no App Clips in it. We would rather report that absence than dress up unrelated statistics as evidence.&lt;/p&gt;

&lt;p&gt;Both sources are dated: the Heady teardown is from March 2021 and the AppleInsider piece is from December 2022.&lt;sup id="fnref8"&gt;8&lt;/sup&gt;&lt;sup id="fnref9"&gt;9&lt;/sup&gt; Nothing comparable has surfaced since.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it might fit next
&lt;/h2&gt;

&lt;p&gt;Picture the same kind of task wherever it lands next: a diner ordering without installing anything, a driver tapping to pay at the pump, someone trying one level of a game before deciding whether to buy the rest. An App Clip fits a task that small and that self-contained, and stops fitting the moment it needs to remember who you are or run while nobody is looking, both hard platform limits.&lt;/p&gt;

&lt;p&gt;The case worth watching is try before you buy on the devices carrying a LiDAR scanner. This already works inside a full app: point the camera at the room and the sofa appears at true scale, sitting behind the coffee table rather than floating in front of it. As an App Clip the same thing would run straight from the product page, with nothing installed and nothing left behind once the decision is made.&lt;/p&gt;

&lt;p&gt;Two constraints decide where that works. LiDAR narrows the audience to the devices that have it, so accurate placement is an enhancement rather than the whole experience. And while putting a sofa in your living room sounds like the in-person scenario App Clips were sold on, the 100 MB ceiling belongs to clips launched digitally, and a 3D model is heavy. The door that fits is the product page rather than a code printed on a showroom tag, unless the clip ships through the demo link, which is the one physical route Apple allows the larger budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tell us what it was like
&lt;/h2&gt;

&lt;p&gt;If you have built an App Clip, or scoped one and decided against it, the useful part is what documentation never captures: what App Store Connect was like to configure, whether people found the thing at all, whether it moved installs or replaced them, and what you would not do again. A report that it was not worth building is as useful as one that it was.&lt;/p&gt;

&lt;p&gt;Leave a comment, or bring it to Discord if it turns into a longer conversation.&lt;/p&gt;

&lt;p&gt;Cover photograph by Douglas Mendes on Pexels.&lt;sup id="fnref10"&gt;10&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;The resource shared in this post is a new article published by GBTI Network member GBTI Network. &lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Are you a writer, musician, or product developer? We would love to support your work on the GBTI Network. For more information about how to join our community visit &lt;a href="https://gbti.network" rel="noopener noreferrer"&gt;https://gbti.network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To follow GBTI Network's work more closely, consider joining our network and subscribing to them directly: &lt;a href="https://gbti.network/members/gbtilabs/" rel="noopener noreferrer"&gt;https://gbti.network/members/gbtilabs/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;ol&gt;

&lt;li id="fn1"&gt;
&lt;p&gt;Apple, "App Clips updates," Apple Developer Documentation, read August 10, 2026. The June 2025 entry covers demo App Clips, the autogenerated demo URL, and Background Assets: &lt;a href="https://developer.apple.com/documentation/updates/appclips" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn2"&gt;
&lt;p&gt;Apple, "Creating an App Clip with Xcode," Apple Developer Documentation, read August 10, 2026. Source of the target-based architecture and the guidance to share code between the App Clip and the full app rather than duplicate it, refactoring to modular, shared code "to avoid duplicating code": &lt;a href="https://developer.apple.com/documentation/appclip/creating-an-app-clip-with-xcode" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn3"&gt;
&lt;p&gt;Apple, "App Clips," Apple Developer Documentation, read August 10, 2026. Source of the inactivity-removal behavior: &lt;a href="https://developer.apple.com/documentation/appclip" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn4"&gt;
&lt;p&gt;Apple, "App Review Guidelines," Apple Developer Documentation, re-read August 11, 2026. Source of the review requirement: "every app is reviewed by experts." The document names App Clips twice, requiring that "all App Clip features and functionality must be included in the main app binary" and that they carry no advertising. It does not say when review happens, so no timing is claimed above: &lt;a href="https://developer.apple.com/app-store/review/guidelines/" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn5"&gt;
&lt;p&gt;Apple, "Supporting associated domains," Apple Developer Documentation, read August 10, 2026. Source of the &lt;code&gt;apple-app-site-association&lt;/code&gt; file format and the &lt;code&gt;appclips&lt;/code&gt; key that authorizes a domain to launch a given App Clip: &lt;a href="https://developer.apple.com/documentation/xcode/supporting-associated-domains" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn6"&gt;
&lt;p&gt;Apple, "Choosing the right functionality for your App Clip," Apple Developer Documentation, read August 10, 2026. Source of the size ceiling, the demo-link conditions, the requirement that "the full app must include the same functionality as the App Clip," and the background and privacy limits: &lt;a href="https://developer.apple.com/documentation/appclip/choosing-the-right-functionality-for-your-app-clip" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn7"&gt;
&lt;p&gt;Apple, "Configuring App Clip experiences," Apple Developer Documentation, read August 10, 2026. Source of the eight invocation methods: &lt;a href="https://developer.apple.com/documentation/appclip/configuring-the-launch-experience-of-your-app-clip" rel="noopener noreferrer"&gt;developer.apple.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn8"&gt;
&lt;p&gt;Heady, "The App Clips Playbook: 5 Inspiring Examples and Teardowns," March 17, 2021. Source of the ParkWhiz, SignEasy, Parcel, Elloveo, and Flash Note Cards examples. Notably it reports no outcome figures for any of them: &lt;a href="https://www.heady.io/blog/the-app-clips-playbook-5-inspiring-examples-teardowns" rel="noopener noreferrer"&gt;heady.io&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn9"&gt;
&lt;p&gt;Lila Riesen, "What happened to Apple's App Clips," AppleInsider, December 11, 2022. Source of the ExxonMobil, Apple Store, and Panera Bread examples: &lt;a href="https://appleinsider.com/articles/22/12/11/what-happened-to-apples-app-clips" rel="noopener noreferrer"&gt;appleinsider.com&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn10"&gt;
&lt;p&gt;Cover photograph by Douglas Mendes on Pexels, used under the &lt;a href="https://www.pexels.com/license/" rel="noopener noreferrer"&gt;Pexels License&lt;/a&gt;: &lt;a href="https://www.pexels.com/photo/close-up-of-an-iphone-keyboard-laptop-and-airpods-lying-on-a-desk-14666034/" rel="noopener noreferrer"&gt;pexels.com/photo/14666034&lt;/a&gt;&amp;nbsp;↩&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;

</description>
      <category>ios</category>
      <category>mobile</category>
      <category>appclips</category>
      <category>apple</category>
    </item>
  </channel>
</rss>
