A skill your agent uses whenever a user takes an action and the system must communicate that the action was received, is in progress, succeeded, or failed.

Apache-2.0Auto-check passedBackend & APIs

Install Feedback Loop

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill feedback-loop -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins feedback-loop --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/feedback-loop .claude/skills/feedback-loop && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
feedback-loop
GitHub stars
1.2k
Token cost
~4.6k tokens
SKILL.md length
1,893 words
Files
2 (incl. references)
Skills in repo
736
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses whenever a user takes an action and the system must communicate that the action was received, is in progress, succeeded, or failed.

  • Works in 4 steps: Idle (resting) → Pending (in progress) → Success → …
  • A user takes an action and the system must communicate that the action was received
  • SKILL.md covers Definition (in our own words), Origins and research lineage, Why feedback matters and Positive vs. negative feedback…, plus 11 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Feedback Loop is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever a user takes an action and the system must communicate that the action was received, is in progress, succeeded, or failed. Trigger when designing button states, form submission, file uploads, payment flows, real-time UI updates, loading states, error states, success confirmations, or any moment when the user is waiting for the system to do something. Trigger when the user mentions "feels broken," "doesn't seem to work," "users keep clicking again," or any symptom of feedback gaps. Feedback…

Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/cybernetics-and-research.md`).

It sits in Backend & APIs, covering File uploads and storage. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • A user takes an action and the system must communicate that the action was received
  • Designing button states
  • Form submission
  • Real-time UI updates

Example prompts

  • “feels broken,”
  • “t seem to work,”
  • “users keep clicking again,”
  • “/feedback-loop”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Idle (resting)
  2. Pending (in progress)
  3. Success
  4. Error

What it can do on your machine

Read from SKILL.md and the folder at commit 16b4156. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are html and javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Feedback Loop loads about 4.6k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 184 tokens; SKILL.md has 1,893 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~184
When it runs · the whole SKILL.md, loaded when a task matches
~4.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 16b4156, republished under its Apache-2.0 licence (© hashgraph-online). 1,893 words, ~4,572 tokens.

Download SKILL.mdSave it as .claude/skills/feedback-loop/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
feedback-loop
description
Use this skill whenever a user takes an action and the system must communicate that the action was received, is in progress, succeeded, or failed. Trigger when designing button states, form submission, file uploads, payment flows, real-time UI updates, loading states, error states, success confirmations, or any moment when the user is waiting for the system to do something. Trigger when the user mentions "feels broken," "doesn't seem to work," "users keep clicking again," or any symptom of feedback gaps. Feedback Loop is one of the foundational principles in 'Universal Principles of Design' (Lidwell, Holden, Butler 2003) — and one of the principles whose absence most reliably damages a product's perceived quality.

Feedback Loop

A feedback loop is the relationship between an action and the visible response that confirms the action happened. Every system in nature is composed of interacting feedback loops; every interface is too. When users press a button, type a character, drag an item, or commit a transaction, the system must respond — promptly, visibly, and unambiguously — to close the loop. Without that response, the user doesn't know whether the action registered, whether the system is working, or whether to try again. The cumulative effect of weak feedback is a product that feels broken even when it isn't.

Definition (in our own words)

A feedback loop in interaction design is the mechanism by which the system tells the user "I received your action and here's what's happening." Loops can be positive (amplifying — repeated actions create accelerating change, like clicking a "+1" button that animates and grows the count) or negative (dampening — bringing the system back to a stable state, like a thermostat or a Segway maintaining balance). The most important loops in product UI are usually negative: the user acts; the system confirms; equilibrium is restored. When loops are missing or delayed, users repeat actions, doubt the system, or assume failure.

Origins and research lineage

  • Cybernetics (Norbert Wiener, 1948 onward). The mathematical theory of feedback in systems — biological, mechanical, and social. The intellectual foundation for everything that follows in HCI feedback design.
  • Jay W. Forrester, Industrial Dynamics (MIT Press, 1961) and Urban Dynamics (1969). Applied feedback-loop thinking to organizational and urban systems. Introduced the diagrams (causal loop diagrams, stock-and-flow diagrams) still used in systems analysis.
  • Donald Norman, The Design of Everyday Things (1988). Made feedback one of the central UI principles. Norman's gulf of evaluation — the gap between the user's intent and the system's perceptible state — is essentially the absence of good feedback.
  • Lidwell, Holden & Butler (2003) compactly distinguished positive feedback loops (amplifying — useful for change but risky if unmoderated) from negative feedback loops (stabilizing — useful for equilibrium). The book's central case: 1950s football helmets that created a positive feedback loop (more padding → more risk-taking → more injuries → more padding).
  • Modern HCI heuristics (Nielsen's 10 heuristics, 1994 onward). "Visibility of system status" — the first of Nielsen's 10 — is essentially the feedback principle named for usability practice.
  • Doherty Threshold (Doherty & Thadani, IBM, 1982). Empirical research showing that response times under 400ms keep users in flow; longer delays break engagement.

Why feedback matters

Every interaction is a tacit contract: the user gives an input expecting some response. Without the response, the user is left in ambiguity. They may:

  • Repeat the action (clicking again, typing again, refreshing). Often produces unintended duplicate effects.
  • Doubt their input ("did I press it hard enough?", "did it register?").
  • Assume system failure and abandon.
  • Develop ritualistic habits (always pressing twice, always checking twice).
  • Stop trusting the system.

The cost compounds: each weak feedback moment is a small tax; thousands of moments across a product become a perception of unreliability that no individual feature can repair.

The reverse is also true: tight, unambiguous feedback creates confidence. The user acts, sees the system respond, and feels in command. This is what well-engineered software feels like — at the perceptual level, before the user evaluates any specific feature.

Positive vs. negative feedback loops

The book's distinction matters in practice:

Positive feedback loops (amplifying)

The system's response to an action makes future similar actions more likely or more impactful. Examples:

  • Recommendation engines: a user clicks a recommendation; the system learns and shows more like it; the user clicks more; the system learns more. Eventually homogeneous content; "filter bubble" risk.
  • Streak counters: each consecutive day of use makes the user more invested in not missing a day. Engagement amplifies.
  • Viral product growth: each new user invites others; each invitation creates more new users. Exponential growth — when it works.

Positive loops produce change, sometimes dramatic. Without moderation by a counter-loop, they run away (the football-helmet example: more padding → more risk-taking → more injuries → more padding).

Negative feedback loops (stabilizing)

The system's response brings things back toward an equilibrium. Examples:

  • Form validation: the user enters invalid input; the system flags it; the user corrects; equilibrium restored.
  • Auto-save indicator: "Saving..." → "Saved." Each save resets the system to a known-good state.
  • Undo systems: the user takes an action; if it's wrong, undo restores prior state.
  • Real-time spell-check: a typo creates instability; correcting restores it.

Most product UI feedback is negative — the system absorbs user actions and returns to stability. Designs that lean too heavily on positive loops (gamification, streak anxiety, dopamine engineering) cross into manipulation.

When to apply

  • Always, on every interactive element. Every button, link, input, drag handle, toggle needs feedback.
  • Especially on actions whose result isn't immediately visible (background operations, server requests, multi-step flows).
  • Critically on destructive or irreversible actions where the user must know the action committed.
  • Real-time on continuous operations (drag, resize, scroll).
  • Asynchronously when the action's effect is delivered later (notifications, scheduled tasks).

Latency thresholds

How fast feedback must appear depends on what's responding. The widely-cited thresholds (Miller 1968; Card, Robertson, Mackinlay 1991):

  • < 100ms: feels instant. No spinner needed; the user perceives immediate response.
  • < 1 second: feels responsive. No spinner needed unless something visible is taking time. The user maintains flow.
  • 1–10 seconds: needs a visible indicator. Spinner, progress bar, status text. The user notices the wait.
  • > 10 seconds: needs progress information (estimated time remaining, percentage complete). The user is likely to abandon if the wait isn't justified.

The Doherty threshold (Doherty & Thadani, 1982) refined the < 400ms range as the boundary at which response time stops feeling natural.

When NOT to over-apply

  • Trivial confirmations. Don't show "Loading..." for a 50ms response. The flicker is worse than no indicator.
  • Continuous indicators that fight content. A spinner that animates over the user's reading content is distracting. Place indicators in the periphery.
  • Feedback for actions the user didn't take. Auto-save indicators that appear without user input clutter the UI.
  • Excessive haptic / sound feedback. Each tap doesn't need to vibrate. Reserve haptics for moments that matter.

The four states of action feedback

Most interactive actions have four states the system must communicate:

1. Idle (resting)

The element is interactive and ready. Affordance says "you can do this." Static styling.

2. Pending (in progress)

The action was triggered; the system is working. Common patterns:

  • Disable the trigger to prevent double-submission.
  • Spinner or loading indicator if the wait is > ~500ms.
  • Button text changes to "Saving...", "Sending...", "Loading..."
  • Skeleton placeholder for content that will fill in.
html
<button id="save" type="submit">
  <span class="label">Save</span>
  <span class="spinner" hidden></span>
</button>

<script>
const btn = document.getElementById('save');
btn.addEventListener('click', async () => {
  btn.disabled = true;
  btn.querySelector('.label').textContent = 'Saving...';
  btn.querySelector('.spinner').hidden = false;
  try {
    await save();
    showSuccess();
  } catch (err) {
    showError(err);
  } finally {
    btn.disabled = false;
    btn.querySelector('.label').textContent = 'Save';
    btn.querySelector('.spinner').hidden = true;
  }
});
</script>
3. Success

The action succeeded. The result should be visible — preferably in-place (the row appears, the value updates) rather than via a generic "Saved!" toast that the user must trust.

When in-place feedback isn't possible (the action's effect is on another page or in a backend), use a toast or banner with specific content ("Invoice #1284 sent to maria@acme.com").

Show full SKILL.md (760 more words)Show less
4. Error

The action failed. Feedback must be:

  • In-context with the field or element that caused the error (not a generic top-of-page banner the user might miss).
  • Specific about what went wrong.
  • Actionable — what can the user do to recover.
html
<div class="field" data-state="error">
  <label for="email">Email</label>
  <input id="email" type="email" aria-invalid="true" aria-describedby="email-error" />
  <p id="email-error" class="error-message">
    We couldn't find an account with this email. <a href="/signup">Sign up?</a>
  </p>
</div>

Worked examples

Example 1: a form-submit button with all four states
html
<form id="signup-form">
  <input name="email" type="email" required />
  <input name="password" type="password" required />
  <button id="submit">Create account</button>
  <p id="status" aria-live="polite"></p>
</form>

<script>
const form = document.getElementById('signup-form');
const btn = document.getElementById('submit');
const status = document.getElementById('status');

form.addEventListener('submit', async (e) => {
  e.preventDefault();
  // Pending state
  btn.disabled = true;
  btn.textContent = 'Creating account...';
  status.textContent = '';
  try {
    await createAccount(new FormData(form));
    // Success state
    status.textContent = 'Account created! Redirecting...';
    setTimeout(() => location.href = '/welcome', 1500);
  } catch (err) {
    // Error state
    btn.disabled = false;
    btn.textContent = 'Create account';
    status.textContent = `Couldn't create account: ${err.message}`;
  }
});
</script>

Four states; user is never left wondering what happened.

Example 2: optimistic UI update with rollback on failure
js
async function archive(item) {
  // Optimistic: update UI immediately
  const previous = items.slice();
  items = items.filter(i => i.id !== item.id);
  render();

  try {
    await api.archive(item.id);
    // Implicit success — UI already reflects new state
  } catch (err) {
    // Rollback + error feedback
    items = previous;
    render();
    showToast(`Archive failed: ${err.message}`);
  }
}

The UI feels instant; failure rolls back visibly with explicit feedback.

Example 3: long-running task with progress
html
<div class="upload">
  <p>Uploading <strong>vacation-photos.zip</strong></p>
  <progress max="100" value="0" id="upload-progress">0%</progress>
  <p id="upload-status">Preparing upload...</p>
  <button id="cancel">Cancel</button>
</div>

<script>
async function uploadWithProgress(file) {
  const progress = document.getElementById('upload-progress');
  const status = document.getElementById('upload-status');
  const startTime = Date.now();

  await uploadFile(file, {
    onProgress: ({ loaded, total }) => {
      const pct = Math.round(loaded / total * 100);
      progress.value = pct;
      const elapsed = (Date.now() - startTime) / 1000;
      const rate = loaded / elapsed; // bytes/sec
      const remaining = (total - loaded) / rate;
      status.textContent = `${pct}% — ${formatTime(remaining)} remaining`;
    }
  });
  status.textContent = 'Upload complete.';
}
</script>

Long-running task gets full progress feedback, including estimated time.

Example 4: real-time editing feedback
html
<textarea id="post-body" oninput="autoSave()"></textarea>
<p id="save-status" aria-live="polite">All changes saved</p>

<script>
let saveTimeout;
let lastSaved = new Date();

function autoSave() {
  const status = document.getElementById('save-status');
  status.textContent = 'Editing...';

  clearTimeout(saveTimeout);
  saveTimeout = setTimeout(async () => {
    status.textContent = 'Saving...';
    await api.savePost({ body: document.getElementById('post-body').value });
    lastSaved = new Date();
    status.textContent = `Saved at ${formatTime(lastSaved)}`;
  }, 800);
}
</script>

Three states (editing, saving, saved) all visible. User knows the system is tracking their work.

Cross-domain examples

Industrial control: the Segway

Lidwell, Holden, and Butler use the Segway as the example of a tightly-tuned negative feedback loop: the rider leans forward; the gyroscope detects the angle change; the motor adjusts wheel speed to maintain balance. This loop runs ~100 times per second. Coarser loops would produce visible oscillation; finer would be wasteful.

The lesson for software: feedback frequency matches the dynamics of the user's actions. Real-time interactions need real-time feedback; slower actions can have slower feedback.

Aviation: stall warning systems

A pilot pulling back on the yoke too aggressively gets immediate negative feedback: a stall warning horn, a stick-shaker, a yoke pusher. Each progressively forceful — early warnings let the pilot self-correct; late ones force correction. The graduated feedback gives the pilot agency at every level of urgency.

Software analog: progressive validation. Soft inline hint → warning → block on submit → confirmation dialog for destructive.

Football helmets (the book's case)

The classic positive-feedback-loop failure: in the 1950s, plastic-with-padding helmets replaced leather. Players felt safer; tackled more aggressively; head/neck injuries rose. Designers responded by adding more padding; players became even more aggressive; injuries rose further. The loop wasn't moderated by rules against helmet-first tackling until decades later.

The lesson for software: positive loops without counter-mechanisms produce unintended consequences. A feature that drives engagement may drive it past the user's actual welfare; metrics that look good at first may create harms over time.

Thermostats

The canonical example of a negative feedback loop. Too warm → cooling activates → temperature drops → cooling deactivates → temperature drifts up → cycle. The system maintains equilibrium without continuous user input.

UI analog: any system that absorbs user actions and returns to a stable state — auto-save, undo, drift-corrected forms.

Anti-patterns

  • Silent commits. A button that submits a form with no visible response. Users click again; double-submission.
  • Blink-and-miss feedback. A success message that appears for 100ms before vanishing. Users miss it; doubt the action.
  • Generic error messages. "Something went wrong." User doesn't know what or how to fix.
  • Wrong-channel feedback. Errors as toasts that vanish; success as banners that linger. Mismatched persistence.
  • No pending state. Clicking save and seeing nothing for 3 seconds before the page refreshes. User clicks again.
  • Spam confirmations. Every routine action gets a "Done!" toast. User dismisses everything on autopilot.
  • Decorative spinners. A spinner that's not actually waiting on anything (purely visual). User loses trust when they realize.
  • Hover-only feedback. A button that only responds visually on hover. Touch users see no response on tap.

Heuristics

  1. The "did it work?" test. After any interaction, ask: can the user tell whether the action succeeded? If they have to guess, feedback is missing.
  2. The double-click audit. Watch users. Each unintended double-click is feedback that pending state was invisible.
  3. The error-message audit. Every error message in the app should answer: what happened, why, what to do next.
  4. The latency-threshold check. For each action, time it. Actions over 1s need a pending indicator; over 10s need progress info.
  5. The accessibility check. Visual feedback alone fails screen-reader users. Pair with aria-live regions for status changes.
  • affordance — feedback completes the loop affordance starts.
  • forgiveness — feedback enables the recovery forgiveness depends on.
  • errors — error feedback is the most consequential feedback type.
  • mapping — feedback should map to the action that caused it.
  • expectation-effect — feedback that violates expectation creates surprise; align it.
  • accessibility-perceivable (process) — feedback must be perceivable across abilities.

Sub-aspect skills

  • feedback-loop-states-and-latency — designing the four states (idle, pending, success, error) and matching feedback to time thresholds.
  • feedback-loop-positive-vs-negative — choosing between amplifying and stabilizing loop architectures.

Closing

Feedback is the principle that decides whether your product feels responsive. Every interaction that lacks visible response erodes trust at a perceptual level no specific feature can repair. Build feedback into every interactive element from the start; audit every "is this working?" complaint as a feedback gap; treat the four states as non-negotiable for any consequential action.

© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/feedback-loop of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • references/cybernetics-and-research.md

Open the folder on GitHubat commit 16b4156

Compare with similar skills

Feedback Loop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Feedback Loop compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Feedback Loop this skillhashgraph-online/awesome-codex-plugins1.2k—~4.6kAutomated safety check: PassApache-2.0
Stripe Projectsfossasia/eventyay1.7k5 repos~2kAutomated safety check: NotesApache-2.0
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0
Spatialduckdb/duckdb-skills5991 repos~1kAutomated safety check: NotesMIT
R Oopab604/claude-code-r-skills2062 repos~1.9kAutomated safety check: PassMIT
Edgestore Setupedgestorejs/edgestore454—~1.8kAutomated safety check: PassMIT

Similar skills

  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Spatial

    duckdb/duckdb-skills

    Official

    Answer questions about spatial data using DuckDB. An agent skill from duckdb/duckdb-skills.

    599 GitHub starsUsed in 1 repo~1k tokens
    Backend & APIsAuto-check: notes
  • R Oop

    ab604/claude-code-r-skills

    R object-oriented programming guide for S7, S3, S4, and vctrs.

    206 GitHub starsUsed in 2 repos~1.9k tokens
    Backend & APIsAuto-check passed
  • Edgestore Setup

    edgestorejs/edgestore

    A skill your agent uses when adding, extending, or troubleshooting EdgeStore file uploads, upload UI, or bucket access policies in a TypeScript/React application.

    454 GitHub stars~1.8k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • S3 Explore

    duckdb/duckdb-skills

    Official

    Explore and query data on S3, Cloudflare R2, GCS, MinIO, or any S3-compatible storage.

    599 GitHub starsUsed in 1 repo~848 tokens
    Backend & APIsAuto-check: notes

More from hashgraph-online/awesome-codex-plugins

All 736 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated yesterday
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.2k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Feedback Loop

What does Feedback Loop do?

A skill your agent uses whenever a user takes an action and the system must communicate that the action was received, is in progress, succeeded, or failed. Feedback Loop is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever a user takes an action and the system must communicate that the action was received, is in progress, succeeded, or failed.

When should I use Feedback Loop?

Feedback Loop fits situations like: A user takes an action and the system must communicate that the action was received; designing button states; form submission; real-time UI updates.

How do I install Feedback Loop in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill feedback-loop -a claude-code`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/feedback-loop in hashgraph-online/awesome-codex-plugins) into .claude/skills/feedback-loop in your project. Claude Code loads it when a task matches its description.

How do I install Feedback Loop in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill feedback-loop -a codex`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/feedback-loop in hashgraph-online/awesome-codex-plugins) into .agents/skills/feedback-loop in your project. Codex loads it when a task matches its description.

Can I use Feedback Loop in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill feedback-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/feedback-loop, .gemini/skills/feedback-loop, .github/skills/feedback-loop and .opencode/skills/feedback-loop in your project.

What does Feedback Loop need to run?

SKILL.md names no scripts, command-line tools or credentials: Feedback Loop is instructions for the agent only.

Does Feedback Loop access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Feedback Loop safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Feedback Loop use?

Feedback Loop is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Feedback Loop use?

About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.

What are the alternatives to Feedback Loop?

Skills that share tags, products or a category with Feedback Loop: Stripe Projects (fossasia/eventyay, 1.7k stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars), Spatial (duckdb/duckdb-skills, 599 stars) and R Oop (ab604/claude-code-r-skills, 206 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Feedback Loop?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,232 GitHub stars. The repository holds 736 skills in this directory. The repository was last updated on October 6, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.