# RASA → Skills Migration Tracking Tracks which use cases from the original `marvin-en` RASA project (`C:\Users\organ\projects\ir-cusm\marvin-en\data\stories\`) have been migrated to this repo's Anthropic Skills implementation (`agent/skills/`), and which are still outstanding. Counting convention: one row per distinct marvin-en use case/topic (34 story files total; the greet/goodbye/thanks/chitchat/deny/never-mind/ acknowledge/session-start cluster in `generic_stories.yml` is intentionally excluded from the "outstanding" count below — already accounted for separately). Dummy/mocked function implementations count as "migrated". Last reconciled: 2026-08-04. ## Migrated (10) | Marvin-en use case | Source story file(s) | Skill | |---|---|---| | Basic HIV facts: definition/diagnosis/prevention/symptoms/transmission | `basic_HIV_facts_stories.yml` | `hiv_definition`, `hiv_diagnosis`, `hiv_prevention`, `hiv_symptoms`, `hiv_transmission` — these are the good, tiered/constrained versions. **`basic_hiv_facts` duplicates all five in cruder one-shot form and should be trimmed/retired** (see note below) once its unique content is extracted. | | PrEP info | `PrEP_stories.yml` | `prep_support` | | Bug report | `bug_report_stories.yml` | `bug_report` | | Change language | `change_language_stories.yml` | `change_language` | | Confidentiality + delete personal info | `confidentiality_stories.yml`, `delete_info_stories.yml` | `confidentiality` (privacy Q&A merged with consent check/withdraw) | | Add reminder + delete reminder + next/all-reminder rules | `add_reminder_stories.yml`, `delete_reminder_stories.yml`, reminder rules in `generic_stories.yml` | `reminder` (single skill, 4 functions: add/list/next/delete) | | Travel time management | `travel_time_management_stories.yml` | `traveling_time_management` | | bot_challenge rules (are you a robot/human) | `generic_stories.yml` (rule map) | `are_you_a_robot` | | nlu_fallback rule | `generic_stories.yml` (rule map) | `incomprehensible_input` | | out_of_scope rule | `generic_stories.yml` (rule map) | `unrelated` | ## Outstanding (24) | Marvin-en use case | Source story file | |---|---| | Known + unknown medication identification | `known_meds_identification_stories.yml`, `unknown_meds_identification_stories.yml` | | Best time to take meds | `best_time_to_take_meds_stories.yml` | | COVID vaccine info | `covid_vaccine_stories.yml` | | Drug interactions | `drug_interactions.yml` | | Early for meds | `early_for_meds_stories.yml` | | Medication expiration | `expiration_of_medication_stories.yml` | | Food/alcohol with meds | `food_with_meds_stories.yml` | | General information (why take meds, undetectable definition, U=U*, safe sex, stop/change treatment) | `general_information_stories.yml` | | Ingestion format | `ingestion_format_stories.yml` | | I-Score (first level) | `iscore_stories.yml` | | I-Score time-based | `iscore_time_based_stories.yml` | | Late for meds | `late_for_meds_stories.yml` | | Missing more than a day | `miss_more_day_stories.yml` | | Double-dose mistake | `mistake_double_dose_stories.yml` | | Medication quantity | `quantity_meds_stories.yml` | | Satisfaction survey | `satisfaction_stories.yml` | | Sleep side effects | `side_effect_sleep.yml` | | Storage | `storage_stories.yml` | | Time-zone changes | `time_changing_stories.yml` | | Time window | `time_window_stories.yml` | | Travel country restrictions | `travel_country_restrictions_stories.yml` | | Travel tips | `travel_tips_stories.yml` | | Vaccine form (non-COVID) | `vaccine_stories.yml` | | CD4 / viral load / ART / cure-vaccine definitions | `basic_HIV_facts_stories.yml` (currently only answered inside `basic_hiv_facts`, which has no split-skill equivalent — see note below) | `meds_identification/SKILL.md` exists but its "How to answer" section is empty — no answer logic, no function call, no appearance-lookup data. It covers trigger phrases for the **known**-med side only (user names a med, asks what it looks like); nothing addresses the **unknown**-med side (user describes imprint/colour to identify an unrecognized pill). Counted as not implemented, not a dummy — a dummy still produces a response. \* U=U gets a passing mention inside `hiv_prevention`'s prevention-technique list, but marvin's dedicated "undetectable definition / how to know if undetectable / safe sex info" conversational flows aren't built as their own skill — counted as outstanding. \* U=U gets a passing mention inside `hiv_prevention`'s prevention-technique list, but marvin's dedicated "undetectable definition / how to know if undetectable / safe sex info" conversational flows aren't built as their own skill — counted as outstanding. ## New in this repo, not from marvin-en `calculate`, `life_threat`, `mental_health_crisis`, `sources`, and the whole `pediatry*` skill family (separate project — see [[project-pediatric-wiki-latency]]). ## Notes - Raw RASA story-line count in marvin-en was 107 (84 after collapsing Yes/No branches, first/second-question pairs, and greeting-variant duplicates that test the same flow, not distinct use cases). This doc tracks at the topic/use-case level (34 total), not the raw story-line level.