← Plugin catalog
Education & Research

Contexta Learning

Contexta LLC v0.4.19

Save, review and speak English

Create a free account to save this plugin.

Competitor profile

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

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

Help me try Contexta with a ready-made demo project. Show me the available demos and the plan before creating anything.

View package source →

Description

From the marketplace listing

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 explicitly request AI adaptation. Additions inherit project settings and create only new sessions, leaving existing materials and results unchanged. Use new packs or explicitly choose an existing pack. Keep useful expressions with their original or clearly labeled generated context, review saved phrases and try short read-aloud or free-speaking audio practice with measured feedback. Full sessions and detailed history remain on the Contexta website. Audio recording depends on host support; continue on the Contexta website when recording is unavailable. Chat suggestions and viewing a phrase are not saved assessments or mastery.

Language: English · Automatically detected from descriptions.

What changed

Keywords

Files & skills

File archives

Plugin package35 files · 136 KBBrowse files →
Skill instructions
create-project5.66 KB

View saved version →

---
name: create-project
description: Create a standard Contexta English practice project from selected materials or files, with an approved plan, default AI adaptation for interviews, and requested adaptation for other scenarios. Use for new interview, presentation/meeting, or work/study projects; additions to existing projects use save-material.
---

# 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.

Create an ordinary owned Contexta project through an approved server-held plan. Read and apply [the shared workflow](../../references/workflow.md) before replying or calling the service.

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

## 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.

## 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-practice4.7 KB

View saved version →

---
name: pronunciation-practice
description: Start a short Contexta read-aloud or free-speaking audio practice, including a saved phrase, and show measured speech feedback. Use for explicit pronunciation/speaking practice; text answers and voice-dictated chat alone are 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.

## Reply at each stage

For a prepared or resumed recording, the complete chat reply is one short action sentence, for example: “Press **Record answer**, say ‘the intended benefit’, then **Submit** to 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 processing, say only that the submitted recording is being assessed. For saved feedback, give one useful suggestion supported by that assessment; its scores are already in the component. For a retry, point to one actual correction and the recording action. Use a returned website link when the recorder is unavailable, 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 a recording upload before the learner explicitly records and submits it. The widget requests microphone permission only on a click and keeps recordings local until Submit. If the host blocks recording, offer the actual website link to record there; do not offer an audio-file picker; do not 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 in chat with a ready-made demo request. Show available demos and the plan before creation. Existing tools, skills, OAuth connection and approval requirements are unchanged.

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 4, 2026.

Technical details
First seen
Oct 31, 2026 · 06:00 UTC
Last seen
Nov 4, 2026 · 06:00 UTC
Collection status
Collected

plugin_asdk_app_6aced5c309688191abba864964c7b839

Download plugin data (JSON)