magic-todo-watch-deploy

Build, deploy, and manage the MagicTodoWatch iOS/watchOS voice-to-task pipeline app. Use when building for device or simulator, fixing Xcode project issues, or running the 7-world backend pipeline.

16 stars

Best use case

magic-todo-watch-deploy is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Build, deploy, and manage the MagicTodoWatch iOS/watchOS voice-to-task pipeline app. Use when building for device or simulator, fixing Xcode project issues, or running the 7-world backend pipeline.

Teams using magic-todo-watch-deploy should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/magic-todo-watch-deploy/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/magic-todo-watch-deploy/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/magic-todo-watch-deploy/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How magic-todo-watch-deploy Compares

Feature / Agentmagic-todo-watch-deployStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Build, deploy, and manage the MagicTodoWatch iOS/watchOS voice-to-task pipeline app. Use when building for device or simulator, fixing Xcode project issues, or running the 7-world backend pipeline.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# MagicTodoWatch Deploy

## Project Location

- **Source**: `/Users/alice/worlds/w/MagicTodoWatch/`
- **jj repo**: `/Users/alice/worlds/magic-todo-watch/`
- **GitHub**: `monaduck1069/magic-todo-watch` (private)
- **Bundle ID**: `com.monaduck1069.MagicTodoWatch`
- **Watch Bundle**: `com.monaduck1069.MagicTodoWatch.watchkitapp`
- **Team**: `FLLV2L2D4K`
- **Device (#ee2b49)**: `00008150-00123D3E0C46401C`

## Xcode Setup

Xcode is at `/Users/alice/Downloads/Xcode.app`. xcode-select points at CommandLineTools, so ALL xcodebuild/xcrun commands need:

```bash
DEVELOPER_DIR=/Users/alice/Downloads/Xcode.app/Contents/Developer
```

For xcrun (simctl, devicectl):
```bash
DEVELOPER_DIR=/Users/alice/Downloads/Xcode.app/Contents/Developer /usr/bin/xcrun simctl ...
```

For xcodebuild:
```bash
DEVELOPER_DIR=/Users/alice/Downloads/Xcode.app/Contents/Developer /Users/alice/Downloads/Xcode.app/Contents/Developer/usr/bin/xcodebuild ...
```

## Build & Deploy to Physical Device

```bash
XC="DEVELOPER_DIR=/Users/alice/Downloads/Xcode.app/Contents/Developer /Users/alice/Downloads/Xcode.app/Contents/Developer/usr/bin/xcodebuild"
DC="DEVELOPER_DIR=/Users/alice/Downloads/Xcode.app/Contents/Developer /Users/alice/Downloads/Xcode.app/Contents/Developer/usr/bin/devicectl"
PROJ="-project /Users/alice/worlds/w/MagicTodoWatch/MagicTodoWatch.xcodeproj"
DEVICE="id=00008150-00123D3E0C46401C"

# Build (includes embedded watch app)
$XC $PROJ -scheme MagicTodoWatch -configuration Debug -destination "$DEVICE" -allowProvisioningUpdates clean build

# Install
APP_PATH=$(ls -d ~/Library/Developer/Xcode/DerivedData/MagicTodoWatch-*/Build/Products/Debug-iphoneos/MagicTodoWatch.app | head -1)
$DC device install app --device 00008150-00123D3E0C46401C "$APP_PATH"

# Launch (phone must be unlocked)
$DC device process launch --device 00008150-00123D3E0C46401C com.monaduck1069.MagicTodoWatch
```

## Build & Deploy to Simulators

```bash
SIMCTL="DEVELOPER_DIR=/Users/alice/Downloads/Xcode.app/Contents/Developer /usr/bin/xcrun simctl"
IPHONE_SIM=E7F1ADC6-21F1-4BA4-944A-B99D693571B3   # iPhone 17
WATCH_SIM=FE8B667A-A976-4F71-9CE6-F1C7414F5C25     # Apple Watch Series 10 46mm

# Boot
$SIMCTL boot $IPHONE_SIM
$SIMCTL boot $WATCH_SIM

# Build for sim
$XC $PROJ -scheme MagicTodoWatch -destination "id=$IPHONE_SIM" -allowProvisioningUpdates build

# Install
$SIMCTL install $IPHONE_SIM ~/Library/Developer/Xcode/DerivedData/MagicTodoWatch-*/Build/Products/Debug-iphonesimulator/MagicTodoWatch.app
$SIMCTL install $WATCH_SIM ~/Library/Developer/Xcode/DerivedData/MagicTodoWatch-*/Build/Products/Debug-watchsimulator/MagicTodoWatchWatch.app

# Launch
$SIMCTL launch $IPHONE_SIM com.monaduck1069.MagicTodoWatch
$SIMCTL launch $WATCH_SIM com.monaduck1069.MagicTodoWatch.watchkitapp

# Open Simulator.app
open /Users/alice/Downloads/Xcode.app/Contents/Developer/Applications/Simulator.app
```

## Architecture

```
Watch (watchOS 10+)                    Phone (iOS 17+)
┌──────────────────┐                   ┌──────────────────────────┐
│ AudioCaptureMgr  │─── PCM chunks ──→│ PhoneSessionManager      │
│ LiveTranscriber   │   (WCSession)    │   ├─ SFSpeechRecognizer  │
│ WatchSessionMgr  │←── transcripts ──│   ├─ TodoProcessor        │
│ WatchContentView │    + todos        │   │   ├─ LocalModelService│
└──────────────────┘                   │   │   └─ regex fallback   │
                                       │   └─ CaptureBufferBridge  │
                                       │       └─ JSON → Files app │
                                       └──────────────────────────┘
                                                    │
                                           ~/Documents/capture-buffer/
                                                    │
                                       ┌────────────▼─────────────┐
                                       │   Desktop Pipeline       │
                                       │   p/orchestrate.py       │
                                       │   W→T→A→M→P→E↔C         │
                                       └──────────────────────────┘
```

## Key Files (iOS Target)

| File | Role |
|------|------|
| `App/Services/PhoneSessionManager.swift` | WCSessionDelegate, SFSpeech, main coordinator |
| `App/Services/TodoProcessor.swift` | 3-stage extraction chain (NLP → regex → MLX) |
| `App/Services/LocalModelService.swift` | NLTagger POS/NER on-device extraction |
| `App/Services/CaptureBufferBridge.swift` | JSON export to App Group + Files app |
| `App/Services/VoiceMemoBridge.swift` | Voice memo audio bridge |

## Key Files (watchOS Target)

| File | Role |
|------|------|
| `Watch/Services/AudioCaptureManager.swift` | AVAudioEngine mic capture |
| `Watch/Services/LiveTranscriber.swift` | Float32→Int16 conversion, chunked send |
| `Watch/Services/WatchSessionManager.swift` | WCSession send/receive |

## Common Issues & Fixes

### "cannot find 'X' in scope"
File exists but isn't in `project.pbxproj`. Add three entries:
1. PBXBuildFile (Sources reference)
2. PBXFileReference (file declaration)
3. PBXGroup children (directory listing)
4. PBXSourcesBuildPhase files (compile list)

### Python 3.9 compat
Pipeline scripts must work on system Python 3.9.6. Use `from __future__ import annotations` instead of `X | None` union syntax.

### Empty entitlements
Both `App.entitlements` and `Watch.entitlements` MUST contain `group.com.magictodo.capture` App Group for CaptureBufferBridge to work.

### Phone locked during launch
`devicectl device process launch` fails with "Locked" — phone must be unlocked first. Install still works while locked.

## 7-World Pipeline

```bash
# Dry-run the orchestrator
python3 /Users/alice/worlds/p/orchestrate.py --dry-run --verbose

# Run arena forge conversion
python3 /Users/alice/worlds/p/task_to_arena.py /Users/alice/worlds/p/capture-buffer-canonical.org --dry-run

# Regenerate olog from arena
python3 /Users/alice/worlds/p/task-olog-export.py --input /Users/alice/worlds/p/arena_forge.json --output /Users/alice/worlds/p/task-olog.json --pretty
```

## jj Workflow

```bash
JJ=/nix/store/jjyhca8bymk8zvgc65q5cy19wm9pqkmd-jujutsu-0.38.0/bin/jj
cd /Users/alice/worlds/magic-todo-watch

$JJ status
$JJ log
$JJ describe -m "description"
$JJ new
$JJ bookmark set main -r @-
$JJ git push --bookmark main
```

## App Icon

Generate with Swift (renders emoji to 1024x1024 PNG):
```bash
# See /tmp/gen_icon.swift — renders emoji onto rounded-rect background
# Output: App/Assets.xcassets/AppIcon.appiconset/icon_1024.png
/usr/bin/swift /tmp/gen_icon.swift
```

Related Skills

tmp-filesystem-watcher

16
from plurigrid/asi

Real-time filesystem watcher for /tmp using Babashka fs.

securing-helm-chart-deployments

16
from plurigrid/asi

Secure Helm chart deployments by validating chart integrity, scanning templates for misconfigurations, and enforcing security contexts in Kubernetes releases.

performing-deception-technology-deployment

16
from plurigrid/asi

Deploys deception technology including honeypots, honeytokens, and decoy systems to detect attackers who have bypassed perimeter defenses, providing high-fidelity alerts with near-zero false positive rates. Use when SOC teams need early warning of lateral movement, credential abuse, or internal reconnaissance by deploying convincing traps across the network.

fswatch-duckdb

16
from plurigrid/asi

FileSystemWatcher over /tmp with DuckDB/DuckLake persistence. Auto-starts on Amp sessions for resilient file monitoring with temporal queries.

deploying-tailscale-for-zero-trust-vpn

16
from plurigrid/asi

Deploy and configure Tailscale as a WireGuard-based zero trust mesh VPN with identity-aware access controls, ACLs, and exit nodes for secure peer-to-peer connectivity.

deploying-software-defined-perimeter

16
from plurigrid/asi

Deploy a Software-Defined Perimeter using the CSA v2.0 specification with Single Packet Authorization, mutual TLS, and SDP controller/gateway configuration to enforce zero trust network access.

deploying-ransomware-canary-files

16
from plurigrid/asi

Deploys and monitors ransomware canary files across critical directories using Python's watchdog library for real-time filesystem event detection. Places strategically named decoy files that mimic high-value targets (financial records, credentials, database exports) in locations ransomware typically enumerates first. Monitors for any read, modify, rename, or delete operations on canary files and triggers immediate alerts via email, Slack webhook, or syslog when interaction is detected, providing early warning before full encryption begins.

deploying-palo-alto-prisma-access-zero-trust

16
from plurigrid/asi

Deploying Palo Alto Networks Prisma Access for SASE-based zero trust network access using GlobalProtect agents, ZTNA Connectors, security policy enforcement, and integration with Strata Cloud Manager for unified security management.

deploying-osquery-for-endpoint-monitoring

16
from plurigrid/asi

Deploys and configures osquery for real-time endpoint monitoring using SQL-based queries to inspect running processes, open ports, installed software, and system configuration. Use when building visibility into endpoint state, threat hunting across fleet, or implementing compliance monitoring. Activates for requests involving osquery deployment, endpoint visibility, fleet management, or SQL-based endpoint querying.

deploying-edr-agent-with-crowdstrike

16
from plurigrid/asi

Deploys and configures CrowdStrike Falcon EDR agents across enterprise endpoints to enable real-time threat detection, behavioral analysis, and automated response. Use when onboarding endpoints to EDR coverage, configuring detection policies, or integrating Falcon telemetry with SIEM platforms. Activates for requests involving CrowdStrike deployment, Falcon sensor installation, EDR policy configuration, or endpoint detection and response.

deploying-decoy-files-for-ransomware-detection

16
from plurigrid/asi

Deploys canary files (honeytokens) across file systems to detect ransomware encryption activity in real time. Uses strategically placed decoy documents monitored via file integrity monitoring or OS-level watchdogs to trigger alerts when ransomware modifies or encrypts them. Activates for requests involving ransomware canary deployment, honeyfile setup, deception-based ransomware detection, or file integrity monitoring for encryption.

deploying-cloudflare-access-for-zero-trust

16
from plurigrid/asi

Deploying Cloudflare Access with Cloudflare Tunnel to provide zero trust access to self-hosted and private applications, configuring identity-aware access policies, device posture checks, and WARP client enrollment for VPN replacement.