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

{
  "context": "Evaluates whether the agent builds a React chat component using the PubNub Chat SDK's specific real-time APIs including the connect/sendText pattern and typing indicator integration. Tests Chat SDK idioms rather than raw PubNub pub/sub.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "channel.connect for messages",
      "description": "Real-time messages are received via channel.connect(callback) which returns an unsubscribe function, not via pubnub.addListener or pubnub.subscribe",
      "max_score": 20
    },
    {
      "name": "channel.sendText to send",
      "description": "Messages are sent using channel.sendText(text), not pubnub.publish()",
      "max_score": 15
    },
    {
      "name": "Unsubscribe in cleanup",
      "description": "The unsubscribe function returned by channel.connect() is called in the useEffect cleanup return",
      "max_score": 20
    },
    {
      "name": "Typing via onTyping",
      "description": "Typing indicators are received using channel.onTyping(callback) which provides an array of user IDs currently typing",
      "max_score": 15
    },
    {
      "name": "startTyping and stopTyping",
      "description": "Typing signals are sent using channel.startTyping() when user types and channel.stopTyping() when message is sent",
      "max_score": 15
    },
    {
      "name": "Debounced typing signal",
      "description": "The startTyping() call is debounced or throttled so it is not invoked on every keystroke",
      "max_score": 15
    }
  ]
}

Install with Tessl CLI

npx tessl i pubnub/pubnub-chat

evals

SKILL.md

tile.json