{
 "schema": "aiblocks-page/1",
 "id": "agency-terminal-integration-specialist",
 "type": "agent",
 "name": "Terminal interface integration designer",
 "summary": "Plan a terminal view inside your iPhone, Mac or Vision Pro app with SwiftTerm, including SSH hookup, keyboard input, smooth text and a test list.",
 "headline": "Terminal interface integration designer",
 "subhead": "Tell it which Apple app needs a terminal and how it will connect, such as SSH. It plans how to embed SwiftTerm, pass text in and out, handle keys and copy, and keep scrolling smooth. You get an integration design and a test list.",
 "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"
  }
 ],
 "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": [
  "The platforms the app runs on, such as iOS, macOS or visionOS",
  "How the app is built, such as SwiftUI or UIKit",
  "What feeds the terminal, such as an SSH library and its name",
  "What the terminal must do, such as run commands, show logs or let users type",
  "Your current code or the symptom you see (optional)"
 ],
 "you_get": [
  "A fit check that says if SwiftTerm and your setup match",
  "A picture in words of how the view, the connection and the keys connect",
  "Integration steps in order",
  "Input and display choices, such as fonts, colors, selection and copy",
  "Notes on speed, memory and connection states",
  "An accessibility list and a test list"
 ],
 "use_when": [
  "You are adding an SSH or console screen to an iOS, macOS or visionOS app and have not picked a library setup yet.",
  "Your terminal view shows wrong characters, lags when text pours in, or breaks on rotation or resize.",
  "You need keyboard shortcuts, paste, selection and copy to feel normal on a touch screen.",
  "You want to know what the screen should do when the connection drops, before you write the code."
 ],
 "skip_when": [
  "You use a terminal library other than SwiftTerm. The plan will not fit.",
  "You are building a terminal on Android, Windows or the web.",
  "You want to manage servers or shells on the server side. This agent plans the part that runs on the device only.",
  "You are planning the whole Apple app. Use the Desktop App Engineer agent or the Mobile app builder."
 ],
 "output_sample": {
  "input": [
   "Your platforms and app framework",
   "What feeds the terminal, such as your SSH library",
   "What the terminal must do",
   "Your current code or the problem you see (optional)"
  ],
  "prerequisites": [
   "Xcode and a Swift app project, to build what the agent plans"
  ],
  "output": [
   {
    "name": "Fit check",
    "contains": "Whether SwiftTerm and your platforms and connection match, and why."
   },
   {
    "name": "How the pieces connect",
    "contains": "How the terminal view, your session code and the connection library pass text and keys."
   },
   {
    "name": "Integration steps",
    "contains": "Build steps in order, with SwiftTerm method names marked for you to confirm in its docs."
   },
   {
    "name": "Input and display",
    "contains": "Choices for keys, paste, selection, copy, fonts, colors and cursor."
   },
   {
    "name": "Speed and memory",
    "contains": "Risks from fast output and long sessions, each with a plan."
   },
   {
    "name": "Connection states",
    "contains": "What the screen shows when the link starts, fails, drops and returns."
   },
   {
    "name": "Accessibility",
    "contains": "What VoiceOver and larger text need from the terminal view."
   },
   {
    "name": "Test list",
    "contains": "Tests for odd characters, long output, resizing and reconnects, each with an expected result."
   }
  ]
 },
 "output_shape": "FIT CHECK\n  <platform> | <app framework> | <connection source> | <fits or does not fit, and why>\n\nHOW THE PIECES CONNECT\n  <terminal view> <-> <your session code> <-> <connection library>\n\nINTEGRATION STEPS\n  <step> | <what you build> | <API names marked \"confirm in docs\" when unverified>\n\nINPUT AND DISPLAY\n  <keys, paste, selection, copy, fonts, colors, cursor>\n\nSPEED AND MEMORY\n  <risk> | <plan>\n\nCONNECTION STATES\n  <starting, connected, failed, dropped, reconnected> | <what the screen shows>\n\nACCESSIBILITY\n  <VoiceOver, text size, other needs>\n\nTEST LIST\n  <test> | <how to run it> | <expected result>\n\nOPEN QUESTIONS\n  <what is missing or must be checked in the docs>",
 "how_to_use": [
  "Download the pack and add it to your AI as a skill. If you cannot, paste SKILL.md and then references/source-agent.md into a new chat.",
  "Say which platforms you target, how your app is built and what the terminal connects to. Paste your code if you have some.",
  "Say \"Plan this. Do not invent SwiftTerm method names.\" Your AI asks once for anything missing.",
  "Read the fit check first. If it says SwiftTerm does not fit, stop and rethink before you read the rest.",
  "Look up each SwiftTerm method the plan names in SwiftTerm's own docs, then build in Xcode.",
  "Run the test list on a real device, then paste any failures back to your AI."
 ],
 "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": "Module design coach",
   "url": "https://useaiblocks.com/skills/module-design-coach",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/spatial-computing/terminal-integration-specialist.md",
  "licence": "MIT",
  "original_name": "Terminal Integration Specialist",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Terminal Integration Specialist",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/spatial-computing/terminal-integration-specialist.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-terminal-integration-specialist",
  "markdown": "https://useaiblocks.com/agents/agency-terminal-integration-specialist.md",
  "json": "https://useaiblocks.com/agents/agency-terminal-integration-specialist.json",
  "instructions": "https://useaiblocks.com/skills/agency-terminal-integration-specialist/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-terminal-integration-specialist.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-terminal-integration-specialist",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-terminal-integration-specialist",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
