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 brief deliberately blends signals for two article types — tutorial ('concrete guidance, what to measure, starter setup') and thought leadership ('a way to think about the problem'). The agent must commit to ONE article type structurally and execute it well, rather than producing a muddled hybrid. Evaluate article.md.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Single article type declared",
"description": "The metadata Type field is exactly one of: Thought Leadership, Skill Showcase, Tutorial, News/Analysis, Comparison. It does not declare multiple types or a custom hybrid type.",
"max_score": 10
},
{
"name": "Structure matches declared type",
"description": "If type is Tutorial: the article has numbered steps with code blocks or actionable instructions and a clear working result. If Thought Leadership: the article introduces a named framework and is structured around it. The structure unambiguously matches the declared type.",
"max_score": 16
},
{
"name": "Word count matches declared type",
"description": "The body word count falls within the range for the declared type: Tutorial 800-1500, Thought Leadership 1500-2500, News 800-1500, Comparison 1200-2000, Skill Showcase 1200-2000.",
"max_score": 8
},
{
"name": "Not a muddled hybrid",
"description": "The article is not half-tutorial half-essay. If it has numbered steps, those steps dominate the structure. If it has a framework, the framework is the spine. There is no abrupt shift from essay mode to step-by-step mode (or vice versa) in the body.",
"max_score": 12
},
{
"name": "Hook matches declared type",
"description": "If Tutorial: the opening states what the reader will be able to do by the end. If Thought Leadership: the opening surfaces a tension or contradiction. The hook is appropriate to the declared type.",
"max_score": 8
},
{
"name": "Concrete specifics",
"description": "The article includes at least 2 of: a named tool, a specific metric, a code or config snippet, a specific number, a worked example. Vague references like 'various tools' do not count.",
"max_score": 8
},
{
"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, 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": "H2 structure appropriate to type",
"description": "The article has 2-5 H2 headings. No H2 is generic ('Introduction', 'Conclusion'). At least one H2 contains the primary keyword or close variant. H2s are problem-oriented (for thought leadership) or task-oriented (for tutorial).",
"max_score": 8
},
{
"name": "Closing matches type",
"description": "If Tutorial: the closing connects to a bigger picture or next step. If Thought Leadership: the closing is a provocative question or callback to the hook. Not a generic summary.",
"max_score": 4
},
{
"name": "Uses 'skills' not 'tiles'",
"description": "If the article mentions agent skills, it uses 'skills' and not 'tiles' (except in a permitted historical reference).",
"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