CtrlK
BlogDocsLog inGet started
Tessl Logo

bapfernandez/article-creator

Content creator for tessl.io — generates publish-ready blog articles with SEO metadata, Tessl house style, and technical authority.

90

1.26x
Quality

79%

Does it follow best practices?

Impact

92%

1.26x

Average score across 10 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-6/

{
  "context": "The brief deliberately contains banned style patterns (em dashes, hype words, the term 'tiles', marketing-style copy, 'unlock', 'supercharge', 'revolutionary'). The agent must produce on-brand output that follows house style despite the contaminated brief. Evaluate article.md.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Zero em dashes",
      "description": "The article body and metadata contain zero em dash characters. Hyphens and en-dashes used for normal grammar are acceptable.",
      "max_score": 10
    },
    {
      "name": "No hype words",
      "description": "The article contains none of the following terms anywhere in body or metadata: 'revolutionary', 'revolutionising', 'revolutionizing', 'game-changing', 'game-changer', 'cutting-edge', 'unlock', 'unlocks', 'supercharge', 'supercharges'.",
      "max_score": 10
    },
    {
      "name": "No sycophantic words",
      "description": "The article contains none of: 'exciting', 'incredible', 'amazing', 'awesome' when describing tools, companies, or outcomes.",
      "max_score": 8
    },
    {
      "name": "Uses 'skills' not 'tiles'",
      "description": "The article uses the term 'skills' to describe the reusable units. The term 'tiles' does not appear except in a permitted historical reference of the form 'skills (previously called tiles)' or similar.",
      "max_score": 10
    },
    {
      "name": "Title does not mirror brief",
      "description": "The article title is not a derivative of the brief's suggested title. It does not contain the words 'revolutionising', 'revolutionizing', or 'tiles'.",
      "max_score": 8
    },
    {
      "name": "Named framework",
      "description": "The article introduces at least one explicitly named mental model — a named 2x2, lifecycle, taxonomy, or spectrum. The framework has a distinct name, not just a prose description.",
      "max_score": 10
    },
    {
      "name": "Concrete example per major section",
      "description": "Every H2 section contains at least one concrete example, named tool/company, or specific data point. No two consecutive paragraphs of pure theory without an illustration.",
      "max_score": 8
    },
    {
      "name": "Suggestive tone for third-party claims",
      "description": "When the article references third-party tools or makes claims about industry trends, it uses suggestive language ('aims to', 'is gaining traction', 'appears to') rather than declarative claims ('is the best', 'has become mainstream').",
      "max_score": 6
    },
    {
      "name": "Counterargument pre-empted",
      "description": "The article explicitly anticipates the strongest skeptical objection to its central claim and addresses it directly, not dismissively.",
      "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",
      "description": "The article has 2-5 H2 headings, at least one contains the primary keyword or close variant, and no H2 is generic ('Introduction', 'Conclusion', 'Summary').",
      "max_score": 8
    },
    {
      "name": "Word count discipline",
      "description": "The article body is 1500-2500 words. There are 0 or 1 product mentions of tessl.io. The article is not a product pitch.",
      "max_score": 6
    }
  ]
}

evals

tile.json