HTML Workbench skill
A local visual editor for an HTML page: edit with the mouse, preview scripts, save back to the same file.
- 51 ★ on the repository
- Last commit
Extended access
Why this level
- A local service on 127.0.0.1 reads and overwrites the selected HTML files.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/html-workbenchDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- A local service on 127.0.0.1 reads and overwrites the selected HTML files.
This is third-party code. Review the repository files before installing.
What it does
HTML Workbench turns a single self-contained `.html` file into a local workspace. The agent creates a page, runs it through a compatibility validator and calls `open`: a service on `127.0.0.1` returns an editor URL where a person edits text, images, styles and block placement. Preview mode rebuilds the page from unsaved edits so buttons, links and scripts run as in a normal browser. Save writes the result to the original file and stops if the file changed on disk. That way a person and an agent edit one source without overwriting each other. A plugin for DeepSeek Harness embeds the editor in a side panel.
Who it is for. People who build one-page sites and decks with AI and want to refine them with the mouse instead of a series of prompts.
Good fit when
- An agent built a landing page and the title and images need manual nudging.
- Buttons and links must be tested before saving edits.
- A person and an agent edit the page at once and changes must not be lost.
- You need a quick editor for one HTML file without a frontend project scaffold.
Not a fit when
- The page loads resources from a CDN or spans several project files.
- You need an editor for a React app.
- Python 3.9 is unavailable on the machine.
Example request
Validate landing.html with the HTML Workbench validator and open it in the editor so I can adjust the title and images.Limitations
Python 3.9 or newer is required. The page must be a single file with HTML, CSS, JavaScript and images together, with no CDN or extra folders, or the validator returns errors. Interactivity works best with stable semantic markers rather than `nth-child` and node order. The repository states no license, so factor that into usage. The DeepSeek Harness plugin needs a recent harness release and a matching Node.js version.
How to disable. Stop the service and delete the skill folder from the agent skills directory. The DeepSeek Harness plugin is removed through that harness plugin command.
FAQ
Do I need Node.js?
Not for normal use. The README requires only Python 3.9 or newer. Node.js is needed to build the DeepSeek Harness plugin.
Which command opens the editor?
`python3 skill/html-workbench/scripts/workbench.py open /absolute/path/page.html`. It starts a local service if none runs and prints JSON with the URL.
Is the editor reachable from the LAN?
No. The service listens on `127.0.0.1` and files are never exposed.
What happens if the file changes during editing?
Save stops and does not overwrite the file. A revision check protects edits made by an agent or another tool.
Does the tool generate HTML itself?
No. Create the page any way you like and Workbench opens the finished document.
Discussion
No questions or reviews yet.
Related
SkillsA page compiler: the agent writes a short YAML spec and the compiler builds an offline self-contained HTML file.
A skill and CLI that make dependency-free single-file HTML: shadcn tokens, seven layouts, SVG charts and an agent self-check
A CLI that sets up a canvas where an AI agent builds dashboards and reports as React artifacts, revised block by block
A deterministic HTML and CSS check for 73 tells of generated UI, with auto-fixes and the /gesso-critique command.
A skill that dissects and ports WebGL, WebGPU and Canvas effects from a page into a standalone local JS project
A visual website builder with a built-in MCP server: the agent helps assemble static pages with dynamic data on the model you choose
README in short
The tool opens finished HTML in a GrapesJS-based visual editor, validates the page and saves edits back. It ships with an agent skill and a DeepSeek Harness plugin.
README badge
Original SKILL.md
--- name: html-workbench description: Start or reuse the bundled local HTML Workbench and return a visual editor URL for a local .html file. Use when the user asks to generate HTML and make it editable, convert an HTML page to an editable state, open a local HTML file in a visual editor, or continue AI and human editing against the same source file. --- # HTML Workbench Open a complete local HTML document in the bundled GrapesJS workbench. Keep the source file as the shared source of truth for visual edits and later AI edits. ## Workflow 1. Resolve the target `.html` file to an absolute path. When the user asks to generate a page, read `references/editable-html-guidelines.md` and generate one complete, self-contained HTML document containing `html`, `head`, and `body`. Inline its CSS and JavaScript; embed required visual assets; do not create a multi-file web project or depend on a CDN unless the user explicitly asks for that trade-off. 2. Generate position-independent interactions that use stable semantic markers, delegated events, and idempotent initialization. For a page with business JS, test the interaction in preview mode after opening it. 3. Resolve the directory containing this `SKILL.md`. Treat its `scripts/workbench.py` as the service entrypoint and `scripts/validate_html.py` as the compatibility validator. 4. Find Python 3 in this order: - Run `python3 --version`. - Run `python --version` if `python3` is unavailable. - On Windows, run `py -3 --version` if both commands are unavailable. 5. Require Python 3.9 or newer. If no compatible interpreter exists, explain that the workbench needs Python 3.9+ and ask for confirmation before installing software. After confirmation, use the platform's normal trusted installer or package manager, then repeat the version check. 6. Read `references/validation-rules.md`, then validate the page before opening it. For a newly generated default page, require one self-contained file: ```text <python> <skill-dir>/scripts/validate_html.py --require-self-contained <absolute-html-path> ``` For an existing page that intentionally has relative resources, omit `--require-self-contained` and clearly report that it is not a single-file deliverable. Fix every reported error. Review warnings and remove structural JS/CSS coupling when practical; if a warning is intentionally accepted, state the assumption. 7. Always run `open` as the normal entrypoint. Do not run `serve` first: `open` checks the default local port, reuses a running HTML Workbench service when available, or starts it in the background when needed. It prints one JSON object containing the editor URL and whether the service was reused. ```text <python> <skill-dir>/scripts/workbench.py open <absolute-html-path> ``` 8. On the first run, allow the service to download the pinned GrapesJS assets. It verifies their SHA-256 hashes and caches them locally; later runs do not require network access. Do not download or inject an unverified substitute yourself. 9. Read the JSON written to stdout. When `ok` is true, open `url` in the available browser when browser control is available. In every final response, also return the URL as a clickable link, name the generated HTML file, and state whether the service was started or reused. If a browser cannot be opened automatically, tell the user to open that exact URL in any browser. 10. If startup fails, report the returned error and inspect the log path when one is provided. For `VENDOR_DOWNLOAD_FAILED`, explain that all configured sources were unreachable and ask the user to check the network before retrying. Do not replace the service with an ad-hoc server. ## Service commands Run the service independently in the foreground: ```text <python> <skill-dir>/scripts/workbench.py serve ``` Use `serve` only when a user explicitly wants to manage the foreground service. For normal Skill use, run `open <html-file>` instead.