A skill your agent uses whenever a design lets users do something they might regret — delete, send, publish, charge, transfer, archive, overwrite, irrecoverably commit.

Apache-2.0Auto-check passedSales & Support

Install Forgiveness

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

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins forgiveness --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/forgiveness .claude/skills/forgiveness && 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
forgiveness
GitHub stars
1.3k
Token cost
~4.2k tokens
SKILL.md length
1,916 words
Files
2 (incl. references)
Skills in repo
714
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses whenever a design lets users do something they might regret — delete, send, publish, charge, transfer, archive, overwrite, irrecoverably commit.

  • Works in 6 steps: Good affordances (prevent the error) → Reversibility (recover from the error) → Safety nets (catch catastrophic errors) → …
  • A design lets users do something they might regret — delete
  • SKILL.md covers Definition (in our own words), Origins and research lineage, The forgiveness ladder and When to apply, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Forgiveness is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever a design lets users do something they might regret — delete, send, publish, charge, transfer, archive, overwrite, irrecoverably commit. Trigger when designing destructive actions, undo systems, confirmation dialogs, soft-delete recovery, draft-saving, transaction reversal, "are you sure?" patterns, or any flow where a wrong move costs the user time, data, money, or trust. Trigger when the user mentions "users keep deleting things," "we get support tickets about lost data," "is this…

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

It sits in Sales & Support, covering Customer support. 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 design lets users do something they might regret — delete
  • Irrecoverably commit
  • Designing destructive actions
  • Confirmation dialogs

Example prompts

  • “are you sure?”
  • “users keep deleting things,”
  • “we get support tickets about lost data,”
  • “/forgiveness”

Workflow steps

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

  1. Good affordances (prevent the error)
  2. Reversibility (recover from the error)
  3. Safety nets (catch catastrophic errors)
  4. Confirmation (require deliberate intent for destructive actions)
  5. Warnings (signal danger before it happens)
  6. Help (assist recovery after the error)

What it can do on your machine

Read from SKILL.md and the folder at commit 9e7b281. 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

Forgiveness loads about 4.2k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 187 tokens; SKILL.md has 1,916 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~187
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k
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 9e7b281, republished under its Apache-2.0 licence (© hashgraph-online). 1,916 words, ~4,159 tokens.

Download SKILL.mdSave it as .claude/skills/forgiveness/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
forgiveness
description
Use this skill whenever a design lets users do something they might regret — delete, send, publish, charge, transfer, archive, overwrite, irrecoverably commit. Trigger when designing destructive actions, undo systems, confirmation dialogs, soft-delete recovery, draft-saving, transaction reversal, "are you sure?" patterns, or any flow where a wrong move costs the user time, data, money, or trust. Trigger when the user mentions "users keep deleting things," "we get support tickets about lost data," "is this dangerous?", or when reviewing destructive UI. Forgiveness is one of the central principles in 'Universal Principles of Design' (Lidwell, Holden, Butler 2003) and one of Nielsen's 10 heuristics ("user control and freedom").

Forgiveness

Forgiveness is the property of a design that helps users avoid mistakes and recover gracefully from the ones they make. The opposite — an unforgiving design — punishes errors with lost work, irreversible changes, or hostile error states. Since human error is inevitable, forgiving design is what determines whether the product is pleasant to use over time or a constant source of low-grade anxiety.

Definition (in our own words)

A forgiving design recognizes that users will make mistakes — slips (correct intent, wrong action), mistakes (wrong intent because of wrong model), and accidents (the cat walked across the keyboard). It builds in mechanisms to prevent errors before they happen, minimize their consequences when they do happen, and recover from them when prevention and minimization both fail. The principle's central insight: error is a property of the design, not of the user. A design that produces lots of user error is a poorly-designed design, even if every user "could have been more careful."

Origins and research lineage

  • Lidwell, Holden & Butler, Universal Principles of Design (2003) compactly articulated the principle and identified six strategies for incorporating forgiveness: good affordances, reversibility of actions, safety nets, confirmation, warnings, and help. The book noted an inverse relationship: stronger affordances and reversibility reduce the need for confirmations, warnings, and help.
  • Donald Norman, The Design of Everyday Things (1988, revised 2013) emphasized that "designing for error" is a core design responsibility, not an afterthought. Norman drew heavily on safety-engineering literature.
  • James Reason, Human Error (Cambridge University Press, 1990). The standard reference work in human-error research, originally grounded in industrial-safety analysis (aviation, nuclear, medical). Reason's slip/mistake distinction (a slip is a wrong action despite correct intent; a mistake is a correct action of a wrong intent) shapes most modern error-recovery thinking.
  • Jakob Nielsen, "10 Usability Heuristics" (1994 onward). Two of the ten heuristics directly concern forgiveness: "User control and freedom" (undo, escape) and "Help users recognize, diagnose, and recover from errors."
  • Aviation and medical safety design have shaped the understanding of how to build forgiveness into systems where errors are catastrophic. Crumple zones, fuse boxes, double-confirmation for destructive surgical commands, and "five rights" of medication administration are all forgiveness patterns from these domains.

The forgiveness ladder

Roughly ordered from preferred to least preferred — preferred ones reduce the need for the others:

1. Good affordances (prevent the error)

If the design makes the wrong action impossible or hard to do by accident, the error never occurs. A USB connector that can't be inserted upside-down (USB-C). A dialog where the destructive button is small and far from the safe one. A control that's only enabled when the operation makes sense.

This is the highest level of forgiveness because it requires no user attention or recovery — the error is structurally prevented.

2. Reversibility (recover from the error)

If the user can undo, the error costs only the time to notice and reverse. Cmd-Z is the canonical example; soft-delete with a recovery window is its data-layer counterpart. Version history is its document counterpart.

Reversibility is preferred to confirmation because it doesn't punish exploration. Users who feel safe to try things learn faster and use the product more confidently.

3. Safety nets (catch catastrophic errors)

A system or feature that minimizes damage when an error does happen and isn't reversible. Crumple zones in cars. Auto-saving drafts. Trash with a recovery window. Backup systems. The pilot's ejection seat in a fighter jet.

Safety nets are insurance against the unanticipated. They cost design and engineering effort but pay off when prevention and reversibility weren't enough.

4. Confirmation (require deliberate intent for destructive actions)

The user is asked to verify before a high-stakes action commits. "Are you sure you want to delete?" "Type DELETE to confirm." "Enter your password to authorize."

Confirmation is the most-overused forgiveness mechanism and the easiest to abuse. Confirmations applied to routine reversible actions get dismissed on autopilot, training users to ignore them when they finally apply to a real destructive action.

5. Warnings (signal danger before it happens)

Visual or auditory cues that something dangerous is about to happen. A "you have unsaved changes" prompt before navigating away. A warning label on industrial equipment. A road sign for a sharp curve.

Warnings work when applied sparingly to genuinely high-consequence moments. They become wallpaper when applied to everything.

6. Help (assist recovery after the error)

Documentation, error messages with remediation steps, support chat, recovery flows. The lowest-preferred level because it kicks in after the error has already happened and disrupted the user's task.

A useful diagnostic: the amount of help required is inversely proportional to the quality of the design. If users need extensive help to use your product, the help is compensating for missing forgiveness at the higher levels.

When to apply

  • Every destructive action. Delete, archive, transfer, send, publish, overwrite — each needs at least one level of forgiveness.
  • Every irreversible change. Account deletion, ownership transfer, plan downgrade, contract acceptance.
  • Every high-stakes input. Payment forms, address submissions for shipping, password setting.
  • Every flow where users invest time. Forms, drafts, edits — saving / auto-saving as forgiveness for navigation away.
  • Anywhere users have reported loss. "I lost my data" tickets are prima facie evidence of missing forgiveness.

When NOT to over-apply

  • Routine reversible actions. Don't confirm "Save" — saving is the whole point. Don't confirm "Apply filter" — the user can change the filter again.
  • High-frequency low-stakes actions. Confirmation fatigue is real. The user who dismisses 50 routine confirmations a day will dismiss the destructive one too.
  • Operations the user has just initiated themselves. If the user clicked "Delete," they probably meant to. Confirmation is for actions where the user might have not meant to (autopilot click, accidental keystroke).

The goal isn't maximum confirmation; it's appropriate friction calibrated to the action's stakes.

Worked examples

Example 1: a soft-delete with undo (the modern default)

Most modern apps prefer reversibility over confirmation for routine destructive actions.

html
<button onclick="archive(item)">Archive</button>

<script>
async function archive(item) {
  const previous = items.slice();
  items = items.filter(i => i.id !== item.id);
  render();
  await api.archive(item.id);
  showToast(`"${item.name}" archived`, {
    action: { label: 'Undo', onClick: () => unarchive(item, previous) },
    duration: 7000,
  });
}

function unarchive(item, previous) {
  items = previous;
  render();
  api.unarchive(item.id);
}
</script>

The action is one click; if wrong, one click in the toast restores. Most users never need the undo; the few who do have a 7-second window. No confirmation dialog, no friction on the common path.

Example 2: type-to-confirm for irreversible destruction

Some actions genuinely can't be undone (or shouldn't be made undoable for security/compliance reasons). For these, raise friction deliberately.

html
<button onclick="openDeleteDialog()">Delete account</button>

<dialog id="delete-dialog">
  <h2>Delete account permanently?</h2>
  <p>This deletes your account, all your projects (12), and revokes access for your team (38 members). It cannot be undone.</p>
  <p>To confirm, type your account email below:</p>
  <input id="confirm-input" placeholder="you@example.com" />
  <div class="actions">
    <button onclick="closeDialog()">Cancel</button>
    <button id="confirm-btn" disabled class="destructive">
      Delete account permanently
    </button>
  </div>
</dialog>

<script>
const input = document.getElementById('confirm-input');
const btn = document.getElementById('confirm-btn');
input.addEventListener('input', () => {
  btn.disabled = input.value !== currentUser.email;
});
</script>

The user must (a) intend to open the dialog, (b) read the consequences laid out, (c) actively type their email, (d) click the destructive button. Each step is a chance to step back. For genuinely irreversible high-stakes actions, this stack is appropriate.

Example 3: auto-save as a safety net

A form that auto-saves drafts protects the user from navigation accidents, browser crashes, and second-guessing.

html
<form id="post-editor">
  <input name="title" placeholder="Title" />
  <textarea name="body" placeholder="Write your post..."></textarea>
  <p class="save-status" aria-live="polite">All changes saved</p>
  <button>Publish</button>
</form>

<script>
const form = document.getElementById('post-editor');
const status = form.querySelector('.save-status');

form.addEventListener('input', debounce(async () => {
  status.textContent = 'Saving...';
  await api.saveDraft(serialize(form));
  status.textContent = `Saved at ${formatTime(new Date())}`;
}, 600));
</script>

The user never thinks about saving; the system saves continuously. If they navigate away, the draft survives. If they refresh, the draft restores. The "Publish" button is the only commit; everything else is reversible.

Show full SKILL.md (781 more words)Show less
Example 4: warning before navigation away with unsaved changes

When the user has unsaved work and tries to leave, a warning is appropriate friction.

js
window.addEventListener('beforeunload', (e) => {
  if (form.dataset.dirty === 'true') {
    e.preventDefault();
    e.returnValue = '';  // browsers show their own confirmation
  }
});

The browser's native dialog appears. The user can cancel and stay, or confirm and lose changes. If you've also implemented auto-save, this dialog appears only briefly between auto-saves — and the saved draft is still there if they leave.

Example 5: error message that aids recovery

A poorly-designed error message says "Error 503." A forgiving error message names the problem, explains what went wrong, and offers the next step.

html
<div class="error-card">
  <h3>We couldn't process your payment</h3>
  <p>
    Your card (ending in 4242) was declined. This usually means insufficient
    funds or a billing-address mismatch.
  </p>
  <p>
    <button>Try a different card</button>
    <a href="/help/declined-payments">Why was my card declined?</a>
  </p>
</div>

The error doesn't blame the user; it explains, offers an action, and provides a path to deeper help.

Cross-domain examples

Aviation: the ejection seat

The ultimate safety net. The pilot can't undo a structural failure, but they can leave the aircraft. The seat itself is a forgiveness mechanism — designed for the moment everything else has failed.

Cars: crumple zones

The front and rear of a car are deliberately weakened to absorb collision energy through controlled deformation, protecting the cabin and occupants. This is "weakest link" applied to forgiveness — the chosen failure point preserves what matters.

Medical: pill organizers and barcoded medications

Medication errors are a leading cause of preventable hospital harm. Forgiveness mechanisms include weekly pill organizers (good affordance — visible state of taken vs. untaken), barcode scanning (verification), and the "five rights" workflow (right patient, right drug, right dose, right route, right time).

Industrial: lockout-tagout

Before maintenance on hazardous equipment, workers physically lock and tag the energy source so it can't be activated until the lock is removed. A forcing function that prevents accidental energizing — a pure prevention strategy.

Word processors: undo / redo / version history

Microsoft Word and successors normalized undo as standard. Modern systems extend this to version history (Google Docs, Notion) — the user can not only undo recent changes but visit any prior state.

Email: "Undo Send"

Gmail introduced an "Undo send" feature with a default 5-second window (configurable up to 30). The send doesn't actually go out for that period; cancel reverses it. A reversibility mechanism applied to a previously-irreversible action.

Anti-patterns

  • Confirmation fatigue. Confirming routine actions ("Save?", "Apply?", "Open?") trains users to dismiss confirmations on autopilot. When a real destructive confirmation appears, they dismiss that too.
  • Modal traps without escape. A "Are you sure?" with no Cancel, no Esc, no backdrop click. The user can only proceed.
  • Cryptic error messages. "Error: ENOENT" or "Operation failed" with no explanation. The user can't recover.
  • Pre-selected destructive option. A confirmation dialog with "Delete" pre-selected so Enter triggers it. Users hit Enter on autopilot.
  • No undo for routine actions. Apps where every change is committed immediately and irreversibly. Users learn fear, not confidence.
  • Soft-delete that's not recoverable. "Archive" that quietly purges 30 days later with no recovery window or explanation.
  • Help as the only forgiveness layer. "If you have problems, contact support." The user has already lost their work.

Heuristics

  1. The "what if they didn't mean it?" test. For each destructive action, ask: how does the user recover if they didn't mean to do this? If the answer is "they can't," you need at minimum strong confirmation; ideally reversibility.
  2. The confirmation count. Count how many confirmation dialogs a typical user encounters in a typical session. > 3 → likely confirmation fatigue. Replace some with undo.
  3. The error-message audit. Every error message in your app should answer (a) what happened, (b) why, (c) what to do next. Audit a sample; fix the ones that don't.
  4. The "lose your work" test. Try every plausible way a user might lose work: navigate away, close tab, refresh, lose connection, browser crash. For each, does the system recover? If yes, forgiveness is strong.
  • affordance — good affordances prevent errors; this is the highest level of forgiveness.
  • constraint — constraints prevent invalid actions structurally.
  • errors — slip vs. mistake distinction shapes which forgiveness mechanism applies.
  • feedback-loop — feedback after an action lets the user catch errors quickly.
  • factor-of-safety (process) — engineering version of the same idea: design with margin so normal operation isn't at the edge of failure.
  • weakest-link (process) — crumple-zone logic; deliberately failing at a chosen point.
  • accessibility-understandable (process) — error identification and recovery are accessibility requirements.

Sub-aspect skills

  • forgiveness-undo-and-soft-delete — designing reversibility: undo systems, soft delete, version history, the "Undo Send" pattern.
  • forgiveness-confirmation-and-prevention — when confirmation is appropriate, how to design it, and how to prevent confirmation fatigue.

Closing

Forgiveness is the principle that determines whether a product is loved or feared. Loved products let users explore, undo, and recover; users develop confidence and use them daily without anxiety. Feared products punish exploration; users develop anxious habits and stick to the obvious paths. Build for the loved version: prevent first, reverse second, confirm only when you must.

© 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/forgiveness of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • references/error-research-and-cross-domain.md

Open the folder on GitHubat commit 9e7b281

Compare with similar skills

Forgiveness 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.

Forgiveness compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Forgiveness this skillhashgraph-online/awesome-codex-plugins1.3k—~4.2kAutomated safety check: PassApache-2.0
Siftranknoperator/siftrank225—~2.9kAutomated safety check: PassMIT
Supporthaacked/dotfiles134—~2.9kAutomated safety check: PassNone
Customer Support Agentmastra-ai/mastra29k—~2.2kAutomated safety check: PassCustom licence
Add Agent Adaptersafedep/gryph172—~679Automated safety check: PassApache-2.0
Agent Support Matrixjazzyalex/agent-sessions894—~587Automated safety check: PassMIT

Similar skills

  • Siftrank

    noperator/siftrank

    Find needles in haystacks with SiftRank. An agent skill from noperator/siftrank.

    225 GitHub stars~2.9k tokensUpdated 19 days ago
    Sales & SupportAuto-check passed
  • Support

    haacked/dotfiles

    Support hero workflow — start a ticket investigation with auto-organized notes, find existing notes, or generate the weekly highlights log.

    134 GitHub stars~2.9k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Customer Support Agent

    mastra-ai/mastra

    Authoring playbook for building agents that triage and reply to customer messages — support tickets, email inquiries, chat questions, refund requests, or product issues.

    29k GitHub stars~2.2k tokensUpdated today
    Sales & SupportAuto-check passed
  • Add Agent Adapter

    safedep/gryph

    A skill your agent uses when adding support for a new AI coding agent to Gryph, or when changing how an existing agent adapter is wired.

    172 GitHub stars~679 tokensUpdated 4 days ago
    Sales & SupportAuto-check passed
  • Agent Support Matrix

    jazzyalex/agent-sessions

    Maintain Agent Sessions agent support matrix and JSON/JSONL parsing compatibility.

    894 GitHub stars~587 tokensUpdated today
    Sales & SupportAuto-check passed
  • Company Brain Company QA

    topoteretes/cognee

    Build one company memory from a SQL database, a support ticket export and a folder of documents, linked into one graph by cognee, then answer questions that need several of those sources together.

    32k GitHub stars~750 tokensUpdated yesterday
    Sales & SupportAuto-check: notes

More from hashgraph-online/awesome-codex-plugins

All 714 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.3k 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.3k 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.3k 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.3k 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.3k 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.3k GitHub stars~618 tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Forgiveness

What does Forgiveness do?

A skill your agent uses whenever a design lets users do something they might regret — delete, send, publish, charge, transfer, archive, overwrite, irrecoverably commit. Forgiveness is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever a design lets users do something they might regret — delete, send, publish, charge, transfer, archive, overwrite, irrecoverably commit.

When should I use Forgiveness?

Forgiveness fits situations like: A design lets users do something they might regret — delete; irrecoverably commit; designing destructive actions; confirmation dialogs.

How do I install Forgiveness in Claude Code?

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

How do I install Forgiveness in Codex?

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

Can I use Forgiveness 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 forgiveness -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/forgiveness, .gemini/skills/forgiveness, .github/skills/forgiveness and .opencode/skills/forgiveness in your project.

What does Forgiveness need to run?

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

Does Forgiveness 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 Forgiveness 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 Forgiveness use?

Forgiveness 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 Forgiveness use?

About 4.2k tokens (SKILL.md is roughly 17k 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.8k tokens, read only when the agent opens those files.

What are the alternatives to Forgiveness?

Skills that share tags, products or a category with Forgiveness: Siftrank (noperator/siftrank, 225 stars), Support (haacked/dotfiles, 134 stars), Customer Support Agent (mastra-ai/mastra, 29k stars) and Add Agent Adapter (safedep/gryph, 172 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Forgiveness?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,255 GitHub stars. The repository holds 714 skills in this directory. The repository was last updated on October 9, 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.