Design System
affaan-m/ECC
Generate a design system from an existing codebase or audit one for visual consistency: extract tokens (colors, typography, spacing, shadows) into design-tokens.json and CSS custom properties with…
Diagnose and fix failing or degraded skills automatically - systemic-first triage, per-category playbooks, and a verification plan
$ npx skills add aeonfun/aeon --skill skill-repair -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aeonfun/aeon skill-repair --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/skill-repair .claude/skills/skill-repair && rm -rf skills-srcUse ~/.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/
Install the "skill-repair" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/skill-repair into .claude/skills/skill-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-repair", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aeonfun/aeon/tree/main/skills/skill-repairType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aeonfun/aeon --skill skill-repair -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aeonfun/aeon skill-repair --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/skill-repair .agents/skills/skill-repair && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skill-repair" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/skill-repair into .agents/skills/skill-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-repair", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill skill-repair -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aeonfun/aeon skill-repair --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/skill-repair .cursor/skills/skill-repair && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skill-repair" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/skill-repair into .cursor/skills/skill-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-repair", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aeonfun/aeon.git --path skills/skill-repair--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aeonfun/aeon --skill skill-repair -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aeonfun/aeon skill-repair --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/skill-repair .gemini/skills/skill-repair && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skill-repair" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/skill-repair into .gemini/skills/skill-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-repair", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aeonfun/aeon skill-repairInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aeonfun/aeon --skill skill-repair -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/skill-repair .github/skills/skill-repair && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skill-repair" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/skill-repair into .github/skills/skill-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-repair", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aeonfun/aeon --skill skill-repair -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aeonfun/aeon skill-repair --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aeonfun/aeon.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/skill-repair .opencode/skills/skill-repair && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skill-repair" agent skill from https://github.com/aeonfun/aeon/tree/main/skills/skill-repair into .opencode/skills/skill-repair/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skill-repair", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skill-repairDiagnose and fix failing or degraded skills automatically - systemic-first triage, per-category playbooks, and a verification plan
Skill Repair is an agent skill from aeonfun/aeon. Diagnose and fix failing or degraded skills automatically - systemic-first triage, per-category playbooks, and a verification plan
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget… The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0cb7c4. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ghgitjqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skill Repair loads about 3.9k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,635 words of instructions outside code blocks.
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.
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.
The full file from aeonfun/aeon at commit c0cb7c4, republished under its MIT licence (© aeonfun). 1,635 words, ~3,884 tokens.
.claude/skills/skill-repair/SKILL.md (or your agent's skills folder).<!-- autoresearch: variation D — systemic-first triage + per-category playbooks + verification (folds A's regression hunter, B's structured PR + risk class + verdict, C's exit taxonomy + preflight + cooldown) -->
${var} — Skill name to repair. If empty, runs systemic triage and picks the worst fixable target.
${var}modifiers: prefixdry-run:to diagnose only without writing a PR (e.g.dry-run:digest).
Today is ${today}. Your task is to diagnose and repair the worst-impact failing or degraded skill — preferring a single shared fix over N per-skill patches when failures cluster.
PREFLIGHT → TRIAGE → DIAGNOSE → REPAIR → VERIFY → LOG
Stop early at the appropriate exit code if any phase finds nothing actionable.
Pick exactly one before notifying.
| Code | Meaning |
|---|---|
REPAIR_OK_FIXED | Per-skill fix applied, PR opened |
REPAIR_OK_SYSTEMIC | Shared root cause across N skills — single shared fix or shared issue filed |
REPAIR_DIAGNOSED_NO_FIX | Root cause known but requires operator action (e.g. missing secret, upstream API down). Issue updated, no PR |
REPAIR_NO_TARGETS | All tracked skills healthy and no open fixable issues |
REPAIR_DRY_RUN | var=dry-run:NAME — diagnostic only, no PR |
REPAIR_BLOCKED | Preflight failed (gh auth, missing files) or cooldown active |
Bail early with REPAIR_BLOCKED (and notify with the reason) if any of these fails:
gh auth status succeeds.memory/cron-state.json exists and parses as JSON.memory/issues/INDEX.md exists. If absent, bootstrap a minimal one (Open + Resolved tables, no rows).memory/state/skill-repair-history.json exists. If absent, create {}.Cooldown / idempotency (skip target with REPAIR_BLOCKED if any matches; don't loop on a fix that didn't take):
memory/state/skill-repair-history.json with last_repair_at within 24h. (Operator can override by deleting the entry.)fix/skill-repair-{name}-* — gh pr list --state open --search "head:fix/skill-repair-{name}".If ${var} starts with dry-run:, strip the prefix to get the target name and skip the cooldown.
Identify the target. Two paths:
Path A — ${var} set explicitly: repair that skill. Skip step 2's clustering.
Path B — ${var} empty (auto-select):
memory/issues/INDEX.md. Extract open issues. Skip permanent-limitation.memory/cron-state.json. Compute candidates where any of:consecutive_failures >= 2, ORsuccess_rate < 0.5 AND total_runs >= 3, ORlast_status == "failed" AND last_failed within 48h, ORlast_quality_score <= 2 (degraded output even when "successful").last_error (lowercase, strip timestamps/ids/digits) AND by issue category. If 2+ skills share a signature OR a non-trivial category (api-change, rate-limit, missing-secret, sandbox-limitation):affected_skills: [list]) instead of N per-skill issues.scripts/, a CLAUDE.md pattern, a shared config), open one PR addressing that. Otherwise emit REPAIR_DIAGNOSED_NO_FIX with the systemic finding.REPAIR_OK_SYSTEMIC after step 5.last_success. Skip permanent-limitation and any target whose preflight cooldown blocks it. If nothing remains: REPAIR_NO_TARGETS.Build a diagnostic dossier for the target before touching any file. Sources are independent — each one's status feeds the source-status footer (ok/empty/fail).
a. Skill file: read skills/{name}/SKILL.md. Note frontmatter, declared data sources, env-var references.
b. Cron-state entry: extract last_error, last_failed, last_success, success_rate, consecutive_failures, last_quality_score.
c. Regression hunter: if last_success exists, run
git log --oneline --since="$LAST_SUCCESS" -- skills/{name}/SKILL.md aeon.yml scripts/Any commit listed is a candidate regression source. If exactly one commit touched the skill file in this window, it is the prime suspect — record its SHA + subject in the dossier.
d. Recent failed runs (last 5, not just 1):
gh run list --workflow=aeon.yml --limit 50 --json databaseId,name,conclusion,createdAt \
| jq -r '[.[] | select(.name | contains("{name}")) | select(.conclusion=="failure")] | .[0:5]' For each, prefer gh run view "$RUN_ID" --log-failed (already filtered to failed steps) over the full log; fall back to gh run view "$RUN_ID" --log only if --log-failed returns nothing. Then:
gh api "repos/{owner}/{repo}/actions/runs/$RUN_ID/check-runs" \
| jq -r '.check_runs[].output.annotations[]? | "\(.path):\(.start_line) \(.annotation_level): \(.message)"'Annotations give clean error rows; logs give context. Distinguish consistent (same signature 4-5/5 runs → likely deterministic bug, secret, API change) from intermittent (1-2/5 → rate limit, flaky upstream).
e. Logs: search last 3 days of memory/logs/*.md for {name} mentions. Surface any prior diagnoses.
f. Quality history: if memory/skill-health/{name}.json exists, note avg_score trend.
g. Output expectations: read the target skill's own SKILL.md (its Output / format section and ## Summary contract) for the shape a good run must produce — required sections, a word floor, forbidden placeholders. A passing run that violates its own spec is quality-regression.
h. Issue: if memory/issues/INDEX.md lists an open issue for this skill, read the file — its category and root_cause short-circuit the playbook lookup below.
Categories follow CLAUDE.md. Pick the most specific category that fits the diagnostic dossier (issue category if present > error-signature pattern match > best inference). Apply the matching playbook.
| Category | Playbook |
|---|---|
api-change | WebFetch the live API spec / status page / release notes. Update endpoints, payload shape, headers, error codes in the skill. Cite the spec URL in the PR body. Never guess — if WebFetch fails, drop to REPAIR_DIAGNOSED_NO_FIX. |
rate-limit | Add backoff (sleep), reduce request count, or add a fallback endpoint. Never raise the limit from the skill side. If the skill's schedule is too aggressive, propose a less-frequent cron in the PR body but don't edit aeon.yml unless the issue file already authorizes it. |
timeout | Split work into stages, add early-return on partial success, downgrade model: to claude-haiku-5-5 for the skill that doesn't need Sonnet or Opus. |
sandbox-limitation | Usually the "sandbox blocks the network" myth — there is no network sandbox. The real cause is a bare $SECRET on the command line (refused by the Bash permission layer) or a non-allowlisted command. Fix: route auth-required calls through ./secretcurl with a {ENV_NAME} placeholder, or gh api for GitHub (auth handled internally). Irreversible side-effects (email / spend / on-chain / deploy) run in-run via ./secretcurl as the skill's final, fail-closed action — never for reads. Add/refresh a "Network note" section. (There are no scripts/prefetch-*.sh or scripts/postprocess-*.sh scripts — both patterns were retired; auth'd reads and irreversible sends alike happen in-run.) |
prompt-bug | Minimum-edit specificity insertion. Don't rewrite — add the missing constraint, a forbidden phrase, a required output structure, or a clarifying example. Diff should be < 30 added/removed lines. |
output-format / quality-regression | Re-read the target skill's own output spec in its SKILL.md. Edit the skill so the next run satisfies that spec. Cite the exact requirement (section / line) in the PR body. |
missing-secret | Do not modify aeon.yml or the workflow. File or update the issue with status: open, category: missing-secret, naming the secret. Notify operator with the env-var name. Exit REPAIR_DIAGNOSED_NO_FIX. |
config | Reversible aeon.yml edits only — schedule, var, model, enabled: false. Never add or remove top-level structure or chains. Keep diff < 5 lines in aeon.yml. |
permanent-limitation | Skip — should not have reached repair. Update issue, exit REPAIR_DIAGNOSED_NO_FIX. |
unknown | Do not edit blindly. Append the full diagnostic dossier (regression candidates, top error lines, source-status) to the issue file as a ## Diagnosis Notes section, exit REPAIR_DIAGNOSED_NO_FIX. Operator triages. |
Risk classification (pick one, gate the PR):
aeon.yml, removes existing features, disables a skill, modifies a scripts/*.sh file. HIGH risk PRs must add the label manual-review and must NOT be auto-mergeable (skip auto-merge-friendly framing in the PR body).Frontmatter integrity check: after editing skills/{name}/SKILL.md, re-read it. Confirm the YAML frontmatter still has name, description, var, tags. If broken, abort the edit and exit REPAIR_BLOCKED.
Every PR (except REPAIR_DIAGNOSED_NO_FIX) must include a Verification section the operator can execute. Use this template:
## Verification
**Manual trigger:** [Run skill](https://github.com/{owner}/{repo}/actions/workflows/aeon.yml) with `skill={name}` and `var={var}`.
**Expected result:**
- Workflow conclusion: `success`
- Output file matches `{evals.json output_pattern or "memory/logs/${today}.md mentions {name}"}`
- {category-specific signal — e.g. "no `rate limit` strings in run logs" / "produces ≥ {min_words} words" / "annotation count ≤ 0"}
**If still failing after this PR:** delete `memory/state/skill-repair-history.json[{name}]` to remove the cooldown, then re-dispatch `skill-repair` with `var={name}` for a second pass.Record the chosen verification command in the issue file's ## Repair Attempt section so the next skill-repair run can read prior outcomes.
TODAY="${today}"
BRANCH="fix/skill-repair-{name}-${TODAY}"
git checkout -b "$BRANCH"
git add skills/{name}/SKILL.md # plus aeon.yml or scripts/* iff in playbook
git commit -m "fix({name}): [one-line root cause → fix]"
git push -u origin "$BRANCH"
gh pr create --title "fix({name}): [short]" --body "$(cat <<'EOF'
## Symptom
[what failed — error signature, run URL]
## Diagnosis
[dossier summary: regression commit if any, consistent vs intermittent, category]
## Root cause
[one paragraph]
## Fix
[what changed and why]
## Risk
LOW | MED | HIGH — [rationale]
## Verification
[copy from step 5]
## Source status
cron_state=ok | issues_index=ok | gh_runs=ok | gh_logs=ok | git_log=ok | check_runs=ok
EOF
)"If risk is HIGH, also: gh pr edit "$PR_URL" --add-label manual-review.
memory/issues/)An open PR is not a fix. This step runs immediately after §6 opened the PR, and nothing here can know whether that PR will ever merge. Do not write status: resolved — that records a repair that has not shipped, and if the PR is later closed unmerged the issue stays permanently marked fixed while the failure is still live. skill-health reconciles the real outcome once the PR's fate is known (see its "Reconcile fix-pending issues" step).
status: open or status: fix-pending for this skill exists:status: fix-pending, fix_pr: <url>, and append ## Repair Attempt — ${today} with the dossier. Leave the row under Open in INDEX.md — it is not resolved yet.## Repair Attempt — ${today} with the dossier and reason.memory/issues/ISS-{NNN}.md with status: fix-pending and fix_pr: <url> (NNN = next free number from INDEX.md), filed under Open.affected_skills: lists every skill matched by the signature.Update memory/state/skill-repair-history.json:
{
"{name}": {
"last_repair_at": "${today}T...Z",
"exit_code": "REPAIR_OK_FIXED",
"fix_pr": "https://github.com/.../pull/N",
"issue": "ISS-NNN"
}
}Send via ./notify (one-paragraph max — verdict line first):
*skill-repair — {EXIT_CODE}*
Target: {name} (or systemic: skill-a, skill-b, ...)
Root cause: [one line]
Fix: [one line] (risk: LOW|MED|HIGH)
PR: {url} Issue: {ISS-NNN}
Verify: workflow_dispatch skill={name}Append to memory/logs/${today}.md:
### skill-repair
- Exit: {EXIT_CODE}
- Target: {name} (or systemic group)
- Category: {category}
- Diagnosis: [root cause]
- Fix: [what changed] (risk: {LOW|MED|HIGH})
- Regression suspect: {commit SHA or "none in window"}
- Failures observed: {N}/5 recent runs ({consistent|intermittent})
- PR: {url or "—"}
- Issue: {ISS-NNN created|updated|resolved or "—"}
- Source status: cron_state | issues_index | gh_runs | gh_logs | git_log | check_runsgh and git handle auth internally, so the diagnostic reads carry no $SECRET on the command line. There is no network sandbox — curl works; use gh api for GitHub reads, and prefer WebFetch over curl for any external API spec lookup in the api-change playbook (see CLAUDE.md). For an auth'd third-party API, route the call through ./secretcurl with a {ENV_NAME} placeholder.
.github/workflows/aeon.yml, messages.yml, scheduler.yml, chain-runner.yml).main. Always branch + PR.manual-review label.unknown, recommend (in the issue and notify) enabled: false in aeon.yml — but do not apply that change without an explicit operator-approved issue.${var} matches a skill that has been repaired in the last 24h unless operator clears the cooldown entry. This prevents repair loops on fixes that didn't take.© aeonfun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/skill-repair of aeonfun/aeon.
Open the folder on GitHubat commit c0cb7c4
Skill Repair 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skill Repair this skillaeonfun/aeon | 767 | — | ~3.9k | Automated safety check: Pass | MIT | |
| Design Systemaffaan-m/ECC | 276k | — | ~698 | Automated safety check: Pass | MIT | |
| TDD Repairruvnet/ruflo | 74k | — | ~1.6k | Automated safety check: Notes | MIT | |
| Design Systemaffaan-m/ECC | 276k | — | ~177 | Automated safety check: Pass | MIT | |
| Design Systemaffaan-m/ECC | 276k | — | ~311 | Automated safety check: Pass | MIT | |
| Diagnose Gatewayopenclaw/openclaw | 392k | — | ~670 | Automated safety check: Pass | MIT |
affaan-m/ECC
Generate a design system from an existing codebase or audit one for visual consistency: extract tokens (colors, typography, spacing, shadows) into design-tokens.json and CSS custom properties with…
ruvnet/ruflo
Test-Driven Repair — given a failing test, spawn a bounded headless claude -p (Read/Edit/Bash only) that makes the test pass without modifying it.
affaan-m/ECC
アクセシビリティ、レスポンシブネス、テーマ設定、コンポーネント群、トークンを備えた本番環境対応デザインシステムの構築。Figma、Storybook、コンポーネントライブラリ統合。
affaan-m/ECC
使用此技能生成或审计设计系统,检查视觉一致性,并审查涉及样式的PR。
openclaw/openclaw
Diagnose Gateway, config, secrets, channels, and port failures with read-only one-liners.
asgeirtj/system_prompts_leaks
Skill to use if user asks you to create a design system or UI kit
aeonfun/aeon
Browses open tasks on the TaskMarket agent-worker market and, with explicit operator approval, creates tasks, tracks submissions and submits finished work.
aeonfun/aeon
Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.
aeonfun/aeon
Reads a Base Account's address, portfolio and transaction history through the Base MCP server, and stays strictly read-only in unattended Aeon runs, reporting only changes.
aeonfun/aeon
Audits every page of a site each day from its sitemap, scores on-page and technical SEO, checks duplicates across pages and reports what changed since the last run.
aeonfun/aeon
5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates
aeonfun/aeon
Static linter for an Aeon instance's configuration that catches silent failures such as unquoted schedules, duplicate keys, unconfigured skills and broken MCP references.
Diagnose and fix failing or degraded skills automatically - systemic-first triage, per-category playbooks, and a verification plan. Skill Repair is an agent skill from aeonfun/aeon.
Run `npx skills add aeonfun/aeon --skill skill-repair -a claude-code`. Or copy the skill folder (skills/skill-repair in aeonfun/aeon) into .claude/skills/skill-repair in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aeonfun/aeon --skill skill-repair -a codex`. Or copy the skill folder (skills/skill-repair in aeonfun/aeon) into .agents/skills/skill-repair in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aeonfun/aeon --skill skill-repair -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-repair, .gemini/skills/skill-repair, .github/skills/skill-repair and .opencode/skills/skill-repair in your project.
Going by SKILL.md and its folder, Skill Repair needs the command-line tools its instructions call (gh, git and jq).
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Skill Repair is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Skill Repair: Design System (affaan-m/ECC, 276k stars), TDD Repair (ruvnet/ruflo, 74k stars), Design System (affaan-m/ECC, 276k stars) and Design System (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aeonfun (a GitHub organization) maintains it in aeonfun/aeon, which has 767 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 8, 2026.
Source: aeonfun/aeon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.