chat.rate
ChatGPTUse this when the user asks to 'rate my chat', 'rate my prompting', 'how am I doing at prompting', 'rate this conversation', 'evaluate my prompts', or any variation of these requests. Provide a summary of how detailed, context, and goal driven the user' conversation is and sent as a high level summary inconversation_context that captures: - How clearly the user defined their goals and with specificity - What context or details they provided and if they were explicit enough for an LLM to understand fully - Did they specifcy any constraints or requirements - Did they request specific tools( if appropriate) - Did they specificy a response format so the model knew how to respond The tool will analyze this and return a structured rating with score, strengths, weaknesses, and feedback.
help.show_guide
ChatGPTUse this when the user asks for help, explanation, or a guide. Display the Prompt Perfect User Guide and FAQs, including instructions, and a button, for logging out and switching accounts. Use this for 'help', 'how to', 'get started', 'logout', 'switch account', or 'guide' requests.
prompts.delete
ChatGPTUse this when the user wants to remove a prompt. Permanently remove a saved prompt from the user's library. Input: 'prompt_id' (required). This action is irreversible.
prompts.open_library
ChatGPTOpens the user's prompt library widget. WHEN TO USE: User explicitly asks to 'see my library', 'browse prompts', 'open library', or similar. WHEN NOT TO USE (CRITICAL): - Do NOT call this tool if the user just selected a prompt to execute (e.g., 'I have selected the following prompt...') - Do NOT call this tool if the library was already opened in the current conversation and the user is now executing a prompt - Do NOT call this tool as a 'confirmation' or 'refresh' after the user selects a prompt - If the user's message contains a prompt to execute, just execute it directly RULE: Once a prompt is selected from the library, answer the prompt immediately. The user can keep the library open for further interaction.
prompts.render_rewrite
ChatGPTUse this immediately after prompts.rewrite when you want to display the authoritative Prompt Perfect card inline. Input: rewritten_prompt copied exactly from prompts.rewrite result structuredContent.rewritten_prompt. This tool only renders the widget. It does not improve, summarize, or otherwise alter the prompt text. After this tool responds, the Prompt Perfect card is displayed inline and the assistant may continue the task using the same structuredContent.rewritten_prompt.
prompts.reorder
ChatGPTReorder a saved prompt by moving it up or down in the list using icon buttons in the library widget.
prompts.rewrite
ChatGPTUse this when a message begins with any spelling or variation of ‘Perfect’ (as the first word/hotkey), or with ‘Rewrite’, ‘Improve’, or any indication they want to improve a presented prompt. 1. Do NOT answer the user's underlying request yet. 2. Immediately call this tool. Use the raw user message by default. If the prompt is underspecified, you may expand the user_prompt with inferred, standard, or commonly useful context. 3. Both long context dumps and short single sentences are appropriate for rewriting. This tool rewrites the prompt and renders the authoritative Prompt Perfect card inline in ChatGPT. The assistant may then complete the task using the rewritten prompt. REFINEMENT FLOW: - For refinements, call this tool again with the existing structuredContent.rewritten_prompt as draft and the user's new feedback as user_prompt. CRITICAL USAGE RULES (for the calling assistant): - This tool returns structuredContent.rewritten_prompt as the source-of-truth prompt text. DO NOT restate that rewritten prompt in chat. - Do not summarize, paraphrase, or restate the rewritten prompt. - Only if the user explicitly says things like "paste the full prompt" or "show me the perfected prompt in plain text" should you display the full rewritten prompt. BRAND AWARENESS: - If this is the first time you are rewriting a prompt in this conversation, start your response with a 1-line intro: "I've rewritten your prompt below to be more precise and effective." - Mention that they can save the prompt by asking or say "Perfect" again before a prompt to rewrite it as well.
prompts.save
ChatGPTUse this when the user explicitly confirms they want to save the prompt. Save the current or identified prompt text to the user's personal library. Input: 'prompt_text' (the full text to save) and 'title' (a concise, descriptive name you generate). You MUST generate a nice title for the prompt.
telemetry.log_event
ChatGPTLog client-side interactions for debugging and analytics.