Improve agent guidance, CLI init AGENTS.md, and iPhone 17 default#250
Improve agent guidance, CLI init AGENTS.md, and iPhone 17 default#250cameroncooke merged 3 commits intomainfrom
Conversation
commit: |
Replace generic server instructions with a structured simulator run flow protocol that prevents common waste patterns (speculative discovery, redundant boot/open calls, skipped session_show_defaults). Rewrite both skill files from exhaustive tool catalogs to concise workflow-oriented guidance that teaches decision-making over listing facts. Update tool manifest descriptions to embed workflow context at point of tool selection (boot_sim/open_sim not required before build_run_sim, session_show_defaults required before first build/run/test).
The init command now creates or updates a project-level AGENTS.md with XcodeBuildMCP skill usage guidance after installing a skill. Handles legacy guidance line replacement, shows a diff preview, and prompts for confirmation (or requires --force in non-interactive mode). Skip Claude Code when installing MCP skills in auto-detect mode since Claude already receives server instructions via the MCP protocol. An explicit --client claude flag overrides the policy.
Update all tool parameter descriptions, next-step suggestions, config examples, documentation, and test fixtures to reference iPhone 17 as the default simulator name, matching the current Xcode release.
7ff535b to
f9f7989
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
|
|
||
| for (const skipped of policy.skippedClients) { | ||
| writeLine(`Skipped ${skipped.client}: ${skipped.reason}`); | ||
| } |
There was a problem hiding this comment.
Skip reasons are lost when all targets are filtered
Medium Severity
When only Claude Code is detected in auto-detect mode with --skill mcp, enforceInstallPolicy returns empty allowedTargets with populated skippedClients. The error at line 351 is thrown before the skip-reason loop at lines 364–366 ever runs, so the user sees the generic "No eligible install targets after applying skill policy" without the helpful explanation that Claude was skipped because it already receives server instructions.
Additional Locations (1)
|
|
||
| if (clientFlag === 'claude') { | ||
| return { allowedTargets: targets, skippedClients: [] }; | ||
| } |
There was a problem hiding this comment.
Policy override check placed after unnecessary filtering loop
Low Severity
In enforceInstallPolicy, the clientFlag === 'claude' early-return override at line 410 is placed after the loop that already filtered Claude out of allowedTargets. When the user passes --client claude, the loop runs, builds skippedClients, and then all that work is discarded by the override returning the original targets. Moving this check before the loop as an early return makes the intent clearer and avoids unnecessary work.


Summary
session_show_defaults). Rewrite both skill files from exhaustive tool catalogs to concise workflow-oriented guidance. Update tool manifest descriptions to embed workflow context at point of selection.initcommand now creates or updates a project-levelAGENTS.mdwith XcodeBuildMCP skill usage guidance after installing a skill. Handles legacy guidance line replacement, diff preview, and interactive confirmation. Skips Claude Code for MCP skill installs in auto-detect mode since Claude already receives server instructions via MCP.Test plan
npm test)xcodebuildmcp init --skill clicreates AGENTS.md in a fresh project directoryxcodebuildmcp init --skill mcpskips Claude Code and installs for other detected clientsxcodebuildmcp init --skill mcp --client claudeoverrides the skip policyxcodebuildmcp init --skill cli --forceupdates existing AGENTS.md without promptingsession_show_defaultsin an MCP client