mit einem Klick
FS-Skia-UI
FS-Skia-UI enthält 52 gesammelte Skills von EHotwagner, mit Repository-Berufsabdeckung und Skill-Detailseiten auf SkillsMP.
Skills in diesem Repository
Consumer-facing guide to hosting an interactive FS.Skia.UI app — the keyboard/pointer input surface, the preview-vs-tree render distinction, and the windowed-fullscreen blur caveat.
Build Skia-rendered FS.Skia.UI Controls, rich text, chart controls, graph controls, DataGrid, custom wrappers, and generated product examples.
Generated product guidance for Skia-rendered FS.Skia.UI Controls, rich text, chart controls, graph controls, DataGrid, and custom wrappers.
Wire a generated FS.Skia.UI product to the desktop viewer host.
Understand and work with the internal keyed VDOM diff over the lowered Control<'msg> IR (feature 067) — its key-first-then-positional matching, the NodePatch/ChildOp operation set, the totality/determinism/identity-at-rest/round-trip invariants, and the module's disposition (internal, property-tested, wired onto the live render path via RetainedRender in feature 091 and current through feature 103 — layout/bounds cache, injected-delta animation clock, visual-state cross-fade). Use when reading the diff invariants, extending the property tests, or working on the wired retained render path.
Maintainer-facing guide to the FS.Skia.UI.Controls.Elmish interactive-host seam — how runInteractiveApp drives the retained render structure each frame (RetainedRender.step over the keyed diff), advances per-identity animation clocks from an injected Tick delta, stamps runtime visual state pre-reconcile, routes keys focus-first through routeFocusedKey, and resolves pointer hits to a stable identity via retainedHitTest. Use when reading or extending the live controls host loop, the per-frame retained-state/clock/visual-state wiring, or the key/pointer routing seam.
Generated product guidance for Skia-rendered FS.Skia.UI Controls, rich text, chart controls, graph controls, DataGrid, and custom wrappers.
Deterministic render-only evidence mode, visual-proof honesty, and benign/blocking host-warning classification.
Squash-merge all feature branches into the default branch (main or master), delete them, and push. Use when the user says "land this", "ship the feature", "merge the feature branches", "squash-merge and push", or anything that means consolidating feature work onto the trunk. After a successful merge, every packable library project (the `src/**` libs + `build/Governance/FS.Skia.UI.Build`, NOT the `dotnet new` template) MUST be packed with a bumped version number.
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
Execute all tasks from the task breakdown to build the feature.
Migrate an FS.Skia.UI catalog control to the typed Props/MVU front door under FS.Skia.UI.Controls.Typed — an immutable Props record, defaults, and a view returning Widget that lowers structurally equal to the legacy builder, proven by a per-control parity test.
Create or update the feature specification from a natural language feature description.
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
Edit the FS.Skia.UI.Controls theme primitives through the DTCG single source and regenerate the typed F# token module. Use when changing a theme color/size/density/radius/contrast value, adding or aliasing a design token, understanding the DesignTokenDrift gate, or authoring against the typed DesignTokens.Light/Dark surface.
Update and verify this repository's `dotnet new fs-skia-ui` template after package/version changes. Use when Codex is asked to refresh the local FS Skia UI template, update generated package pins, pack or install `FS.Skia.UI.Template`, validate `dotnet new fs-skia-ui`, or make the template consume the latest locally packed FS.Skia.UI packages.
Create or update project governing principles and development guidelines.
Break down implementation plans into actionable task lists.
Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.
This skill should be used when the user asks to "add doc comments", "improve XML docs", "document the API", "add XML documentation", "write doc comments for F#", "document public API", "add summary comments", or needs to write or improve `///` XML documentation comments in F# source files. This skill edits .fs source files, not docs/ content files.
This skill should be used when the user asks to "build docs", "build documentation", "run fsdocs", "preview docs", "watch docs", "fsdocs build errors", "fix doc build", or needs to build, preview, or troubleshoot an FSharp.Formatting documentation site. Covers build commands, watch mode, common errors, and build flags.
This skill should be used when the user asks to "write documentation examples", "create literate scripts", "add fsx docs", "write a tutorial", "create a how-to guide", "add example scripts to docs", "write literate F# documentation", or needs to create `.fsx` literate scripts in the `docs/` directory that teach library usage through executable, narrative-driven examples.
This skill should be used when the user asks to "set up fsdocs", "initialize documentation", "scaffold docs folder", "configure FSharp.Formatting", "add documentation to my F# project", "create docs site", or needs to set up a documentation pipeline for an F# project from scratch. Covers tool installation, directory structure, MSBuild configuration, and initial content creation.
This skill should be used when the user asks to "write architecture docs", "document design decisions", "create an ADR", "write technical documentation", "explain the architecture", "document internals", "add a migration guide", or needs to create Markdown documentation in `docs/` that explains architecture, design decisions, and system internals for an FSharp.Formatting site.
Emit governance artifacts (Markdown/Mermaid/JSON) and generate typed F# source; when NOT to use code quotations.
Archive historical Spec Kit readiness evidence into specs/archive, leaving only a README stub and refreshed archive inventory. Use before a squash-merge commit is finalized, after a feature is no longer current gate evidence, or when the user asks to archive unnecessary readiness/evidence files.
Work on generated game HUD/status layout readability, gameplay-region bounds, and public scene/host/update naming guidance.
Execute the implementation planning workflow using the plan template to generate design artifacts.
Work on dependency-light scene primitives and generated product scene usage.
Generate a custom checklist for the current feature based on user requirements.
Work on Elmish adapter contracts and generated product Elmish wiring.
Work on viewer host contracts and generated product viewer usage.
Capture per-phase fs-skia-ui / Spec Kit feedback (process friction, generalizable-code candidates, severity) into specs/<feature>/feedback/ after each phase.
Map keyboard input to product commands in a generated FS.Skia.UI product.
Build pure scene descriptions in a generated FS.Skia.UI product.
Drive FAKE targets from the compiled front-end; golden-diff parity with DiffPlex; property/unit tests with Expecto + FsCheck.
Hand-roll DAG cycle detection, Kahn topo sort, and synthetic propagation in F#; property-test with FsCheck.
File discovery, fnmatch-style glob matching, and generation-currency diffing in compiled F#.
Parse governance inputs (YAML, tasks.md line grammar, audit-status regions, JSON) in compiled F#.
Wrap git and residual external processes from F#; in-process-first eliminates most run-audit.sh shelling.