Skip to main content

format-figure

Reformats a figure component file to conform to the standard section order and naming conventions defined in the figure guidelines.

来源信息

仓库
helblazer811/Diffusion-Explorer
最近来源活动
2026年1月28日 22:51
检测到的 SKILL.md 语言
英语
星标
1,191
分支
65

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
format-figure
description
Reformats a figure component file to conform to the standard section order and naming conventions defined in the figure guidelines.
# Format Figure Reformats a Svelte figure component to follow the standard design pattern. ## Instructions When the user invokes this skill, follow these steps: ### 1. Determine the target file - If a file path is provided as an argument, use that - If the user has been working on a figure file in this conversation, use that - Otherwise, ask the user to specify the file path ### 2. Read the guidelines and target file Read both files: - Guidelines: `diffusion-explorer/apps/rectified-flow-explainer/src/lib/figures/README.md` - The target figure file ### 3. Analyze the current structure Identify the existing code sections within the `<script>` tag. Look for: - Props (export let statements) - State (local variables, canvas, ctx, scales, flags) - Helper functions (pure utility functions) - Setup functions (runInitialComputation or similar) - Animation setup (setupTimeline or similar) - Drawing functions (draw and draw helpers) - Event handlers (canvas clicks, slider input, visibility changes) - Lifecycle (onMount, onDestroy) - Reactive blocks ($: statements) Note which sections are present, their current order, and whether they have proper section comment separators. ### 4. Identify issues Report to the user: - Missing section separators - Sections in wrong order - Non-standard function names (e.g., `render` instead of `draw`) - Missing visibility handling (if the figure has animations) ### 5. Propose reformatted code Reorganize the `<script>` section into this order: ``` // ---------------------------------------------------------------- // Props // ---------------------------------------------------------------- // ---------------------------------------------------------------- // State // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Helpers // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Setup // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Animations // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Drawing // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Event Handlers // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Lifecycle // ---------------------------------------------------------------- // ---------------------------------------------------------------- // Reactive Blocks // ---------------------------------------------------------------- ``` Rules: - Preserve all code functionality - Only include sections that have content (don't add empty sections) - Use the exact separator format: 64 dashes - Keep related code together within sections - Rename non-standard functions if applicable (e.g., `render` -> `draw`) ### 6. Ask for confirmation Use AskUserQuestion to present the proposed changes and ask for approval: - Summarize what will change (sections reordered, separators added, etc.) - Ask if the user wants to proceed ### 7. Apply changes If approved, use the Edit tool to apply the reformatted code. ### 8. Verify Run type-check to ensure no errors were introduced: ```bash cd diffusion-explorer && npm run check ``` Report the result to the user. ## Notes - The draw function should take animation state as a parameter, not time directly - For animated figures, ensure visibility handling is present using `useVisibilityHandler` - The `setupTimeline()` function should configure the timeline and register `onTick` - Reactive blocks (`$:`) should always be at the end of the script - There should be no magic numbers in functions. Configurable parameters that change the computation that is done or how the animation is styled should be exposed as props and grouped appropriately.
在 GitHub 查看