Babysitter file-dialog-abstraction

Cross-platform file dialog implementation for open, save, and directory selection

install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/desktop-development/skills/file-dialog-abstraction" ~/.claude/skills/a5c-ai-babysitter-file-dialog-abstraction && rm -rf "$T"
manifest: library/specializations/desktop-development/skills/file-dialog-abstraction/SKILL.md
source content

file-dialog-abstraction

Implement cross-platform file dialogs for open, save, and directory selection with consistent API across Windows, macOS, and Linux.

Capabilities

  • Open file dialogs
  • Save file dialogs
  • Directory selection dialogs
  • Multiple file selection
  • File type filters
  • Default paths and names
  • Recent locations support

Input Schema

{
  "type": "object",
  "properties": {
    "projectPath": { "type": "string" },
    "framework": { "enum": ["electron", "tauri", "qt", "wpf"] },
    "dialogTypes": { "type": "array" }
  },
  "required": ["projectPath"]
}

Electron Example

const { dialog } = require('electron');

async function openFile() {
    const result = await dialog.showOpenDialog({
        properties: ['openFile', 'multiSelections'],
        filters: [
            { name: 'Documents', extensions: ['pdf', 'docx'] },
            { name: 'All Files', extensions: ['*'] }
        ]
    });
    return result.filePaths;
}

Related Skills

  • file-watcher-setup
  • file-system-integration
    process