Builds, relaunches, and observes the Claudence app to confirm changes.

Install

mkdir -p .claude/skills/verify-mark-in-motion && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18778" && unzip -o skill.zip -d .claude/skills/verify-mark-in-motion && rm skill.zip

Installs to .claude/skills/verify-mark-in-motion

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build, relaunch, and observe the Claudence menu bar app to verify a change end-to-end.
86 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Build the Claudence app using xcodebuild
  • Relaunch the Claudence app
  • Observe current app state via JSON snapshots
  • Check app history via usage_history.json
  • Review app diagnostics and settings files

How it works

The skill builds the Claudence macOS app using xcodebuild, relaunches it by killing the existing process and opening the new build, and then observes its state by reading specific JSON files.

Inputs & outputs

You give it
SwiftUI/Xcode project changes
You get back
Running Claudence.app and updated local state JSON files

When to use verify

  • Test app build
  • Verify UI changes
  • Check app state files
  • Relaunch application

About this skill

Verifying Claudence changes

Claudence is a macOS menu bar app (SwiftUI, Xcode project + SwiftPM package in the same repo).

Build

  • Unit-test/compile loop: swift build and swift test from the repo root (fast, seconds).
  • Real app bundle: xcodebuild -scheme Claudence -configuration Debug build (single scheme Claudence; output lands in ~/Library/Developer/Xcode/DerivedData/Claudence-*/Build/Products/Debug/Claudence.app).

Relaunch

The user usually has a Debug instance running from DerivedData. To swap in a new build:

pkill -x Claudence; sleep 1; open ~/Library/Developer/Xcode/DerivedData/Claudence-*/Build/Products/Debug/Claudence.app

Keychain session key (com.claudence.session / default) survives relaunch; the app fetches live usage within seconds of launch.

Observe (no accessibility access needed)

The popover can't be opened programmatically (osascript lacks assistive access), but the app persists everything it renders:

  • Current snapshot: ~/Library/Application Support/Claudence/Snapshots/current_snapshot.json (also last_known_good_snapshot.json; check fetchedAt to confirm a fresh live fetch happened after relaunch)
  • History: ~/Library/Application Support/Claudence/History/usage_history.json (appended on each live fetch)
  • Diagnostics/errors: ~/Library/Application Support/Claudence/diagnostics.json
  • Settings: ~/Library/Application Support/Claudence/settings.json (session key is NOT here, it's in the Keychain)

For UI-only changes, ask the user to click the menu bar icon and screenshot — programmatic capture is blocked without accessibility + screen-recording permissions.

Gotchas

  • grep --include=*.swift fails under zsh globbing; quote it or use -r ... --include "*.swift".
  • Reading the keychain item from a script triggers a blocking permission dialog — don't; let the app do the fetch and read its output files instead.

When not to use it

  • For programmatic popover interaction
  • When needing to read keychain items directly from a script
  • When `grep --include=*.swift` is used without proper quoting in zsh

Limitations

  • Cannot open the app popover programmatically
  • Cannot read keychain items directly from a script without a permission dialog
  • Requires manual screenshot for UI-only changes due to accessibility permissions

How it compares

This process automates the build, relaunch, and observation of a macOS app by interacting with Xcode build outputs and specific application support files, rather than requiring manual steps.

Compared to similar skills

verify side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
verify (this skill)013dReviewIntermediate
build-macos-apps708moReviewIntermediate
ios-simulator-skill271moReviewAdvanced
build-iphone-apps148moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry