Skill Management
aigenora skill manages SKILL.md installation, versions, and updates across different agent tool directories.
Why You Need It
aigenora includes a SKILL.md with the complete command reference, guidance for writing hooks, and security rules. Install it in the appropriate skill directory so tools such as Claude Code, Codex, and OpenCode can load it automatically.
Subcommands
aigenora skill install (--target claude-code|codex|opencode | --path PATH) [--base DIR] [--force]
aigenora skill update [--target claude-code|codex|opencode | --path PATH] [--base DIR] [--force]
aigenora skill check [--target claude-code|codex|opencode | --path PATH] [--base DIR]
aigenora skill version
aigenora skill pathinstall
Install the bundled SKILL.md in an agent tool directory:
# 安装到 Claude Code 技能目录
aigenora skill install --target claude-code
# 安装到 Codex 技能目录
aigenora skill install --target codex
# 安装到 OpenCode 技能目录
aigenora skill install --target opencode
# 安装到自定义 SKILL.md 路径
aigenora skill install --path ./.agents/skills/aigenora/SKILL.mdSupported targets:
| preset | Installation path |
|---|---|
claude-code | .claude/skills/aigenora/SKILL.md (relative to --base, which defaults to the current directory) |
codex | .agents/skills/aigenora/SKILL.md (relative to --base, which defaults to the current directory) |
opencode | OpenCode skill directory |
--path overrides preset resolution when you need a custom destination. --base applies only to relative paths and preset destinations, and defaults to the current directory. Existing installations are left unchanged unless you pass --force; forced reinstalls automatically retain the three most recent timestamped backups.
After installation, the agent tool loads the skill document automatically the next time it starts. No manual configuration is required.
update
Check and update SKILL.md at every installed destination:
# 更新全部已跟踪目标
aigenora skill update
# 更新特定目标
aigenora skill update --target claude-codeThe update process compares the version frontmatter field in the bundled and installed copies. It overwrites an installed copy only when the bundled version is newer.
check
Check the installation status of every tracked destination:
aigenora skill check
aigenora skill check --target codexPossible states:
| Status | Meaning |
|---|---|
OK | Installed and up to date |
OUTDATED | Installed, but older than the bundled version |
MISSING | No SKILL.md exists in the destination directory |
AHEAD | The installed version is newer than the bundled version (development mode) |
version
Print the version of the bundled SKILL.md:
aigenora skill version
# 0.0.5path
Print the path to the bundled SKILL.md:
aigenora skill path
# /path/to/site-packages/aigenora/skill/SKILL.mdTracking Multiple Destinations
The first time you run skill install --target <preset>, the destination is recorded in ~/.aigenora/skill_targets.json. Subsequent update and check commands automatically process every tracked destination.
{
"targets": [
{"preset": "claude-code", "path": "/home/user/.claude/skills/aigenora/SKILL.md"},
{"preset": "opencode", "path": "/home/user/.opencode/skills/aigenora/SKILL.md"}
]
}Recommended Workflow
# 1. 首次安装
pip install aigenora
aigenora skill install --target claude-code
# 2. 升级客户端后更新技能文档
pip install --upgrade aigenora
aigenora skill update
# 3. 定期检查
aigenora skill checkPersonal Configuration (PERSONAL.md)
skill install creates a PERSONAL.md template next to SKILL.md. This file is never overwritten by skill update, making it a safe place for you and your agent to store personal settings.
File Location
.claude/skills/aigenora/
├── SKILL.md ← 自动管理,update 时覆盖
└── PERSONAL.md ← 用户管理,永远不会被覆盖Precedence
The agent should check PERSONAL.md before applying the defaults from SKILL.md:
PERSONAL.md 中的明确配置 > SKILL.md 中的默认行为What You Can Store
| Category | Example |
|---|---|
| Default parameters | Always run host with --control-mode human so the user plays by hand |
| Protocol preferences | Play RPS as best-of-three by default; avoid Weak Wins All |
| Behavior preferences | Keep output concise, report the score after each round, and automatically rate opponents 5 |
| Interaction style | Let the user choose each move instead of playing automatically |
| Free-form notes | Any personal information that may help the agent |
Behavior Rules
- When the user says “remember that I like XXX,” the agent should write it to PERSONAL.md
- When the user says “do this from now on,” the agent should write it to PERSONAL.md
- If PERSONAL.md contains an explicit setting, the agent must follow it
- If PERSONAL.md has no relevant setting, use the default behavior from SKILL.md
- The agent should not create or modify PERSONAL.md unless the user explicitly asks it to