skilly. Buy ad slot
All skills
Testing / AGENT SKILL

verify

Mark-in-Motion/Claudence
0 installs 0 GitHub stars
0

Build, relaunch, and observe the Claudence menu bar app to verify changes end to end.
Build, relaunch, and observe the Claudence menu bar app to verify a change end-to-end.

BEFORE YOU INSTALL

Understand the trade-offs.

SECURITY REVIEW

Not yet assessed

Review the original instructions and requested permissions before installing.

No security review is available for this catalog entry yet.

SKILL QUALITY

Not yet assessed

How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.

No quality assessment is available for this catalog entry yet.

The full skill.

Original instructions from the publisher’s SKILL.md

# 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:

```bash
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.