Skip to content
Back to skills

Self Rewriter

ASecurity

Use for Self-Rewriting Core: AST analyze, patch, commit.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
ai-agentspythonbashgit

Works with

  • cli

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add openamer/openamer --skill self-rewriter --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Self Rewriter?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Self Rewriter
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openamer-self-rewriter/badge)](https://www.skillsdirectory.com/skills/openamer-self-rewriter)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: self-rewriter
description: "Use for Self-Rewriting Core: AST analyze, patch, commit."
author: OpenAmer
tags: [self-rewriting, core-evolution, ast, patching, auto-commit, cron]
trigger: "Use when: (a) the user asks to improve/analyze/fix the openamer_cli/ codebase, (b) the user asks to run the self-rewriter, (c) the cron job triggers the 6h scan cycle"
---

# Self-Rewriting Core Skill

Der Self-Rewriter ist ein autonomes Core-Evolution-Tool, das das `openamer_cli/` Verzeichnis
auf Ineffizienzen scannt, Patches generiert, validiert und automatisch committed.

## Standort

- **Script**: `C:\Users\damir\openamer-repo\scripts\self-rewriter.py`
- **Cron-Kopie**: `$OPENAMER_HOME\scripts\self-rewriter.py`
- **Arbeitsverzeichnis**: `.rewriter/` im Repository-Root
  - `pending/` — generierte Patches (unified diff)
  - `applied/` — angewandte Patches (Archiv)
  - `reports/latest.json` — letzter Scan-Report

## CLI-Usage

```bash
python scripts/self-rewriter.py --scan              # Core analysieren
python scripts/self-rewriter.py --suggest           # Verbesserungen anzeigen
python scripts/self-rewriter.py --patch             # Patches generieren (max 3)
python scripts/self-rewriter.py --apply             # Patches validieren + commiten + mergen
python scripts/self-rewriter.py --all               # Full Cycle (scan -> patch -> apply)
python scripts/self-rewriter.py --all --dry-run     # Full Cycle nur anzeigen
python scripts/self-rewriter.py --scan --max-patches 5
python scripts/self-rewriter.py --apply --yes       # Non-interactive apply
python scripts/self-rewriter.py --repo /pfad/zum/repo --scan
```

## Exit-Codes

| Code | Bedeutung |
|------|-----------|
| 0 | Nichts zu tun — alles sauber |
| 1 | Patches verfuegbar (issues gefunden) |
| 2 | Patches angewandt und committed |

## Was wird analysiert (AST-basiert)

1. **Doppelte Imports** — selbes Modul mehrfach importiert
2. **Zu lange Funktionen** — > 100 Zeilen
3. **Fehlende Type Hints** — Parameter/Rueckgabewert ohne Type Annotation
4. **Leere except-Bloecke** — `except: pass` (sicherheitsrelevant)
5. **TODO/FIXME-Kommentare** — markierte Stellen im Code

## Patches & Git-Workflow

1. Branch `rewriter-tmp` wird von `main` erstellt
2. Patches werden via `patch -p0` / `patch -p1` angewandt
3. `py_compile` validiert die Syntax
4. Bei Erfolg: Commit + Merge zurueck zu `main` (--no-ff)
5. Branch wird geloescht
6. Angewandte Patches wandern von `pending/` -> `applied/`

## Cron-Job (alle 6h)

Der Cron-Job `self-rewriter-scan` laeuft alle 360 Minuten (6h) und fuehrt
`self-rewriter.py --scan` aus. Er prueft ob neue Issues aufgetaucht sind
und postet nur bei Aenderungen einen Report.

## Troubleshooting

- **"Core-Verzeichnis nicht gefunden"**: Script sucht in `~/openamer-repo/` und Umgebung.
  Mit `--repo /absoluter/pfad` explizit angeben.
- **Patch-Apply schlaegt fehl**: Patches arbeiten gegen den aktuellen `main`-Branch.
  Bei Konflikten sind manuelle Eingriffe noetig — der rewriter-tmp Branch bleibt dann bestehen.
- **Report nicht gefunden**: `--suggest` und `--patch` brauchen einen vorherigen `--scan`-Report.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…