Agent skill

Fieldworks Winapp

by sillsdev in sillsdev/FieldWorks

Control and document the FieldWorks desktop application with WinForms MCP or WinApp MCP.

MITAuto-check passedAgent Workflows

Install Fieldworks Winapp

skills CLI
$ npx skills add sillsdev/FieldWorks --skill fieldworks-winapp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sillsdev/FieldWorks fieldworks-winapp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sillsdev/FieldWorks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/fieldworks-winapp .claude/skills/fieldworks-winapp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fieldworks-winapp
GitHub stars
110
Token cost
~2.3k tokens
SKILL.md length
1,046 words
Files
16 (incl. scripts, references)
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Control and document the FieldWorks desktop application with WinForms MCP or WinApp MCP.

  • Works in 3 steps: Ensure repo-root .mcp.json registers… → Run scripts/Preflight-WinFormsMcp.ps1 to… → Reconnect/restart Claude Code (MCP…
  • A task requires launching FieldWorks
  • SKILL.md covers Setup First (if winforms_*…, Core Rules, MCP Selection and How This Skill Is Organized, plus 3 more sections
  • Runs PowerShell scripts from its folder; calls claude

What it does

Fieldworks Winapp is an agent skill from sillsdev/FieldWorks. Control and document the FieldWorks desktop application with WinForms MCP or WinApp MCP. Use this skill whenever a task requires launching FieldWorks, restoring or opening a FieldWorks project, walking WinForms UI flows, collecting manual screenshots, reproducing UI bugs, or verifying a fix inside the live FLEx application.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including scripts and reference files (for example `navigation/launch-or-attach.md`, `navigation/migration-doc-capture.md` and `navigation/project-loading.md`). Compatibility notes: Requires a Windows/x64 FieldWorks workspace. WinForms MCP drives FieldWorks with UIA2 on the visible console desktop when available; use WinApp MCP as the…

It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol. The repository describes itself as: FieldWorks is a suite of software tools for language and cultural data, with support for complex scripts. The licence is MIT.

When your agent uses it

  • A task requires launching FieldWorks
  • Opening a FieldWorks project
  • Walking WinForms UI flows
  • Collecting manual screenshots

Example prompts

  • “/fieldworks-winapp”

Requirements

  • PowerShell
  • Compatibility (from SKILL.md): Requires a Windows/x64 FieldWorks workspace. WinForms MCP drives FieldWorks with UIA2 on the visible console desktop when available; use WinApp MCP as the UIA3 fallback and for desktop/window diagnostics.

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Ensure repo-root .mcp.json registers winforms-mcp (committed here; the
  2. Run scripts/Preflight-WinFormsMcp.ps1 to confirm node/npx, the package, and
  3. Reconnect/restart Claude Code (MCP servers load at session start) and

What it can do on your machine

Read from SKILL.md and the folder at commit 489ed1b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (PowerShell), which the agent can run.

    Shell commands in SKILL.md call:

    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires a Windows/x64 FieldWorks workspace. WinForms MCP drives FieldWorks with UIA2 on the visible console desktop when available; use WinApp MCP as the UIA3 fallback and for desktop/window diagnostics.

    From compatibility in the SKILL.md frontmatter.

Context cost

Fieldworks Winapp loads about 2.3k tokens when it runs, and up to ~6.6k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 1,046 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from sillsdev/FieldWorks at commit 489ed1b, republished under its MIT licence (© sillsdev). 1,046 words, ~2,264 tokens.

Download SKILL.mdSave it as .claude/skills/fieldworks-winapp/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
fieldworks-winapp
description
Control and document the FieldWorks desktop application with WinForms MCP or WinApp MCP. Use this skill whenever a task requires launching FieldWorks, restoring or opening a FieldWorks project, walking WinForms UI flows, collecting manual screenshots, reproducing UI bugs, or verifying a fix inside the live FLEx application.
compatibility
Requires a Windows/x64 FieldWorks workspace. WinForms MCP drives FieldWorks with UIA2 on the visible console desktop when available; use WinApp MCP as the UIA3 fallback and for desktop/window diagnostics.
license
MIT
metadata.author
FieldWorks team
metadata.version
1.0

FieldWorks WinForms/WinApp Automation

Use this skill to launch, inspect, navigate, and capture evidence from the FieldWorks Language Explorer desktop app through WinForms MCP or WinApp MCP. Keep the workflow grounded in the live UI tree: inspect first, interact second, capture evidence after the target state is visible.

Scope: legacy WinForms only. This skill always runs FieldWorks in Legacy (WinForms) UI mode to scrape the legacy UI for "truth" screenshots, workflows, and behaviour (the migration parity baseline). The WinForms UIA2 MCP can only see WinForms — the Avalonia (New) UI is captured by a SEPARATE headless skill, never through this MCP. ALWAYS run scripts/Set-FieldWorksLegacyMode.ps1 before launching (see Setup First).

This skill OWNS the app lifecycle: never use it on a FieldWorks the developer is using. It launches, forces the UI mode, relaunches per tool, and closes the main window -- which takes down a session someone is working in. Before any route here, confirm the developer has no FieldWorks open (or that the instance is yours to drive). When they are exploring, either wait or ask them to capture what you need.

This skill is intentionally organized as a small index plus route-specific navigation files. Read only the route files needed for the task.

Migration-doc screenshots. Capturing the legacy "truth" PNGs for the Phase-1 migration docs — UIA2 capture limits, the launch-per-tool silfw link, the dialog screenshot harness, and before/after pairing — is documented in navigation/migration-doc-capture.md. Read that route before any bulk capture campaign.

Setup First (if winforms_* tools are missing)

If ToolSearch "winforms" finds no tools, the MCP server is not registered for Claude Code — most often because it is only in .vscode/mcp.json (VS Code's file), not the repo-root .mcp.json (Claude Code's file). Read references/mcp-setup.md, then:

  1. Ensure repo-root .mcp.json registers winforms-mcp (committed here; the Windows-robust cmd /c npx form).
  2. Run scripts/Preflight-WinFormsMcp.ps1 to confirm node/npx, the package, and a built Output/Debug/FieldWorks.exe.
  3. Reconnect/restart Claude Code (MCP servers load at session start) and approve the project server when prompted. Confirm with claude mcp list and ToolSearch "winforms".

The MCP client launches the server — no script starts it; the preflight only verifies that launch will succeed.

Core Rules

  • Prefer WinForms MCP UIA2 tools for fresh FieldWorks runtime automation because FieldWorks is currently WinForms and the workspace config (.mcp.json, HEADLESS=false) runs FieldWorks on the visible console desktop — hidden-desktop mode does not render FieldWorks (see references/headless-rendering.md).
  • Use WinApp MCP UIA3 tools when WinForms MCP is unavailable, when a task needs desktop/window diagnostics (focus, foreground, window order), or when UIA2 cannot see the target window.
  • Prefer UI Automation IDs and names over coordinates. Use coordinates only after snapshots and element searches fail.
  • Always inspect the current tree with winforms_get_element_tree, mcp_winapp_get_snapshot, or targeted element search before assuming a dialog structure.
  • Treat FieldWorks UI automation as stateful. After opening menus, dialogs, or popups, re-query the snapshot or element list.
  • Capture screenshots into a task-specific evidence folder before closing the app or dialog.
  • Close evidence-only dialogs with Cancel or Escape unless the user asked to change project data.
  • Do not globally register COM or add registry hacks. FieldWorks uses reg-free COM from the build output.

MCP Selection

  • Default to WinForms MCP for launch/test/screenshot flows. Use winforms_launch_app, winforms_wait_for_element, winforms_get_element_tree, winforms_find_element, winforms_click_element, winforms_type_text, winforms_set_value, winforms_select_item, winforms_click_menu_item, and winforms_take_screenshot.
  • Prefer element-targeted operations (winforms_click_element, winforms_type_text, winforms_set_value, winforms_select_item) over winforms_send_keys, drag/drop, and double-clicks — they are more reliable. (The old blanket bans on input simulation applied to the abandoned hidden-desktop mode; see references/headless-rendering.md for the history.)
  • Use WinApp MCP for desktop/window diagnostics, UIA3 comparison, fallback screenshots, or controls that WinForms MCP cannot operate.
  • Read references/mcp-selection.md before changing a route from one MCP driver to the other.
Show full SKILL.md (447 more words)Show less

How This Skill Is Organized

  • SKILL.md: trigger metadata, global safety rules, and route index.
  • navigation/*.md: one goal-oriented navigation path per file. These are the FieldWorks equivalent of Page Objects: each file owns the menu path, automation IDs, verification cues, and safe exit path for one user-facing destination or workflow.
  • references/how-to-update.md: rules for adding or revising navigation paths.
  • references/mcp-selection.md: rules for choosing WinForms MCP or WinApp MCP.
  • references/mcp-setup.md: enabling the winforms_* tools for Claude Code (.mcp.json, reconnect).
  • references/research.md: source-backed rationale for this structure.
  • scripts/Preflight-WinFormsMcp.ps1: pre-session check (node/npx, package, build, .mcp.json).
  • scripts/Set-FieldWorksLegacyMode.ps1: forces UIMode=Legacy — run before EVERY launch.
  • scripts/Resolve-FieldWorksDevRegistry.ps1: aligns the dev registry (RootCodeDir/RootDataDir) to this worktree before launch; auto-realigns when the other worktree is idle, else prints RESULT=ASK_USER. A build running from inside a source tree resolves code and data from that tree and ignores these values; they govern a build launched from outside one.
  • references/headless-rendering.md: why FieldWorks needs a display-bound desktop; what works/doesn't for invisible capture (winforms-mcp HEADLESS does NOT render FieldWorks; a Virtual Display Driver was tried and abandoned — see the doc for why; use visible capture, or RDP for true invisibility). Starts with the "three senses of headless" disambiguation — read that before reasoning about anything called "headless".

When a task names a destination, read the matching navigation file. When a task discovers a better route or a fragile selector, read and update references/how-to-update.md before changing the route file.

Navigation Path Index

  • Launch or attach to FieldWorks: navigation/launch-or-attach.md
  • Confirm or restore a sample project: navigation/project-loading.md
  • Writing System Properties > Font tab: navigation/writing-system-font-options.md
  • Styles dialog > Font tab: navigation/styles-font-tab.md
  • Manual screenshot evidence: navigation/screenshot-evidence.md
  • Migration-doc capture campaign: navigation/migration-doc-capture.md
  • WinForms ↔ Avalonia parity capture: navigation/winforms-avalonia-parity.md
  • Enable the MCP tools for Claude Code: references/mcp-setup.md
  • MCP driver selection: references/mcp-selection.md

Screenshot Evidence

For evidence tasks, read navigation/screenshot-evidence.md — it owns the output folders (transient vs committed vs parity bundles) and the naming rules.

For target detection, descriptive filenames, inline review, annotation, and retake quality gates, also use ../smart-screenshot-capture/SKILL.md.

How To Update This Skill

Keep improving this skill as you explore FieldWorks and discover the most efficient ways to do things. When you find a reliable automation ID, keyboard route, menu path, restore flow, modal-dialog workaround, or screenshot trick, update the relevant route file in the same change set or propose the update to the user. Prefer short, verified notes over broad guesses.

Use references/how-to-update.md for the exact update checklist. In short:

  • add one navigation file per distinct destination or workflow;
  • keep each file task-focused and action-oriented;
  • record stable automation IDs, entry state, verification cues, and exit path;
  • move shared rules back to this index only when at least two route files need the same guidance;
  • remove or revise stale routes when WinApp snapshots prove they changed.

© sillsdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (scripts, references) in .claude/skills/fieldworks-winapp of sillsdev/FieldWorks.

  • SKILL.md
  • navigation/launch-or-attach.md
  • navigation/migration-doc-capture.md
  • navigation/project-loading.md
  • navigation/screenshot-evidence.md
  • navigation/styles-font-tab.md
  • navigation/winforms-avalonia-parity.md
  • navigation/writing-system-font-options.md
  • references/headless-rendering.md
  • references/how-to-update.md
  • references/mcp-selection.md
  • references/mcp-setup.md
  • references/research.md
  • scripts/Preflight-WinFormsMcp.ps1
  • scripts/Resolve-FieldWorksDevRegistry.ps1
  • scripts/Set-FieldWorksLegacyMode.ps1

Open the folder on GitHubat commit 489ed1b

Compare with similar skills

Fieldworks Winapp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fieldworks Winapp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fieldworks Winapp this skillsillsdev/FieldWorks110—~2.3kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Fastmcp Client CLIPrefectHQ/fastmcp28k1 repos~823Automated safety check: PassApache-2.0
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Fastmcp Client CLI

    PrefectHQ/fastmcp

    Query and invoke tools on MCP servers using fastmcp list and fastmcp call.

    28k GitHub starsUsed in 1 repo~823 tokens
    Agent WorkflowsAuto-check passed
  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Context Mode Output Sandbox

    mksglu/context-mode

    Routes large command, file, API and browser output through context-mode tools so only the needed result enters the agent's context, instead of dumping it via Bash.

    26k GitHub stars~4.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from sillsdev/FieldWorks

All 29 skills in this repo
  • Atlassian Readonly Skills

    sillsdev/FieldWorks

    Read-only Python utilities for Jira (SIL Data Center): fetch an issue, search with JQL, read transitions, links, worklogs, agile boards and projects.

    110 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Atlassian Skills

    sillsdev/FieldWorks

    Python utilities for Jira (SIL Data Center) covering issue management, JQL search, workflows and transitions, links, agile boards, worklogs and projects.

    110 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Convert Slice

    sillsdev/FieldWorks

    Drive the conversion of one legacy slice type to the Avalonia detail view through analysis, developer alignment, integration-test planning, route/exemplar mapping, design, and scaffold/implement.

    110 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Dependabot Consolidation

    sillsdev/FieldWorks

    Combine several open Dependabot pull requests into a single branch and PR: enumerate the open Dependabot PRs, cherry-pick them onto fresh main, rewrite commit messages to satisfy…

    110 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Capture or review FieldWorks parity evidence: semantic snapshots, render/visual baselines, layout parity, failure artifacts, XML view definitions, and the Avalonia presentation IR.

    110 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Design or review FieldWorks UI automation and accessibility tests: UIA2, FlaUI, Appium, WinAppDriver, Avalonia.Headless, keyboard, focus, IME, and automation-id strategy.

    110 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Fieldworks Winapp

What does Fieldworks Winapp do?

Control and document the FieldWorks desktop application with WinForms MCP or WinApp MCP. Fieldworks Winapp is an agent skill from sillsdev/FieldWorks. Control and document the FieldWorks desktop application with WinForms MCP or WinApp MCP.

When should I use Fieldworks Winapp?

Fieldworks Winapp fits situations like: A task requires launching FieldWorks; opening a FieldWorks project; walking WinForms UI flows; collecting manual screenshots.

How do I install Fieldworks Winapp in Claude Code?

Run `npx skills add sillsdev/FieldWorks --skill fieldworks-winapp -a claude-code`. Or copy the skill folder (.claude/skills/fieldworks-winapp in sillsdev/FieldWorks) into .claude/skills/fieldworks-winapp in your project. Claude Code loads it when a task matches its description.

How do I install Fieldworks Winapp in Codex?

Run `npx skills add sillsdev/FieldWorks --skill fieldworks-winapp -a codex`. Or copy the skill folder (.claude/skills/fieldworks-winapp in sillsdev/FieldWorks) into .agents/skills/fieldworks-winapp in your project. Codex loads it when a task matches its description.

Can I use Fieldworks Winapp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sillsdev/FieldWorks --skill fieldworks-winapp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fieldworks-winapp, .gemini/skills/fieldworks-winapp, .github/skills/fieldworks-winapp and .opencode/skills/fieldworks-winapp in your project.

What does Fieldworks Winapp need to run?

Going by SKILL.md and its folder, Fieldworks Winapp needs PowerShell for the scripts in its folder and the command-line tools its instructions call (claude). Our summary lists: PowerShell. Compatibility (from SKILL.md): Requires a Windows/x64 FieldWorks workspace. WinForms MCP drives FieldWorks with UIA2 on the visible console desktop when available; use WinApp MCP as the UIA3 fallback and for desktop/window diagnostics. .

Does Fieldworks Winapp access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Fieldworks Winapp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Fieldworks Winapp use?

Fieldworks Winapp is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fieldworks Winapp use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.

What are the alternatives to Fieldworks Winapp?

Skills that share tags, products or a category with Fieldworks Winapp: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Fastmcp Client CLI (PrefectHQ/fastmcp, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fieldworks Winapp?

sillsdev (a GitHub organization) maintains it in sillsdev/FieldWorks, which has 110 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 7, 2026.

Source: sillsdev/FieldWorks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.