← TCFCANCONTENT HISTORY

Update to TCFCAN

Snapshot Oct 24, 2026 · 13:34 UTC · version 0.1.20

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save TCFCAN and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Diagnose a user's authorized TCFCAN learning activity and identify one evidence-bounded priority. Use whenever the user asks to diagnose, assess, summarize, or review recent practice, progress, weaknesses, score changes, or what to focus on next, including vague requests that name no module. For a vague diagnosis request, ask the user to choose listening, reading, writing, or speaking before any TCFCAN tool call. Do not use for reviewing one already-selected attempt or merely saving a plan.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 258
    }
  ],
  "name": "learning-diagnosis",
  "skill_md_contents": "---\nname: learning-diagnosis\ndescription: Diagnose a user's authorized TCFCAN learning activity and identify one evidence-bounded priority. Use whenever the user asks to diagnose, assess, summarize, or review recent practice, progress, weaknesses, score changes, or what to focus on next, including vague requests that name no module. For a vague diagnosis request, ask the user to choose listening, reading, writing, or speaking before any TCFCAN tool call. Do not use for reviewing one already-selected attempt or merely saving a plan.\n---\n\nRead one module's TCFCAN facts and display its server-generated card in the same call, then explain the diagnosis in text.\n\nRespond in the language of the user's current request unless the user asks for another language.\n\n1. Determine whether the user explicitly requested one module. For unspecified or all-module requests, ask the user to choose from all four: listening, reading, writing, and speaking, before reading TCFCAN facts. Use ChatGPT's native question UI only if it can show all four choices; otherwise ask in plain text with all four choices visible. Do not recommend or preselect a module, or guess from recent activity. Complete one module before starting another independent diagnosis.\n2. Call `get_learning_context` once with the selected `module` and conversation `locale`. The single-module call automatically returns the facts and displays the diagnosis card from the same query; no enable flag is required. Never disable the card for a diagnosis. For interpretation, use `current30Days` for the overview and level/task statistics, the non-overlapping current and previous 7-day windows for the short-term comparison, and the 30-day comparison only when its display threshold is met. Use question-bank progress, level/set performance, dimension summaries, score standards, and coverage fields as deterministic facts only. Do not copy facts into another tool or call again merely to display the card.\n3. Call `get_recent_attempts` only when recent records or a different supported window are necessary. Call it at most once per diagnosis, and reuse that first result for every later selection or comparison in the same diagnosis. Never call it again with the same or broader scope merely to choose detail candidates.\n4. If a claim requires question-level evidence, obtain only the few relevant details through `get_attempt_detail`. For a listening or reading wrong-book request, use `get_wrong_book`; do not substitute recent attempts for the current wrong book.\n5. Separate recorded facts, deterministic statistics, and AI interpretation. Do not combine different score scales, infer CEFR from vocabulary state, add overlapping topic counts, or treat absent/truncated data as zero activity.\n6. The card is already generated by the fact-reading tool. Keep interpretation, evidence limitations, and the next action in your text response. On tool failure, explain that the facts could not be retrieved; do not invent a card or retry automatically.\n\n## Listening and reading: objective questions\n\nUse `complete_set_average` or `synthetic_39` score, CEFR, NCLC and confidence from `objectiveLevelEstimates` exactly. When its method is `level_performance_required`, use `objectiveLevelPerformance` for an evidence-bounded CEFR/NCLC estimate with low confidence in conversation text only. The card retains its insufficient-evidence state; do not fill or update its level.\n\nGive zero to three evidence-backed strengths and zero to three possible weaknesses in text. A single item may support an item-level candidate but not a stable weakness. For prescriptions, use only the taxonomy and fixed training directions below.\n\n## Writing and speaking: scored production\n\nStart with one candid assessment of the user's current practice relative to their stated goal, if known. `goal.targetLevel` is a CEFR target and may be absent; an NCLC target must come from the user, not be inferred from that field. Use `scoreStandards` to explain a relevant target threshold, but do not turn partial practice, Tâche averages, or 0–4 dimension scores into a current CEFR/NCLC level or an exact gap from that threshold. If comparable full-test evidence is unavailable, say that the current level cannot be estimated reliably while still assessing the observed practice.\n\nIdentify one main performance bottleneck from comparable scored samples, then check whether practice coverage limits that conclusion. Distinguish attempts from scored attempts, compare dimensions within the same Tâche and score scale, and include the relevant scored sample count when citing a contrast. Uneven practice or few scored samples indicate a coverage gap or uncertainty, not proof that the least-practiced Tâche is the weakest. Do not recompute a Tâche average from set rows or treat overlapping 7-day and 30-day windows as a trend.\n\nState the observed score pattern before interpreting it. A dimension average alone does not prove a specific cause in the user's response: for example, fluency does not prove sustained expression, and low coherence does not prove a missing argument structure. If a cause-level judgment would change the training advice, inspect a few relevant attempts under steps 3–4; otherwise label the cause as a hypothesis and give one way to check it. Base the training direction on the supported bottleneck, without inventing a fixed writing/speaking taxonomy, precise weekly quotas, or a full study plan.\n\nRespond in natural prose: an opening assessment, a supported strength if one is visible, one priority with decisive evidence and its limitation, and one justified next step. Do not restate the card's statistics or invent a strength to fill a template. These are guidance points, not mandatory headings.\n\nListening taxonomy and fixed directions: `VOC` topic vocabulary/chunks; `PHO` intensive listening, shadowing and phonetic training; `INFO` keyword notes and information extraction; `SYN` synonym/expression transformation; `LOGIC` contrast structure; `NEG` negation/correction signals; `NUM` numbers and proper information; `VIEW` viewpoint structure and attitude words; `MAIN` summarization and logic analysis.\n\nReading taxonomy and fixed directions: `VOC` high-frequency chunks; `STRUCT` clauses and connectors; `LOC` question-first keyword location; `SYN` equivalent expressions; `DETAIL` close contextual reading; `SCOPE` quantifiers and modal limits; `RELATION` causal/time relations; `VIEW` speaker/source marking; `MAIN` article structure; `INF` constrain inference to textual evidence.\n\nClassification status is only `confirmed_by_user`, `supported_candidate`, or `insufficient_evidence`. Never claim GPT confirmation. Listening `VOC` versus `PHO`, and reading `VOC` versus `STRUCT` versus `LOC`, require a user answer about what they recognized or understood; ask one concise follow-up or use `insufficient_evidence`. A verified locator supports the correct answer only. Never invent a locator for a distractor.\n\nStop detail retrieval immediately on `RATE_LIMITED`. State what was not read and do not retry with changed parameters. Never expose internal IDs, references, tokens, raw metadata, or full question bodies in the card.\n"
}

SHA-256 of public snapshot: 632c4e1f4ca7dd66cb2a3a1eff827573c8c71955fbeb4bd0ffd008a16445de19