Content creator for tessl.io — generates publish-ready blog articles with SEO metadata, Tessl house style, and technical authority.
90
79%
Does it follow best practices?
Impact
92%
1.26xAverage score across 10 eval scenarios
Passed
No known issues
{
"context": "The topic has no organic connection to AI agents, skills, evals, or context engineering. The skill instructs the agent not to force a product or Tessl angle when it isn't relevant. The agent must produce credible third-party news coverage that does not pivot to Tessl. Evaluate article.md.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Zero Tessl product mentions",
"description": "The article body contains zero mentions of Tessl as a product, the Tessl registry, the Tessl CLI, or Tessl skills. References to 'the tessl.io blog' in metadata are acceptable but Tessl as a product or organization is not pitched in the body.",
"max_score": 14
},
{
"name": "No forced AI agent angle",
"description": "The article does not awkwardly pivot to AI coding agents, agent skills, context engineering, or evals. If AI is mentioned at all, it is only because DuckDB itself genuinely connects to it (e.g., embedding storage), not because the article forces a Tessl-adjacent framing.",
"max_score": 12
},
{
"name": "Lead states what happened",
"description": "The opening paragraph states clearly and concisely what was released: DuckDB 1.2 with the named features (full-text search, Iceberg support, spatial extension). It does not bury the lead.",
"max_score": 8
},
{
"name": "Specific technical details",
"description": "The article includes specific details about at least 2 of the 3 named features (full-text search, Iceberg tables, spatial extension), naming them and explaining what they do or what use case they enable.",
"max_score": 10
},
{
"name": "Analysis section present",
"description": "The article has a clearly identifiable analysis or 'so what' section that goes beyond listing features to discuss what the release means for developers, how it compares to alternatives, or what gap it fills.",
"max_score": 10
},
{
"name": "Suggestive tone for capability claims",
"description": "When making claims about DuckDB capabilities or industry position, the article uses suggestive language ('aims to', 'positions DuckDB as', 'appears to make') rather than declarative marketing claims ('is the best', 'has won').",
"max_score": 8
},
{
"name": "What-to-watch closing",
"description": "The closing identifies what readers should pay attention to next (upcoming features, ecosystem responses, related releases). It is not a generic summary or a pivot to Tessl.",
"max_score": 6
},
{
"name": "Article type is News",
"description": "The metadata Type field is 'News' or 'News/Analysis'. Body word count is between 800 and 1500.",
"max_score": 6
},
{
"name": "Zero em dashes",
"description": "The article contains zero em dash characters.",
"max_score": 6
},
{
"name": "No hype or sycophantic words",
"description": "The article contains none of: 'revolutionary', 'game-changing', 'cutting-edge', 'unlock', 'supercharge', 'exciting', 'incredible', 'amazing'.",
"max_score": 6
},
{
"name": "SEO metadata complete",
"description": "The metadata block includes: title under 60 characters, one primary keyword (likely a long-tail keyword since no priority cluster fits), meta description of 130-155 characters, URL slug (3-6 words, lowercase, hyphenated), at least 2 internal links with anchor text, estimated read time.",
"max_score": 10
},
{
"name": "Internal links do not force Tessl topics",
"description": "The internal links to other tessl.io content are contextually relevant to the DuckDB topic (other database, observability, or dev-tooling pieces). They are not awkwardly linked to AI agent or skill topics.",
"max_score": 4
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
skills
article-creator