Przejdź do treści
Biblioteka skilli
Zarządzanie i produkt · Analiza

ttai-session-analyst

/ttai-session-analyst

Zamienia sesje Tough Tongue AI w raporty oparte na dowodach: wyniki, transkrypty, mocne i słabe strony oraz plany działań.

Licencja
MIT
Ostatnia zmiana repozytorium
27.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
5
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Zamienia sesje Tough Tongue AI w raporty oparte na dowodach: wyniki, transkrypty, mocne i słabe strony oraz plany działań.

Wyzwalacze z opisu

how is my team doing?
Oryginalny opis (EN)

Turns Tough Tongue AI sessions into evidence-backed reports. Reads sessions, scores, report cards, strengths, weaknesses, and transcripts from practice roleplays, AI phone calls, and meeting-bot calls for a Scenario, person, or date range, then writes team performance, Scenario health, or individual coaching reports with action items. Can also ingest an external call transcript or recording as a scored session (ttai:upload_session) and fill in missing analysis (ttai:analyze_session), each after the user confirms. Use when the user asks "how is my team doing?", "top improvement areas for scenar

Jak działa

  1. Hard rules
  2. Workflow
  3. Recipes
  4. Pitfalls
  5. Key Files
Sekcje z nagłówków SKILL.md, w oryginale · 187 linii, 1 204 słów
Podgląd SKILL.md
---
name: ttai-session-analyst
description: >-
  Turns Tough Tongue AI sessions into evidence-backed reports. Reads
  sessions, scores, report cards, strengths, weaknesses, and transcripts from
  practice roleplays, AI phone calls, and meeting-bot calls for a Scenario,
  person, or date range, then writes team performance, Scenario health, or
  individual coaching reports with action items. Can also ingest an external
  call transcript or recording as a scored session (ttai:upload_session) and
  fill in missing analysis (ttai:analyze_session), each after the user
  confirms. Use when the user asks "how is my team doing?", "top improvement
  areas for scenario X", "lowest-scoring sessions", "coaching report for
  Priya", or "session trends this month". Not for changing a Scenario,
  rubric, or prompt (ttai-agent).
when_to_use: >-
  Also when the user wants an external sales or support call scored against a
  coaching Scenario.
---

# Session Analyst

Pull sessions → aggregate per Scenario → write an evidence-backed report →
optionally hand it to the user's deck, email, or docs tools.

Practice runs, AI phone calls, and meeting-bot joins all land as **sessions**.
Read-only by default. The only writes are `ttai:upload_session` and
`ttai:analyze_session`, and both need explicit confirmation.

## Hard rules

- **Guide first.** In a fresh conversation, call
  `ttai:read_guide` unless its guide is in context.
  Some clients show tools as `mcp__ttai__<name>`. The `ttai-agent` skill holds
  the full tool catalog and entity model.
- **Scope first.** For organization data, call `ttai:get_workspace_info` and
  pass an `organizations[].id` as `org_id` on every call. Never pass a slug. Omit
  `org_id` for personal scope.
- **Typed list first.** Default to `ttai:list_resources` with type `sessions`.
  Add a legacy filter (`user_email`, `from_date` / `to_date`, `hasLearning`,
  `is_org`) only when you need a person, a date window, learning flags,
  `duration`, or `analytics_url` — those switch to the enriched legacy list.
- **Count cheaply.** For a count, call `ttai:list_resources(sessions)` with
  `limit: 1, include_total: true`. Never page through results just to count.
- **Request only needed fields.** The typed list returns IDs, status, and timestamps unless
  you ask for `participant`, `evaluation`, `transcript`, `extraction`,
  `recording`, or `processing` in `include_fields`.
- **Transcripts** come only from `include_fields: ["transcript"]` on
  `ttai:list_resources(sessions)` (with `filters: {ids}`) or
  `ttai:get_resource(sessions)`. The legacy enriched list never returns them.
- **One rubric per aggregate.** Report-card topics and weights come from each
  Scenario's rubric. Aggregate per Scenario. Compare Scenarios qualitatively.
- **Confirm before writing.** Before `ttai:upload_session` or
  `ttai:analyze_session`, state the Scenario ID and session IDs (or
  transcript source) and wait for a yes. See
  [references/ingest-and-reprocess.md](references/ingest-and-reprocess.md).
- **Scenario faults go to `ttai-agent`.** This skill diagnoses. It never edits a
  Scenario.
- **Privacy.** Coaching reports name people. Confirm the audience before sending
  per-person results to a group. Request `recording` in `include_fields` only
  when the user needs it.

## Workflow

### 1. Scope

1. Resolve the workspace: `ttai:get_workspace_info` → `org_id`, or personal.
2. Resolve the Scenario. Reuse an ID already in context. Otherwise make one
   `ttai:list_resources(scenarios, query)` call with the title, take the ID, and continue by ID.
3. Pin down the population: Scenario(s), date window, people, and how many
   sessions. When the window is vague, use the last 30 days and say so.

### 2. Pull

Every read below is `ttai:list_resources` or `ttai:get_resource` with type
`sessions` unless named; filters go in `filters`. Parameters and limits:
[references/data-model.md](references/data-model.md).

- **Recent sessions for a Scenario** — list: `scenario_ids`,
  `include_fields: ["participant", "evaluation"]`, `limit` ≤ 100, follow
  `next_cursor`.
- **Counts by status** — list: `scenario_ids`, `statuses`,
  `limit: 1`, `include_total: true`.
- **One person or a date window** — list (legacy): one `scenario_ids` value,
  `user_email`, `from_date` / `to_date`, `is_org: true` for org-wide,
  `limit` ≤ 500; page with `next_cursor`. Rows carry `analytics_url`,
  `duration`, and `extraction_results`.
- **Scenario-learning flags** — list (legacy): `hasLearning: "issue"`.
- **Transcripts for chosen sessions** — list: `ids`,
  `include_fields: ["transcript", "evaluation"]`.
- **Full detail for one session** — get: `id`, `include_fields: ["participant",
  "evaluation", "transcript"]`.
- **Recording URL** — get: `id`, `include_fields: ["recording_url"]` returns the
  enriched record (transcript, recording URL, scenario overview).
- **Review links** — `analytics_url` comes on legacy-list rows; filter that
  list by person or window and match IDs.
- **Usage, minutes, member activity** — `ttai:get_workspace_info(sections:
  ["usage"])`, `start_date` / `end_date` (org-wide for EDIT+ org roles).
- **Phone call or bot outcomes** — `ttai:list_resources(bots)` (`kinds`,
  `include_fields: ["failure"]`) → `session_id` per record.

Notes:

- Legacy `from_date` / `to_date` filter on `updated_at`, not creation time.
  Mention this when the window edge matters.
- Sessions without `evaluation_results.final_score` are unanalyzed. Exclude them
  from score math and report the count. Fill them in only if the user needs
  completeness (step 5).

### 3. Aggregate

Compute per Scenario:

- **Score distribution.** Mean, median, and range of
  `evaluation_results.final_score` (0–10, already weighted by the rubric). State
  the analyzed count and the excluded count.
- **Per-topic breakdown.** Group `report_card[]` by `topic` and average its
  `score` (0–10) across sessions. Show each topic's `weight` (percent of the
  final score). Low score on a high-weight topic is the top improvement area.
- **Recurring weaknesses.** `weaknesses` and `improvement_results`
  (`improvement_areas`, `action_items`) are markdown text. Cluster them into
  themes and count sessions per theme. Name a theme by its behavior ("pitches
  price before discovery"), not a category ("communication").
- **Trend.** Weekly buckets when the window spans 3+ weeks. Per-person averages
  for team views.
- **Evidence.** For each top theme, pull 1–2 transcripts for chosen IDs and
  quote the shortest excerpt that shows it. Reports without evidence read as
  opinion.

Fewer than ~10 analyzed sessions → report observations, not statistics, and say
so.

### 4. Report

Use the matching template in
[references/report-templates.md](references/report-templates.md):

- **Team performance:** "how is my team doing?"
- **Scenario health:** "is this Scenario working?"
- **Individual coaching:** one person, at most three focus areas
- **Pattern map:** "what do prospects actually say?" — counterpart moves, red
  flags, and persona pools from transcripts, handed to `ttai-agent` for a
  Scenario build

Every report states the population and window, the score summary, the top 3–5
improvement areas with evidence, concrete actions, and `analytics_url` links for
sessions worth a human review.

### 5. Fill gaps or ingest (only on request)

Missing analysis → confirm IDs, `ttai:analyze_session` per session, poll.
External call → confirm Scenario and source, `ttai:upload_session`. Steps,
polling, and failure handling:
[references/ingest-and-reprocess.md](references/ingest-and-reprocess.md).

### 6. Distribute (optional)

Hand the report to the user's deck, email, or docs tools: one improvement area
per slide or section, evidence quote included.

## Recipes

- **"Top 5 improvement areas for Scenario X, last 50 sessions."**
  `ttai:list_resources(sessions)` (`scenario_ids`, `limit: 50`,
  `include_fields: ["evaluation"]`) → per-topic averages and weakness themes →
  pull transcripts for 1–2 sessions per theme → Team performance report.
- **"The 5 lowest-scoring sessions and what went wrong."** Collect the
  population (typed list with `evaluation`, or legacy for a date window) → sort by
  `final_score` ascending → take 5 → transcripts via `ids` → separate
  Scenario faults from user-skill gaps → Scenario faults go to the `ttai-agent`
  skill with the diagnosis and transcript quotes.
- **"How did priya@example.com do this month?"** `ttai:list_resources(sessions)`
  (`user_email`, `from_date` = first of month, `is_org: true` in an org) →
  per-topic averages and trend → Individual coaching report with actions drawn
  from `improvement_results.action_items`.
- **"Is this Scenario working?"** Status counts via `include_total` (count
  old `active` sessions as abandoned) → `ttai:list_resources(sessions)` with
  `hasLearning: "issue"` for flagged transcripts → Scenario health report.

## Pitfalls

- **Status ≠ processing.** Session `status`: `active`, `completed`, `archived`,
  `terminated` (use for completion rates). `post_session_status.state`: `idle`,
  `running`, `failed`.
- **Stale `active`.** The legacy list reports an `active` session older than 40
  minutes as `terminated`. Typed reads return the stored status, so abandoned
  sessions can still read `active` there.
- **Math on numbers.** Use `score` and `final_score`; `score_str` and
  `overall_score` are display text.
- **Typed-list scope.** `ttai:list_resources(sessions)` returns other people's sessions only
  when the caller holds EDIT or higher on the Scenario (pass `scenario_ids`) or
  in the selected organization. Otherwise it returns only the caller's own. An
  empty page can mean missing permission.
- **Advanced filters are REST-only.** `meta_*` and `$gte_created_at`-style
  filters do nothing over MCP. Filter such fields after fetching.

## Key Files

- [references/data-model.md](references/data-model.md): tools, parameters,
  limits, response fields, score scales, status values
- [references/report-templates.md](references/report-templates.md): team,
  Scenario health, coaching, and pattern-map formats
- [references/ingest-and-reprocess.md](references/ingest-and-reprocess.md):
  `ttai:upload_session` ingest, `ttai:analyze_session` backfill,
  confirmation and polling
Pliki w paczce (5)
  • SKILL.md 10 KB
  • agents/openai.yaml 1 KB
  • references/data-model.md 7 KB
  • references/ingest-and-reprocess.md 4 KB
  • references/report-templates.md 5 KB

Wersje

W bazie nie ma innych skilli o nazwie ttai-session-analyst.

Migawka bazy z 28.10.2026 · wersja paczki ae5de9a3940f (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90ttai-agent
    Tworzy i poprawia scenariusze Tough Tongue AI, czyli definicje agentów głosowych do rozmów sprzedażowych, kwalifikacji leadów, demo i obsługi oraz ćwiczeń.
  • 100ttai-agent-apps
    Tworzy i utrzymuje aplikacje Agent Desktop dla agentów głosowych Tough Tongue AI, takie jak tablice, listy kontrolne i prezentacje.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.