<< All versions

Skill v1.0.1

currentAutomated scan100/100
nyagekifumenproject/ongekifumeneditor/ongeki-fumen-editor

+25 new

──Details
PublishedOctober 27, 2026 at 12:52 AM
Content Hashsha256:b602dfa6e9641cc7...
Git SHAefddc3f746b9
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 7.1 KB)
SKILL.md7.1 KBactive
SKILL.md · 93 lines · 7.1 KB

version: "1.0.1" name: ongeki-fumen-editor description: Develop, debug, extend, and review the OngekiFumenEditor WPF codebase built on Caliburn.Micro, Gemini, and MEF. Use when working in this repository on startup and composition, chart-domain model changes, OGKR or .nyagekiProj persistence, FumenVisualEditor behavior, editor modules and tool windows, runtime automation/MCP tools, menu/settings/keybindings/localization, rendering/audio/resources, or repository-specific troubleshooting.


Ongeki Fumen Editor

Use this skill for repo-native work in OngekiFumenEditor. It keeps changes aligned with the repository's existing WPF, Gemini, MEF, parser, editor, runtime-automation, and asset-packaging patterns.

Primary entry for the reference set:

  • references/compendium.md

Quick Routing

  • Need source code but only have the skill package or partial local files:

read references/20-remote-source-access-and-code-lookup.md.

  • Startup, plugin loading, shell, GUI/CMD behavior, IPC, or app lifetime:

read references/01-bootstrap-composition-and-lifetimes.md.

  • Chart object definitions, object counts, relationship wiring, or editing primitives:

read references/02-chart-model-and-editing-primitives.md and references/03-ogkr-and-project-file-persistence.md.

  • Editor document behavior, tool windows, toolbox, property browser, or viewport interactions:

read references/04-fumen-visual-editor-and-modules.md.

  • MCP tools, runtime automation, script host, authorization, or editor summaries:

read references/05-runtime-automation-and-mcp.md.

  • Menus, settings, localization, resources, or keybindings:

read references/06-settings-menus-localization-and-input.md.

  • Rendering backend, graphics resources, audio, or project-file resource metadata:

read references/07-rendering-audio-and-resources.md and references/08-build-debugging-and-change-strategy.md.

  • Script-driven editor tasks:

start with references/10-script-execution-surfaces.md, references/11-script-api-cheatsheet.md, and references/12-script-task-recipes.md, then load 13 through 19 only as needed.

  • Repo-specific implementation checklists or change scoping:

read references/09-common-change-recipes.md.

  • First-pass repository orientation:

read references/00-repository-map.md.

Workflow

  1. Route the task before editing.
  • Read references/00-repository-map.md if the target subsystem is unclear.
  • If the local checkout is missing, partial, or not exposed to the current agent, use references/20-remote-source-access-and-code-lookup.md to open the canonical GitHub source tree first.
  • Then load only the pages needed for the current lane.
  1. Preserve repository wiring before introducing new abstractions.
  • Read references/01-bootstrap-composition-and-lifetimes.md.
  • Keep WPF, Caliburn.Micro, Gemini, and MEF composition intact.
  • Prefer existing [Export], [Export(typeof(...))], [ImportingConstructor], [ImportMany], and IoC.Get(...) patterns over introducing a different DI style.
  • Keep GUI mode, command-line mode, IPC, splash, and MCP startup behavior coherent.
  1. Treat cross-lane features as coordinated edits.
  • Chart-domain changes usually require model, parser/formatter, editor mutation, and summary/count checks together.
  • UI features often require menu definitions, commands, views/viewmodels, resources, localized text, and settings-page wiring together.
  • Resource changes often require OngekiFumenEditor.csproj item updates in addition to the file itself.
  1. Follow the repo's mutation and persistence rules.
  • Keep editor mutations undoable with UndoRedoManager.ExecuteAction(...) and explicit undo lambdas.
  • Preserve dirty-state transitions and dependent view refresh behavior.
  • Preserve .nyagekiProj and fumen temp-file save flows instead of replacing them with direct in-place writes.
  1. Validate the lane you touched.
  • For startup or global wiring, inspect AppBootstrapper.cs, shell startup, and plugin discovery behavior.
  • For parser or model work, verify both load and save paths.
  • For editor work, verify selection, viewport, property-browser, and undo/redo side effects.
  • For MCP or runtime scripts, compile first when possible and preserve authorization, backup, and security-policy behavior.
  • For MCP chart mutations, run editor.check afterwards and resolve every error/problem result before reporting success — see references/05-runtime-automation-and-mcp.md ("Mandatory: run editor.check after every mutation batch").
  • For strings, settings, or resources, update .resx, .settings, generated designers, and project metadata as needed.

Review Focus

When reviewing changes in this repo, prioritize:

  • lost MEF exports/imports or shell-registration regressions
  • broken GUI/CMD/MCP startup ordering
  • parser/save asymmetry between OGKR, .nyagekiProj, and in-memory state
  • editor mutations that are no longer undoable or no longer update dirty state
  • missing localized strings, settings wiring, or resource item metadata
  • script or MCP changes that bypass authorization, backup, dispatcher, or security-policy rules

Repo-specific rules

  • Keep the current stack: WPF on net10.0-windows, Caliburn.Micro, Gemini, MEF composition, and project-specific helpers.
  • Default to [Export], [Export(typeof(...))], [ImportingConstructor], and [ImportMany] instead of introducing a new DI style.
  • Use LambdaUndoAction.Create(...) and UndoRedoManager.ExecuteAction(...) for editor mutations that must be undoable.
  • After any MCP chart mutation, call editor.check and fix what it reports: individual edits can pass argument validation yet break chart consistency (e.g. a lane-docked tap without snapXToLane trips WrongLocation). Reading the meta info back has no dedicated tool — editor.set_metainfo echoes oldValue.
  • Lanes and beams are start-plus-segment chains, not flat objects: fumen.Lanes / fumen.Beams enumerate only the starts, segments live in start.Children, and curve control points hang off individual segments. Keep the families straight when touching them (lane / lanenext / curvecontrol, beam / beamnext), and note that OngekiFumen.AddObject deliberately does not handle LaneCurvePathControlObject (only RemoveObject does) — a curve control point must be attached through its owning segment.
  • FumenVisualEditorViewModel is partial; inspect sibling partials before adding editor behavior.
  • Many features follow the same slice shape: MenuDefinitions.cs, Commands/, Views/, ViewModels/, and sometimes Kernel/ or Graphics/.
  • Expect .nyagekiProj save/load to normalize relative paths and use temp-file copy strategies.
  • If a change affects user-facing strings or settings, update the relevant .resx, .settings, and setting page view/viewmodel together.
  • If a change adds files under Resources, verify whether they must be Resource, EmbeddedResource, or copied as None in OngekiFumenEditor.csproj.
  • Files under Resources/skills/ are currently copied to the build output as loose files and exposed to MCP clients as read-only skill://... resources. Treat them as documentation assets, not embedded resources, unless the project file or MCP host wiring changes again.
← v1.0.0All versions