Skip to main content

blotcms/blot

Latest recorded source activity
SkillsMP catalog refreshed
skills collected
15
GitHub stars
1,984
GitHub forks
98

Install with an AI assistant

Copy this prompt into the AI assistant you're using.

Loading the repository README…

Skills in this repository

classification pending

Showing 15 of 15 collected skills.

occupation
unclassified
description

Write content into Blot's production test blogs (gittest, dbtest, drivetest, icloudtest - one per sync client) the way a real user would, wait for Blot to sync and build it, then verify it end to end - the published page, CDN and /_assets responses, the…

updated
occupation
unclassified
description

Look after Blot's production Redis host (its own EC2 instance, built and operated with config/redis/): triage a "Redis host:" alert email from app/scheduler/check-redis-host.js (failed background save, Redis refused writes - OOM/MISCONF/NOREPLICAS, other…

updated
occupation
unclassified
description

Work out why the blot-blue and blot-green unit containers from the most recent production deployment have restarted — distinguishing a normal deploy-triggered restart from a crash (V8 heap OOM, Linux cgroup OOM kill, a lost sync folder lock - `[LOCK…

updated
occupation
unclassified
description

Grow or shrink the EBS volume that holds the app host's data directory (/var/www/blot/data), or move its contents to another host, with config/host/data-volume/resize.sh (grow in place; shrink by live rsync passes, a brief read-only freeze and a mount swap…

updated
occupation
unclassified
description

Daily cheap check that no runtime or OS Blot depends on (Node.js, Alpine, OpenResty/nginx, Pandoc, Amazon Linux 2 on the app/proxy host, Amazon Linux 2023 and redis6 on the Redis host, the macserver's Node) is behind on a security release or past end-of-life.…

updated
occupation
unclassified
description

Analyze the production openresty access log for IP ranges (IPv4 /24, IPv6 /48) that cost a lot of egress and are broadly abusive (scraping with rotating user agents, repeat scanning, hammering the CDN hostname), set aside CDN edges and legitimate crawlers,…

updated
occupation
unclassified
description

Investigate an "iCloud resync found changes" admin email (the ICLOUD_RESYNC_ISSUE email a macserver-requested resync sends when it found changes, Fix() repairs or errors, with the macserver's reason), an "iCloud sync issue" hourly digest, or any other iCloud…

updated
occupation
unclassified
description

Analyze production Node.js app container response times to find slow-rendering sites, cross-checking against nginx queuing delay to rule out false positives (a site only looks slow because the event loop was blocked by a different, pathological site). Use…

updated
occupation
unclassified
description

Find blog-folder files that Blot still serves from the origin instead of the CDN, from the [folder-asset] log line (older logs have [folder-asset-origin] instead), trace each one to the link in an entry, template, local or menu that caused it, and fix the…

updated
occupation
unclassified
description

Investigate a "Dropbox sync issue" alert email from Blot's hourly Dropbox sync validation (each flagged blog lists unsynced changes, Fix() repairs, errors and/or a stuck folder lock; the changes line is what this skill investigates. For Fix() repairs use…

updated
occupation
unclassified
description

Scan the production openresty access log (/var/instance-ssd/logs/access.log) for requests with slow upstream response times (st=, the time the node containers took to answer), triage and rank them while setting aside routes that are slow by design (SSE, long…

updated
occupation
unclassified
description

Investigate a customer report that post or page content shows raw {{...}} template tags (or "pages aren't rendering properly") since Blot stopped Mustache-rendering entry content (#1871). Uses a read-only production script to list which posts/pages contain…

updated
occupation
unclassified
description

Triage Fix() repairs reported in a "<Client> sync issue" digest email (Dropbox sync issue, etc.; the "Fix() repaired:" lines under a blog) or in a "Resync found changes" or "iCloud resync found changes" email. Fix() changes things for a blog whenever one of…

updated
occupation
unclassified
description

Review recent production nginx/openresty access logs, identify scanner/exploit traffic not already blocked, and update proxy/config/blot-blogs.conf accordingly. Use when asked to analyze prod nginx/access logs, find new paths to block, or audit openresty for…

updated
occupation
unclassified
description

Run this git worktree's code in its own local server at https://slot-local.blot (slots a-e) so the operator can see and click through it while the main stack keeps running. Use when the operator asks to preview, show, or let them try the current changes, or…

updated
Showing 15 of 15 collected skills.