agentleFS
emilianoeloiemilianoeloi/ios-WK-UI-WebView/AGENTS.md

ios-WK-UI-WebView

AGENTS.md3 starsChanged 4 months agoMITView on GitHub

Legacy Objective-C iOS project (iOS 7/8 era) demonstrating WebView behavior: WKWebView with UIWebView fallback, plus an ObjC <-> JS bridge (WebViewJavascriptBridge*). The repository doubles as a skill set for Apple WebView legacy workflows. Sources compile on current Xcode, but linking fails at the project's original deployment target (7.1) because libarclite was removed in Xcode 14.3+. Build with a command-line override — do not commit a deployment-target change just to make a build pass: Verified July 2026 against the iOS 26.5…

The file

We split this AGENTS.md into the rules it gives an agent

3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not force SwiftUI migration unless explicitly requested

    line 28
  2. Very specific:

    Keep bridge protocol constants and JS file contract stable (wvjbscheme://__WVJB_QUEUE_MESSAGE__)

    line 29
  3. Very specific:

    Keep Constants.h values centralized.

    line 30

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

AGENTS.md

Legacy Objective-C iOS project (iOS 7/8 era) demonstrating WebView behavior: WKWebView with UIWebView fallback, plus an ObjC <-> JS bridge (WebViewJavascriptBridge*). The repository doubles as a skill set for Apple WebView legacy workflows.

Build

Sources compile on current Xcode, but linking fails at the project's original deployment target (7.1) because libarclite was removed in Xcode 14.3+. Build with a command-line override — do not commit a deployment-target change just to make a build pass:

xcodebuild -project ios-WK-UI-Webview.xcodeproj \
  -scheme ios-WK-UI-Webview \
  -destination 'generic/platform=iOS Simulator' \
  IPHONEOS_DEPLOYMENT_TARGET=12.0 build

Verified July 2026 against the iOS 26.5 simulator SDK. If the build cannot run in your environment, say so explicitly instead of claiming success.

Structure

  • ios-WK-UI-Webview/ViewControllers/ — WK/UI controllers, fallback controller, WIWebViewProvider
  • ios-WK-UI-Webview/WebViewJavascriptBridge* — bridge protocol pair; WebViewJavascriptBridge.js.txt is the JS side of the contract
  • ios-WK-UI-Webview/Constants.h — centralized constants
  • .github/skills/ — skill set (mirrored for Claude Code in .claude/skills/)

Conventions

  • Preserve Objective-C conventions already present in the project
  • Do not force SwiftUI migration unless explicitly requested
  • Keep bridge protocol constants and JS file contract stable (wvjbscheme://__WVJB_QUEUE_MESSAGE__)
  • Keep Constants.h values centralized; avoid scattering literals
  • Favor minimal changes and regression-safe updates in this legacy codebase

Skills

Skills live in .github/skills/ and are discovered by Claude Code through symlinks in .claude/skills/.

SkillUse when
webview-legacy-referenceHistorical context, best practices, migration strategy
legacy-webview-analysisMapping runtime flow and risk before any code change
legacy-webview-implementationApplying a scoped Objective-C change (read -> gate -> implement -> validate)
update-apple-webview-landscapeRefreshing Apple/WebKit landscape facts in the references
concise-outputCompressing response prose without losing technical content

Analysis before implementation: for behavior changes, run legacy-webview-analysis first and use its safe patch checklist as the gate into legacy-webview-implementation.

Available Agents

1. WebView Legacy Analyst

Command: /webview-legacy-analyst

Use when:

  • Mapping flow between WKWebViewViewController and UIWebViewViewController
  • Auditing navigation delegates, KVO observers, and load lifecycle behavior
  • Investigating regressions in Facebook/share or redirect behavior

2. JS Bridge Maintainer

Command: /js-bridge-maintainer

Use when:

  • Changing ObjC <-> JS communication through WebViewJavascriptBridge*
  • Registering/calling handlers and validating callback contracts
  • Debugging protocol queue handling (wvjbscheme://__WVJB_QUEUE_MESSAGE__)

3. iOS WebView Modernizer

Command: /ios-webview-modernizer

Use when:

  • Reducing deprecated API usage safely
  • Improving reliability without rewriting the project architecture
  • Adding focused tests around bridge/fallback/navigation behavior

Selection Guide

Need help with...?

  • Understanding old flow and side effects -> WebView Legacy Analyst
  • Fixing bridge messages or JS handshake -> JS Bridge Maintainer
  • Incremental modernization with low risk -> iOS WebView Modernizer

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.