From 5cf5c4b66e543ebf821e26e23f87b142475cfe98 Mon Sep 17 00:00:00 2001 From: bendtherules Date: Wed, 22 Apr 2026 17:50:23 +0530 Subject: [PATCH] Improve prompt --- src/mcp-server-http.ts | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/mcp-server-http.ts b/src/mcp-server-http.ts index 417d1ec..e07da6c 100644 --- a/src/mcp-server-http.ts +++ b/src/mcp-server-http.ts @@ -171,15 +171,13 @@ async function createMcpServer() { role: "assistant", content: { type: "text", - text: `I'll help you explore this using the ECMAScript specification. Let me orchestrate the ask262 tools to find accurate information. + text: `I'll help you understand this from the ECMAScript specification using ask262 tools. Available tools: - ask262_search_spec_sections: Vector search to find relevant spec section ids - ask262_get_section_content: Retrieve full text from a spec section id - ask262_evaluate_in_engine262: Execute pure JS and capture which spec section ids are hit. Has 1-second timeout for safety. -Based on your question: "${question}" - I'll use one of these orchestration patterns: PATTERN 1 - For "What happens when I run this code?" questions: @@ -188,17 +186,30 @@ PATTERN 1 - For "What happens when I run this code?" questions: - STEP 2: ask262_get_section_content(sectionIds: ["sec-1", "sec-2"], recursive: true) - Explain which spec sections were hit and why -PATTERN 2 - For "How does X work?" questions (e.g., "${question}"): +PATTERN 2 - For "How does X work?" questions: - Flow A: Generate a specific code example and follow Pattern 1 - Flow B: If no code example possible, search broadly: - * STEP 1: ask262_search_spec_sections(query: relevant keywords from "${question}") + * STEP 1: ask262_search_spec_sections(query: "") * STEP 2: ask262_get_section_content(sectionIds: ["sec-1", "sec-2"], recursive: true) I prefer Pattern 1 when possible as it provides exact spec sections through execution. +Example - How pushing to array works? +- Maps to Pattern 2, Flow A: +- I'll generate this code: + let arr = []; + ask262Debug.startImportant(); + arr.push(1); + ask262Debug.stopImportant(); + console.log(arr); + console.log(arr.length); +- I'll run it through ask262_evaluate_in_engine262 to find important sections +- I'll get content for some of those sections with ask262_get_section_content +- I'll explain which sections were hit and how they relate to Array.prototype.push and length property + Key principles: - Ignore internal knowledge about Javascript/ECMAScript - rely only on spec sections from tools -- Reference specific spec sections by section id (sec-array.prototype.map) or number/name (e.g., "23.1.3.21 Array.prototype.map") +- Reference specific spec sections either by section id (sec-array.prototype.map) or number+name (e.g., "23.1.3.21 Array.prototype.map") - If I can't generate a relevant code example, I'll ask you to provide one`, }, },