Best for
- add a custom tool or slash command
- “напиши расширение”, “допиши себя”, “добавь skill/tool”
- list what extensions are loaded
javded-itres/Holix/core/skills/bundled/holix-extensions/SKILL.md
Author and manage Holix agent drop-in extensions so the agent can extend itself without editing Holix core. Use when the user asks to write an extension, add tools, register slash commands, list extensions, disable a broken extension, or self-modify agent capabilities. Invoke via /holix-extensions.
Decision brief
The user wants the agent to grow new capabilities safely:
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/javded-itres/Holix --skill "core/skills/bundled/holix-extensions"Inspect the Agent Skill "holix-extensions" from https://github.com/javded-itres/Holix/blob/2b0735f8a5e86be092e4918f1ff2e305bcea693a/core/skills/bundled/holix-extensions/SKILL.md at commit 2b0735f8a5e86be092e4918f1ff2e305bcea693a. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Core Holix + built-in tools (including manageagentextensions) still load.
1. Confirm session is local (CLI/TUI), not a group Telegram/MAX bot. 2. manageagentextensions(action=create, name=…, description=…). 3. Edit agent.py if needed; then action=reload. 4. Verify with manageagentextensions(action=registered) and a test call. 5. If broken → disable im…
The user wants the agent to grow new capabilities safely:
Self-authored extensions (create / enable / hot-reload) work only in local single-operator mode:
Discovered on agent start and via hot-reload after create / reload (local mode).
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 12 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
The user wants the agent to grow new capabilities safely:
Never edit Holix core (core/, cli/, integrations/, package source).
Only create profile-local drop-in extensions.
Self-authored extensions (create / enable / hot-reload) work only in local single-operator mode:
| Mode | Create / hot-reload |
|---|---|
CLI, TUI, holix run (local operator) | Allowed |
| Telegram / MAX multi-user bots | Denied |
Messenger hosts set HOLIX_MESSENGER_HOST and self_extensions_enabled=False.
Override (not recommended on shared bots): HOLIX_SELF_EXTENSIONS=1.
If manage_agent_extensions returns self_extensions_denied, tell the user to use a local profile session — do not try to force-create on the group bot.
~/.holix/profiles/<profile>/extensions/<name>/
agent.py # get_agent_extension()
holix.plugin.json
settings.default.yaml
README.md
create / reload (local mode).~/.holix/extensions/).Use manage_agent_extensions:
| action | Purpose | Local only? |
|---|---|---|
list | Folders + blocked status | No |
registered | Settings + slash commands | No |
create | Scaffold + hot-reload into this session | Yes |
disable | Kill-switch; hot-unload when local | Prefer anytime |
enable | Re-enable + hot-reload | Yes |
quarantine_clear | Clear auto-quarantine + reload | Yes |
reload | Re-scan extensions / reimport modules | Yes |
show_control | Show agent_extensions_control.yaml | No |
manage_agent_extensions(
action=create,
name=my_helper,
description=Short helper tools for this project
)
The tool hot-reloads the agent: new tools and slash specs appear in the current session.
If you edit agent.py further, call manage_agent_extensions(action=reload).
manage_agent_extensions(action=list)
manage_agent_extensions(action=registered)
manage_agent_extensions(action=reload) # after manual agent.py edits
manage_agent_extensions(action=create, …) then edit agent.py with write_file / edit.manage_agent_extensions(action=reload) so code changes load without restart.BaseTool + optional register_slash_commands + optional prompt fragment.default_settings() → {"enabled": True}.core.extensions.agent_base.AgentExtensionBasecore.tools.base.BaseToolholix_sdk.agent.SlashCommandSpecclass MyTool(BaseTool):
def __init__(self):
super().__init__()
self.name = "my_tool"
self.description = "…"
self.risk_level = "no" # or low/medium/high
self.parameters = {
"type": "object",
"properties": {"text": {"type": "string"}},
"required": ["text"],
}
async def execute(self, text: str = "", **kwargs) -> str:
return text
manage_agent_extensions(action=disable, name=broken_ext, reason=causes crash)
Or CLI:
holix extensions agent-disable broken_ext -p <profile>
File: ~/.holix/profiles/<profile>/agent_extensions_control.yaml
disabled:
- broken_ext
quarantine:
broken_ext: "TypeError: ..."
If register_tools / middleware raises on load, Holix records quarantine automatically.
Fix code → manage_agent_extensions(action=quarantine_clear, name=…) → auto-reload (local).
export HOLIX_AGENT_EXTENSIONS_OFF=1 # disable ALL agent drop-ins
export HOLIX_AGENT_EXTENSIONS_DISABLED=a,b # disable listed names
holix gateway restart # or restart bot
Core Holix + built-in tools (including manage_agent_extensions) still load.
holix extensions agent-list -p default
holix extensions agent-create my_helper -d "…" -p default
holix extensions agent-disable my_helper -p default
holix extensions agent-enable my_helper -p default
holix extensions agent-control -p default
CLI create is an operator action (local machine). Agent-side create remains blocked on multi-user messenger agents.
/holix-extensions (this file)/my-helper from scaffoldmanage_agent_extensions(action=create, name=…, description=…).agent.py if needed; then action=reload.manage_agent_extensions(action=registered) and a test call.core/, cli/, integrations/ for product features.manage_agent_extensions action=list
manage_agent_extensions action=create name=notes description=Save short notes
manage_agent_extensions action=reload
manage_agent_extensions action=disable name=notes reason=syntax error
manage_agent_extensions action=show_control
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "set up my founder social-selling routine", "build a daily engagement block for target accounts", or "turn funding / hiring signals into selling plays"; produces the founder/seller daily operating block — a time-boxed engagement-block spec (substantive value-add comments on target-account posts, never a pitch), warm-touch-before-ask cadence rules, trigger-response plays consuming the social-pulse-monitor B2B trigger watchlist (funding / hiring / launch signals), and a q