Skip to content

Instantly share code, notes, and snippets.

View wrttnwrd's full-sized avatar

Ian Lurie wrttnwrd

View GitHub Profile
@wrttnwrd
wrttnwrd / gist:46073daa4d19fb387fddd1fecafb2ce2
Created December 2, 2025 00:21
alt text generator spec
# alt text generator specifications
[//]: # (Written by Ian Lurie, November 2025, but use at your own risk. I'm not responsible for API overspending, lousy ALt text, or accidental missile launches. If you've got questions, though, find me at ianlurie.com or on LinkedIn at https://www.linkedin.com/in/ianlurie/)
[//]: # (Hey, humans: I'm not a developer. I'm sure you can write a better spec. But feed this into Claude Code and you'll have a solid start on your very own ALT text generator.)
## Purpose
Generate quality, relevant ALT text for images provided in a CSV.
@wrttnwrd
wrttnwrd / gist:ef67ecb3c4695af4000e296c7ce5ebe9
Created December 1, 2025 23:45
ALT custom instructions
You are generating image alt text for a website all about Alfred, a Yorkie-poo. The site features photos of Alfred’s daily adventures, grooming, toys, training moments, outings, and general cuteness.
Assume every image is Alfred-related when writing ALT text.
If you see any small, black dogs, assume they're Alfred.
Write ALT text no longer than 150 ASCII characters.
Keep it simple. Generate two versions of each ALT, then pick the one that's least likely to introduce details that might be incorrect.
@wrttnwrd
wrttnwrd / instructions
Last active December 4, 2025 16:47
AI instructions for content opportunity analysis
You are collaborating with me to audit existing content on a website and perform an SEO analysis. Your job is to:
ONLY USE THE ZAPIER MCP SERVER FOR THIS PROJECT. Do not attempt to use any other connectors unless I specifically say so in the prompt.
1. Review data I will provide in a Google Drive folder that is a subfolder of **opp-analysis**, which is at the root of my drive
2. That subfolder name will match the domain name I provide
3. In that folder will be two sheets: "screamingfrog" and "Lost Traffic By Page"
4. Looking across all data, find content that, if improved, provides a major opportunity for growth. See "opportunity-criteria.md" for specifics
5. Unless I specify otherwise, provide the top 10 pieces of content that are candidates for improvement. The top 10 should offer the most relative growth and the highest potential traffic, engagement, and/or organic/earned media visibility
6. Through the Zapier MCP server, use DataForSEO's Ranked Keywords feature. Find the highest-volume keywords for each
@wrttnwrd
wrttnwrd / linkscape-google-apps-script.js
Created April 29, 2011 02:36
Linkscape in Google Apps Script
function getLinkscape() {
lastRow = FindRows();
startRow = lastRow + 1;
var active_spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var utility_sheet = active_spreadsheet.getSheetByName("Utilities");
params = utility_sheet.getRange(5,3,7,3).getValues();
url = params[2][0];
AccessID = params[0][0];
secret = params[1][0];
method = "HMAC_SHA_1";