### HTTP request file example with GET and POST Source: https://explyt.ai/docs/explyt-spring/http-client/http-files Shows a `.http` or `.rest` file with two requests separated by `###`. The first is a GET request to httpbin.org with an Accept header, the second is a POST with a JSON body. Click the Run icon to execute each request. ```http ### Get a sample GET https://httpbin.org/anything Accept: application/json ### Create an order POST https://httpbin.org/anything Content-Type: application/json { "sku": "ABC-123", "quantity": 2 } ``` -------------------------------- ### Start Bifrost with Docker Source: https://explyt.ai/docs/getting-started/guides/measure-token-usage Pull the Bifrost image, run the container with a persistent volume for settings and logs, and start an existing stopped container. Use these commands to set up the local Bifrost gateway that records token usage statistics. ```bash docker pull maximhq/bifrost ``` ```bash docker run --name bifrost -p 8080:8080 -v bifrost-data:/app/data maximhq/bifrost ``` ```bash docker start bifrost ``` -------------------------------- ### Start OpenCode CLI Source: https://explyt.ai/docs/explyt/connect/opencode Run this command in your terminal to initialize the OpenCode application. ```bash opencode ``` -------------------------------- ### Refactoring prompt example Source: https://explyt.ai/docs/getting-started/guides/refactor-code Example prompt to start a refactoring session, asking for a plan with small steps and risk assessment while preserving the public API. ```text Prepare a refactoring of this service without changing its behavior. First find its usages and the related tests. Propose small steps, and for each one state the risk and how to verify it. The public API must not change. ``` -------------------------------- ### Start the Codex CLI Source: https://explyt.ai/docs/explyt/connect/codex-cli Run the codex command to initialize the CLI application. ```bash codex ``` -------------------------------- ### model-routing.yaml profile contract example Source: https://explyt.ai/docs/explyt-test/configuration/models/model-routing-profiles Example of the current model-routing.yaml contract. The provider and model values are placeholders; use identifiers from the file saved through Settings. The file must contain fast, balanced, and strong profiles. ```yaml profiles: fast: description: "Use for lightweight read-only lookup and file reading." balanced: description: "Use for regular analysis and common implementation support." provider: "OpenAI" model: "gpt-5" reasoning: "medium" strong: description: "Use for complex architecture and deep review." provider: "Anthropic" model: "claude-sonnet-4" reasoning: "high" second-reviewer: description: "Use for an independent second review." ``` -------------------------------- ### explyt_get_spring_boot_applications response Source: https://explyt.ai/docs/explyt-spring/ai/mcp-tools Example response from explyt_get_spring_boot_applications, listing a Spring Boot application with its version, starters, module, and build tool. Use this orientation call to pick the right application in a multi-module workspace before calling other tools. ```json [ { "fullyQualifiedClassName": "com.example.OrdersApplication", "springBootVersion": "3.3.4", "springBootStarters": ["spring-boot-starter-web", "spring-boot-starter-data-jpa"], "moduleName": "orders-service.main", "buildTool": "gradle" } ] ``` -------------------------------- ### Example prompt for understanding code flow Source: https://explyt.ai/docs/getting-started/guides/understand-code Use this prompt in Ask mode to request an explanation of how a request travels from a controller to a database write. It asks for file paths and explicitly instructs the agent not to change the project. ```text Explain how a request travels from this controller to the database write. Find the main calls and implementations, and check the code of the linked dependencies if the behavior depends on them. Give the file paths and do not change the project. ``` -------------------------------- ### Start Codex CLI with a specific profile Source: https://explyt.ai/docs/explyt/connect/codex-cli Launch the CLI using the full profile configuration. ```bash codex --profile full ``` -------------------------------- ### Example prompt for adding tests Source: https://explyt.ai/docs/getting-started/guides/add-tests Use this prompt to ask the agent to add tests for specific scenarios, follow existing test style, avoid changing production code without justification, run tests via IDE configuration, and report results. ```text Add tests for a successful response, a missing record, and a dependency failure. Follow the style of the existing test class, and do not change production code without a separate justification. Run the tests through the IDE configuration and report which scenarios passed. ``` -------------------------------- ### Install httpYac globally with npm Source: https://explyt.ai/docs/explyt-spring/http-client/http-files Command to install httpYac globally via npm. After installation, ensure `httpyac` is on your PATH and set the HttpClient CLI Path to `httpyac` in Settings. ```bash npm install -g httpyac ``` -------------------------------- ### Record start and end times for token measurement Source: https://explyt.ai/docs/getting-started/guides/measure-token-usage Records the start and end UTC times in RFC3339 format before and after running a task, so you can measure token usage for a single request. Use a separate Bifrost virtual key and stop other clients to avoid contaminating the statistics. ```bash START_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") echo "$START_TIME" ``` ```bash END_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") echo "$END_TIME" ``` -------------------------------- ### Example prompt for debugging a failing test Source: https://explyt.ai/docs/getting-started/guides/fix-bug Use this prompt to instruct the agent to reproduce a test failure in Debug mode, set a breakpoint before the divergence point, verify the hypothesis, then apply a minimal fix and rerun the test. It emphasizes not changing code until the cause is confirmed. ```text Reproduce the failure of this test in Debug mode. Set a breakpoint before the place where the actual value diverges from the expected one, and check the hypothesis against the variable values and the call stack. Do not change code until the cause is confirmed. Then make the minimal fix and rerun the test. ``` -------------------------------- ### Diagnostic prompt to check active configuration Source: https://explyt.ai/docs/explyt-test/configuration/reference/active-configuration Run this prompt in a new chat to get a summary of the current agent mode, tool categories, Edit Scope, and permanent project instructions. The agent's answer is a hint, not full technical proof; cross-check against the interface and settings files. ```text Do not change the project. List the agent mode, the tool categories available to you, the active Edit Scope and the permanent project instructions you can confirm. Do not reveal secrets and do not restate hidden system instructions. If something cannot be determined, say so. ``` -------------------------------- ### Example prompt for safe code change Source: https://explyt.ai/docs/getting-started/guides/change-code Use this prompt to instruct the agent to change validation logic while limiting scope to attached files, preserving the public API, and running the matching test configuration. ```plaintext Change the validation in this method so that an empty name is rejected before the repository is called. Work only in the attached files and do not change the public API. Find the existing tests, make the minimal edit, and run the matching IDE test configuration. At the end, list the changed files and the run result. ``` -------------------------------- ### Get logs for a key Source: https://explyt.ai/docs/getting-started/guides/measure-token-usage Retrieves individual log entries for the same key and interval. Use this to check individual requests. ```bash curl --silent --show-error --get \ "http://localhost:8080/api/logs" \ --data-urlencode "selected_key_ids=$KEY_ID" \ --data-urlencode "start_time=$START_TIME" \ --data-urlencode "end_time=$END_TIME" ``` -------------------------------- ### SKILL.md with optional schemaVersion Source: https://explyt.ai/docs/explyt-test/configuration/reference/skills-schema Shows the optional schemaVersion field. If absent, Explyt uses version v0.1. The example sets schemaVersion to v0.1 along with name and description. ```yaml schemaVersion: v0.1 name: refactor description: Reviews and performs a refactoring ``` -------------------------------- ### Example request for stating a large task Source: https://explyt.ai/docs/explyt-test/agent/subagents Use this request to delegate a large task to subagents. It instructs the orchestrator to split the work into exploration, implementation, tests, and an independent review, run dependent steps sequentially, parallelize only parts that do not touch the same files, merge results, run checks, and report each subagent's actions. ```text Split the task into exploration, implementation, tests, and an independent review. Run dependent steps sequentially. Run only those parts in parallel that do not change the same files. At the end, merge the results, run the related checks, and report what each subagent did. ``` -------------------------------- ### explyt_get_project_beans_by_spring_boot_application response Source: https://explyt.ai/docs/explyt-spring/ai/mcp-tools Example response from explyt_get_project_beans_by_spring_boot_application, returning beans filtered by type. Pass the application's fully qualified class name and a beanType such as CONTROLLER, REPOSITORY, CONFIGURATION, COMPONENT, CONFIGURATION_PROPERTIES, AUTO_CONFIGURATION, ASPECT, or MESSAGE_MAPPING. ```json [ { "beanName": "orderRepository", "className": "com.example.repo.OrderRepository", "moduleName": "orders-service.main" }, { "beanName": "orderItemRepository", "className": "com.example.repo.OrderItemRepository", "moduleName": "orders-service.main" } ] ``` -------------------------------- ### Get dashboard statistics for a key Source: https://explyt.ai/docs/getting-started/guides/measure-token-usage Requests aggregated statistics for the selected key and interval. In the response, look at `overview.stats.total_tokens`; the breakdown contains `prompt_tokens`, `completion_tokens`, and `total_tokens`. ```bash curl --silent --show-error --get \ "http://localhost:8080/api/logs/dashboard" \ --data-urlencode "selected_key_ids=$KEY_ID" \ --data-urlencode "start_time=$START_TIME" \ --data-urlencode "end_time=$END_TIME" ``` -------------------------------- ### explyt_get_spring_data_entities output example Source: https://explyt.ai/docs/explyt-spring/ai/mcp-tools Example output of the `explyt_get_spring_data_entities` tool, showing the JSON structure returned for a single JPA entity. It includes the entity name, class name, table name, fields with column mapping and relationship details, and indexes. Use this to understand the shape of the data model description the tool provides. ```json [ { "name": "OrderItem", "className": "com.example.domain.OrderItem", "tableName": "order_items", "fields": [ { "name": "id", "type": "java.lang.Long", "column": "id", "primaryKey": true, "nullable": false, "relationship": null }, { "name": "sku", "type": "java.lang.String", "column": "sku", "primaryKey": false, "nullable": false, "relationship": null }, { "name": "order", "type": "com.example.domain.Order", "column": null, "primaryKey": false, "nullable": true, "relationship": "MANY_TO_ONE", "joinColumn": "order_id", "mappedBy": null } ], "indexes": [ { "name": "idx_order_id", "columns": ["order_id"], "unique": false } ] } ] ``` -------------------------------- ### explyt_get_spring_endpoint_contract response Source: https://explyt.ai/docs/explyt-spring/ai/mcp-tools Example response from explyt_get_spring_endpoint_contract, providing the full contract for a single endpoint: parameters, response DTO schema expanded recursively up to three levels, produces/consumes media types, and the first service method called. ```json { "httpMethods": ["POST"], "fullPath": "/api/stores/{storeId}/orders", "controllerClass": "com.example.api.OrderController", "methodName": "create", "parameters": [ { "name": "storeId", "source": "PATH", "type": "java.lang.String", "required": true }, { "name": "body", "source": "BODY", "type": "com.example.api.dto.CreateOrderRequest", "required": true } ], "responseSchema": { "className": "com.example.api.dto.OrderResponse", "fields": [ { "name": "id", "type": "java.lang.Long", "nullable": false, "nested": null }, { "name": "items", "type": "java.util.List", "nullable": false, "nested": { "className": "com.example.api.dto.OrderItemResponse", "fields": [ { "name": "sku", "type": "java.lang.String", "nullable": false, "nested": null } ] } } ] }, "produces": ["application/json"], "consumes": ["application/json"], "serviceCall": { "target": "com.example.service.OrderService.createOrder", "line": 88 }, "endpointType": "Spring MVC" } ``` -------------------------------- ### Get filter data from Bifrost Source: https://explyt.ai/docs/getting-started/guides/measure-token-usage Retrieves available filter values from Bifrost. The response contains a `selected_keys` object; find the key by name and copy its `id`. ```bash curl --silent --show-error "http://localhost:8080/api/logs/filterdata" ``` -------------------------------- ### explyt_find_spring_endpoint response Source: https://explyt.ai/docs/explyt-spring/ai/mcp-tools Example response from explyt_find_spring_endpoint, turning a URL into the exact handler method. Matching is forgiving: it matches the composed path, supports substring and fuzzy matching, and ignores path variable names. It covers Spring MVC, WebFlux, JAX-RS, HttpExchange, OpenFeign, OpenAPI, message brokers, and event listeners. ```json [ { "httpMethods": ["GET"], "fullPath": "/api/stores/{storeId}/orders/{orderId}/items", "controllerClass": "com.example.api.OrderItemsController", "methodName": "items", "filePath": "src/main/kotlin/.../OrderItemsController.kt", "line": 23, "parameters": [ { "name": "storeId", "source": "PATH", "type": "java.lang.String", "required": true }, { "name": "orderId", "source": "PATH", "type": "java.lang.String", "required": true }, { "name": "page", "source": "QUERY", "type": "java.lang.String", "required": false } ], "returnType": "com.example.api.dto.OrderItemsResponse", "endpointType": "Spring MVC" } ] ``` -------------------------------- ### Model catalog JSON for Codex in ChatGPT app Source: https://explyt.ai/docs/explyt/connect/codex-chatgpt-app JSON structure defining models for the Codex catalog. Each model entry includes fields like slug, id, display_name, description, context_window, max_output_tokens, base_instructions, shell_type, visibility, supported_in_api, priority, support_verbosity, truncation_policy, experimental_supported_tools, and supported_reasoning_levels. The example shows two models: OpenAI/gpt-5.6 and OpenAI/gpt-5.5. To add a model, copy any block and replace the slug value. The priority field determines order in the model picker (lower number = higher in list). If the error 'failed to parse model_catalog_json' appears after a Codex update, add the missing field to every model. ```json { "models": [ { "slug": "OpenAI/gpt-5.6", "id": "OpenAI/gpt-5.6", "display_name": "OpenAI GPT-5.6 Sol", "description": "OpenAI GPT-5.6 Sol", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 4, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.5", "id": "OpenAI/gpt-5.5", "display_name": "OpenAI GPT-5.5", "description": "Previous-generation OpenAI model", "context_window": 272000, "max_output_tokens": 16384, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 5, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] } ] } ``` -------------------------------- ### Prepare a large project prompt Source: https://explyt.ai/docs/getting-started/prompt-library Use in Ask, then Plan mode with a small entry point and a description of the change you plan. The agent maps the relevant project part and proposes small change steps with separate checks, without changing anything yet. ```text Map only the relevant part of the project: the entry point, the main calls, the implementations, the tests, and the module boundaries. Then propose small change steps with a separate check for each. Do not change anything yet. ``` -------------------------------- ### Understand code prompt Source: https://explyt.ai/docs/getting-started/prompt-library Use in Ask mode with a class, method, or test attached as the entry point. The agent explains the data flow and names the file and symbol for each conclusion without making changes. ```text Explain how data travels from this method to the result. Find the main calls and implementations. For every conclusion, name the file and the symbol. Do not change anything. ``` -------------------------------- ### Ask Explyt to analyze a task-specific project path Source: https://explyt.ai/docs/getting-started/guides/work-with-large-project Prompt for Ask mode that instructs the agent to analyze only the path related to a change to find the entry point, main calls, implementations, related tests, module boundaries, and behavior effects without making changes. Works in large or legacy projects. Use after you have prepared the project and before setting an Edit Scope. ```text Analyze this part of the project for an upcoming change. Find the entry point, the main calls, the implementations, and the related tests. Show the module boundaries and list the places where a change could affect behavior. Do not change anything. ``` -------------------------------- ### Configure opencode.json Source: https://explyt.ai/docs/explyt/connect/opencode Create this file in your project root to define the Explyt provider, base URL, and model limits. ```json { "$schema": "https://opencode.ai/config.json", "provider": { "explyt": { "npm": "@ai-sdk/openai-compatible", "name": "explyt", "options": { "baseURL": "https://api.explyt.ai/openai/api" }, "models": { "auto": { "limit": { "context": 372000, "output": 32768 } }, "Anthropic/opus-5": { "limit": { "context": 465536, "output": 65536 } }, "Anthropic/sonnet-5": { "limit": { "context": 465536, "output": 65536 } }, "OpenAI/gpt-5.6-sol": { "limit": { "context": 372000, "output": 32768 } } } } } } ``` -------------------------------- ### Prompt the agent to check a library method's signature and behavior Source: https://explyt.ai/docs/getting-started/guides/check-library-api Use this prompt to ask the agent to inspect the linked library's code for a method's signature and behavior. It instructs the agent to explain accepted values, return value, exception conditions, and to reference the actual classes and methods found, without making changes. ```text Check the implementation and the signature of this method in the version of the library linked to the project. Explain which values it accepts, what it returns, and under which conditions it throws an exception. Refer to the classes and methods you found. Do not change code yet. ``` -------------------------------- ### GitHub MCP server with ${GITHUB_MCP_TOKEN} Source: https://explyt.ai/docs/explyt-test/tools/mcp Add this server configuration to the global or project MCP file to enable GitHub MCP. It uses the GITHUB_MCP_TOKEN environment variable for authorization. After adding, refresh servers in Settings → Tools → Explyt → MCP Servers and connect GitHub. ```json { "github": { "type": "http", "url": "https://api.githubcopilot.com/mcp", "headers": { "Authorization": "Bearer ${GITHUB_MCP_TOKEN}" } } } ``` -------------------------------- ### Configure authentication in ~/.codex/auth.json Source: https://explyt.ai/docs/explyt/connect/codex-cli Create or open the auth.json file to provide your API key for the Explyt gateway. ```json { "auth_mode": "apikey", "OPENAI_API_KEY": "" } ``` -------------------------------- ### Create model-catalog-full.json Source: https://explyt.ai/docs/explyt/connect/codex-cli Create this file next to your config.toml to define the available Explyt models. ```json { "models": [ { "slug": "auto", "id": "auto", "display_name": "Explyt Auto", "description": "Automatic model selection: high quality with maximum availability", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 1, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.6-sol", "id": "OpenAI/gpt-5.6-sol", "display_name": "OpenAI GPT-5.6 Sol", "description": "The highest quality among OpenAI models", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 2, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.6-terra", "id": "OpenAI/gpt-5.6-terra", "display_name": "OpenAI GPT-5.6 Terra", "description": "Balance of quality and speed among OpenAI models", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 3, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.6-luna", "id": "OpenAI/gpt-5.6-luna", "display_name": "OpenAI GPT-5.6 Luna", "description": "The fastest and cheapest among OpenAI models", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 4, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" } ``` -------------------------------- ### Configure full model catalog in ~/.codex/full.config.toml Source: https://explyt.ai/docs/explyt/connect/codex-cli Create a configuration file to point to the full model catalog when using multiple profiles. ```toml model_catalog_json = "./model-catalog-full.json" ``` -------------------------------- ### Configure agent and used-by fields for a multi-step Skill Source: https://explyt.ai/docs/explyt-test/configuration/reference/skills-schema Use this Skill frontmatter to enable manual invocation with `/skill-name` and restrict automatic selection to the Orchestrator and General modes. The `agent` field sets the mode for manual launches, while `used-by` controls which agents may select the Skill automatically. After saving, verify the setting by launching the Skill with `/skill-name` and checking that Explyt opens the expected mode. ```yaml --- name: multi-step-workflow description: Runs a multi-step scenario with the help of specialized subagents agent: Orchestrator used-by: - Orchestrator - General --- ``` -------------------------------- ### Define model catalog in model-catalog.json Source: https://explyt.ai/docs/explyt/connect/codex-chatgpt-app Create a model-catalog.json file to list the available Explyt models. ```json { "models": [ { "slug": "auto", "id": "auto", "display_name": "Explyt Auto", "description": "Automatic model selection: high quality with maximum availability", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 1, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.6-sol", "id": "OpenAI/gpt-5.6-sol", "display_name": "OpenAI GPT-5.6 Sol", "description": "The highest quality among OpenAI models", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 2, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.6-terra", "id": "OpenAI/gpt-5.6-terra", "display_name": "OpenAI GPT-5.6 Terra", "description": "Balance of quality and speed among OpenAI models", "context_window": 372000, "max_output_tokens": 32768, "base_instructions": "default", "shell_type": "default", "visibility": "list", "supported_in_api": true, "priority": 3, "support_verbosity": false, "truncation_policy": { "mode": "bytes", "limit": 10000 }, "experimental_supported_tools": [], "supported_reasoning_levels": [ { "effort": "low", "description": "low" }, { "effort": "medium", "description": "medium" }, { "effort": "high", "description": "high" }, { "effort": "xhigh", "description": "xhigh" } ] }, { "slug": "OpenAI/gpt-5.6-luna", "id": "OpenAI/gpt-5.6-luna", "display_name": "OpenAI GPT-5.6 Luna", "description": "The fastest and cheapest among OpenAI models", ``` -------------------------------- ### Ask mode: explain selected code Source: https://explyt.ai/docs/getting-started/quickstart Use in Ask mode to request an explanation of selected code without changing the project. The prompt asks for input data origin, return value, and neighboring symbols, with file and symbol names for verification. ```text Explain what this code is responsible for: where the input data comes from, what result it returns, and which neighboring symbols I should read to verify the explanation. For every conclusion, name the file and the symbol. ``` -------------------------------- ### Cross-model review: prompt and multi-model-review Skill Source: https://explyt.ai/docs/explyt-test/configuration/models/model-routing-profiles Use this prompt and the ready-made Skill to run a cross-model review. The prompt instructs the main agent to launch three subagents in parallel and merge their findings. The Skill file defines the multi-model-review skill with the same workflow, saving it as `.explyt/skills/multi-model-review/SKILL.md` for use with `/multi-model-review`. ```text Review these changes in parallel with the gpt, opus and glm profiles. Each should independently find problems. Then merge the findings, remove duplicates, and produce a single prioritized list. ``` ```markdown --- name: "multi-model-review" schemaVersion: "v0.1" description: "Review changes in parallel with three models and produce a single list of problems" agent: "Orchestrator" used-by: - "Orchestrator" - "General" --- 1. Run a review of the changes in parallel with three subagents in Review mode using the `gpt`, `opus` and `glm` profiles. 2. Each subagent writes the problems it finds to its own section of the shared file `.tasks/review/.md`. 3. When all three finish, merge the findings: remove duplicates and assign priorities. 4. Produce a single consolidated list of problems. ``` -------------------------------- ### Define an HTTP request in a .http file Source: https://explyt.ai/docs/explyt-spring/quickstart Create a file with the .http extension to define and execute HTTP requests directly from the IDE using the Run icon. ```http ### Get a sample GET https://httpbin.org/anything Accept: application/json ``` -------------------------------- ### Check a library API prompt Source: https://explyt.ai/docs/getting-started/prompt-library Use in Ask mode with the call site of the library and the error or question attached. The agent examines the exact dependency version linked to the project and explains the API. ```text Check the signature and the implementation of this method in the version of the library linked to the project. Explain the parameters, the result, and the exceptions. Refer to the classes and methods you found. ``` -------------------------------- ### explyt_get_spring_boot_applications Source: https://explyt.ai/docs/explyt-spring/ai/mcp-tools Lists Spring Boot applications in the workspace with detected versions and starters. ```APIDOC ## explyt_get_spring_boot_applications ### Description Lists the Spring Boot applications in the workspace, with detected Spring Boot versions and starters. This is the orientation call for a multi-module workspace — an agent uses it to pick the right application before calling anything else. ### Method N/A (MCP tool) ### Endpoint N/A (MCP tool) ### Parameters None ### Request Example None ### Response #### Success Response - **fullyQualifiedClassName** (string) - Fully qualified class name of the application - **springBootVersion** (string) - Detected Spring Boot version - **springBootStarters** (array of string) - List of Spring Boot starters - **moduleName** (string) - Module name (e.g., "orders-service.main") - **buildTool** (string) - Build tool (e.g., "gradle") #### Response Example ```json [ { "fullyQualifiedClassName": "com.example.OrdersApplication", "springBootVersion": "3.3.4", "springBootStarters": ["spring-boot-starter-web", "spring-boot-starter-data-jpa"], "moduleName": "orders-service.main", "buildTool": "gradle" } ] ``` ``` -------------------------------- ### Request route: Plugin → AI Server → LLM Source: https://explyt.ai/docs/explyt-test/configuration/data-privacy-security Shows the general data flow from the plugin to the AI Server and then to the LLM. The plugin sends user data to the AI Server, which builds the prompt and passes it with the required data to the LLM. ```text Plugin → AI Server → LLM ``` -------------------------------- ### Configure model settings in config.toml Source: https://explyt.ai/docs/explyt/connect/codex-chatgpt-app Add these lines to the very beginning of your config.toml file to set the model provider and catalog path. ```toml model = "auto" model_provider = "explyt" model_catalog_json = "./model-catalog.json" ``` -------------------------------- ### Cross-model consensus: prompt and multi-model-consilium Skill Source: https://explyt.ai/docs/explyt-test/configuration/models/model-routing-profiles Use this prompt and the ready-made Skill to run a cross-model consensus task. The prompt instructs the main agent to launch three subagents in parallel and compare their answers. The Skill file defines the multi-model-consilium skill with the same workflow, saving it as `.explyt/skills/multi-model-consilium/SKILL.md` for use with `/multi-model-consilium`. ```text Solve this task in parallel with three subagents — the gpt, opus and glm profiles. Each should independently propose a solution. Then compare their answers, find discrepancies, and formulate a final solution that accounts for all viewpoints. ``` ```markdown --- name: "multi-model-consilium" schemaVersion: "v0.1" description: "Solve a task in parallel with three models and compare the results (cross-model consensus)" agent: "General" used-by: - "Orchestrator" - "General" --- 1. Run the task in parallel with three subagents in Code mode using the `gpt`, `opus` and `glm` profiles (see Model Routing). For research without edits, use Ask mode. 2. Each subagent independently proposes a solution and writes it to its own section of the shared file `.tasks/consilium/.md`. 3. When all three finish, read the file, compare the answers, and find discrepancies. 4. Formulate a final solution that accounts for all viewpoints and record it in the same file. ``` -------------------------------- ### Minimal SKILL.md with YAML front matter Source: https://explyt.ai/docs/explyt-test/configuration/reference/skills-schema A minimal SKILL.md file with required fields name and description, followed by Markdown instructions. The name must match [A-Za-z0-9_-]{1,50} and is used for manual invocation with /skill-name. ```markdown --- name: refactor description: Reviews a refactoring plan and carries it out in small steps --- First study the declarations and usages of the symbols being changed. After each step, run the appropriate check and review the diff. ``` -------------------------------- ### Rule: Provide plan and wait for approval Source: https://explyt.ai/docs/explyt-test/configuration/rules Rule that requires the agent to provide a plan and wait for the user's approval before moving to the implementation step. It specifies a file pattern of **/* and includes instructions, constraints, and output format. ```yaml --- filePattern: "**/*" --- Goal: Present a clear implementation plan and obtain explicit approval before changes. When triggered: When user asks to implement a new functionality. Instructions: - Propose a minimal, safe plan with numbered steps, expected outputs, and the list of files to be edited. - Mention alternatives (if any) with brief trade-offs. - Request explicit approval (e.g., "Approve plan"), and do not proceed without it. Constraints: - Keep the plan concise (5–10 steps) and include a rollback/backout idea if relevant. - Do not touch unrelated files. Output format: - Plan: numbered steps. - Files to change: bullet list with paths and rationale. - Risks/Checks: short bullets. - Approval prompt. ``` -------------------------------- ### HTTP server with ${MCP_TOKEN} header Source: https://explyt.ai/docs/explyt-test/tools/mcp Use this JSON configuration to define an HTTP MCP server that reads an authorization token from the MCP_TOKEN environment variable. The placeholder is substituted only in the headers value; substitution does not work in the URL, command, or env object. If the variable is not set, Explyt cannot resolve the configuration. ```json { "my-server": { "type": "http", "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${MCP_TOKEN}" } } } ``` -------------------------------- ### Skill directory path pattern Source: https://explyt.ai/docs/explyt-test/configuration/reference/skills-schema Shows the directory structure where each Skill lives: /skills//SKILL.md. Explyt reads only one level of directories inside skills. ```text /skills//SKILL.md ``` -------------------------------- ### General mode: add documentation comment Source: https://explyt.ai/docs/getting-started/quickstart Use in General mode to request a small edit, such as adding a documentation comment. The prompt explicitly limits changes to the comment only. ```text Add a short documentation comment to this method: its purpose, parameters, and return value. Do not change anything else. ``` -------------------------------- ### Rule: Write tests in GIVEN-WHEN-THEN format Source: https://explyt.ai/docs/explyt-test/configuration/rules Rule that requires the agent to write tests in the GIVEN-WHEN-THEN format. Note the filePattern option is set to **/*Test.kt. ```yaml --- filePattern: "**/*Test.kt" --- Goal: Ensure tests follow the GIVEN–WHEN–THEN (Arrange–Act–Assert) structure. Instructions: - Name tests descriptively (e.g., `shouldCalculateTotal_whenCartHasDiscounts`). - Structure each test into clearly separated sections using comments: `GIVEN`, `WHEN`, `THEN`. - Keep tests deterministic; avoid time/network randomness and excessive mocking. - Cover happy-path, edge cases, and error scenarios where applicable. - Do not modify production code solely to fit tests without user confirmation. Example skeleton inside a test: - GIVEN: set up inputs, collaborators, and state - WHEN: invoke the unit under test - THEN: assert expected outcomes (values, interactions, exceptions) ``` -------------------------------- ### Read-only verification task prompt Source: https://explyt.ai/docs/getting-started/guides/set-up-project Use this prompt in a new chat to verify that Explyt understands the project. It asks for an explanation of the project's purpose, main modules, and test running, requiring file references and no changes. ```text Explain the purpose of the project, its main modules, and how to run the tests. For every conclusion, name the file you rely on. Do not change anything. ``` -------------------------------- ### Configure ~/.claude/settings.json for Explyt Source: https://explyt.ai/docs/explyt/connect/claude-code Set the ANTHROPIC_BASE_URL to https://api.explyt.ai/openai/api, replace with your personal API key, and enable gateway model discovery. Optionally add CLAUDE_CODE_AUTO_COMPACT_WINDOW to enable automatic context compaction. ```json { "env": { "ANTHROPIC_BASE_URL": "https://api.explyt.ai/openai/api", "ANTHROPIC_API_KEY": "", "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": 1 } } ``` -------------------------------- ### Rule: Ask clarifying questions before implementation Source: https://explyt.ai/docs/explyt-test/configuration/rules Rule that requires the agent to ask as many questions as possible before moving to the implementation step. It specifies a file pattern of **/* and includes instructions, constraints, and output format. ```yaml --- filePattern: "**/*" --- Goal: Maximize clarification before implementation. When triggered: When user asks to edit/refactor/write new code. Instructions: - First, carefully read the user's request and the currently open file. - Ask focused clarifying questions before any implementation. Aim for at least 5 questions unless the request is trivially scoped; if fewer questions suffice, explain why. - Cover scope, target files/modules, constraints, acceptance criteria, risks, environment/tooling, and expected output format. - Group questions in a single message and wait for the user's answers before making any changes. Constraints: - Do not edit files or run commands until the user explicitly approves proceeding. - Do not assume missing information; if something is unclear, ask. Output format: - Questions: a bullet list of specific questions. - Assumptions (if any): explicitly stated and limited. - Draft plan (pending approval): 3–7 concise steps. ``` -------------------------------- ### Configure Codex CLI model settings Source: https://explyt.ai/docs/explyt/connect/codex-cli Add these lines to the very beginning of your ~/.codex/config.toml file to set the model provider and catalog path. ```toml model = "auto" model_provider = "explyt" model_catalog_json = "./model-catalog-full.json" ``` -------------------------------- ### Add tests prompt Source: https://explyt.ai/docs/getting-started/prompt-library Use in Test mode with the code under test and one or two existing tests attached. The agent adds tests for the specified scenarios, follows project style, and runs them via the IDE run configuration. ```text Add tests for the successful scenario, a missing record, and a dependency failure. Follow the project style. Do not change production code without a separate justification. Run the tests through the IDE run configuration. ``` -------------------------------- ### Check security prompt Source: https://explyt.ai/docs/getting-started/prompt-library Use in Ask or General mode after running the vulnerability search, with the finding attached. The agent analyzes the finding, explains exploitation conditions, data path, and damage, and separates facts from assumptions without changing code. ```text Analyze this finding. Explain the conditions for exploitation, the data path, and the possible damage. Do not change code yet. Separate confirmed facts from assumptions. ``` -------------------------------- ### Rule file with filePattern frontmatter Source: https://explyt.ai/docs/explyt-test/configuration/rules Basic structure of a Rule file: YAML frontmatter with a filePattern glob and Markdown content. When the open file matches the glob, Explyt adds the content to the system prompt. ```markdown --- filePattern: "**/*" --- The rule content goes here... ``` -------------------------------- ### Change code safely prompt Source: https://explyt.ai/docs/getting-started/prompt-library Use in General or Code mode with the target file, expected behavior, and check attached. The agent makes the minimal edit within the listed files and runs the related check. ```text Make this change only in the files listed. First find the related usages and tests, then make the minimal edit. Run the related check and report the result. ``` -------------------------------- ### Rule: Gather context thoroughly before editing Source: https://explyt.ai/docs/explyt-test/configuration/rules Rule that requires the agent to gather context thoroughly, search for usages, and ask the user for more information. It specifies a file pattern of **/* and includes instructions, constraints, and output format. ```yaml --- filePattern: "**/*" --- Goal: Thoroughly understand the request and its impact area before editing. When triggered: When user asks to work with existing code. Instructions: - Identify key entities (classes, functions, files, feature names) from the request and the open file. - Search the project for definitions and usages of these entities; review adjacent and entry-point files. - Summarize the relevant context: responsibilities, dependencies, invariants, and side effects. - If any ambiguity remains, ask the user targeted follow-up questions. Constraints: - Avoid speculative changes; do not edit until you present a plan and get approval. - Prefer minimal-impact changes and clearly call out potential risks. Output format: - Context Summary: 5–10 bullets with findings and paths to files. - Impact Analysis: which files/components are affected and why. - Open Questions: bullets. - Plan (pending approval): concise, step-by-step. ``` -------------------------------- ### Prompt to analyze a security finding Source: https://explyt.ai/docs/getting-started/guides/check-security Use this prompt when you need the agent to explain a security finding without modifying code. It asks for reproduction conditions, the data path to the dangerous operation, and potential exploitation, while separating confirmed facts from assumptions. ```text Analyze this finding. Explain under which conditions it reproduces, what data travels to the dangerous operation, and what exploitation could lead to. Do not change code yet. Separate confirmed facts from assumptions. ``` -------------------------------- ### Configure Agent Commenting Rule Source: https://explyt.ai/docs/explyt-test/best-practices Add this rule to restrict the agent from generating comments unless explicitly requested. ```text Don't write comments unless you're directly asked to ```