← 返回 Skills 市场
jon-xo

TestFlight Seat Monitor

作者 Jon Newton · GitHub ↗ · v1.0.1
darwinlinux ✓ 安全检测通过
692
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install testflight-monitor
功能描述
Monitor available TestFlight beta slots with smart app lookups and silent batch checking. Get alerted when slots open up.
使用说明 (SKILL.md)

TestFlight Seat Monitor

Monitor available TestFlight beta slots with smart app name lookups and silent batch checking. Get alerted only when seats open up.

What It Does

  • Lookup TestFlight codes → app names using community data
  • Check single URLs for immediate status
  • Batch monitoring with state tracking (silent by default)
  • Only alerts on changes (full → available)
  • Configurable intervals (30min - 3hr recommended)

Why This Exists

TestFlight betas fill up fast. This skill:

  • Monitors multiple betas in one job
  • Stays silent unless something changes
  • Uses human-readable app names (not cryptic codes)
  • Tracks state across checks to detect transitions

Installation

clawhub install testflight-monitor

Or clone from GitHub:

cd ~/.openclaw/workspace/skills
git clone https://github.com/jon-xo/testflight-monitor-skill.git testflight-monitor
cd testflight-monitor

Initial Setup

⚠️ Important: config/batch-config.json is user-specific and NOT shipped with defaults.

1. Initialize your config (one time)

cp config/batch-config.example.json config/batch-config.json

2. Add your TestFlight URLs

./testflight-monitor.sh add https://testflight.apple.com/join/YOUR_CODE_HERE
./testflight-monitor.sh add https://testflight.apple.com/join/ANOTHER_CODE
./testflight-monitor.sh list

3. Verify it works

./testflight-monitor.sh batch
# Output: SILENT: No status changes detected. (or alert if available)

Quick Start

# Every hour check
openclaw cron add \
  --name "TestFlight Monitor" \
  --every 60m \
  --target isolated \
  --message "Run TestFlight batch check: ~/.openclaw/workspace/skills/testflight-monitor/testflight-monitor.sh batch. If output contains 'SILENT', reply NO_REPLY. Otherwise announce the findings."

Quick Start

4. Set up automated monitoring (cron - optional)

# Check every hour, silent unless slots open
openclaw cron add \
  --name "TestFlight Monitor" \
  --every 60m \
  --target isolated \
  --message "Run: ~/.openclaw/workspace/skills/testflight-monitor/testflight-monitor.sh batch. If output contains 'SILENT', reply NO_REPLY. Otherwise announce the findings."

Commands

Core Commands

lookup \x3Ccode>
Look up app name by TestFlight code

./testflight-monitor.sh lookup BnjD4BEf
# Output: OpenClaw iOS

check \x3Curl>
Check single TestFlight URL for availability

./testflight-monitor.sh check https://testflight.apple.com/join/BnjD4BEf
# Output: Status: full | App: OpenClaw iOS

batch
Check all configured URLs (silent unless status changed)

./testflight-monitor.sh batch
# Output: SILENT: No status changes detected.
# Or: 🎉 **OpenClaw iOS** beta now has open slots! https://...

Configuration Commands

list
Show all monitored URLs with app names

./testflight-monitor.sh list

add \x3Curl>
Add URL to batch monitoring

./testflight-monitor.sh add https://testflight.apple.com/join/Sq8bYSnJ

remove \x3Curl>
Remove URL from batch monitoring

./testflight-monitor.sh remove https://testflight.apple.com/join/Sq8bYSnJ

config
Show batch configuration (JSON)

./testflight-monitor.sh config

state
Show current state (last known status for each app)

./testflight-monitor.sh state

Maintenance Commands

update-lookup
Refresh lookup table from awesome-testflight-link

./testflight-monitor.sh update-lookup
# Run weekly to keep app names current

Architecture

testflight-monitor/
├── testflight-monitor.sh       # Main CLI (entry point)
├── lib/                         # Modular components
│   ├── lookup.sh               # Code → app name resolver
│   ├── check-single.sh         # Single URL checker
│   └── check-batch.sh          # Batch checker (silent mode)
├── config/                      # Configuration & state
│   ├── testflight-codes.json  # Community lookup table (~859 apps)
│   ├── custom-codes.json      # User overrides (private betas)
│   ├── batch-config.json      # Monitoring configuration
│   └── batch-state.json       # State tracking
├── tools/                       # Utilities
│   └── update-lookup.sh       # Refresh lookup table
└── SKILL.md                     # This file

Configuration Files

batch-config.json

User-specific monitoring list. Not shipped with defaults; created during initial setup.

Example structure:

{
  "links": [
    "https://testflight.apple.com/join/YOUR_CODE_1",
    "https://testflight.apple.com/join/YOUR_CODE_2"
  ],
  "interval_minutes": 60
}

Manage via CLI:

./testflight-monitor.sh add \x3Curl>
./testflight-monitor.sh remove \x3Curl>
./testflight-monitor.sh list

Or edit directly (config/batch-config.json)

custom-codes.json

Add private betas not in the community list:

{
  "BnjD4BEf": "OpenClaw iOS",
  "YOUR_CODE": "Your App Name"
}

Silent by Default

The batch checker only outputs when status changes:

  • full → available: 🎉 Alert!
  • full → full: Silent
  • available → full: Silent (you already got in, or missed it)

This prevents notification spam while keeping you informed.

Data Sources

Lookup table: awesome-testflight-link

  • Community-maintained list of 800+ public TestFlight betas
  • Updated via update-lookup command
  • Recommended: refresh weekly

Custom codes: User-defined in config/custom-codes.json

  • For private betas not in the community list
  • Higher priority than community list

Dependencies

  • curl - Fetch TestFlight pages
  • jq - JSON processing
  • bash - Shell scripting (macOS/Linux)

Examples

Monitor OpenClaw iOS Beta

cd ~/.openclaw/workspace/skills/testflight-monitor
./testflight-monitor.sh add https://testflight.apple.com/join/BnjD4BEf
./testflight-monitor.sh batch

Check Multiple Apps

./testflight-monitor.sh add https://testflight.apple.com/join/Sq8bYSnJ  # Duolingo
./testflight-monitor.sh add https://testflight.apple.com/join/b9jMyOWt  # Reddit
./testflight-monitor.sh list

Manual Status Check

./testflight-monitor.sh check https://testflight.apple.com/join/BnjD4BEf

Contributing

GitHub: https://github.com/jon-xo/testflight-monitor-skill
Issues: Report bugs or request features
Pull Requests: Improvements welcome

License

MIT License - see LICENSE file

Credits

Version History

1.0.0 (2026-02-11)

  • Initial release
  • Unified architecture (lookup + single + batch in one skill)
  • Silent-by-default batch monitoring
  • CLI-based configuration
  • Community lookup table integration
安全使用建议
This skill appears to do what it says: it checks TestFlight pages and keeps a local state to only notify when slots open. Before installing, consider: 1) Dependencies — ensure curl, jq and bash are available. 2) Network access — the tool fetches testflight.apple.com pages and the awesome-testflight-link README on raw.githubusercontent.com when updating the lookup table; if you have network restrictions, expect those calls. 3) Local config — the skill stores monitored URLs and state under the skill folder (config/). Review and edit config/batch-config.json (remove or replace the included example URL) so you only monitor URLs you intend. 4) Cron behavior — scheduled runs will cause periodic outbound HTTP requests; run in an isolated target as suggested if you want to limit blast radius. 5) Trust the lookup source — update-lookup pulls from a public GitHub README and parses it; if you need stricter guarantees, inspect the fetched content before use. No secrets appear to be requested or exfiltrated by these scripts.
功能分析
Package: TestFlight Seat Monitor (xpi) Version: 1.0.1 Description: Monitor TestFlight beta availability with smart app lookups and silent batch checking The TestFlight Seat Monitor package is a collection of bash scripts designed to monitor TestFlight beta availability. It fetches TestFlight pages from Apple's servers, parses them for availability indicators, and tracks the status of configured beta links. It also includes functionality to update a lookup table of app names from a public GitHub repository. The package uses standard Unix utilities like `curl`, `jq`, `grep`, `sed`, and `awk` for its operations. All external network requests are for its stated purpose (fetching TestFlight pages and a public lookup list). Data parsing from external sources is limited to text extraction and does not involve execution of untrusted code. Configuration and state are managed in local JSON files using `jq` for safe manipulation. There is no evidence of malicious intent, arbitrary code execution, data exfiltration, or privilege escalation. The code logic is transparent and directly supports the advertised functionality.
能力评估
Purpose & Capability
Name/description (monitor TestFlight seats) align with what the skill does: curl pages, parse HTML, map codes→names from a bundled/community lookup, and track state. The included scripts and JSON lookup file are appropriate for this function. Minor note: SKILL.md says user-specific batch-config.json is not shipped, but the repo contains a non-empty config/batch-config.json (example with one Reddit URL) — functional but a small documentation inconsistency.
Instruction Scope
Runtime instructions and SKILL.md direct the agent to run the included shell scripts, manage local config files, and optionally schedule a cron job in an isolated target. The scripts only read/write files inside the skill directory (config/*.json, batch-state.json) and fetch public pages (testflight.apple.com) and a README on raw.githubusercontent.com for the lookup update. They do not access unrelated system files or external endpoints beyond these public hosts.
Install Mechanism
No install spec is provided (instruction-only install via cloning or clawhub). All code is in plain shell scripts stored in the skill directory; nothing downloads or executes arbitrary archives from unknown hosts at install time. update-lookup.sh fetches a known raw GitHub README (pluwen/awesome-testflight-link), which is expected for updating the lookup table.
Credentials
The skill requests no environment variables or credentials. It relies on common CLI tools (curl, jq, bash) which are justified for HTTP fetching and JSON processing. No secrets are requested or accessed.
Persistence & Privilege
always:false and default model invocation settings are used. The skill persists only its own config and state files under its skill directory (config/batch-config.json, config/batch-state.json, config/testflight-codes.json). It does not modify other skills, system settings, or global agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install testflight-monitor
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /testflight-monitor 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Rebranding: Better name to describe available seat monitoring. Functionality unchanged.
v1.0.0
Monitor TestFlight beta availability with smart app lookups and silent batch checking
元数据
Slug testflight-monitor
版本 1.0.1
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

TestFlight Seat Monitor 是什么?

Monitor available TestFlight beta slots with smart app lookups and silent batch checking. Get alerted when slots open up. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 692 次。

如何安装 TestFlight Seat Monitor?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install testflight-monitor」即可一键安装,无需额外配置。

TestFlight Seat Monitor 是免费的吗?

是的,TestFlight Seat Monitor 完全免费(开源免费),可自由下载、安装和使用。

TestFlight Seat Monitor 支持哪些平台?

TestFlight Seat Monitor 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(darwin, linux)。

谁开发了 TestFlight Seat Monitor?

由 Jon Newton(@jon-xo)开发并维护,当前版本 v1.0.1。

💬 留言讨论