← Files Language Trainer ENARCHIVED FILE

plugin.json

23 KB · Nov 3, 2026 · 19:04 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "language-trainer-public",
  "version": "1.1.9",
  "description": "\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u0443: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0443\u0440\u043e\u043a\u0438, \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430, \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441.",
  "homepage": "https://english-trainer.drestoonplaya.com",
  "keywords": [
    "\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439",
    "\u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435",
    "\u0443\u0440\u043e\u043a\u0438",
    "\u0441\u043b\u043e\u0432\u0430\u0440\u044c"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Language Trainer EN",
        "shortDescription": "\u0410\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u0441 ChatGPT",
        "longDescription": "Language Trainer - \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u0443 \u0441 \u0442\u0432\u043e\u0438\u043c ChatGPT.\n\n\u0417\u0430\u043d\u0438\u043c\u0430\u0439\u0441\u044f \u043f\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u0441 \u043e\u043f\u043e\u0440\u043e\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0438 CEFR \u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u044f\u0437\u044b\u043a\u043e\u0432. \u041e\u0431\u0441\u0443\u0436\u0434\u0430\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0432 Live, \u043f\u043e\u043b\u0443\u0447\u0430\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0447\u0438, \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0439 \u0442\u0435\u043e\u0440\u0438\u044e \u0438 \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u044f\u0439 \u0435\u0451 \u0432 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u044f\u0445. \u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0434 \u0442\u0432\u043e\u0438 \u0446\u0435\u043b\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b.\n\n\u041d\u043e\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438, \u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0442\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f. \u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043d\u043e\u0432\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0443\u0436\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u043e.\n\n\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438 Language Trainer \u0438 \u0441\u043a\u0430\u0436\u0438: \u00ab\u0414\u0430\u0432\u0430\u0439 \u043d\u0430\u0447\u043d\u0451\u043c \u0443\u0440\u043e\u043a\u00bb.\n\n\u041f\u0440\u043e\u0435\u043a\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439, \u0431\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438. \u0422\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c \u0441\u0432\u043e\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 ChatGPT \u0441 \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u043b\u0438\u043c\u0438\u0442\u0430\u043c\u0438.",
        "developerName": "drestoonplaya",
        "category": "Education & Research",
        "capabilities": [
          "\u0412\u044b\u0431\u043e\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f",
          "\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u0441\u043b\u043e\u0432 \u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439",
          "\u041a\u043e\u043d\u0441\u043f\u0435\u043a\u0442\u044b \u0438 \u043e\u0442\u0447\u0451\u0442\u044b \u043e\u0431 \u0443\u0440\u043e\u043a\u0430\u0445",
          "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0439 \u0443\u0447\u0435\u0431\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441"
        ],
        "websiteURL": "https://english-trainer.drestoonplaya.com",
        "supportURL": "https://english-trainer.drestoonplaya.com/support",
        "privacyPolicyURL": "https://english-trainer.drestoonplaya.com/privacy",
        "termsOfServiceURL": "https://english-trainer.drestoonplaya.com/terms",
        "defaultPrompt": [
          "\u041f\u043e\u043a\u0430\u0436\u0438 \u043c\u043e\u0439 \u043f\u043b\u0430\u043d \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433.",
          "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u043c\u043e\u0439 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0443\u0440\u043e\u043a \u043f\u043e \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u0443.",
          "\u041a\u0430\u043a\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0443\u0440\u043e\u043a\u0438 \u043f\u043e \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u0443 \u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e?"
        ],
        "brandColor": "#17365D",
        "brandColorDark": "#A9C8F4",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "commerce": false,
        "commerce_description": "This plugin does not sell products or subscriptions, process payments, or complete purchases.",
        "test_cases": {
          "positive": [
            {
              "description": "Required setup before review: a dedicated sample account with English access, a published A1/general program selected, UTC timezone, and no production learner data. Serbian review also needs an explicit server-side language-access grant. Preserve baseline course/learner IDs and progress privately. Prepare the course and current program before this read-only case; do not use an account requiring the creator's mailbox, phone or private session.",
              "prompt": "Show my English learning plan, current level and the next step. Do not change my program or history.",
              "tools_triggered": "get_learning_context({task:'setup'}); get_program_options({}); get_course_outline with returned pagination if required for the plan.",
              "expected_behavior": "Use the authenticated sample course and its actually published English program. Report the returned level, route and active/resume step, not a fabricated course. No profile/program/lesson mutation. Course and learner IDs match the privately recorded baseline. The server fixes the language to en; never send an identity or language override."
            },
            {
              "description": "Required setup before review: a dedicated sample account with English access, a published A1/general program selected, UTC timezone, and no production learner data. Serbian review also needs an explicit server-side language-access grant. Preserve baseline course/learner IDs and progress privately. Start from an unfinished main lesson if present; otherwise start the selected program's next main lesson. Read the complete required methodology/section pages before preparing a stage. Record the returned lesson ID for the resume check; do not mark any stage complete.",
              "prompt": "Start my next main English lesson. If I already have an unfinished lesson, continue that one and keep my saved checkpoint.",
              "tools_triggered": "get_learning_context({task:'coordinator_start'}); get_current_lesson({}); get_lesson_definition using a returned blueprint/lesson key; begin_lesson({request_id:<stable fresh UUID>,kind:'main',teaching_contract_version:'1.1'}); get_session_context({session_id:<returned ID>}); read every required read_teaching_section page; prepare_lesson_session with actual revision, finite assignment/context and reading_receipts.",
              "expected_behavior": "Use real IDs/revisions and the current program's full teaching contract. An existing main lesson resumes with the same ID and checkpoint. A retry keeps the exact operation UUID and payload and creates no duplicate. Assignment has bounded outcomes, activities, exclusions and stop rules. Starting/reading/preparing does not create completed lessons or alter prior progress."
            },
            {
              "description": "Required setup before review: a dedicated sample account with English access, a published A1/general program selected, UTC timezone, and no production learner data. Serbian review also needs an explicit server-side language-access grant. Preserve baseline course/learner IDs and progress privately. Run after case 2 has an actual Study session. Use this exact sample theory: Use **I am** to introduce yourself. Example: **I am a learner.** The reviewer explicitly requests the word 'introduce myself' with meaning '\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0441\u044f'. This is review sample content, not evidence of mastery. After the saved explanation is displayed, send a separate next-turn acknowledgment before marking it presented.",
              "prompt": "Save the expression 'introduce myself' meaning '\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0441\u044f' in my vocabulary notes and save this explanation exactly: Use **I am** to introduce yourself. Example: **I am a learner.** Show it to me; do not mark the lesson complete.",
              "tools_triggered": "get_learning_context; get_session_context and required reading as needed; save_vocabulary_note with fresh request_id, actual revision, own lesson_id/session_id, phrase/sense/meaning and explicit-request evidence; save_lesson_note with note_id=session_id+':note:'+topic_key+':v'+content_version, exact Markdown, equivalent safe HTML, html_format_version:1 and presentation_status:'prepared'; read_learning_material to verify. On a separate acknowledged next turn, confirm_lesson_note_presented with new UUID and current revision.",
              "expected_behavior": "The server commits the requested observation and immutable exact explanation to the same sample course. The shown Markdown equals the read-back; HTML has equivalent safe content. Prepared is not presented until the later turn. The note remains a pending observation unless explicitly processed; it is not a ready practice card, mastered word or completed lesson. No guessed IDs or overwritten history."
            },
            {
              "description": "Required setup before review: a dedicated sample account with English access, a published A1/general program selected, UTC timezone, and no production learner data. Serbian review also needs an explicit server-side language-access grant. Preserve baseline course/learner IDs and progress privately. Run only after the sample Study assignment from case 2 was actually attempted in the review conversation. Retain the exact prompts, learner attempts, corrections and assistance as the report fixture. The reviewer must explicitly request skipping both voice stages for this test, or supply their actual reports; no invented voice conversation. If complete Study coverage is not evidenced, this completion case is Blocked and the partial checkpoint remains.",
              "prompt": "For this sample lesson, I explicitly choose to skip both voice stages. Save only the Study results from our actual conversation, including the help I used. If the prepared core Study work was attempted and its required coverage is complete, finish the lesson. Do not invent time spent or claim independent mastery.",
              "tools_triggered": "get_learning_context({task:'coordinator_finalize'}); get_current_lesson; get_session_context/get_session_reports; skip_lesson_session for each requested voice skip with actual revision, reason and learner_requested:true; save_session_report with the actual Study session, fresh UUID/current revision, status and report.lesson_id/coverage supported by retained evidence; finish_lesson with actual lesson_id/revision and evidence-based summary only after server conditions pass.",
              "expected_behavior": "The report describes only observed work and assistance. Omit unknown actual_minutes and use minutes_source:'not_observed' where applicable. Incomplete coverage never becomes complete by instruction alone. For genuinely complete sample coverage, one main lesson is committed with server finished_at; repeating the same finish UUID/payload creates no second completion. Original course history remains intact and no CEFR/mastery claim is fabricated."
            },
            {
              "description": "Required setup before review: a dedicated sample account with English access, a published A1/general program selected, UTC timezone, and no production learner data. Serbian review also needs an explicit server-side language-access grant. Preserve baseline course/learner IDs and progress privately. Use the sample main completion produced in case 4, plus a separate optional-practice or partial fixture that must not count as a completed main lesson. Choose from_date as UTC date of that completion and to_date as the next UTC date; record these exact ISO dates privately before running.",
              "prompt": "Show the main English lessons I completed during the prepared review date range in UTC. Do not count optional practice, partial lessons, or simply opened notes.",
              "tools_triggered": "get_learning_context; get_completed_lessons({from_date:<prepared YYYY-MM-DD>,to_date:<next prepared YYYY-MM-DD>,timezone:'UTC'}).",
              "expected_behavior": "Use the real half-open [from_date,to_date) range and unique records with kind=main, status=completed and server finished_at. Include the sample main completion once; exclude practice/partial/viewing fixtures and duplicate polling. Match returned IDs/counts and explain source uncertainty. An API error is not zero lessons; no progress writes."
            }
          ],
          "negative": [
            {
              "description": "Direct control of external meeting software is unsupported. Explain that this plugin supplies language-learning tools and can guide a ChatGPT Live workflow, but cannot join Zoom, start another app's microphone, or place an external call. Invoke no Language Trainer tools merely to pretend this happened.",
              "prompt": "Join my Zoom meeting now, turn on my microphone and conduct the English call for me without my participation."
            },
            {
              "description": "This plugin is fixed to English. Explain the boundary and direct the learner to Language Trainer SRB without invoking this plugin's learning tools, switching its language, or changing the current course/history.",
              "prompt": "I want to study Serbian instead. Start its first lesson using this plugin and replace my current course."
            },
            {
              "description": "Third-party subscription cancellation and refunds are unsupported. Explain that Language Trainer cannot access or change Grammarly billing; offer the provider billing/support channel as a manual next step, without invoking learning/account tools, collecting payment details or claiming cancellation or a refund.",
              "prompt": "Cancel my Grammarly subscription and refund its last payment to my card. Do it through Language Trainer."
            }
          ]
        },
        "demo_recording_url": "https://english-trainer.drestoonplaya.com/review/language-trainer-en-cli-1.1.7.mp4",
        "prompts": [
          "Show my English learning plan, current level and the next step. Do not change my program or history.",
          "Start my next main English lesson. If I already have an unfinished lesson, continue that one and keep my saved checkpoint.",
          "Save the expression 'introduce myself' meaning '\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0441\u044f' in my vocabulary notes and save this explanation exactly: Use **I am** to introduce yourself. Example: **I am a learner.** Show it to me; do not mark the lesson complete.",
          "For this sample lesson, I explicitly choose to skip both voice stages. Save only the Study results from our actual conversation, including the help I used. If the prepared core Study work was attempted and its required coverage is complete, finish the lesson. Do not invent time spent or claim independent mastery.",
          "Show the main English lessons I completed during the prepared review date range in UTC. Do not count optional practice, partial lessons, or simply opened notes."
        ]
      },
      "publication": {
        "release_notes": "1.1.9: \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f \u0444\u0440\u0430\u0437\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0443\u0447\u0435\u0431\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b.",
        "countries": [],
        "translations": {
          "ru-RU": {
            "subtitle": "\u0410\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u0441 ChatGPT",
            "description": "Language Trainer - \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c\u0443 \u0441 \u0442\u0432\u043e\u0438\u043c ChatGPT.\n\n\u0417\u0430\u043d\u0438\u043c\u0430\u0439\u0441\u044f \u043f\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u0441 \u043e\u043f\u043e\u0440\u043e\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0438 CEFR \u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044e \u044f\u0437\u044b\u043a\u043e\u0432. \u041e\u0431\u0441\u0443\u0436\u0434\u0430\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0432 Live, \u043f\u043e\u043b\u0443\u0447\u0430\u0439 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0440\u0435\u0447\u0438, \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0439 \u0442\u0435\u043e\u0440\u0438\u044e \u0438 \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u044f\u0439 \u0435\u0451 \u0432 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u044f\u0445. \u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0434 \u0442\u0432\u043e\u0438 \u0446\u0435\u043b\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b.\n\n\u041d\u043e\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430 \u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438, \u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0438 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0441 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0442\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f. \u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043d\u043e\u0432\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0443\u0436\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u043e.\n\n\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438 Language Trainer \u0438 \u0441\u043a\u0430\u0436\u0438: \u00ab\u0414\u0430\u0432\u0430\u0439 \u043d\u0430\u0447\u043d\u0451\u043c \u0443\u0440\u043e\u043a\u00bb.\n\n\u041f\u0440\u043e\u0435\u043a\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439, \u0431\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438. \u0422\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0448\u044c \u0441\u0432\u043e\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 ChatGPT \u0441 \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u043b\u0438\u043c\u0438\u0442\u0430\u043c\u0438."
          }
        }
      },
      "onboardingSkill": "./skills/setup/SKILL.md",
      "apps": "./.app.json"
    }
  },
  "author": {
    "name": "drestoonplaya"
  }
}

SHA-256: f1a520d4064727daf57350fe34a6af2893d6fa4da9b8544a44c521c9dfdb04e8