Source profileQuality 95/100

javded-itres/Holix/core/skills/bundled/holix-extensions/SKILL.md

holix-extensions

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.

Source repository stars
12
Declared platforms
0
Static risk flags
0
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

The user wants the agent to grow new capabilities safely:

Best for

  • add a custom tool or slash command
  • “напиши расширение”, “допиши себя”, “добавь skill/tool”
  • list what extensions are loaded

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/javded-itres/Holix --skill "core/skills/bundled/holix-extensions"
Safe inspection promptEditorial

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

What the source asks the agent to do

  1. 01

    C. Emergency (process env)

    Core Holix + built-in tools (including manageagentextensions) still load.

    Core Holix + built-in tools (including manageagentextensions) still load.
  2. 02

    Workflow for “extend yourself” (local only)

    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…

    Confirm session is local (CLI/TUI), not a group Telegram/MAX bot.manageagentextensions(action=create, name=…, description=…).Edit agent.py if needed; then action=reload.
  3. 03

    When to use

    The user wants the agent to grow new capabilities safely:

    add a custom tool or slash command“напиши расширение”, “допиши себя”, “добавь skill/tool”list what extensions are loaded
  4. 04

    Mode restriction (important)

    Self-authored extensions (create / enable / hot-reload) work only in local single-operator mode:

    Self-authored extensions (create / enable / hot-reload) work only in local single-operator mode:Messenger hosts set HOLIXMESSENGERHOST and selfextensionsenabled=False. Override (not recommended on shared bots): HOLIXSELFEXTENSIONS=1.If manageagentextensions returns selfextensionsdenied, tell the user to use a local profile session — do not try to force-create on the group bot.
  5. 05

    Architecture (safe zone)

    Discovered on agent start and via hot-reload after create / reload (local mode).

    Discovered on agent start and via hot-reload after create / reload (local mode).Does not require pip install.Same profile only (unless user copies to /.holix/extensions/).

Permission review

Static risk signals and limitations

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

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score95/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars12SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
javded-itres/Holix
Skill path
core/skills/bundled/holix-extensions/SKILL.md
Commit
2b0735f8a5e86be092e4918f1ff2e305bcea693a
License
MIT
Collected
2026-08-04
Default branch
main
View the original SKILL.md

When to use

The user wants the agent to grow new capabilities safely:

  • add a custom tool or slash command
  • “напиши расширение”, “допиши себя”, “добавь skill/tool”
  • list what extensions are loaded
  • disable something that breaks the agent

Never edit Holix core (core/, cli/, integrations/, package source).
Only create profile-local drop-in extensions.

Mode restriction (important)

Self-authored extensions (create / enable / hot-reload) work only in local single-operator mode:

ModeCreate / hot-reload
CLI, TUI, holix run (local operator)Allowed
Telegram / MAX multi-user botsDenied

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.

Architecture (safe zone)

~/.holix/profiles/<profile>/extensions/<name>/
  agent.py              # get_agent_extension()
  holix.plugin.json
  settings.default.yaml
  README.md
  • Discovered on agent start and via hot-reload after create / reload (local mode).
  • Does not require pip install.
  • Same profile only (unless user copies to ~/.holix/extensions/).

Primary tool

Use manage_agent_extensions:

actionPurposeLocal only?
listFolders + blocked statusNo
registeredSettings + slash commandsNo
createScaffold + hot-reload into this sessionYes
disableKill-switch; hot-unload when localPrefer anytime
enableRe-enable + hot-reloadYes
quarantine_clearClear auto-quarantine + reloadYes
reloadRe-scan extensions / reimport modulesYes
show_controlShow agent_extensions_control.yamlNo

Create (local)

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).

List / inspect

manage_agent_extensions(action=list)
manage_agent_extensions(action=registered)
manage_agent_extensions(action=reload)   # after manual agent.py edits

Editing an extension

  1. Prefer manage_agent_extensions(action=create, …) then edit agent.py with write_file / edit.
  2. Call manage_agent_extensions(action=reload) so code changes load without restart.
  3. Keep API surface small: BaseTool + optional register_slash_commands + optional prompt fragment.
  4. Always set default_settings(){"enabled": True}.
  5. Never import private Holix internals beyond:
    • core.extensions.agent_base.AgentExtensionBase
    • core.tools.base.BaseTool
    • holix_sdk.agent.SlashCommandSpec

Minimal tool pattern

class 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

Kill-switch (if extension breaks the agent)

A. Soft disable (preferred)

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: ..."

B. Auto-quarantine

If register_tools / middleware raises on load, Holix records quarantine automatically.
Fix code → manage_agent_extensions(action=quarantine_clear, name=…) → auto-reload (local).

C. Emergency (process env)

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.

CLI cheat sheet

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.

Slash / skill

  • Skill: /holix-extensions (this file)
  • Extension-defined slashes: after create/reload, e.g. /my-helper from scaffold

Workflow for “extend yourself” (local only)

  1. Confirm session is local (CLI/TUI), not a group Telegram/MAX bot.
  2. manage_agent_extensions(action=create, name=…, description=…).
  3. Edit agent.py if needed; then action=reload.
  4. Verify with manage_agent_extensions(action=registered) and a test call.
  5. If broken → disable immediately; do not patch core.

Do NOT

  • Modify Holix core/, cli/, integrations/ for product features.
  • Create self-extensions on multi-user messenger bots.
  • Install random packages system-wide without user approval.
  • Leave a crashing extension enabled — use disable/quarantine.

Quick reference

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

Compare before choosing

Computed 10023,781

alirezarezvani/claude-skills

app-store-optimization

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

Computed 10014,225

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

Computed 1004,922

dotnet/skills

migrate-vstest-to-mtp

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

Computed 1002,504

aaron-he-zhu/aaron-marketing-skills

social-selling-planner

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