Journal

I Built a Blog Evaluation Loop Into My Knowledge Base

Four-node circular workflow diagram on a black background showing a document, an analysis crosshair, a database, and a refresh arrow connected in a continuous clockwise loop representing the blog evaluation cycle inside the Knowledge Operating System

I write my own blog posts. The flow, the stories, the opinions, the tangents that connect Doom-playing neurons to UX design.

After I finish a draft, I hand it to Claude Code. Claude Code has access to my Knowledge Operating System. It reads the post against my brand voice, my SEO rules, my content strategy, and the full archive of published posts. It tells me what I missed, what drifted off-brand, and what could land harder.

Then it updates the knowledge base with information from the new post. The KOS stays current. Ready for the next evaluation with more context than the last one had.

I Write the Posts. AI Evaluates Them.

I tried letting AI write a blog and editing the output. The result was clean, structured, forgettable.

A blog post earns attention through perspective. You connect two ideas nobody else would connect. You admit something didn’t work. You include the specific detail that proves you sat in that room and saw the thing yourself.

AI can’t do that. Writing is how I think. If I hand the thinking to a model, I lose my sharpest tool.

AI evaluates content well. It creates content poorly. The best workflow puts AI where it performs: analysis, pattern matching, consistency checks. The writing stays human.

The Evaluation Workflow

I finish writing a post in markdown. I open Claude Code in my website’s project folder and ask it to evaluate the draft.

Before it gives me feedback, it reads my knowledge base.

Claude Code loads five files from the KOS before evaluating:

FileContentsRole
kos-brand-voice.mdTone rules, key phrases, words to avoidCatches off-voice phrasing
SKILL.md (blog writing)Structure rules, heading hierarchy, the 60/40 rule, SEO checklist850 lines of rules no human holds in memory while writing
content-strategy.yaml5 content pillars, posting goals, content anglesConfirms the post maps to a pillar
positioning.yamlIdentity, pitch, proof pointsChecks entity consistency
Existing blog postsPublished slugs, tags, topicsSpots gaps in internal linking and avoids topic overlap

Five layers of context loaded before a single suggestion. Claude Code reads the documentation I wrote about my own brand. It doesn’t guess.

Four Evaluation Dimensions

Claude Code analyzes the draft across four dimensions. These come from my blog writing skill, 850 lines of rules I built over months.

  1. SEO, traditional search optimization

    • Primary keyword in the title, meta description, and first paragraph?
    • H2s descriptive enough to rank as featured snippets?
    • Internal links to at least one other post?
  2. AEO (Answer Engine Optimization), getting cited by AI search engines

    • Post answers specific questions AI models would surface?
    • Key definitions use the bold-term-then-explanation pattern?
    • Tables and structured lists extractable as standalone facts?
  3. AIO (AI Optimization), making content parseable by LLMs

    • Heading hierarchy H1 > H2 > H3 without skips?
    • aiKeywords in the frontmatter relevant and specific?
    • JSON-LD structured data correct on build?
  4. GEO (Generative Engine Optimization), appearing in AI-generated answers

    • Concrete numbers, stats, and proof points included?
    • Quotable blockquote takeaways models can extract verbatim?
    • “Shahab Papoon” mentioned for entity reinforcement?
DimensionOptimizes ForKey Signal
SEOGoogle search rankingKeywords, meta tags, internal links
AEOAI answer engines (Perplexity, SearchGPT)Structured definitions, FAQ-style headings
AIOLLM parseabilityJSON-LD, semantic HTML, heading hierarchy
GEOAI-generated citationsQuotable facts, tables, bold definitions, entity signals

I don’t run through this checklist by hand. Claude Code reads the skill file, applies it to my draft in seconds, and catches things I’d miss on my tenth read.

The Sync Loop

After the evaluation, Claude Code updates the knowledge base with information from the post. The blog doesn’t leave the KOS behind. It feeds back in.

KOS updates after each published post:

  • Content pipeline moves the piece from drafts/ to published/
  • New slug gets added to the internal linking reference list
  • New tags and keywords get registered so future evaluations know covered ground
  • New proof points or case studies get logged as reusable content
  • Related posts connections get updated in both directions
I write the blog post (human)

Claude Code loads KOS context

Evaluates draft (SEO/AEO/AIO/GEO)

I review feedback, make changes (human)

KOS updates with new content data

Next evaluation starts with richer context

(loop repeats)

Each post gives the next evaluation more to work with. The knowledge base tracks published content, targeted keywords, and existing internal links. More posts, more context, sharper evaluations.

Most content workflows are linear. Write, publish, forget. This one is circular. Write, evaluate, update the knowledge base, start the next post with everything from the last round.

Mistakes the KOS Catches for Me

I’ve been writing online for years. I still miss mechanical things.

MistakeI Miss It BecauseKOS Catches It By
Missing internal linksI’m focused on the new post, not the archiveReading all 16 published slugs and suggesting relevant links
Inconsistent entity referencesI write “ConnectMyTech” one way in the post and another in the metaChecking against positioning.yaml canonical values
Weak meta descriptionsI write them last when I’m tiredValidating against the 120-160 char rule with keyword inclusion
Heading hierarchy gapsJumping from H2 to H4 feels natural in flowEnforcing strict H1 > H2 > H3 hierarchy
Missing structured contentI default to prose when I’m in a rhythmFlagging sections that violate the 60/40 structured-to-prose rule
Off-brand phrasing”Leverage” and “synergy” creep in when I’m not watchingRunning the brand voice file’s words-to-avoid list

These are mechanical consistency checks, not creative decisions. AI handles this work well. The creative decisions, the stories, the voice, I keep those.

Writing is Thinking

I keep the writing human for a reason beyond quality.

The blog post about AI UX audits started as a thought about Cowork mode. By the time I finished writing it, I had connected biological neurons playing Doom to a framework for human-AI collaboration in design. I discovered that connection by writing. It didn’t exist before I opened the file.

If I’d asked AI to write that post, I would have gotten a clean, logical piece about UX auditing tools. The tangent about Doom neurons would not have appeared. That tangent was the piece.

This is Systems Before Tools in practice: I think, I write, AI evaluates, KOS stays in sync.

Build Your Own Evaluation Loop

You don’t need a full Knowledge Operating System. You need two files:

  1. A voice rules file, tone, words to use, words to avoid, example sentences that sound like you
  2. A content rules file, structure, heading hierarchy, SEO checklist, formatting patterns

Store them where your AI tool can read them. Point it at those files after you write. Ask it to evaluate, not generate.

The KOS deep dive covers the full architecture. My AI discoverability walkthrough explains the SEO/AEO/GEO strategy behind the evaluation rules.

Keep Reading