Build terminal chat UIs with TUI4J - Elm Architecture chat client for AI agent demos with Spring Boot integration
90
90%
Does it follow best practices?
Impact
94%
1.38xAverage score across 3 eval scenarios
Low
Low-risk findings worth noting
Low
Low-risk findings.
1 low severity finding. Worth noting, but not necessarily harmful.
The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.
The skill issues runtime HTTP POSTs to the configured chat endpoint (default "http://localhost:8080" via baseUrl + "/chat?sessionId=...") and directly injects the response body into AgentResponse messages shown in the UI, so remote content can control the agent's prompts/output.
baseUrl + "/chat?sessionId=" + sessionId
url · 4 sites
The plugin makes HTTP POST requests to a configurable chat endpoint (baseUrl + "/chat?sessionId=...") and directly injects the response body into AgentResponse messages displayed in the UI, making the remote service an unverifiable runtime dependency.
SKILL.md
211
.uri(URI.create(baseUrl + "/chat?sessionId=" + sessionId))
SKILL.md
215
var resp = http.send(req, HttpResponse.BodyHandlers.ofString());
SKILL.md
216
return new AgentResponse(resp.body());
SKILL.md
186
messages.add(agentStyle.render("Agent: ") + resp.content());
localhost:8080
domain · 1 site
The plugin defaults to connecting to http://localhost:8080 as the chat endpoint, making this host a concrete runtime dependency that the plugin fetches from at runtime.
SKILL.md
226
String url = args.length > 0 ? args[0] : "http://localhost:8080";