Deno TypeScript sandbox with transparent API proxy for executing code in an isolated environment with credential substitution and network control
CodeForge has 5 tools with clear verb-based naming (get_, execute_, list_, update_, delete_). All tools have descriptions and input schemas with Zod validation. However, descriptions are terse (avg ~80 chars, below the 194-char baseline), parameter descriptions lack detail on constraints and formats, and output schemas are not documented. Error handling returns isError flags but lacks recovery guidance. The execute_code tool accepts arbitrary code, creating a security surface that requires careful sandboxing (which is implemented via Deno). Skills management tools (update_skill, delete_skill) lack confirmation patterns for destructive operations.
Delete a skill file from the skills directory
Execute TypeScript code in a Deno sandbox with optional API type definitions and timeout control
Get the server-level instructions for using CodeForge
List all configured APIs with their metadata, domains, and available credentials
Update an existing skill file using SEARCH/REPLACE patch blocks
Parameter descriptions lack constraint details. 'code' param in execute_code has no mention of timeout behavior, sandbox limits, or what APIs are available. 'patch' in update_skill references SEARCH/REPLACE format but doesn't explain escaping or error handling.
Output schemas not documented. Tools return text content in isError/content structure, but LLMs cannot infer what fields to expect from list_apis (JSON structure), execute_code (stdout/stderr), or update_skill (success/failure details).
Destructive operations lack confirmation pattern. delete_skill and update_skill (which modifies code) have no dry-run, confirmation step, or undo mechanism. An LLM could accidentally delete a skill or corrupt code.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | <=2025-11-25 | v2 |
Error messages lack recovery guidance. execute_code returns stderr/stdout on failure but doesn't suggest next steps (e.g., 'Check syntax' or 'Try with timeout=120'). delete_skill/update_skill have no error classification (retryable vs fatal).
Descriptions are below baseline length. Average ~80 chars vs 194-char baseline. 'Execute TypeScript code in a Deno sandbox...' is functional but lacks WHEN to use it, prerequisites, or what happens on timeout/error.