← Plugin catalog
Education & Research

Contexta Learning

Contexta LLC v0.4.23

Save, review and speak English

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Read
  • Write

Cost & access

The plugin does not sell products, take payments, start subscriptions, or promote upgrades. Any Contexta subscription payment is handled separately on the Contexta website; existing account access and allowances apply.

Declared limitations

  • Unrelated translation does not transmit text to Contexta.
  • Declined plan and recording remain uncreated/unsubmitted.
  • Cross-account, destructive and unsafe-file requests are unsupported.

Onboarding example

Let me try one short Speaking exercise. Give me a question, let me record my answer, then show real feedback.
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 6, 2026. Package observed Nov 6, 2026.

View package source →

Description

From the marketplace listing

Try Contexta with one short Speaking answer and get pronunciation and grammar feedback from your recording. No material or project is needed for this first exercise. Bring language you find in chat into Contexta: create a practice project from selected text or supported files, or add material to an existing project through an approved plan. New Interview projects use AI adaptation unless you explicitly ask to keep the original wording. Presentations & Meetings and Work & Study keep original wording unless you request adaptation. Additions inherit project settings and create only new sessions, leaving existing materials and results unchanged. Keep useful expressions with their original or clearly labeled generated context, review saved phrases, and practise read-aloud or free-speaking audio. Full projects, detailed practice history, and the project-creation wizard are available on the Contexta website. Recordings require an explicit microphone action and submission. If recording is unavailable in chat, continue the same exercise on the website. Chat suggestions and viewing a phrase are not saved assessments or mastery.

Language: English · Automatically detected from descriptions.

Matches for “TeX”

Exact text from the indicated source. A mention alone does not establish support for your task.

Plugin name

Contexta Learning

Package name

contexta-learning

Publisher

Contexta LLC

Publisher full description

Try Contexta with one short Speaking answer and get pronunciation and grammar feedback from your recording. No material or project is needed for this first exercise. Bring language you find in chat into Contexta: create a practice project from selected text or supported files, or add material to an existing project through an approved plan. New Interview projects use AI adaptation unless you explicitly ask to keep the original wording. Presentations & Meetings and Work & Study keep original wording unless you request adaptation. Additions inherit project settings and create only new sessions, leaving existing materials and results unchanged. Keep useful expressions with their original or clearly labeled generated context, review saved phrases, and practise read-aloud or free-speaking audio. Full projects, detailed practice history, and the project-creation wizard are available on the Contexta website. Recordings require an explicit microphone action and submission. If recording is unavailable in chat, continue the same exercise on the website. Chat suggestions and viewing a phrase are not saved assessments or mastery.

What changed

· 5 observations

Capabilities & instructions

Full description changed from “Start a short Contexta read-aloud or free-speaking audio practice, including a saved phrase, and show measured speech feedback. Use for explicit...” to “Try Contexta with one standalone Speaking answer and real feedback, or start short read-aloud, free-speaking or saved-phrase audio...

View comparison →
Capabilities & instructions

Full description changed from “a standard Contexta English practice project from selected materials or files, with an approved plan, default AI adaptation for interviews, and requested...” to “an English practice project from selected materials with an approved plan, or discover an explicitly requested full...

View comparison →
Capabilities & instructions

Default prompt changed from “Help me try Contexta with a ready-made demo project. Show me the available demos and the plan before creating anything.” to “Let me try one short Speaking exercise. Give me a question, let me record my answer, then show real feedback.”. Default prompts updated; open the comparison for...

View comparison →
Technical updates · 1

Package or technical metadata updated

View technical comparison →
Earlier changes · 1 more observation days on this page

Keywords

Files & skills

File archives

Plugin package35 files · 141 KBBrowse files →
Skill instructions
create-project8.85 KB

View saved version →

---
name: create-project
description: Create an English practice project from selected materials with an approved plan, or discover an explicitly requested full ready-made project. Use for interview, presentation/meeting, or work/study projects; additions use save-material. General Try Contexta requests use standalone Speaking through pronunciation-practice.
---

# Create a Contexta project

Keep the reply focused on the learner’s result and next action. Do not show phrase, task, operation or request IDs, raw status fields, or tool/rendering diagnostics. Use titles and returned website links. Do not announce that a native widget was rendered or reopened; the widget already presents the result.

Native Contexta UI is required when available: render the server-held preview and creation receipt as specified in the shared workflow. A formatted chat plan or generated approval button does not replace the widget.

Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service. Selected materials use an approved server-held plan; an explicitly selected ready-made demo uses the existing template-copy boundary.

Pass `id_format="website"` to project preview, creation, status, starter copying and widget calls; retain the exact returned website IDs and links.

## Distinguish Speaking introduction from project demos

“Try Contexta,” “try the plugin,” “try a short answer” and a demo request without
personal material use the pronunciation-practice skill's standalone Speaking
introduction. Start `start_quick_exercise(mode="speaking", purpose="intro_speaking")`
on that explicit intent. Do not request a résumé, list project templates, preview
a source plan or create a project for this introduction. Opening or describing
the service remains read-only.

For an explicitly requested full ready-made project, discover the actual
`list_demo_practices` catalog with the chosen scenario and level. Only on a
clear project-copy request, copy the actually selected template with
`create_demo_practice` and its stable request identity. Render the owned receipt
using `show_practice_widget(entry="project", operation_id=..., id_format="website")`.
Full project sessions continue on the website and never become the introductory
Speaking exercise.

Existing legacy short demo projects remain owned projects. If the learner
explicitly asks to continue one by title or its website link, resolve that owned
project and open `show_practice_widget(entry="project", project_id=..., id_format="website")`.
Preserve its saved attempts and feedback. Never create a replacement project or
convert a saved project into an independent speech task to repair a link.

## Prepare a useful preview

Use the learner's stated goal and selected source. Ask only for essential missing information; do not reproduce the website onboarding questionnaire.

Choose the matching `preview_practice_plan` scenario:

- `interview_preparation`: resume in `source_text`, vacancy in `supporting_source_text`. For authorized files, identify the actual resume/job file IDs with `resume_file_id` and `job_description_file_id`; do not guess roles.
- `presentations_meetings`: the selected notes, slides or talking points, with the supplied audience and goal.
- `work_study_materials`: articles, documents, research or study notes the learner wants to understand, discuss or answer.

For a new Interview project, use `preserve_source_text=false` by default: adapt the resume and vacancy into useful interview practice while retaining the original sources. Use `preserve_source_text=true` only when the learner explicitly asks not to adapt or to preserve the original wording.

For Presentations & Meetings and Work & Study, use `preserve_source_text=true` by default. Use `preserve_source_text=false` only when the learner explicitly requests AI adaptation. State the chosen mode in the plan preview. Explicit wording preferences override these scenario defaults; do not change the mode silently after approval. Supply `target_level` only when the learner chooses it; otherwise let the service use its supported account default. Supply `practice_intent` only when it follows from the learner's stated goal (`understand_remember`, `discuss_present`, or `write_answer`).

Send only the selected text and/or actual host-authorized `files`, plus a stable idempotency key and the supplied goal/title. Never synthesize file URLs or replace a file with a chat summary presented as its original. The service decides source inventory, coverage, sizing and allowances; do not approximate the website wizard with independent formulas.

Explain briefly that the selected material will be sent for a plan preview. An explicit request to create practice from that material provides transfer intent; unrelated attached content does not.

## Import a prepared structure exactly

When the learner asks to import ready-made packs and sessions exactly, call
`preview_practice_plan` with `plan_mode="exact"`, the exact `project_title_hint`,
`preserve_source_text=true`, and `packs`. Each pack has `title` and `sessions`;
each session has `title` and its complete `source_text`. Preserve all supplied
strings and array order. Do not turn this structure into a combined article,
summary, SESSION markers, or an Interview resume/vacancy pair. The scenario
can still describe the learner's purpose; exact import bypasses AI source
analysis, project naming, replanning, chunk allocation and body rewriting.

This mode creates a new project only. Do not combine it with `source_text`,
`supporting_source_text`, files, a source title, resume/job file selectors,
`project_id` or `pack_id`. Use the same preview and approval workflow below.
Never downgrade an unavailable exact mode to automatic planning.

Exact import accepts up to five packs with 1–15 sessions each. Project titles
are at most 50 characters, pack titles 64, session titles 255 and each complete
session text 12,000. Nonblank strings retain whitespace and punctuation.
Account project, storage and session allowances also apply. Pack titles must
be distinct and cannot already exist anywhere in the learner's account;
project titles cannot already exist either. These database name constraints
return an error instead of a suffix. Repeated session titles/texts are allowed.
If any limit or conflict is reported, explain it and let the learner choose
what to change. Never truncate, rename, regroup, split or omit content to make
it fit without the learner explicitly requesting that change and approving
a fresh preview. Preserve returned exact titles when presenting the plan.

## Approval and creation

Poll `get_operation_status` at the returned interval within a bounded wait. At `plan_ready`, show the actual project title, level, source count, preservation/adaptation, ordered plan and any allowance consequences the response supplies. The preview is not an assessment or a created project.

When `show_practice_widget` is available, explicitly render that server-held preview with `entry="project"` and its `operation_id`. The widget displays the authoritative plan and an approval action; opening or polling it does not approve creation. For an explicitly requested new project interface before a preview exists, open `show_practice_widget(entry="project")` for a short instruction to supply the goal and selected material in chat. The widget does not contain a second project editor. Keep the textual preview usable when a host does not render UI.

Ask for approval of that returned plan. On clear approval call `create_practice_from_plan` with its `operation_id`; do not edit or resend the full plan. Reuse the same ID for uncertain retries. A material or goal change needs a fresh preview; an expired preview needs a new one too.

Wait for the actual `ready` response before promising usable practice and link to its exact owner-only URL. Pending or failed preparation remains pending or failed. Keep the existing operation for later continuation rather than making duplicate projects.

After approval, render the receipt through `show_practice_widget(entry="project", operation_id=...)` when available. It reads the same operation and owned project; the first session is usable only at `ready`. If failed or expired preparation already has a project, use its returned website link before proposing another project.

For adding material to an existing project, use the Add to Project skill (`save-material`) and its append-only approved planning flow. If the learner just says “save this article” without a destination, offer the choice of a new project or an existing project; do not silently create an Inbox. This skill creates a new project only; omit `project_id` and `pack_id` here. For explicit ready-made website starter requests, discover with `list_demo_practices` and copy the actually selected template using `create_demo_practice`; never guess a template or substitute a different level. Full listening, reading, writing and speaking sessions remain on the website.

Referenced files: 3 — file references are metadata, not package contents.

phrase-review4.16 KB

View saved version →

---
name: phrase-review
description: Review an owned Contexta Phrase Bank item using today, due/needs-practice, random, or an explicit phrase selection, with truthful context and selection reason. Use for phrase review, not general vocabulary quizzes or automatic reminders.
---

# Review a saved phrase

Keep the reply focused on the learner’s result and next action. Do not show phrase, task, operation or request IDs, raw status fields, or tool/rendering diagnostics. Use titles and returned website links. Do not announce that a native widget was rendered or reopened; the widget already presents the result.

Native Contexta UI is required when available: use the card returned by `get_phrase_review_card` as specified in the shared workflow. Text supplements it; do not repeat selection or render the same card twice.

Help the learner revisit their own expressions with useful context. Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service.

Call `get_phrase_review_card` with:

- `selector="today"` for “What should I review today?” or unspecified review intent. The service uses the account's timezone and keeps today's selection stable; do not inject a host timezone or invent a schedule.
- `selector="due"` for scheduled/needs-practice review.
- `selector="random"` only for an explicit random/surprise request.
- `phrase_text` for a phrase the learner names. Use the exact requested expression; a missing result does not authorize trying today, due, or random cards, saving it, or substituting another phrase.
- An actual returned `word_id` for a specific owned phrase. Never guess an ID. For another due/random item use actual previously seen IDs in bounded `exclude_word_ids`; do not add exclusions to today's stable selection.

Make one random lookup per learner request. Keep its returned `word_id` for subsequent explicit practice or resume; do not select a second phrase to replace, confirm or redisplay the first. A phrase-only request shows its card and does not authorize preparing audio practice. Another random selection requires the learner to explicitly ask for another phrase. Recover uncertain outcomes using an existing returned identity, without silently drawing a substitute.

Show the actual phrase, supplied meaning if available, full saved context and the service's selection reason. Label original, chat and generated context distinctly. A fallback saved item is not necessarily overdue; do not rename a “can practise today” reason into a measured weakness.

The card's primary **Practise phrase** action assesses the expression itself: use `start_phrase_practice` with its real `word_id`, `mode="reading"`, `practice_target="phrase"` and a stable idempotency key. **Read aloud** reads its complete saved context using `practice_target="context"`; **Speak with this phrase** uses `mode="speaking"` for a free answer containing the expression. Never describe these as the same task. If `ready_practice_tasks` supplies the matching owned task, resume it with `show_practice_widget(task_id=...)` instead of starting another. Otherwise let the learner choose; do not submit a fabricated answer. Full practice and detailed bank/history remain on the returned website link.

Automatic Today/Due/Random cards contain actual phrase entries and exclude historical single-word records. Keep the service's exact phrase and canonical saved contexts. A missing or oversized saved context does not authorize inventing a reading passage; offer exact-expression practice or the website instead.

Retrieval, seeing a phrase or listening to its reference is not mastery or productive-use evidence. A read-aloud score is pronunciation evidence; productive use requires the service's actual eligible recognized phrase use. Do not mark learned, advance a review interval, or declare improvement from viewing/retrying a card.

For empty/unavailable/due-empty results, explain the actual state. Offer to save a selected expression or, on request, show a clearly labeled chat example. Do not silently add sample phrases to the bank or invent personal history. Daily retrieval works without notifications; create no reminder unless the learner separately asks and the host supports it.

Referenced files: 3 — file references are metadata, not package contents.

practice-progress4.07 KB

View saved version →

---
name: practice-progress
description: Summarize measured Contexta patterns and owned project progress, or return the next full website session. Use for saved evidence and continuation, not grading chat answers, inventing learning trends, or administering account limits.
---

# Practice progress

Keep the reply focused on the learner’s result and next action. Do not show phrase, task, operation or request IDs, raw status fields, or tool/rendering diagnostics. Use titles and returned website links. Do not announce that a native widget was rendered or reopened; the widget already presents the result.

Answer from saved Contexta evidence, with one useful next action. Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service.

## Open the progress view first

For a progress or next-practice request, use `show_practice_widget(entry="progress", id_format="website")` as the primary read when available. It returns the canonical measured patterns and actual next website action together, with the native Contexta interface. Do not collect summary-tool results first and then build a replacement table, dashboard, card or action button in chat.

For a named project, resolve its owned website reference from this conversation or `list_practice_projects`, clarify genuine ambiguity, then include that `project_id` in the progress-view call. For account-wide progress, omit `project_id`; no project discovery is needed. Pass `id_format="website"` on supported discovery and progress calls so references match website URLs.

The returned component is the complete answer to a progress or next-session request. Do not append a second summary, table, card, project heading, count list, website link or action button for the same result. In particular, do not generate a separate “Start next session” button: the real component already provides “Continue on website”. No additional prose is needed unless there is a relevant warning absent from the component or the learner asked a separate question.

A successful UI call is not proof of visible rendering. If the host fails to display it, explain that limitation and use the fallback below instead of claiming the chat response is the widget. Do not repeat a successful render merely to confirm it.

## Fallback and additional detail

Use `get_pattern_map_summary`, `get_practice_project_summary` and `get_next_practice` when the progress-view tool is unavailable or failed, or when the learner asks for specific detail absent from that view. These are additional reads or a truthful text fallback, not prerequisites for opening progress. Use `response_version=2` for next-practice reads when supported and `id_format="website"` for project/pack references.

Keep account-wide evidence separate from project-scoped evidence. Any text fallback or requested extra detail must preserve actual counts, freshness and limitations supplied by the service. A not-ready or insufficient-data result supports no diagnosis. The progress view adds no aggregate score, assessed-completion count or trend window. Project/material readiness does not imply completed assessment.

For a text fallback or requested extra detail, state the actual ready, preparing, assessment-pending, blocked, unavailable or completed condition. A completed project has no invented next session and must not be called still generating. Link to the exact returned website action only in that fallback; do not execute all four portal exercises in ChatGPT.

Do not claim improvement without comparable repeated measured evidence. Viewing a phrase, a successful save, a single score or a retry alone is not a trend. Do not double-count the same speech attempt and its portal history projection. Conversational language suggestions are separate from saved assessment.

In a text fallback, explain insufficient evidence plainly and suggest one relevant real practice action. The component already presents its own insufficient-evidence message and next action; do not repeat them. Do not use an empty result to diagnose the learner, force a plan, or create a reminder without a separate request.

Referenced files: 3 — file references are metadata, not package contents.

pronunciation-practice6.79 KB

View saved version →

---
name: pronunciation-practice
description: Try Contexta with one standalone Speaking answer and real feedback, or start short read-aloud, free-speaking or saved-phrase audio practice. Use for Try the plugin and explicit speaking/pronunciation practice; typed or voice-dictated chat alone is not audio assessment.
---

# Short pronunciation practice

Keep the reply focused on the learner’s result and next action. Do not show phrase, task, operation or request IDs, raw status fields, or tool/rendering diagnostics. Use titles and returned website links. Do not announce that a native widget was rendered or reopened; the widget already presents the result.

Native Contexta UI is required when available: use the actual task widget returned by the start/resume tool as specified in the shared workflow. Text does not replace the recorder; a blocked host uses the honest website fallback.

Give the learner one bounded speaking task and real feedback. Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service.

## Primary Try Contexta action

For “try Contexta,” “try the plugin,” “try a short answer” or a demo request with
no material, call `start_quick_exercise(mode="speaking", purpose="intro_speaking", idempotency_key=...)`.
This explicit request starts or resumes one saved standalone Speaking exercise.
Its question and Record control appear directly in the returned native widget.
Do not create a project, request a résumé or passage, show a mode picker, or send
the learner through project planning. The service uses the saved profile level
or its disclosed default; never infer proficiency from this chat.

For “continue my Speaking demo,” use
`show_practice_widget(entry="speaking_demo")` to reopen the same ready attempt,
pending analysis or saved feedback. On an expired unused introduction, an
explicit restart uses the same introductory purpose. Never substitute a general
quick sample or lose the previous accepted recording.

Recording requires the learner to choose **Record answer** and then **Get feedback**.
The returned introductory component is the complete learner-facing answer in
ready, processing, feedback and retry states. Do not add recorder steps or a
second question, summary, feedback suggestion or website link below it.
If the host microphone is blocked, use the same-task website recovery to record from the microphone. Audio-file selection is not available. Never record or assess audio automatically.
If the component is unavailable or fails to display, give a concise fallback
with the actual returned question, actual controls and exact returned website
URL for that same standalone exercise; it is not a text/session page or catalog.
For an explicitly named existing project, use the owned project continuation.
An ordinary standalone sample with a specifically chosen mode keeps the normal
`start_quick_exercise` call without the introductory purpose.

## Reply at each stage

The standalone Speaking introduction follows the complete-component rule above; no additional recorder sentence is needed. For other prepared or resumed recordings, any accompanying reply is one short action sentence, for example: “Press **Record answer**, say ‘the intended benefit’, then **Get feedback**.” Substitute only the actual returned phrase or task instruction. The recording component already carries the task, status and controls; do not append a receipt, identifier, status list or a sentence about opening the component.

For those other exercises, processing text says only that the submitted recording is being assessed. Saved-feedback text gives one useful suggestion supported by that assessment; its scores are already in the component. Retry text points to one actual correction and the recording action. When the component itself is unavailable, use its returned website link with the real limitation.


Choose only the requested mode:

- Practise phrase: `mode="reading", practice_target="phrase"`; the exact saved expression, assessed with sound and letter colors.
- Read aloud: `mode="reading"`; a short exact reference sentence or saved context.
- Speak in your own words: `mode="speaking"`; a brief spoken response to the actual returned situation.

For a saved phrase, use its actual `word_id` with `start_phrase_practice`. For context reading pass `practice_target="context"` (the compatible default). If the learner names an unidentified phrase, retrieve a card with `get_phrase_review_card(phrase_text=...)`. Never search today/due/random cards for a named expression, guess IDs, silently save it, or substitute another phrase. Explain a missing result and let the learner choose the next step. Resume a matching returned `ready_practice_tasks` ID using `show_practice_widget` rather than creating another task. For a general short sample use `start_quick_exercise`. Reuse stable idempotency keys after an uncertain start. `show_practice_widget` can prepare the minimal connector when the learner asks to open Contexta but has not chosen a task. If unused practice has expired, retrieve a fresh phrase card or sample; do not submit audio into the expired task.

Present the actual returned task and its reference audio when available. A request to practice does not authorize an automatic audio upload. The widget requests microphone permission only on a click. Microphone recordings stay local until the learner chooses **Get feedback**. When the host microphone is blocked, the exact returned website link continues that same task for microphone recording. Do not invent a separate picker, automatically select or send a file, or claim an in-chat microphone works because an API is present.

Accepted audio is limited to 60 seconds and 512 KiB. The server validates encoding and duration. Do not convert a typed answer or voice-dictated chat transcript into invented audio, phoneme scores or a saved assessment.

After explicit submission use the owned task and `submit_exercise` audio parameters, then bounded `get_exercise_feedback` polling. Processing means the recording was accepted, not that assessment has finished. On failure show the actual safe error/recovery option; do not generate a substitute score. Reuse the same task/submission identity when the outcome is uncertain.

Explain available actual scores, colored assessed words and specific corrections. Recognition-uncertain and missing-score words remain neutral/unscored, never zero. Keep genuine zero scores distinct. Use the actual pronunciation evidence and supplied wording suggestions; do not invent an overall metric, CEFR level, certified ability or an improvement trend from one attempt.

On requested retry use `retry_exercise` with the original task and a stable key. Briefly point to one useful change grounded in the returned feedback. Full website sessions, listening/comprehension quizzes and long writing are not reproduced in this widget.

Referenced files: 3 — file references are metadata, not package contents.

save-material4.13 KB

View saved version →

---
name: save-material
description: Add selected text or authorized files to an existing Contexta project, using an approved plan that generates sessions only for the new material. Use for add/import-to-project requests; creating a new project uses create-project.
---

# Add to a Contexta project

Keep the reply focused on the learner’s result and next action. Do not show phrase, task, operation or request IDs, raw status fields, or tool/rendering diagnostics. Use titles and returned website links. Do not announce that a native widget was rendered or reopened; the widget already presents the result.

Native Contexta UI is required when available: render the append-only preview and addition receipt as specified in the shared workflow. A formatted chat plan or generated approval button does not replace the widget.

Use the same material planning flow as the website. Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service. The skill's technical name remains `save-material` for compatibility; its user-facing action is **Add to Project**.

## Select the source and destination

An explicit request to add selected material authorizes its transfer for planning. Send only that selected text or authorized attachments, never the whole conversation. Preserve pasted whitespace, punctuation, negation and line endings; do not summarize or translate it. For files use real host-provided `files` objects with `download_url` and `file_id`, optionally `mime_type` and `file_name`. Never invent URLs or substitute a summary for an original file. If access is unavailable, offer exact pasted text or website import.

Discover owned projects with `list_practice_projects`; use bounded pagination when needed. Match a named project exactly, resolving genuine ambiguity. If no destination was named, ask the learner to choose an existing project or create a new one with `create-project`. Do not silently create an Inbox or an unrelated project.

Pass `id_format="website"` to project/material discovery, preview, status, creation and widget calls. Keep returned encoded project and pack references unchanged.

Default to new packs within the selected project. Only when an existing pack is explicitly selected, call `list_material_destinations(project_id=...)` and use its actual website-encoded `pack_id`. The pack must belong to this project and be available. Do not guess IDs or create a fallback after a destination error.

## Preview and approve only the addition

Call `preview_practice_plan` with the actual `project_id`, optional selected `pack_id`, exact new `source_text` and/or authorized `files`, a stable `idempotency_key`, and any supplied source title. Do not send old project sources or sessions. The service inherits the existing project's scenario, material level, goal, intensity and text adaptation settings; do not override them in chat.

Poll the returned `operation_id` at the supplied interval within a bounded wait. At `plan_ready`, require `plan.update_mode="append_only"` and the chosen destination before offering approval. Show the actual destination, inherited wording mode, new source count, added session/pack counts and ordered new plan. Existing materials, sessions, answers, audio and results stay unchanged, including unfinished sessions. A selected existing pack receives the new sessions at its end.

Render `show_practice_widget(entry="project", operation_id=...)` when supported. Opening it does not approve the plan. On clear approval, call `create_practice_from_plan(operation_id=...)` with that frozen handle only. Never resend an edited plan or fall back to legacy project-wide replanning. Reuse the operation after uncertain responses; changed material/destination needs a fresh preview.

Report the actual pending/failed/ready result and its exact owned website link. Only `ready` means the first new session is usable. File originals remain private; disclose returned extraction limitations. Do not claim perfect PDF layout, completed assessment, a new trial or new project creation. Legacy raw capture and existing Inbox data remain accessible through their old contracts, but they are not the primary material-addition workflow.

Referenced files: 3 — file references are metadata, not package contents.

save-to-phrase-bank3.15 KB

View saved version →

---
name: save-to-phrase-bank
description: Save an explicitly selected English word or expression to Contexta with its original, chat, or labeled generated context. Also use when asked to extract and save a useful expression from a supplied sentence; do not auto-save every unfamiliar word.
---

# Save to Phrase Bank

Keep the reply focused on the learner’s result and next action. Do not show phrase, task, operation or request IDs, raw status fields, or tool/rendering diagnostics. Use titles and returned website links. Do not announce that a native widget was rendered or reopened; the widget already presents the result.

Native Contexta UI is required when available: after saving, display the exact saved item's passive card as specified in the shared workflow. Do not start audio or choose another phrase just to show the interface.

Save one explicitly requested expression and its provenance. Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service.

## Choose the expression and keep its context

- For an exact word or phrase, keep the learner's selected surface form. Do not silently replace it with a synonym, infinitive or different expression.
- When asked to save a useful expression from a full sentence, select the smallest reusable collocation or functional expression. Keep essential prepositions and negation that defines the intended expression, such as “can't rule out.” Sentence polarity can remain in its exact source context: from “We did not get the ball rolling until Monday,” save `phrase="get the ball rolling"` and retain that complete negated sentence in both `context` and `original_sentence`, with `context_source="original"`. Never rewrite the source sentence into a positive claim.
- If multiple materially different cores are plausible, offer a small choice before saving. Do not automatically mine all unfamiliar expressions or send the entire chat.
- Preserve the exact supplied source sentence in `original_sentence`. Prefer that sentence as `context` with `context_source="original"`.
- If there is no supplied source sentence, relevant actual chat wording can be `context_source="chat"`. Otherwise an optional neutral practice example can use `context_source="generated"`; clearly label it as generated and never present invented facts as the learner's biography or a source quotation.
- A phrase without context can still be saved. Generated examples are not evidence that the learner has used the phrase.

## Save once

Call `save_phrase` with the chosen `phrase`, optional `context`, `context_source` and exact `original_sentence` when supplied. Explicit save intent authorizes this additive save; no extra project, trial or generic confirmation is required.

Return the actual expression, short context and provenance, `saved`/`already_saved` result and exact Phrase Bank URL. A repeated save must not be described as a new entry or new learning progress. Preserve existing learned state. Do not promise morphology-aware deduplication or automatic mastery.

After saving, offer review or short pronunciation only when useful to the learner's request. Do not start an audio task, new project or reminder automatically.

Referenced files: 3 — file references are metadata, not package contents.

Release notes

Start Try Contexta with a standalone Speaking exercise, microphone recording, and real pronunciation and grammar feedback. Continue to the website project wizard. Improve source-grounded interview session generation, title cleanup, preparation status, and safe retry behavior.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Contexta LLC
Keywords
See keywords
Declared availability
No country restrictions declaredDeclared regions; live availability may differ.
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Read
  • Write

Package observed Nov 6, 2026.

Technical details
First seen
Oct 31, 2026 · 06:00 UTC
Last seen
Nov 6, 2026 · 00:00 UTC
Latest observed change
Nov 6, 2026 · 00:13 UTC
Collection status
Collected

plugin_asdk_app_6aced5c309688191abba864964c7b839

Download plugin data (JSON)