wjs-looping-feedbacklisted
Install: claude install-skill jianshuo/claude-skills
# 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
`ANTHROPIC_API_KEY` — 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.
3. `/_feedback` dashboard — every suggestion, what Claude did, commit, status, one-click revert.
4. `.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 `FEEDBACK_ALLOWLIST` (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 automatic