Skip to content

Improve agent guidance, CLI init AGENTS.md, and iPhone 17 default#250

Merged
cameroncooke merged 3 commits intomainfrom
instructions_improvements
Feb 28, 2026
Merged

Improve agent guidance, CLI init AGENTS.md, and iPhone 17 default#250
cameroncooke merged 3 commits intomainfrom
instructions_improvements

Conversation

@cameroncooke
Copy link
Collaborator

@cameroncooke cameroncooke commented Feb 27, 2026

Summary

  • Prescriptive agent workflow instructions: 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. Update tool manifest descriptions to embed workflow context at point of selection.
  • CLI init AGENTS.md guidance + Claude install policy: 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, diff preview, and interactive confirmation. Skips Claude Code for MCP skill installs in auto-detect mode since Claude already receives server instructions via MCP.
  • iPhone 17 default simulator: Update all tool parameter descriptions, next-step suggestions, config examples, documentation, and test fixtures from iPhone 16 to iPhone 17.

Test plan

  • Run full test suite (npm test)
  • Verify xcodebuildmcp init --skill cli creates AGENTS.md in a fresh project directory
  • Verify xcodebuildmcp init --skill mcp skips Claude Code and installs for other detected clients
  • Verify xcodebuildmcp init --skill mcp --client claude overrides the skip policy
  • Verify xcodebuildmcp init --skill cli --force updates existing AGENTS.md without prompting
  • Confirm server instructions appear correctly via session_show_defaults in an MCP client

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 27, 2026

Open in StackBlitz

npm i https://pkg.pr.new/xcodebuildmcp@250

commit: 72f68f3

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.
@cameroncooke cameroncooke force-pushed the instructions_improvements branch from 7ff535b to f9f7989 Compare February 28, 2026 22:25
@cameroncooke cameroncooke marked this pull request as ready for review February 28, 2026 22:26
@cameroncooke cameroncooke changed the title Instructions improvements Improve agent guidance, CLI init AGENTS.md, and iPhone 17 default Feb 28, 2026
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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}`);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Fix in Cursor Fix in Web


if (clientFlag === 'claude') {
return { allowedTargets: targets, skippedClients: [] };
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

@cameroncooke cameroncooke merged commit 13eeb84 into main Feb 28, 2026
9 checks passed
@cameroncooke cameroncooke deleted the instructions_improvements branch February 28, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant