| 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:
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
- 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.
- 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.
- 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.
- 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.
- 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 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.
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.