wjs-looping-feedback について
wjs-looping-feedbackは、GitHub IssuesとActionsを使ったフィードバック処理ループをWebサイトのリポジトリに導入するツールです。自分のリポジトリで訪問者の提案を扱う管理者向けで、Claude Codeがサイトを編集し、変更やデプロイ状況、取り消し手段を記録します。
主な機能
- 01GitHub Issueを事前入力するフローティングボタン
- 02許可リストによる投稿者の制限
- 03Claude Code Actionによるサイト編集
- 04コミット、台帳、ダッシュボードの自動更新
- 05フィードバックIssueからの変更取り消し
活用シーン
- 01Webサイトへの訪問者提案を収集
- 02リポジトリのGitHub Actionsで承認済み提案を反映
- 03提案に対応するコミットを確認して取り消し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jianshuo/ claude-skills --skill wjs-looping-feedbackインストール後、Claude Code で/wjs-looping-feedbackを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignorepackage.jsonREADME.mdassets/config.sample.jsonfeedback-finalize.mjsfeedback-ledger.jsonfeedback-lib.mjsfeedback-widget.htmlfeedback.ymlINSTRUCTIONS.mdreferences/install.mdscripts/detect-site.mjstests/detect-site.test.mjsfinalize.test.mjslib.test.mjs詳細
wjs-looping-feedback
任意のウェブサイトリポジトリに、自動駆動のフィードバックループを導入します。すべてリポジトリ所有者自身の GitHub Actions 上で実行され、Pro/Max OAuth トークンまたは所有者自身の ANTHROPIC_API_KEY で認証します。追加のサービスやバックエンドは不要です。
導入されるもの
- フローティングフィードバックボタン(GitHub Issue の入力欄を事前入力します。バックエンド不要、クライアント側にキーは不要です)。
.github/workflows/feedback.yml— 許可リストによる確認 → Claude Code Action → 自動コミット →mainにプッシュ(自動デプロイ)→ 台帳とダッシュボードを更新 → Issue をクローズ。/_feedbackダッシュボード — すべての提案、Claude が行った内容、コミット、ステータス、ワンクリックでの取り消し。.feedback/の実行時ファイル:feedback-lib.mjs、feedback-finalize.mjs、INSTRUCTIONS.md、feedback-ledger.json、config.json。
仕組み
訪問者がボタンをクリック → 提案を入力 → GitHub Issue が事前入力される(ラベル feedback)→
Actions が投稿者が FEEDBACK_ALLOWLIST に含まれているか確認(含まれていない場合は Issue をクローズ)→
Claude Code が .feedback/INSTRUCTIONS.md に従ってサイトを編集 → ワークフローが main にコミットし、
台帳とダッシュボードを更新 → デプロイで公開 →
Issue にコミットと /_feedback へのリンクを含むコメントが追加されます。
取り消しも同じループで行います。Issue に revert: #N と指定します。
デプロイのトリガー — インストール前にお読みください(よくある落とし穴)
ワークフローは組み込みの GITHUB_TOKEN を使って main にプッシュします。次の 2 つのケースがあります。
- 外部プッシュデプロイホスト(Cloudflare Pages の Git 接続、Vercel、Netlify):プッシュのたびに webhook が実行されるため、ボットのコミットも自動でデプロイされます。対応は不要です。
- デプロイ自体が同じリポジトリ内の GitHub Actions ワークフローである場合(例:Actions を使った GitHub Pages):GitHub は再帰を防止するため、
GITHUB_TOKENによるプッシュで別のワークフローが起動されることを意図的に許可していません。そのため、デプロイワークフローのon: pushは実行されません。変更はmainに反映されますが、公開されません。デプロイワークフローにworkflow_runトリガーを追加して連携してください(references/install.mdの手順 4.5 を参照)。
インストール方法
references/install.md を読み、対象のリポジトリで手順に従ってください。サイトの種類(Hugo/Next.js/Astro/静的サイト)を判別し、アセットをコピーしてウィジェットを挿入します。また、ユーザーに求めるのは、GitHub ユーザー名の許可リストと認証情報(claude setup-token で取得した Pro/Max OAuth トークン、または ANTHROPIC_API_KEY)の 2 つだけです。
適用範囲(ルート 1)
ユーザー自身のリポジトリで、ユーザー自身の認証情報を使って実行されます。投稿者には GitHub アカウントが必要です。許可リストに含まれる投稿者のみが処理を開始できます。ホステッドサービスではないため、匿名投稿、課金、マルチテナントには対応していません。(将来的に GitHub App としてパッケージ化する場合も、ここにあるすべてのアセットを再利用できます。)