CtrlK
BlogDocsLog inGet started
Tessl Logo

cindula/nextsteps

Intelligent next-steps engine with personality-driven suggestions. Generates dynamic, context-aware follow-up actions with expert mentorship tone, pattern recognition, and trust-building mechanics. Features 4 personality profiles (Friendly Expert, Chill Buddy, Straight Shooter, Thoughtful Mentor), confidence markers, and session continuity. Leverages persistent memory, self-improving preference learning, and concise signal-dense suggestions to psychically anticipate what users need next. Use when: (1) user completes a question or task, (2) user needs guidance on what to do next, (3) agent wants to proactively suggest trusted follow-up actions.

96

1.32x
Quality

94%

Does it follow best practices?

Impact

99%

1.32x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-4/

{
  "context": "Tests whether the agent correctly reads PREFERENCES.md to determine display-count, respects the slot allocation rules for the six categories (including backlog recall when relevant items exist), generates the right number of suggestions, and uses the standard format with the correct structural elements.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Correct suggestion count",
      "description": "The next steps section contains exactly 4 suggestions — matching display-count: 4 in PREFERENCES.md, not the default 5",
      "max_score": 15
    },
    {
      "name": "Direct Follow-up present",
      "description": "At least one suggestion is a Direct Follow-up (⚡) — a STRONG category with a guaranteed slot",
      "max_score": 10
    },
    {
      "name": "Actionable Task present",
      "description": "At least one suggestion is an Actionable Task (🔧) — a STRONG category with a guaranteed slot",
      "max_score": 10
    },
    {
      "name": "Memory Recall from backlog",
      "description": "At least one suggestion references an item from BACKLOG.md (📋) using a 'Resume:', 'From backlog:', or 'You mentioned:' prefix",
      "max_score": 12
    },
    {
      "name": "Backlog item is relevant",
      "description": "The surfaced backlog item is contextually relevant to the current conversation (rate limiting, API, testing — not unrelated topics)",
      "max_score": 8
    },
    {
      "name": "Standard format structure",
      "description": "The next steps section uses the standard format: a '## ⚡ Next Steps' header followed by a numbered list with emoji icons and bold titles",
      "max_score": 8
    },
    {
      "name": "Footer line present",
      "description": "The next steps section ends with a footer line such as '_Your selections help me learn what matters to you._' (since show-footer: true)",
      "max_score": 8
    },
    {
      "name": "No generic filler suggestions",
      "description": "None of the 4 suggestions are generic filler phrases such as 'tell me more', 'what are the pros and cons', 'anything else', or 'would you like to know more about'",
      "max_score": 10
    },
    {
      "name": "No restating the obvious",
      "description": "None of the suggestions re-explain what was just accomplished (e.g., does NOT suggest 'learn about rate limiting' or 'understand sliding window algorithm' after having just implemented it)",
      "max_score": 10
    },
    {
      "name": "Suggestions are context-specific",
      "description": "At least 2 suggestions reference concrete, specific next actions connected to the current work (e.g., mentioning 'rate limit headers', 'integration tests', 'OpenAPI', 'staging', or specific files/endpoints)",
      "max_score": 9
    }
  ]
}

evals

tile.json