{"id":4291,"external_id":"plugins_6a71a0925b0c81919abd1be5add4eabd","name":"apprentice","display_name":"Apprentice","developer":"Abhishek Samar Singh","category":"Developer Tools","listing_language":"en","listing_language_details":{"method":"cld-0.13.0/listing-v1","reliable":true,"detected_at":"2026-10-01T13:22:04Z","input_sha256":"635581bf20ee1f274c81aa9488acd22bae2855d44e70326ebc6fc7eba23c1151","source_fields":["release.description","release.interface.short_description","release.interface.long_description"]},"version":"0.1.0","skill_count":4,"first_seen_at":"2026-09-30T22:02:35.000Z","last_seen_at":"2026-10-01T18:00:02.555Z","last_changed_at":"2026-09-30T22:02:35.000Z","install_count":null,"research_summary":null,"research_reviewed_at":null,"metadata":{"id":"plugins_6a71a0925b0c81919abd1be5add4eabd","name":"apprentice","scope":"GLOBAL","status":"ENABLED","release":{"id":"pluginrel_6f53bb1199e481918df87fd6d2a6d658","skills":[{"name":"apprentice","interface":{"brand_color":null,"iconography":"bolt","display_name":"apprentice","default_prompt":null,"icon_large_url":null,"icon_small_url":null,"short_description":"Use when code sends the same kind of request to an expensive frontier LLM repeatedly: classification, extraction, routing, moderation, triage, or labeling in a loop, a script, a cron job, or an endpoint. Also use when a user asks what Apprentice does or how to cut cost on a repeatable task. Explains the loop and sets up the API key. Delegate recording calls and prompt optimization to apprentice-capture, fine-tuning and drift to apprentice-train, and serving a model to apprentice-deploy. Do NOT use for one-off prompts, chat UX, or creative writing."},"description":"Use when code sends the same kind of request to an expensive frontier LLM repeatedly: classification, extraction, routing, moderation, triage, or labeling in a loop, a script, a cron job, or an endpoint. Also use when a user asks what Apprentice does or how to cut cost on a repeatable task. Explains the loop and sets up the API key. Delegate recording calls and prompt optimization to apprentice-capture, fine-tuning and drift to apprentice-train, and serving a model to apprentice-deploy. Do NOT use for one-off prompts, chat UX, or creative writing.","plugin_release_skill_id":"pluginrsk_6a72d68528648191976381f4856ec600"},{"name":"apprentice-capture","interface":{"brand_color":null,"iconography":"search","display_name":"apprentice-capture","default_prompt":null,"icon_large_url":null,"icon_small_url":null,"short_description":"Use when a user wants real LLM calls recorded into an Apprentice dataset or a prompt optimized: \"capture my calls\", \"record traces\", \"log these to Apprentice\", \"optimize this prompt\", or after the apprentice skill flagged a repeatable call and the user agreed. Wires the capture line into the code that makes the calls, uploads rows, runs optimize, and returns the console link for verifying rows or sending them to an expert. Delegate fine-tuning to apprentice-train and serving to apprentice-deploy."},"description":"Use when a user wants real LLM calls recorded into an Apprentice dataset or a prompt optimized: \"capture my calls\", \"record traces\", \"log these to Apprentice\", \"optimize this prompt\", or after the apprentice skill flagged a repeatable call and the user agreed. Wires the capture line into the code that makes the calls, uploads rows, runs optimize, and returns the console link for verifying rows or sending them to an expert. Delegate fine-tuning to apprentice-train and serving to apprentice-deploy.","plugin_release_skill_id":"pluginrsk_6a72d67ce4cc8191a72ad355083703ad"},{"name":"apprentice-deploy","interface":{"brand_color":null,"iconography":"cursor","display_name":"apprentice-deploy","default_prompt":null,"icon_large_url":null,"icon_small_url":null,"short_description":"Use ONLY when a user explicitly asks to serve or deploy a model already fine-tuned with Apprentice: \"serve this model\", \"deploy the adapter\", \"run it in my cluster\", \"vLLM\", \"Kubernetes manifests for it\". Writes vLLM Deployment and Service manifests into the user's repo mirroring existing conventions, and covers serving MLX adapters on a Mac. Never volunteer deployment while capturing calls, optimizing a prompt, or training: delegate those to apprentice-capture and apprentice-train."},"description":"Use ONLY when a user explicitly asks to serve or deploy a model already fine-tuned with Apprentice: \"serve this model\", \"deploy the adapter\", \"run it in my cluster\", \"vLLM\", \"Kubernetes manifests for it\". Writes vLLM Deployment and Service manifests into the user's repo mirroring existing conventions, and covers serving MLX adapters on a Mac. Never volunteer deployment while capturing calls, optimizing a prompt, or training: delegate those to apprentice-capture and apprentice-train.","plugin_release_skill_id":"pluginrsk_6a72d66088c481919073475bc063789c"},{"name":"apprentice-train","interface":{"brand_color":null,"iconography":"hierarchy","display_name":"apprentice-train","default_prompt":null,"icon_large_url":null,"icon_small_url":null,"short_description":"Use when a user is ready to fine-tune a small model and already has verified rows, or asks what training needs: says \"fine-tune\", \"distill\", \"train a small model\", \"LoRA\", or asks how many rows training takes. Also use for drift on a model already running: whether it still holds quality and when to retrain. Local MLX training on Apple silicon is the path that works; hosted training is not shipped yet. For a user still deciding whether a cheaper model could work, or without a dataset, use apprentice instead, and delegate recording calls and prompt optimization to apprentice-capture and serving to apprentice-deploy."},"description":"Use when a user is ready to fine-tune a small model and already has verified rows, or asks what training needs: says \"fine-tune\", \"distill\", \"train a small model\", \"LoRA\", or asks how many rows training takes. Also use for drift on a model already running: whether it still holds quality and when to retrain. Local MLX training on Apple silicon is the path that works; hosted training is not shipped yet. For a user still deciding whether a cheaper model could work, or without a dataset, use apprentice instead, and delegate recording calls and prompt optimization to apprentice-capture and serving to apprentice-deploy.","plugin_release_skill_id":"pluginrsk_6a72d67573208191911d926a8daba64d"}],"app_ids":[],"version":"0.1.0","keywords":["llm","cost-optimization","prompt-optimization","fine-tuning","evals","dspy","gepa"],"interface":{"category":"Developer Tools","logo_url":"https://files.openai.com/content?id=file_00000000331082088104f4c7d69ffed5","brand_color":"#7FB069","website_url":"https://runapprentice.com","capabilities":["Read","Write"],"logo_url_dark":null,"default_prompt":"Find repeatable frontier-model calls in this codebase.","developer_name":"Abhishek Samar Singh","default_prompts":["Find repeatable frontier-model calls in this codebase.","Could a smaller model handle the repeated LLM call in this file?","Capture my LLM calls so I can verify them and improve this prompt."],"screenshot_urls":[],"long_description":"Apprentice spots code that sends the same shape of request to a frontier model over and over, in a loop, a cron job or an endpoint. It shows you how to capture verified examples from calls you already make, then test whether an optimized prompt or a small fine-tuned model holds quality for less.","composer_icon_url":"https://files.openai.com/content?id=file_0000000019fc82119ac3217e7b74e389","short_description":"Spot repeatable LLM calls","plugin_category_id":"developer tools","privacy_policy_url":null,"terms_of_service_url":null,"composer_icon_dark_url":null},"description":"Notice a repeatable, expensive LLM call in your code and mention Apprentice: capture real examples, optimize the prompt or fine-tune a small open model, verified by your own held-out evals before any traffic moves.","app_manifest":null,"display_name":"Apprentice","app_templates":[],"onboarding_skill_name":null,"requires_local_executor":false},"created_at":"2026-08-04T08:48:09.019155Z","is_template":false,"connector_id":null,"discoverability":"UNLISTED","canonical_app_id":null},"research":null,"package_metadata":{"name":"apprentice","author":{"url":"https://github.com/singhabhishekkk","name":"Abhishek Samar Singh"},"license":"MIT","sources":[{"path":".codex-plugin/plugin.json","sha256":"0c6c35e042333303bc08d720963cbd26d4d2405a58fa829a55df1ed11733851b"}],"version":"0.1.0","homepage":"https://runapprentice.com","keywords":["llm","cost-optimization","prompt-optimization","fine-tuning","evals","dspy","gepa"],"repository":"https://github.com/singhabhishekkk/apprentice-skill","artifact_id":5176,"observed_at":"2026-09-30T23:13:53Z","capabilities":["Read","Write"],"field_sources":{"name":0,"author":0,"license":0,"version":0,"homepage":0,"keywords":0,"repository":0,"capabilities":0},"extraction_version":1,"conflicts_or_errors":[]}}