بنقرة واحدة
feedback
Google Form のフィードバック(Google Spreadsheet からコピー)を GitHub Discussions の Feedback カテゴリに転記する。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Google Form のフィードバック(Google Spreadsheet からコピー)を GitHub Discussions の Feedback カテゴリに転記する。
التثبيت باستخدام 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
/upstream:merge - Interactive Upstream Merge Workflow. upstream scratch-editor の変更を Smalruby に取り込む半自動ワークフロー。
smalruby3-editor の devcontainer 設定 (.devcontainer/devcontainer.json) を対話的に作成する。テンプレート (.example) を基に、利用者の環境に合わせて mounts セクションを ON/OFF する。devpod / VS Code Dev Containers で開発したい人が初回に使う。
プログラム不具合報告 (smalruby-bug-report) を DynamoDB から取得し、添付作品を S3 からダウンロードして GitHub Issue 化し、対応後に状態・返信を報告者へ書き戻す。管理者の追加/削除も行う。
機能開発完了後の総合レビュー。機能面・UI/UX・セキュリティの3観点で、ドキュメントに基づくPlaywright MCP動作確認とAPIセキュリティテストを実施する。
| name | feedback |
| description | Google Form のフィードバック(Google Spreadsheet からコピー)を GitHub Discussions の Feedback カテゴリに転記する。 |
| argument-hint | <TSV形式のフィードバックデータ(スプレッドシートからコピー)> |
Google Form 経由で収集されたユーザーフィードバックを、GitHub Discussions の Feedback カテゴリに転記する。
$ARGUMENTS には Google Spreadsheet からコピーした TSV(タブ区切り)データを受け取る。
各行は以下の4カラム(タブ区切り):
タイムスタンプ<TAB>メールアドレス<TAB>お問い合わせの種類<TAB>お問い合わせの内容
例:
2026/02/26 11:53:55 example@example.ed.jp 機能要望 {なにかと言っているとき}というブロックが欲しいです。
複数行の場合はバッチ処理する。
$ARGUMENTS をタブ文字で分割してパースするデータの形式が正しくありません。Google Spreadsheet の行をそのままコピー&ペーストしてください。
形式: タイムスタンプ<TAB>メールアドレス<TAB>お問い合わせの種類<TAB>お問い合わせの内容
転記済みのフィードバックを二重に作成しないよう、既存の Discussion を確認する。
gh api graphql -f query='
query {
repository(owner: "smalruby", name: "smalruby3-develop") {
discussions(categoryId: "DIC_kwDOFahn7M4C36ax", first: 50, orderBy: {field: CREATED_AT, direction: DESC}) {
nodes {
title
}
}
}
}
'
各行のタイムスタンプ(YYYY/MM/DD HH:MM 部分)が既存 Discussion のタイトルに含まれている場合はスキップ候補とする。
各フィードバック行について以下を生成する。
@ の前): 先頭3文字を残して *** に置換@ の後): 最後のドット以降(TLD)を残して *** に置換example@example.ed.jp → exa***@***.ed.jptanaka123@gmail.com → tan***@***.com*** に置換YYYY/MM/DD HH:MM [お問い合わせの種類] お問い合わせの内容(50文字以内)
HH:MM まで)YYYY/MM/DD HH:MM:SS に <マスク済みメール> からの smalruby.app への<お問い合わせの種類(ひらがな表記)>をいただきました。
\```text
<お問い合わせの内容(原文そのまま)>
\```
開発チームからの回答をお待ち下さい。
お問い合わせの種類の表記変換(タイトル→本文):
生成した Discussion のタイトルと本文をユーザーに提示し、承認を求める。
複数行の場合は全件をまとめて表示する。
以下の Discussion を作成します。よろしいですか?
---
### Discussion 1
**title:** 2026/02/26 11:53 [機能要望] {なにかと言っているとき}というブロックが欲しいです。
**body:**
2026/02/26 11:53:55 に exa***@***.ed.jp からの smalruby.app への機能要望をいただきました。
(内容省略)
---
「OK」「はい」などで承認してください。修正が必要な場合はお知らせください。
ユーザーの明示的な承認を得てから Phase 5 へ進む。
承認後、gh api graphql で Discussion を作成する。
重要: -f body="$BODY" は本文中の % や ! が zsh でエスケープ問題を起こすため、必ず -F オプションでファイルから直接読み込む。
/tmp/feedback-graphql-query.txt に書き出す(初回のみ):mutation($title: String!, $body: String!) { createDiscussion(input: { repositoryId: "R_kgDOFahn7A", categoryId: "DIC_kwDOFahn7M4C36ax", title: $title, body: $body }) { discussion { url } } }
各 Discussion の本文を Write ツールで /tmp/feedback-discussion-body-N.md に書き出す
-F オプションでファイルを直接参照して API を呼び出す:
gh api graphql \
-F query=@/tmp/feedback-graphql-query.txt \
-F title='<タイトル>' \
-F body=@/tmp/feedback-discussion-body-N.md
rm /tmp/feedback-discussion-body-N.md
rm /tmp/feedback-graphql-query.txt
複数行の場合は1件ずつ作成し、各 Discussion の URL を記録する。独立した API 呼び出しは並列実行してよい。
作成した Discussion の URL をまとめてユーザーに報告する。
以下の Discussion を作成しました:
1. [2026/02/26 11:53 [機能要望] ブロックが欲しい](URL)
2. ...
スキップした行(重複):
- (該当行があれば表示)
作成済みの Discussion に開発チームの回答を投稿する場合($ARGUMENTS に Discussion URL と回答方針が渡される場合)は、以下のルールに従う。
フィードバック原文が英語の場合は英語で回答する(指示があればそれに従う)。
smalruby/smalruby3-editor に Issue を作成する(Feedback の Discussion URL を「関連」として本文に記載)回答コメントの投稿に加えて、必ず以下の 2 つを行う:
タイトルに「【回答済み】」prefix を付与する(既存タイトルの先頭にそのまま付ける):
gh api graphql -f query='mutation { updateDiscussion(input: { discussionId: "<discussion-node-id>", title: "【回答済み】<元のタイトル>" }) { discussion { title } } }'
close ラベルを付与する(label ID: LA_kwDOFahn7M8AAAACakeKNg):
gh api graphql -f query='mutation { addLabelsToLabelable(input: { labelableId: "<discussion-node-id>", labelIds: ["LA_kwDOFahn7M8AAAACakeKNg"] }) { clientMutationId } }'
修正完了・デプロイ済みを伝えるフォローアップコメント(PR リンク + 変更内容の要約 + リロード依頼)を投稿した上で、必ず以下の 2 つを行う:
close ラベルを付与する(同上)prefix の使い分け: 「【回答済み】」= 対応しないと回答してクローズ、「【修正済み】」= 修正を完了してクローズ。
本文は Write ツールで /tmp/comment-N.md に書き出し、-F body=@ で投稿する(Phase 5 と同じ理由):
gh api graphql \
-F query='mutation($discussionId: ID!, $body: String!) { addDiscussionComment(input: { discussionId: $discussionId, body: $body }) { comment { url } } }' \
-F discussionId='<discussion-node-id>' \
-F body=@/tmp/comment-N.md
discussion の node ID は以下で取得できる:
gh api graphql -f query='query { repository(owner: "smalruby", name: "smalruby3-develop") { discussion(number: <N>) { id title body url } } }'
投稿前に、全コメント・Issue の内容をユーザーに提示して承認を得ること(Phase 4 と同様)。
gh auth status の実行を案内する