CtrlK
BlogDocsLog inGet started
Tessl Logo

uinaf/uinaf-design-system

Apply the uinaf brand identity to anything that ships under the uinaf name — web interfaces, blog posts, changelogs, documentation, READMEs, slides, OG / social images, email, terminal banners, app or product UI starting points. Covers voice, design tokens, components, motion, and brand assets, with a Tailwind v4 path for web work. Use when producing or restyling any uinaf-branded artefact. Skip for non-uinaf work; this is opinionated brand guidance, not a generic UI kit.

98

1.67x
Quality

100%

Does it follow best practices?

Impact

97%

1.67x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-4/

{
  "context": "The agent is asked to write a blog post announcing a new CLI tool release and a matching product documentation page. This scenario tests whether the agent follows the uinaf content format rules: lowercase product-marketing copy for the blog, proper documentation casing for docs, option tables, see-also links, pronoun usage, and voice rules.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Blog ISO date format",
      "description": "The blog post date appears in ISO YYYY-MM-DD format (e.g. 2026-04-25). It does NOT appear as 'Apr 25', 'April 25, 2026', 'April 25th', 'Monday April 25', or any non-ISO variant.",
      "max_score": 8
    },
    {
      "name": "Blog title lowercase fragment",
      "description": "The blog post title (H1 or front matter title field) is entirely lowercase with no Title Case, no sentence-case capitalization of the first word, and no trailing exclamation mark.",
      "max_score": 8
    },
    {
      "name": "No preamble in blog post",
      "description": "The blog post body does NOT open with any variant of 'in this post', 'today we', 'in this article', 'we are excited to announce', 'we're pleased to', 'we're happy to share'. The opening sentence goes straight into the subject.",
      "max_score": 10
    },
    {
      "name": "No author byline",
      "description": "The blog post file contains no author byline, no 'by <name>', no author front matter field, and no 'posted by' attribution. The studio voice is 'we', not a personal handle.",
      "max_score": 8
    },
    {
      "name": "Blog word count in range",
      "description": "The blog post body (excluding front matter and code blocks) is between 200 and 800 words. Both a post under 200 words and one over 800 words fail this criterion.",
      "max_score": 6
    },
    {
      "name": "Doc headings use documentation casing",
      "description": "All H2/H3 section headings in the documentation page use proper documentation casing, such as 'Installation', 'Usage', 'Options', and 'See Also'. They are NOT forced into all-lowercase product-marketing casing.",
      "max_score": 10
    },
    {
      "name": "Options as table",
      "description": "The documentation page presents command flags or configuration options in a markdown table (pipe-delimited), NOT as a nested bullet list. At minimum one table with flag/option columns must be present.",
      "max_score": 10
    },
    {
      "name": "See also with ↗ arrows",
      "description": "The documentation page includes a 'see also' or equivalent section where external links carry a trailing ↗ glyph inside the link text (e.g. [related-thing ↗](url)). The ↗ is inside the link text, not outside it.",
      "max_score": 8
    },
    {
      "name": "Studio pronoun 'we'",
      "description": "When referring to the studio or its actions, the copy uses 'we' (first-person plural). It does NOT use 'the team', 'the uinaf team', 'the studio', 'they', or the studio name as a third-person subject in descriptions of studio actions.",
      "max_score": 8
    },
    {
      "name": "No exclamation marks",
      "description": "Neither file contains any exclamation mark (!) anywhere — in headings, body, bullets, or code comments.",
      "max_score": 8
    },
    {
      "name": "No SaaS marketing language",
      "description": "Neither file contains any of: 'empower', 'unlock', 'elevate', 'transform', 'revolutionize', 'seamless', 'cutting-edge', 'leverage', 'synergies', 'simply', 'just', 'easily', 'mission', 'reimagine', 'next-level'. Descriptions are literal and functional.",
      "max_score": 8
    },
    {
      "name": "Voice: terse fragments with periods",
      "description": "Sentences are short and direct. Sentence fragments end with periods. No paragraph is longer than 3 sentences. No marketing-flattery toward the reader ('you deserve', 'built for people like you', 'we think you'll love').",
      "max_score": 8
    }
  ]
}

evals

SKILL.md

tile.json