ワンクリックで
upstream-merge
/upstream:merge - Interactive Upstream Merge Workflow. upstream scratch-editor の変更を Smalruby に取り込む半自動ワークフロー。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
/upstream:merge - Interactive Upstream Merge Workflow. upstream scratch-editor の変更を Smalruby に取り込む半自動ワークフロー。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
autopilot の総合サポート。初期設定(必要情報のインタビュー → 起動スクリプト tmp/autopilot_up.sh の生成 → 起動コマンド提示)、Issue の enroll ショートカット(本文や末尾に「enroll autopilot」)、トラブル診断(check-autopilot へ委譲)、運用中の操作支援。「init autopilot」「autopilot開始」「go autopilot」「play autopilot」「enroll autopilot」など、autopilot と一緒にやろうと汲み取れるひとことで起動する。
autopilot daemon の状態確認と異常(Blocked / 認証失効 / stuck)の診断・復旧支援。「check autopilot」「check autopilot
smalruby3-editor の devcontainer 設定 (.devcontainer/devcontainer.json) を対話的に作成する。テンプレート (.example) を基に、利用者の環境に合わせて mounts セクションを ON/OFF する。devpod / VS Code Dev Containers で開発したい人が初回に使う。
プログラム不具合報告 (smalruby-bug-report) を DynamoDB から取得し、添付作品を S3 からダウンロードして GitHub Issue 化し、対応後に状態・返信を報告者へ書き戻す。管理者の追加/削除も行う。
Google Form のフィードバック(Google Spreadsheet からコピー)を GitHub Discussions の Feedback カテゴリに転記する。
機能開発完了後の総合レビュー。機能面・UI/UX・セキュリティの3観点で、ドキュメントに基づくPlaywright MCP動作確認とAPIセキュリティテストを実施する。
| name | upstream-merge |
| description | /upstream:merge - Interactive Upstream Merge Workflow. upstream scratch-editor の変更を Smalruby に取り込む半自動ワークフロー。 |
upstream scratch-editor の変更を Smalruby fork に取り込む半自動ワークフロー。
⚠️ 必読・絶対ルール: 差分比較の基準は release タグ / recorded
lastMerge.upstreamCommit。 ghq ローカルのdevelopは stale で誤判定の原因になる(develop-trap、過去2回発生)。またpostMergeRevertsに登録された pre-spork 残債は lost-fix ではない。詳細:.claude/rules/upstream-tracking.md。
| Phase | ファイル | 内容 |
|---|---|---|
| 1 | phase1-prepare.md | Prerequisites確認 → ブランチ作成 → マージ実行 |
| 2 | phase2-conflicts.md | コンフリクト解決ガイド(既知パターン + ガイダンス) |
| 3 | phase3-validation.md | コミット → divergence 監査 → lint → build → テスト → CI |
| 4 | phase4-finalize.md | merge history更新 → PR作成 → 手動テスト |
リファレンス(必要時に読み込む):
| ファイル | 内容 |
|---|---|
reference-api-migration.md | ScratchBlocks API 変更一覧 |
reference-test-patterns.md | テスト修正の既知パターン集 |
.upstream-merge-history.json スキーマ{
"lastMerge": {
"date": "YYYY-MM-DD",
"upstreamCommit": "<upstream commit hash>",
"targetRelease": "vX.Y.Z",
"scratchWwwProductionSha": "<scratch-www production deploy commit>",
"scratchGuiVersion": "X.Y.Z",
"smalrubyCommit": "<smalruby commit hash before merge>",
"mergeCommit": "<merge commit hash>",
"notes": "description"
},
"postMergeReverts": [
{
"date": "YYYY-MM-DD",
"pr": "#NNN",
"reason": "why the revert was needed",
"scope": "short scope label",
"affectedAreas": [
{
"category": "human-readable category name",
"files": ["path/to/file1", "path/to/file2"],
"detail": "what was reverted and why"
}
],
"nextMergeGuidance": "instructions for how to handle these files on the next upstream merge"
}
],
"previousMerges": [
{ "...(rotated from lastMerge)" }
]
}
postMergeReverts の意味upstream merge 後に、取り込んだ変更の一部を revert した場合に記録する。
lastMerge.upstreamCommit まで取り込み済みだが、一部のファイルは revert されていることを示すaffectedAreas のファイルでコンフリクトが発生する可能性が高いnextMergeGuidance に従ってコンフリクトを解決するpostMergeReverts がある場合は、Phase 2 の前にユーザーと方針を確認するgit add . は使わない — git add -u (tracked files のみ) を使うnotes/ は絶対にコミットしない — .gitignore で除外済みだが、明示パス指定や -f で追加されうるgit add .upstream-merge-history.json のみ--merge — squash merge は禁止。gh pr merge <number> --merge --delete-branchPhase 1 のファイルを読み込んで開始:
.claude/skills/upstream-merge/phase1-prepare.md