{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-desktop-app-engineer",
 "type": "agent",
 "name": "Desktop app engineer agent",
 "summary": "Get a plan for an Electron or Tauri desktop app with the runtime to pick, safe setup rules, code signing, auto-updates and size limits.",
 "headline": "Desktop app engineer agent",
 "subhead": "Describe your desktop app and the systems it must run on. It picks Electron or Tauri, sets safe rules for your web screens, and plans signing, updates and a step-by-step release.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  },
  {
   "type": "code_change",
   "required": false,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  }
 ],
 "you_give": [
  "What the app does and who uses it.",
  "Which systems it must run on, such as Windows, macOS and Linux.",
  "Your team's skills, such as web only or also Rust (optional).",
  "What the app must do with the computer, such as read files, show tray icons or open from links.",
  "Your current setup, such as framework, build tool and how you ship it now (optional).",
  "Size, memory and start-up limits you care about (optional)."
 ],
 "you_get": [
  "A written choice of Electron or Tauri, with the reasons and what would change it.",
  "A security setup, with a short list of narrow actions the web side may request.",
  "A release plan covering signing, macOS notarization, the update feed and a way back.",
  "A staged rollout plan with the numbers that pause it.",
  "A list of per-system behaviour for tray, shortcuts, links and notifications.",
  "Size, memory and start-up limits, and a test plan across the systems."
 ],
 "use_when": [
  "You are starting a desktop app built with web tools and must pick Electron or Tauri.",
  "Your app is ready to ship and you need signing for Windows and macOS and an update plan.",
  "You want to check that your web screens cannot reach files or system tools they should not.",
  "Your installer or memory use has grown and you want limits that fail a build."
 ],
 "skip_when": [
  "You have an Electron app and want it tested by clicking and typing. Use the Electron desktop app tester.",
  "You are building a phone or tablet app. Use the Mobile app builder.",
  "You are building a web app that runs in the browser. Use the Frontend developer.",
  "You want a full security audit of finished code. Use the Application security reviewer.",
  "You would paste certificate files or private keys into a chat. Never do that. Keep them in your own secure store."
 ],
 "output_sample": {
  "input": [
   "What the app does and which systems it must run on",
   "What the app must do on the computer, such as read files or show a tray icon",
   "Your team's skills and your current setup (optional)",
   "Your size, memory and start-up limits (optional)"
  ],
  "prerequisites": [
   "An AI you can paste a long brief into, such as Claude, ChatGPT or Gemini",
   "Developer accounts and signing certificates for each system, which your engineer sets up. Check each vendor's current rules."
  ],
  "output": [
   {
    "name": "Needs and assumptions",
    "contains": "The app, systems and must-do list restated, with every guess marked."
   },
   {
    "name": "Runtime choice",
    "contains": "Electron or Tauri, the reasons and what would change the choice."
   },
   {
    "name": "Security setup",
    "contains": "Window settings, the short list of allowed web-to-computer actions and rules for remote content."
   },
   {
    "name": "Release pipeline",
    "contains": "Signing, notarization, the update feed and the way back, for each system."
   },
   {
    "name": "Staged rollout",
    "contains": "Release steps by share of users, the numbers to watch and when to pause."
   },
   {
    "name": "Per-system behaviour",
    "contains": "How tray, shortcuts, links and notifications should work on each system."
   },
   {
    "name": "Limits and tests",
    "contains": "Start-up, memory and size limits, how to measure them and the test matrix."
   }
  ]
 },
 "output_shape": "NEEDS AND ASSUMPTIONS\n  <app and users> | <target systems> | <team skills> | <must-do-on-the-computer list> | <assumptions marked ASSUMED>\n\nRUNTIME CHOICE\n  <Electron or Tauri> | <why> | <what would change it>\n\nSECURITY SETUP\n  <window settings> | <allowed web-to-computer actions, each narrow and checked> | <rules for remote content>\n\nRELEASE PIPELINE\n  <system> | <signing step> | <notarization if macOS> | <update feed> | <rollback>\n\nSTAGED ROLLOUT\n  <step> | <share of users> | <numbers to watch> | <pause rule>\n\nPER-SYSTEM BEHAVIOUR\n  <feature> | <Windows> | <macOS> | <Linux>\n\nLIMITS AND TESTS\n  <start-up, memory, size> | <how measured> | <test matrix>\n\nOPEN QUESTIONS AND CHECKS STILL NEEDED\n  <item> | <how to settle it>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. Or paste SKILL.md into a new chat, then paste references/source-agent.md after it.",
  "Describe the app, the systems you target and what it must do on the computer. Say what you use today if the app exists.",
  "Say \"Plan this desktop app\" for a new one, or \"Review my setup\" if you paste your window settings and release steps.",
  "Your AI asks once for anything missing. Unknowns stay marked as assumptions.",
  "Read the runtime choice and the security setup first. Check that each allowed action is as narrow as it can be.",
  "Give the plan to the engineer. Code in it is an example to adapt. Never paste signing certificates, keys or passwords into the chat."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Developer tools engineer",
   "url": "https://useaiblocks.com/skills/agency-engineering-developer-tooling-engineer",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-desktop-app-engineer.md",
  "licence": "MIT",
  "original_name": "Desktop App Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Desktop App Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-desktop-app-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-desktop-app-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-desktop-app-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-desktop-app-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-desktop-app-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-desktop-app-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-desktop-app-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-desktop-app-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
