re-frame2-implementor

Guides engineers porting the re-frame2 pattern to JS-cross-compiling host languages via a two-phase conformance-driven workflow.

49|Updated May 7, 2026
One-click install
npx skills add https://github.com/day8/re-frame2 --skill re-frame2-implementor-day8
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: re-frame2-implementor
Source: https://github.com/day8/re-frame2/tree/main/skills/re-frame2-implementor
Command: npx skills add https://github.com/day8/re-frame2 --skill re-frame2-implementor-day8

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Porting the re-frame2 architectural pattern to a new host language (TypeScript, Fable, Kotlin/JS, and others) requires navigating a large specification corpus, making load-bearing mechanism choices, and proving the result actually conforms to the spec. This Skill structures that multi-week effort into a repeatable, verifiable workflow instead of ad-hoc translation of the ClojureScript reference implementation. ## Core Features & Use Cases - Two-phase port workflow: Phase 1 records a compact port profile (spec pin, host mechanisms, capability claim, conformance score) with sensible no-interview defaults for a minimum port; Phase 2 walks one uniform loop per numbered Spec (EP 001 Registration through 013 Flows) in dependency order. - Conformance corpus as acceptance test: Drives the EDN fixture suite at spec/conformance/ as the objective gate, deriving capability tags and operator sets from the pinned corpus and scoring passed / claimed-applicable. - Spec-gap handling: Routes ambiguities in the spec to drafted, approval-gated GitHub issues against day8/re-frame2 rather than silent extrapolation from the reference implementation. - Use Case: An engineer wants to build a re-frame2 implementation in TypeScript. The Skill pins the spec commit, records host-idiomatic mechanism choices, bootstraps a small conformance harness, then implements each EP slice while running the narrowest covering test gate. ## Quick Start Ask the agent to follow the re-frame2-implementor skill to build a minimum re-frame2 port in your chosen host language, providing the path to the pinned re-frame2 spec checkout.

Frequently Asked Questions about re-frame2-implementor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I port re-frame2 to TypeScript or another language?▼

Follow the two-phase workflow: first record a port profile pinning the spec commit and host mechanism choices, then implement each numbered Spec (EP 001 through 013) in dependency order, running the conformance fixtures as the acceptance test after each slice.

Which host languages can target a re-frame2 implementation?▼

Eight in-scope hosts cross-compile to JavaScript and reach React: ClojureScript (the reference), TypeScript, Melange/ReScript/Reason, F# via Fable, Squint, Scala.js, PureScript, and Kotlin/JS. Non-React substrates and non-JS hosts like Python or native Rust are out of scope.

How is re-frame2 conformance tested for a new port?▼

The port runs the EDN fixture corpus at spec/conformance through a small host harness, filtered to the claimed capability set. The score is passed over claimed-applicable fixtures, and the four v1-required families (core, identity, flow, data-classification) can never be skipped.

What is a minimum re-frame2 port and what does it include?▼

A minimum port defaults every optional capability (checklist questions Q1-Q9) to no and picks host-idiomatic mechanisms without an interview. It still must implement all v1-required surfaces including Flows and Data Classification, since those are fixed obligations, not scope choices.

What should I do when the re-frame2 spec has a gap or ambiguity?▼

Treat it as a spec gap, not an implementation bug: search existing day8/re-frame2 GitHub issues, draft a new issue quoting only public spec evidence, and get explicit engineer approval before filing. Never silently extrapolate from the ClojureScript reference implementation.

When should I not use the re-frame2-implementor skill?▼

Do not use it for writing applications on the existing ClojureScript reference, bootstrapping a greenfield project, migrating a re-frame v1 codebase, or inspecting a live running app. Those tasks belong to the sibling re-frame2, re-frame2-setup, re-frame-migration, and re-frame2-pair skills.