jianshuo/claude-skills

wjs-looping-feedback

Use when the user wants to add an in-site feedback loop to a website repo — a floating "提个建议" button where allowlisted visitors submit suggestions that become a GitHub Issue, which GitHub Actions turns into an automatic code change via Claude Code, auto-merges and deploys, and records on a /_feedback dashboard with one-click revert. Triggers — "给网站加个反馈对话框", "提一句话就自动改网站", "?

First seen Jun 5, 2026

Installation

$ npx skills add jianshuo/claude-skills --skill wjs-looping-feedback

Summary

  • Use when the user wants to add an in-site feedback loop to a website repo — a floating "提个建议" button where allowlisted visitors submit suggestions that become a GitHub Issue, which GitHub Actions turns into an automatic code change via Claude Code, auto-merges and deploys, and records on a /_feedback dashboard with one-click revert.
  • Triggers — "给网站加个反馈对话框", "提一句话就自动改网站", "??

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jianshuo/claude-skills · top by installs.

npx skills add jianshuo/claude-skills

Browse all from jianshuo/claude-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 129
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,139 B
  • docs README.md 294 B
  • docs SUMMARY.md 517 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 83 installs

SKILL.md

wjs-looping-feedback

Installs a self-driving feedback loop into any website repo. Runs entirely on the repo owner's own GitHub Actions, authenticated with their Pro/Max OAuth token or their own ANTHROPICAPIKEY — no extra service or backend.

What it installs

  1. A floating feedback button (prefills a GitHub Issue — no backend, no keys client-side).
  2. .github/workflows/feedback.yml — allowlist gate → Claude Code Action → auto-commit →

push to main (auto-deploy) → ledger + dashboard update → close issue.

  1. /_feedback dashboard — every suggestion, what Claude did, commit, status, one-click revert.
  2. .feedback/ runtime: feedback-lib.mjs, feedback-finalize.mjs, INSTRUCTIONS.md,

feedback-ledger.json, config.json.

How it works

visitor clicks button → fills suggestion → prefilled GitHub Issue (label feedback) → Actions checks the author is in FEEDBACKALLOWLIST (else closes the issue) → Claude Code edits the site per .feedback/INSTRUCTIONS.md → workflow commits to main, updates the ledger + dashboard → the deploy ships it → the issue gets a comment with the commit and a link to /feedback. Revert is the same loop driven by a revert: #N issue.

Deploy triggering — read before you install (common gotcha)

The workflow pushes to main with the built-in GITHUB_TOKEN. Two cases:

  • External push-deploy host (Cloudflare Pages git-connect, Vercel, Netlify): their

webhook fires on every push, so the bot's commit deploys automatically. Nothing to do.

  • Deploy is itself a GitHub Actions workflow in the SAME repo (e.g. GitHub Pages via

Actions): GitHub deliberately does NOT let a GITHUBTOKEN push trigger another workflow (recursion prevention), so the deploy workflow's on: push will NOT fire — the change lands on main but never goes live. Bridge it by adding a workflowrun trigger to the deploy workflow (see references/install.md step 4.5).

To install

Read references/install.md and follow it in the target repo. It detects the site type (Hugo / Next.js / Astro / static), copies assets, injects the widget, and asks the user for exactly two things: the allowlist of GitHub usernames and the auth (Pro/Max OAuth token via claude setup-token, or an ANTHROPICAPIKEY).

Scope (route 1)

Runs in the user's own repo with their own auth. Submitters need a GitHub account; only allowlisted authors trigger work. Not a hosted service — no anonymous submit, no billing, no multi-tenant. (A future GitHub-App packaging would reuse every asset here.)