Comprehensive TypeScript type definitions for building Slack applications and integrations with the Node Slack SDK
94
{
"context": "This criteria evaluates how well the engineer uses the @slack/types package to implement a modal builder with input elements that support the Focusable mixin. The focus is on proper usage of modal view types, input blocks, text input elements, and the focus_on_load property.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Modal View Type",
"description": "Uses the correct @slack/types modal view type (e.g., ModalView or View type with type: 'modal') to define the modal structure",
"max_score": 15
},
{
"name": "Input Block Type",
"description": "Uses the proper Input block type from @slack/types for each form field in the blocks array",
"max_score": 15
},
{
"name": "Text Input Elements",
"description": "Uses the correct text input element types (PlainTextInput or plain_text_input type) for single-line fields and multi-line text input types for multi-line fields",
"max_score": 20
},
{
"name": "Focusable Property",
"description": "Correctly applies the focus_on_load property (part of the Focusable mixin) to the designated input element to enable auto-focus behavior",
"max_score": 25
},
{
"name": "PlainTextElement Composition",
"description": "Uses PlainTextElement or proper plain text composition objects from @slack/types for labels, titles, and button text",
"max_score": 15
},
{
"name": "Action IDs",
"description": "Properly assigns action_id properties to input elements, which is required for the Actionable mixin that input elements inherit",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-slack--typesdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10