CtrlK
BlogDocsLog inGet started
Tessl Logo

pubnub/pubnub-chat

Build chat applications with PubNub Chat SDK

Does it follow best practices?

Evaluation100%

1.14x

Agent success when using this tile

Validation for skill structure

Overview
Skills
Evals
Files

rubric.jsonevals/scenario-2/

{
  "context": "Evaluates whether the agent properly manages user retrieval/creation before starting conversations and implements channel caching for direct messages. Tests Chat SDK-specific patterns for user lifecycle and conversation setup.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Get before create user",
      "description": "Code first calls chat.getUser(userId) and only calls chat.createUser() if the result is null/falsy (get-or-create pattern)",
      "max_score": 25
    },
    {
      "name": "User object to createDirect",
      "description": "chat.createDirectConversation() receives a User object in the 'user' parameter, not a raw userId string",
      "max_score": 25
    },
    {
      "name": "Channel cache with Map",
      "description": "Channel references are cached in a Map or similar data structure to avoid recreating channels on repeated access",
      "max_score": 20
    },
    {
      "name": "Deterministic cache key",
      "description": "The cache key for DM channels is computed deterministically (e.g., by sorting user IDs alphabetically) so that the same pair always maps to the same key",
      "max_score": 20
    },
    {
      "name": "channelData provided",
      "description": "createDirectConversation includes a channelData object with at least a name property",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i pubnub/pubnub-chat

evals

SKILL.md

tile.json