Auto-generated tile from GitHub (10 skills)
92
94%
Does it follow best practices?
Impact
92%
1.16xAverage score across 44 eval scenarios
Advisory
Suggest reviewing before use
{
"context": "Tests whether the agent follows the typescript-magician workflow when eliminating 'any' types: running tsc --noEmit before and after changes, replacing all 'any' instances with proper types, and providing type-level tests. The skill specifies a precise before-change/after-change verification workflow.",
"type": "weighted_checklist",
"checklist": [
{
"name": "No any types remain",
"description": "The refactored TypeScript files contain zero uses of ': any', 'as any', '<any>', or 'Record<string, any>' in meaningful positions (type assertions in tests using 'as unknown' are acceptable)",
"max_score": 12
},
{
"name": "tsc workflow logged",
"description": "The workflow.md file documents running 'tsc --noEmit' both before making changes (to capture initial errors) and after (to confirm the fix compiles cleanly)",
"max_score": 10
},
{
"name": "Generics used for containers",
"description": "Functions that previously accepted or returned 'any' for collections or containers now use generic type parameters (e.g., <T>, <K extends keyof T>) instead of any",
"max_score": 10
},
{
"name": "Type guards present",
"description": "At least one type guard function (using 'value is Type' return type predicate) is included where unknown values are narrowed",
"max_score": 10
},
{
"name": "Assertion functions use function keyword",
"description": "If any assertion functions are added (returning 'asserts x is T'), they are declared with the 'function' keyword, not as arrow functions",
"max_score": 8
},
{
"name": "Type tests file present",
"description": "A file named type-tests.ts (or similar) exists that contains compile-time type assertions using @ts-expect-error or ExpectType patterns to verify the types are correct",
"max_score": 10
},
{
"name": "unknown used for external data",
"description": "Values received from external sources (parsed JSON, API responses) are typed as 'unknown' before being narrowed, not cast directly to a specific type",
"max_score": 10
},
{
"name": "No enums introduced",
"description": "No TypeScript enums are introduced in the refactored code — string union types or const objects are used instead",
"max_score": 8
},
{
"name": "Utility types used appropriately",
"description": "At least one built-in utility type (Partial, Required, Pick, Omit, ReturnType, Parameters, Awaited, Record) is used where appropriate rather than a manually written equivalent",
"max_score": 10
},
{
"name": "Call sites still compile",
"description": "The refactored code does not change the observable external API shape — existing call patterns still work as evidenced by the type tests file passing (no unexplained @ts-expect-error on call sites)",
"max_score": 12
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
skills
documentation
fastify
init
linting-neostandard-eslint9
node
nodejs-core
rules
oauth
octocat
snipgrapher