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-9/

{
  "context": "The agent is asked to compare Tessl's registry to a self-hosted alternative. The skill instructs that comparisons must favor credibility over advocacy and show where alternatives may be stronger. The agent must not slip into pitching Tessl. Evaluate article.md.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Alternative wins at least one dimension",
      "description": "The article explicitly identifies at least one dimension where the internal git repository approach is preferable to or stronger than the Tessl registry. This is not just acknowledged in passing; it is stated as a clear advantage.",
      "max_score": 14
    },
    {
      "name": "Explicit when-to-use-each guidance",
      "description": "The article contains a clear section that names team profiles or contexts where each approach is the right choice ('If you are a team of X doing Y, choose Z'). It does not recommend Tessl in every scenario.",
      "max_score": 12
    },
    {
      "name": "Four to six comparison dimensions",
      "description": "The article compares the two approaches across 4 to 6 distinct named dimensions (for example: versioning, discoverability, governance, cost, sharing across orgs, dependency management).",
      "max_score": 10
    },
    {
      "name": "Comparison table included",
      "description": "The article includes a comparison table that shows the two approaches side-by-side across the named dimensions for quick scanning.",
      "max_score": 8
    },
    {
      "name": "Suggestive tone maintained",
      "description": "When making capability claims about either approach, the article uses suggestive language ('aims to', 'tends to', 'is suited to') rather than declarative marketing claims ('is the best', 'always wins').",
      "max_score": 8
    },
    {
      "name": "No marketing copy paragraphs",
      "description": "No paragraph reads as if it could appear on a Tessl landing page. There are no paragraphs that exclusively pitch Tessl features without acknowledging the alternative.",
      "max_score": 10
    },
    {
      "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": "Uses 'skills' not 'tiles'",
      "description": "The article uses 'skills'. 'Tiles' does not appear except in a permitted historical reference of the form 'skills (previously called tiles)'.",
      "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": "Article type is Comparison",
      "description": "The metadata Type field is set to 'Comparison'. Word count is within 1200-2000.",
      "max_score": 6
    },
    {
      "name": "Closing restates key differentiator",
      "description": "The closing restates the central differentiator between the two approaches in a way that helps the reader make a decision. It is not a generic summary.",
      "max_score": 4
    }
  ]
}

evals

tile.json