Draft and edit long-form technical writing - blog posts, engineering write-ups, externally published design docs and ADRs, substantial PR descriptions, long LinkedIn or Substack pieces - so it reads like a senior engineer wrote it rather than a model. Removes AI cadence (em-dashes, "X isn't Y. It's Z." pivots, numbered framing, rule-of-three symmetry, closing synthesis, weakening hedges) and replaces it with patterns drawn from working technical writers (Dan Luu, Marc Brooker, Julia Evans, Simon Willison, Patrick McKenzie, Will Larson, Rachel Kroll, Aphyr). Use when the user asks to "draft a blog post", "write up X", "edit this post", "review my draft", "make this less AI", "fix the AI cadence", "this sounds like ChatGPT", "de-slop this", or shares a long-form technical draft and asks for feedback. Not for short chat messages, code comments or marketing copy.
88
94%
Does it follow best practices?
Impact
97%
1.24x2 of 3 eval scenarios. Add 1 more for a full score.
Passed
No findings from the security scan
A before-and-after from a real draft (a side-project write-up on LLM pipeline costs), annotated so the patterns are visible in real material rather than as abstract rules. Read this before drafting or editing.
The "before" is the draft's opening. The "after" is a rewrite applying the patterns from SKILL.md. Both are roughly the same length; the lift is in voice and structure rather than in cutting.
The cost of running my FPL enrichment pipeline is single-digit pounds a month, and most of that is the Claude API. The AWS side — Lambda, Step Functions, S3, CloudFront, DynamoDB, SSM — combined is rounding error. I deliberately engineered for that, and I want to write down what the cost shape actually looks like, because most "serverless cost" advice online is calibrated for the wrong workload.
Three things upfront.
First, "free tier" is doing a lot of work in this post. AWS free tier covers far more than people assume — 1M Lambda requests/month, 400K GB-seconds of Lambda compute, 5GB of S3 standard storage, 1TB of CloudFront egress, the first 4,000 Step Function transitions/month, 25GB-months of DynamoDB on-demand. For a personal-scale LLM workload running weekly, this is a generous envelope.
Second, this isn't a general "save money on AWS" post. It's specifically about workloads where LLM API calls dominate spend by orders of magnitude. The advice is different from a high-throughput data pipeline.
Third, the goal of cost engineering at this scale isn't to spend zero. It's to keep cost predictable and proportional to value, so you can make changes without flinching. That's a different objective from minimisation.
SKILL.md anti-pattern: numbered framing devices.)SKILL.md anti-pattern: "rule of three everywhere".)SKILL.md anti-pattern: em-dashes; zero allowed.)SKILL.md anti-pattern: "X isn't Y. It's Z." dramatic pivot.)SKILL.md anti-pattern.)SKILL.md anti-pattern: equal paragraph lengths.)The passage passes a line-by-line read. It fails the structural read. The AI cadence sits between the sentences, in the symmetry and the rhythm, rather than in any individual bad sentence.
Running my FPL enrichment pipeline costs roughly £1.50 to £3.00 a week. Nearly all of that is the Claude API. The AWS side (Lambda, Step Functions, S3, CloudFront, DynamoDB, SSM) combines into a few pennies, and most months it's literally zero.
I engineered for that deliberately. It's worth writing down what the cost shape actually looks like, because most "serverless cost" advice online is calibrated for workloads where the compute dominates. On an LLM-heavy pipeline the compute doesn't dominate, so almost nothing about the standard advice applies.
A note on the free tier before going further. AWS's is unusually generous if you read it carefully: 1M Lambda invocations and 400K GB-seconds of compute per month, 5GB of S3, 1TB of CloudFront egress, 4,000 Step Function transitions, 25GB-months of DynamoDB on-demand. For a personal-scale weekly pipeline, that's a wide envelope. Most "I built this on AWS for $0" posts aren't lying; they're operating inside it.
The goal is to keep the cost predictable and proportional to the value, so I can make changes without flinching. Minimisation is a different target, and the difference matters once you start tuning.
Opening line replaced the abstract with the specific. "Running my FPL enrichment pipeline costs roughly £1.50 to £3.00 a week" replaces "single-digit pounds a month". Specific number, specific cadence ("a week" rather than "a month"), specific named project. (SKILL.md pattern: specific numbers over generic adjectives.)
"Three things upfront" deleted entirely. The three points still get made; they just aren't announced. (SKILL.md anti-pattern: numbered framing devices.)
Em-dashes deleted entirely. The original had three in the opening 80 words. The rewrite has zero. The AWS service list now sits inside real parentheses; the parenthetical asides become independent clauses or commas. (SKILL.md anti-pattern: em-dashes.)
The two "X isn't Y. It's Z." pivots removed. "This isn't a general 'save money on AWS' post. It's specifically about..." becomes "most 'serverless cost' advice online is calibrated for workloads where the compute dominates" (flat statement of what most advice does, audience-hedged). "The goal of cost engineering at this scale isn't to spend zero. It's to keep cost predictable..." becomes "The goal is to keep the cost predictable... Minimisation is a different target" (flat statement of the goal, separate clause acknowledging the alternative). (SKILL.md anti-pattern: "X isn't Y. It's Z." dramatic pivot.)
The three points are now of different lengths. First (1 short paragraph). Second (1 medium paragraph). Third (1 short paragraph). The middle one expands; the bookends don't. (SKILL.md pattern: vary sentence length deliberately; anti-pattern: equal paragraph lengths.)
Sentence variety inside paragraphs. Paragraph 2 contains a 17-word sentence, a 28-word one, and an 8-word one ("Almost nothing about the standard advice applies."). The short one lands because the others are longer. (SKILL.md pattern: vary sentence length deliberately.)
Conversational openers replaced "First / Second / Third". "A note on the free tier before going further" is in the register of someone talking. "First, second, third" is in the register of a slide deck. (SKILL.md pattern: open conversationally.)
Hedging via frame rather than weakening. "Most 'serverless cost' advice online is calibrated for workloads where the compute dominates" is flat. The hedge sits on the audience ("most") rather than on the claim. (SKILL.md pattern: hedge by framing.)
One small show-of-seams. "Most 'I built this on AWS for $0' posts aren't lying; they're operating inside it." Quiet credit to the people doing the same thing, with acknowledgment that the writer isn't the first. (SKILL.md pattern: show the seams.)
SKILL.md.The before is a working draft; the after applies the patterns. Neither is perfect. The point is the delta: same content, same length, different cadence and structural rhythm, zero em-dashes, zero dramatic pivots, zero numbered framing. That's the target on every edit.