Build integrated IS/BS/CF financial workbooks in Excel.
日本語の概要は準備中です。原文の説明を表示しています。
Use when modifying OpenAmer's own core code safely. Gate every change behind the test suite with automatic rollback.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
OpenAmer can modify its own core code — but only through a verified gate that makes self-destruction impossible. This is the "does not break" axis made concrete: a change to a core file is kept only if the test suite proves it does not break anything, and is rolled back automatically on any failure.
This is the same mechanism iklem has (self_modify), adapted to OpenAmer's
architecture. OpenAmer's design rule is "the core is a narrow waist; capability
lives at the edges" — so this is a script + skill, not a core tool. A
self-modify tool would ship on every API call; a script invoked via the
terminal tool costs nothing until it is actually used.
Don't use for:
scripts/self_modify.py implements four guardrails:
<file>.bak before any change..py in the package) → syntax check + test suiteSKILL.md) → frontmatter validation (the real validator).py under plugins/) → syntax check + import checkWrite the new content to a temp file (or a patch file), NOT directly to the target. Completion: the new content is in a separate file, the target is untouched.
Run the gate:
python scripts/self_modify.py <path> <new_content_file>
# or
python scripts/self_modify.py <path> --content "new content"
# or, for a diff:
python scripts/self_modify.py <path> --patch <patch_file>
# core only: narrow the test scope
python scripts/self_modify.py <path> <file> --tests tests/agent/
Completion: the script prints either ✓ change applied and verified (<kind>)
or ✗ change rejected (<kind>: <reason>, rolled back).
On success, verify the change is actually in place and the .bak is gone.
Completion: git diff shows the change; no .bak file remains.
On failure, read the test output the script printed, fix the root cause, and re-run. Completion: the target is byte-identical to the original (the rollback worked) and you understand why the tests failed.
Editing the target directly instead of going through the script. This bypasses the test gate and the rollback — the exact failure mode the script exists to prevent.
Running pytest directly instead of scripts/run_tests.sh. The script
uses the canonical runner so the gate matches CI behavior (per-file
isolation, deterministic env). A green pytest locally may not match CI.
(Note: for skills and plugins, the gate is frontmatter/import validation,
not the test suite — the script picks the right gate automatically.)
Ignoring a rollback. If the script says "rolled back", the change is gone — do not assume it is still applied. Re-read the file before proceeding.
Modifying a file outside the repo. The scope guard refuses; that is intentional. OpenAmer's self-modification is bounded to its own source.
Treating the .bak as a feature. It is a transient safety artifact, not
a version-control substitute. Commit the change with git; the .bak is
removed on success.
scripts/self_modify.py, not a direct edit✓ (tests passed) — or you are iterating on a ✗.bak file remains after a successful changegit diff shows exactly the intended change and nothing elseまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Build integrated IS/BS/CF financial workbooks in Excel.
日本語の概要は準備中です。原文の説明を表示しています。
Run and grow the OpenAmer Agent-to-Agent swarm: identity, trust, node-to-node ask, signed skill/insight sharing, and the autonomous self-learning loop.
日本語の概要は準備中です。原文の説明を表示しています。
Use for A/B experiments on OpenAmer configs and skills.
日本語の概要は準備中です。原文の説明を表示しています。
Roleplay a hostile user to find and triage UX pain points.
日本語の概要は準備中です。原文の説明を表示しています。
Agent mesh: master/worker nodes, HTTP delegation, heartbeat.
日本語の概要は準備中です。原文の説明を表示しています。
Use for agentic commerce payments tasks. Candidate synthesized from trend radar; awaiting trial promotion.
日本語の概要は準備中です。原文の説明を表示しています。