commit
Create a deliberately staged commit from the current worktree with a clear subject and why-focused body. Use when asked to commit…
Inspect and drive Poracode itself — the Terminal panel, other threads, projects, workspaces, git, pull requests, and schedules — through the poracode MCP. Use when the request is about the user's workspace state or app-side actions rather than editing files in the repository.
$ npx -y skills add Porabuild/Poracode --skill app-controls --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/app-controlsContext preview
The summary Claude sees to decide when to auto-load this skill.
Inspect and drive Poracode itself — the Terminal panel, other threads, projects, workspaces, git, pull requests, and schedules — through the poracode MCP. Use when the request is about the user's workspace state or app-side actions rather than editing files in the repository.
name: app-controls description: Inspect and drive Poracode itself — the Terminal panel, other threads, projects, workspaces, git, pull requests, and schedules — through the poracode MCP. Use when the request is about the user's workspace state or app-side actions rather than editing files in the repository.
Use Poracode's `poracode` MCP when the task is about the running app rather than the code in front of you: what a Terminal pane is printing, what another thread is doing, the project's git or pull-request state, or the user's schedules and settings. Prefer ordinary file and shell work for anything that is really a code change.
Schedule results are persistent: use `list_schedule_run_inbox` with `filter`, optional `search`, and a `cursor` from the last row (`startedAt|id`) to review older results. Use `mark_schedule_run_read`, `mark_schedule_run_unread`, `archive_schedule_run`, and `restore_schedule_run` to triage them. `cancel_schedule_run` also cancels pending retry delays; a thread cannot cancel its own active run. `create_schedule` and `update_schedule` accept `automation` for heartbeat mode, bounded retries, missed-run handling, run limits, and an optional completion condition. Heartbeats require a same-project, same-agent GUI conversation.
`create_thread` inherits the New thread page's plugin/MCP defaults. Override `browserMcp`, `crossagentMcp`, `chromeMcp`, and `computerUse` with booleans; `mcpServers` maps configured server ids to booleans, and `plugins` maps installed manifest names to booleans. These choices are per thread and survive resume; global hard disables and provider/platform restrictions still apply. Discover custom server ids with `list_mcp_servers`/`get_project` and installed plugin names with `get_settings` (`section: "installedPlugins"`). Attach files or images to the first message with `attachments: [{path, mimeType?}]`; paths must be absolute files on this host, and image MIME types are inferred from their extension.
Use `commit` for a commit, `create-pr` for publishing a PR with verification and before/after UI screenshots, and `finalize` when the user requests the complete review, manual QA, fix, publish, and merge workflow. These skills use Poracode's Git/GitHub tools so their observed state reaches the UI. Resolve the current thread once for `projectId` and the exact `worktreePath`; omitting the path operates on the main checkout. After CLI-only operations such as `gh pr edit --attach`, call `gh_get_pr` and `git_status` for that same target. A `syncWarning` means the operation completed but the UI refresh needs retrying; do not repeat the mutation.
1. Start from the narrowest tool that answers the question. `list_terminals` and `read_terminal` for the Terminal panel, `list_threads` / `read_thread` for other work, `git_status` / `git_diff` for the working tree, `gh_list_prs` for review state. 2. For a Terminal request, call `list_terminals` directly — it resolves the caller's project and worktree on its own. Never ask the user for an id, and never pass a `threadId` to `read_terminal`. 3. Read before you write. Check `git_status` before staging, the PR before commenting, the schedule before updating it. 4. State what you are about to do when the action changes the user's workspace, then do it in one step rather than a chain of partial edits. 5. Report what the tool actually returned. When output is long, quote the part that carries the answer and say where it came from.
For app-native charts, comparison tables, calculators, checklists, tabs, text and relationship diagrams, use Native visuals v2 below. Existing v1 documents remain supported. An assistant-message fence opened with `poracode-html-v1` followed by a plain title preserves HTML as a source preview in desktop and web/PWA conversations (at most 256 KiB per block). Interactive HTML rendering and MCP Apps sessions are unavailable: author markup and scripts are not executed. Do not promise interactive HTML, MCP Apps sessions or host actions. Ordinary `html` code fences remain source examples.
In a completed assistant reply, open a fenced code block with `poracode-visual-v1` followed by a plain title. Its body is strict JSON, not HTML or JavaScript. Desktop and web/PWA render native app-themed controls. Native iOS/Android clients retain fenced source. No tools, host actions, URLs, author code, custom styles, markup or MCP Apps sessions are supported.
Root: `{description?, inputs?, blocks}`. Input: `{id,label,min,max,step,value}`; IDs are unique ASCII letters/digits/underscore/hyphen, starting with a letter. Defaults are finite, within min/max and on the positive step grid. Blocks:
`Value` is a number, `{"input":"id"}`, or `{"op":"add"|"subtract"|"multiply"|"divide"|"min"|"max","args":[Value,Value]}`. No string formulas, output references, property access or other operations. `Format` is `{"style":"decimal"|"percent"}` or `{"style":"currency","currency":"USD"}` (three uppercase currency letters). Percent values are ratios: 0.25 displays as 25%. Invalid arithmetic displays Unavailable; it is never silently replaced by zero.
Limits: six native fences per message; 64 KiB UTF-8 per document; six blocks, eight inputs, four series ×100 labels per chart, 100 rows ×eight columns per table, 32 items per outputs block, 1,024 total value slots. Title ≤200, labels ≤120, description/text cells ≤512 characters. Literal/input magnitude ≤1e12, result magnitude ≤1e15, at most 1e6 steps per input. Arithmetic
One window for all your AI coding agents. Run Claude, Codex, OpenCode, Gemini, Antigravity, Cursor, and Copilot side-by-side. Terminal and chat, any layout.
Create a deliberately staged commit from the current worktree with a clear subject and why-focused body. Use when asked to commit…
Commit and push the current worktree and create or update a pull request with an accurate title, description, verification…
Finalize the current worktree through deep review, manual QA, fixes, checks, commit, push, PR creation or update, and merge after…
Open, inspect, interact with, and verify websites or local web apps in Poracode's isolated browser. Use for visible page state,…
Prove a web change actually works by exercising the flow in Poracode's browser and collecting visual, console, and network…
Use the user's real Chrome tabs and signed-in sessions for visible browser workflows. Use when existing authentication, open…