Repository navigation
feat(writing-html-artifacts): add the HTML artifacts skill, component kit, diagrams and visual companion - #52
Merged
Merged
Conversation
Vendors simple.css 2.3.7, Alpine 3.17.4, Chart.js 4.5.1, Mermaid 12.2.0 and a single-file Web Awesome 3.14.0 bundle with an offline icon set, plus pins.py to verify checksums offline and check for outdated or advisory-hit pins.
Library and shell blocks are hash-verified only when their opening tag carries nothing but the data attribute, comments follow HTML rules instead of a regex, and network-call patterns are matched only in script bodies and on* handlers.
…rk-theme The theme chrome toggles wa-dark with the effective theme, follows the OS in auto mode, dispatches a quirk-theme event, and quirkData re-resolves on a new file pick. Drops the stale .gitignore reminder from the companion guides.
…ents and verify Unreadable template files become validation errors, license_file stays inside the version root with escaped comment fields, escaping is ASCII-only in every copy, pins verify skips inline_sha256 for non-inline files, and run_verify reports a missing file instead of raising.
…ponents templates quirk_html.py builds a source file into one offline HTML artifact (templates list/validate, build, check, verify, note), with built-in report (Simple.css + Alpine) and components (Web Awesome + Alpine) templates and worked examples.
Malformed data, unwritable outputs and an --out that would overwrite the source now exit 2 with one JSON object; data paths stay inside the project or source directory, NaN/Infinity is rejected, sidecars follow the source slug, and note takes --verify-dir.
…template companion.py starts a localhost server for brainstorming screens, builds each screen from screen.json with a per-screen nonce, records clicks and Proceed in an append-only event log, and serves Mermaid from the vendor store.
…create flow The app template (React, Vite single-file, Astryx, TanStack) builds with build-app using a frozen, no-scripts pnpm install; templates new and templates verify scaffold a custom template and gate it on its example.
…work Connected pages now load their real data under verify and every request is recorded; offline mode still aborts and fails on any request.
…nt, reject blank ids and labels
… and the text list
… fail over-nested details
…nesting, close fragment bars at the edge
… traces on the shared panel
…e loosely, pad for the tallest phone panel, keep notes inside fragment boxes
…e in the components, app and companion examples
…traight run at each edge end and self-loop leg
…writing-artifacts
Prevent newer stdlib parsers from bypassing marked-section parsing.
7 of 9 tasks
…writing-artifacts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This adds
writing-html-artifacts, a new skill that builds offline single-file HTML pages from templates, checks them, and hands them over with a delivery note. It also replaces Agent Isles as the brainstorming visual companion, so the Agent Isles bridge, pack and examples are removed.What the skill ships:
quirk_html.pybuilds tier-1 pages from the report and components templates. Tier-2 apps come from the app template viabuild-app. Both inline vendored, pinned libraries (pins.py), so the output works with no network.--no-jsmode that checks every element's fallback.kit_docs.py): eight base elements, then q-grid, q-panel, q-sidenote and q-compare.--layout,PageLayout) and companion screens.q-flowfor flowcharts with decisions, subprocesses, loops and step-through traces.q-schemafor ER/data models and class diagrams.q-sequencefor sequence diagrams. Each is checked at build time and has a no-JS text list.companion.pyis a stdlib-only local server that shows option screens and sends clicks back to the agent.brainstormingandexploring-ideasnow point at it.Where to look
skills/writing-html-artifacts/SKILL.md: the entry point and workflow.skills/writing-html-artifacts/scripts/htmlkit/: the core build library.skills/writing-html-artifacts/templates/: the report, components, app and companion templates and their examples.docs/quirk/specs/2026-10-1[3-7]-*: logic and tech specs for each piece (base skill, component kit, layouts, q-flow, its shapes and traces, q-schema, q-sequence).About 30k of the 80k added lines are vendored libraries, icon builds and test fixtures under
vendor/,scripts/vendor-build/andtests/fixtures/, so you can skim those.Known issues logged
BUG-12 to BUG-28 in
BUGS.mdare low-severity edge cases found in review and left open. Three affect normal use: BUG-13 and BUG-28 (kit elements and the diagram list disclosure render unstyled in tier-2 app builds) and BUG-22 (on a phone, the graph toolbar covers the top of a fitted diagram). BUG-12 (pi-watch crashing at import) isn't from this branch, it was found along the way.Testing
python3 -m pytest -q: 3206 passed, 17 skipped (about 13 minutes locally).