wjs-publishing-testflight SKILL.md skillA

wjs-publishing-testflight from jianshuo/claude-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add jianshuo/claude-skills/wjs-publishing-testflight@git:20260617.5b41945

Pins git:20260617.5b41945 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
jianshuo/claude-skills
Path
wjs-publishing-testflight/SKILL.md
Versions recorded
1
Latest version
git:20260617.5b41945, committed Jun 17, 2026
Size
14,711 bytes
Repository stars
138
License
MIT

为 iOS 项目配置 fastlane + GitHub Actions,实现推送 main 分支自动构建并上传 TestFlight。参考实现:Cathier 项目。触发词:「testflight」「fastlane」「自动构建」「CI TestFlight」「/wjs-publishing-testflight」。.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# wjs-publishing-testflight

为 iOS 项目接入 fastlane + GitHub Actions,推送 main → 自动构建 → TestFlight。参考实现是 Cathier 项目(`github.com/jianshuo/Cathier`)。

## 前置信息(所有项目通用)

| 项目 | 值 |
|------|-----|
| Apple ID | `jianshuo@hotmail.com` |
| Team ID | `97XBW2A43H` |
| ITC Team ID | `97847885` |
| ASC API Key ID | `S6363V64RS` |
| ASC Issuer ID | `69a6de82-56b6-47e3-e053-5b8c7c11a4d1` |
| ASC API Key 文件 | iCloud 重要文档目录下的 `.p8` 文件(见 [[apple-developer-credentials]])|
| Match certs repo 格式 | `https://github.com/jianshuo/<APP>-certs.git` |

## 工作流逻辑

```
git push → main
    ↓
GitHub Actions (macos-15, Xcode 26.2)
    ↓
fastlane beta
    ├─ 查询 ASC 最新 build number → 加 1
    ├─ match(readonly,拉 appstore 证书)
    ├─ increment_build_number
    ├─ build_app (app-store export)
    ├─ build_num % 10 == 0 → 自动 App Store 提审(bump marketing version)
    ├─ pbxproj MARKETING_VERSION > 最新 release/* tag → 手动 bump → 提审
    └─ 否则 → upload_to_testflight + 打 testflight/<build_num> tag
```

**Auto-release 规则**(Cathier 的约定,新项目可自定):
- 每第 10 个 build(build_num % 10 == 0)自动 bump minor 版本并提交 App Store
- 或开发者手动改 pbxproj 的 `MARKETING_VERSION` 并推送
- CI 永远不 commit pbxproj,不 push main

## Step 1 — 初始化 fastlane

```bash
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add jianshuo/claude-skills/wjs-publishing-testflight@sha256:c0f9258f79c3fb96

The line at the top of this page pins the label git:20260617.5b41945, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_nshi3kdfmlvrvizt.svg)](https://markdownregistry.com/a/art_nshi3kdfmlvrvizt)

3 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Jun 17, 2026.

versioncommittedcommitsizeaudit
git:20260617.5b41945 latest2026-06-17 5b41945 14,711 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (14711 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

jianshuo/claude-skills · 138 stars · license MIT · pushed 2026-11-06 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_nshi3kdfmlvrvizt
GET https://markdownregistry.com/api/v1/resolve?ref=jianshuo/claude-skills/wjs-publishing-testflight
GET https://markdownregistry.com/api/v1/blob/c0f9258f79c3fb96aab8c393b29602d23ab7a4d8c54f5c04c409a9055257fe4b

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from jianshuo/claude-skills

wangjianshuo-perspective SKILL.md skill
jianshuo/claude-skills · wangjianshuo-perspective/SKILL.md · 王建硕的思维框架与表达方式。基于 7 份深度调研(约 100 万词英文博客 + 约 109 万字中文博客, 2002–2022,全部一手)提炼出 7 个核心心智模型、10 条决策启发式和完整的双语表达…
git:20260517.4dbe939 · audit A · 138 stars
wjs-auditing-project SKILL.md skill
jianshuo/claude-skills · wjs-auditing-project/SKILL.md · Use when the user asks to audit what's wrong with a project, "make it right", "看看项目出了什么问题", "为什么用户的需求还没上线", "为什么没提交App…
git:20260512.543ca8b · audit A · 138 stars
wjs-burning-subtitles SKILL.md skill
jianshuo/claude-skills · wjs-burning-subtitles/SKILL.md · Use when the user has a video + an SRT and wants the subtitles either burned into the pixels (libass, always-visible)…
git:20260512.543ca8b · audit A · 138 stars
wjs-cleaning-spam SKILL.md skill
jianshuo/claude-skills · wjs-cleaning-spam/SKILL.md · Use when the user complains about spam on his X/Twitter posts — 同城面付 / 寻固炮 / 线下上门 / 免费破处 这类引流号在他推文下刷的 emoji 垃圾回复 — and…
git:20260610.c496d29 · audit A · 138 stars
wjs-converting-text-to-video SKILL.md skill
jianshuo/claude-skills · wjs-converting-text-to-video/SKILL.md · Use when the user wants a 王建硕-style WeChat article (article.md) turned into a narrated short MP4 video — TTS voiceover…
git:20260525.b5d2f5b · audit B · 138 stars
wjs-converting-wp-to-hugo SKILL.md skill
jianshuo/claude-skills · wjs-converting-wp-to-hugo/SKILL.md · Use when migrating a WordPress site to a Hugo static site on GitHub Pages from a WXR export (.xml) plus the…
git:20260604.a7d43b7 · audit A · 138 stars
wjs-creating-video-book SKILL.md skill
jianshuo/claude-skills · wjs-creating-video-book/SKILL.md · Use when the user wants a book turned into YouTube chapter videos — 每章用 VoiceDrop 读书的有声书 mp3 做音轨,配 GPT Image 2…
git:20260817.25922c1 · audit A · 138 stars
DESIGN.md@wjs-distilling-style DESIGN.md file
jianshuo/claude-skills · wjs-distilling-style/DESIGN.md
git:20260620.2f8ced5 · audit A · 138 stars
wjs-distilling-style SKILL.md skill
jianshuo/claude-skills · wjs-distilling-style/SKILL.md · Use when the user wants to capture a writer's voice from a few sample articles and rewrite text to sound like that…
git:20260701.c459352 · audit A · 138 stars
wjs-dubbing-video SKILL.md skill
jianshuo/claude-skills · wjs-dubbing-video/SKILL.md · Use when the user has a video + a target-language SRT and wants the video to actually speak that language — generates a…
git:20260512.543ca8b · audit A · 138 stars
wjs-eating-and-growing SKILL.md skill
jianshuo/claude-skills · wjs-eating-and-growing/SKILL.md · 吃一堑长一智 — 走完 5 步交互式反思(堑 → 自动输出 → 旧权重 → 新参数 → 替代动作),从「情绪复盘」推进到「行为训练」,把第一反应这一层 L3 权重练新。Use when 王建硕 reflects on a personal…
git:20260518.5644746 · audit A · 138 stars
wjs-editing-multicam SKILL.md skill
jianshuo/claude-skills · wjs-editing-multicam/SKILL.md · Use when the user has 2+ recordings of the same event (each with a `.sync.json` sidecar from wjs-syncing-multicam) and…
git:20260526.587665f · audit A · 138 stars

Every file in jianshuo/claude-skills

Browse by kind, by grade A, or by owner.