After CentOS: Rocky Linux and the Ecosystem You're Actually Building On
CentOS used to be the obvious answer. If you needed enterprise Linux without the enterprise price tag, you ran CentOS. It tracked Red Hat Enterprise Linux closely, carried a long support lifecycle, and was stable enough that people built production infrastructure on it without much second-guessing. That era ended in
Before the First Boot: The Rocky Linux Decisions That Shape Everything After
Rocky Linux is chosen. The architecture case has been made — RHEL compatibility, career skill alignment, a community-governed distribution on solid footing. That decision is behind you. What's ahead is a thirty-minute installer conversation with Anaconda that will determine the shape of this machine for as long as it
Rocky Linux 9 Fresh Install: Every Anaconda Decision That Matters
The Anaconda installer presents everything at once — a summary screen full of spokes, each hiding a decision. Some have safe defaults. Several don't. The ones that don't are the ones that break quietly: a root partition that fills in three weeks, SELinux that gets disabled on
The Tool That Builds the Tool
AI assistants are now programmable in a way that didn't exist two years ago. Not through code — through structured natural language files that shape how the model reasons and acts during a session. In the Claude Cowork system, these are skill files: Markdown documents that tell Claude what
What You're Actually Deciding When You Build a Claude Skill
The solution is already chosen. You have Claude Cowork, you understand what skill files do, and you've decided to use Claude to write one rather than drafting it manually. That decision is behind you. What's ahead is a set of smaller decisions that most people don&
Using Claude to Write a Claude Skill, Start to Finish
The first time you try to get Claude to write a skill, you describe what you want, receive a file that looks completely correct, drop it into your skills folder, and discover two sessions later that it doesn't do what you thought it did. Not dramatically — nothing breaks.
How Much to Say: The Decisions That Determine Whether Your SKILL.md Works
You have decided to use Claude to automate a repeatable workflow using the skill system. The choice is made. What is left is a series of decisions about what actually goes in the SKILL.md file — and those decisions have direct consequences for how the skill performs across sessions, how
Encoded Judgment: What the SKILL.md Pattern Shares with Runbooks — and Where the Analogy Breaks
Every time you start a new session with Claude, you start from zero. The model has no memory of the last run, no accumulated judgment from the previous session, no operational context carried forward. If you want Claude to behave consistently — to follow the same approach, apply the same tradeoffs,
Writing SKILL.md Files With Claude: The Session Sequence That Produces a Working Skill
Skills written from scratch drift. The first run looks right, the third run produces something different, and you cannot tell whether Claude changed its interpretation or the inputs were subtly different. The fix — more explicit instruction — costs context. The fix for that — prune the instruction — reintroduces the variance. The iteration
What the Standard Matrix Stack Is Actually For
Matrix documentation, like most infrastructure documentation, was written for the scale where documentation matters most. The matrix.org homeserver serves millions of users across thousands of federated rooms. The guides, examples, and architecture recommendations that follow from that context are well-suited to that context. For a homelab running five users,