CtrlK
BlogDocsLog inGet started
Tessl Logo

ambaba/meeting-notes

Capture and organize business meeting notes into durable decisions, action items, and takeaways.

98

1.20x
Quality

100%

Does it follow best practices?

Impact

93%

1.20x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-2/

{
  "context": "Tests whether the agent writes meeting notes to the correct persistent location (~/.claude/memory/meetings.md), uses the prescribed date-prefixed entry schema with correct separators and structure, respects the rule that memory.md is index-only, and correctly identifies which items are worth persisting versus skipping.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Correct storage path",
      "description": "The agent writes entries to `~/.claude/memory/meetings.md` (not a local file in the working directory, not a repo-relative path like `./meetings.md`)",
      "max_score": 15
    },
    {
      "name": "Date prefix YYYY-MM-DD",
      "description": "Each saved entry begins with a date in YYYY-MM-DD format (e.g., `- 2026-04-28`), not a prose date like 'April 28' or 'today'",
      "max_score": 12
    },
    {
      "name": "Em dash separator used",
      "description": "Each saved entry uses an em dash (—) between the date and the what field (not a hyphen -, colon :, or pipe |)",
      "max_score": 8
    },
    {
      "name": "What:context schema",
      "description": "Each saved entry follows the pattern `<what>: <why/context>` — the what and the context are separated by a colon with context following",
      "max_score": 12
    },
    {
      "name": "Context field non-empty",
      "description": "Each entry's context/why field is populated with a meaningful reason or background, not left blank after the colon",
      "max_score": 8
    },
    {
      "name": "No entries in memory.md",
      "description": "The agent does NOT write meeting entries into `~/.claude/memory/memory.md` (or `memory.md`); that file is not used for meeting content",
      "max_score": 12
    },
    {
      "name": "NFS migration decision saved",
      "description": "The NFS-to-EBS migration decision (with context: NFS caused cascading timeouts) IS saved as a persistent entry",
      "max_score": 8
    },
    {
      "name": "CI image limit saved",
      "description": "The CI 2GB image size enforcement policy (with context: base image caused 40% slower deployments) IS saved",
      "max_score": 8
    },
    {
      "name": "healthz policy saved",
      "description": "The /healthz endpoint requirement for all new microservices (with context: Kubernetes couldn't detect failures) IS saved",
      "max_score": 8
    },
    {
      "name": "Time-bound tasks excluded",
      "description": "Named action items with owners and deadlines ('Marcus to update runbook by next Friday', 'Dani to file tickets') are NOT saved as persistent entries",
      "max_score": 9
    }
  ]
}

evals

SKILL.md

tile.json