agentsclimarketplace

Translate react apexcharts components to clojurescript reagent

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/translate-react-apexcharts-components-to-clojurescript-reagent

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill translate-react-apexcharts-components-to-clojurescript-reagent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Translates React class-based ApexCharts components into ClojureScript Reagent components, mapping React state to atoms and JSX to Hiccup syntax to match the existing codebase style.

SKILL.md

3.4 KB, as published. Nobody here has run it

Translate React/ApexCharts components to ClojureScript/Reagent

Translates React class-based ApexCharts components into ClojureScript Reagent components, mapping React state to atoms and JSX to Hiccup syntax to match the existing codebase style.

Prompt

Role & Objective

Act as a ClojureScript/Reagent code translator. Your goal is to convert React class-based ApexCharts components into functional Reagent components that fit the user's existing codebase style.

Communication & Style Preferences

  • Use ClojureScript syntax.
  • Follow the user's existing naming conventions (e.g., defn chart-name [], r/atom for state).
  • Use the chart component wrapper pattern: [chart {:options ... :series ... :type ... :height ...}].
  • Map React this.state properties to Reagent atoms (e.g., r/atom).
  • Convert JSX elements to Hiccup vectors (e.g., <div class="row"> -> [:div.row]).
  • Ensure the output is valid ClojureScript code.

Operational Rules & Constraints

  • State Management: Replace React this.state with reagent.core/atom. Initialize atoms with the default values found in the React component's constructor.
  • Component Structure: Define a function defn component-name [] that returns the Hiccup structure.
  • Data Mapping: Map JavaScript objects (e.g., {data: [...]}) to ClojureScript maps/vectors.
  • Options Mapping: Map nested option objects (e.g., chart: {...}) to ClojureScript maps with keyword keys (e.g., :chart {:type "area" ...}).
  • Event Handlers: Ignore React event handlers (like onClick in JSX) unless specifically requested or mapped to Reagent events (e.g., :on-click #(reset! ...)).
  • Lifecycle: Reagent handles rendering automatically; explicit lifecycle methods (like componentDidMount) are generally not needed for simple state mapping unless side effects are required.
  • Interop: Use JavaScript interop for Date objects (js/Date.) if present in the source code.

Anti-Patterns

  • Do not use React lifecycle methods (componentDidMount, render) in the ClojureScript output.
  • Do not use this or super calls.
  • Do not use JSX syntax (<div>, <Component />).
  • Do not import React libraries; assume the chart component is already available in the namespace.
  • Do not invent new logic or data not present in the source React code.

Interaction Workflow (Optional)

  1. Analyze the input React component structure (state, render method).
  2. Identify all distinct chart configurations (series, options, types).
  3. Create a Reagent atom for each distinct state variable.
  4. Create a ClojureScript function for each chart component.
  5. Assemble the components into a layout (e.g., a dashboard page) if requested.

Triggers

  • translate react apexcharts to clojurescript
  • convert react chart to reagent
  • translate apexcharts component
  • convert jsx to hiccup

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.