跳到主要内容
    ↑↓ 选择↵ 打开esc 关闭
    中文English
    wolkat

    Skill Hush

    v0.1.0工具与命令
    opencode-skill-hush

    OpenCode plugin that suppresses verbose skill content and command template display in the TUI

    GitHub 星标

    1

    月装机量

    12

    近 7 天 2

    综合评分SCORE

    25.6

    生态多维模型

    最近提交

    2 个月前

    2026-06-08

    快速安装与配置

    opencode.json

    写入当前项目的 opencode.json,只对这个仓库生效。

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-skill-hush@0.1.0"]
    }

    opencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。

    License: MIT npm version

    OpenCode plugin that suppresses verbose skill content and command template display in the TUI.

    Instead of dumping 100+ lines of <skill_content> into the conversation when an agent loads a skill, it shows a one-line placeholder. The skill content still reaches the LLM context -- only the TUI display is shortened.

    Before / After

    Skill load -- Before:

    Loaded skill: bmad-advanced-elicitation
    
    <skill_content name="bmad-advanced-elicitation">
    # Skill: bmad-advanced-elicitation
    
    # Advanced Elicitation
    **Goal:** Push the LLM to reconsider, refine, and improve its recent output.
    ...
    Base directory for this skill: /Users/katops/git/.agents/skills/...
    </skill_content>
    

    Skill load -- After:

    skill: bmad-advanced-elicitation
    [Skill "bmad-advanced-elicitation" loaded]
    

    Command template -- Before:

    /commit
    feat: add new feature (multi-line resolved template...)
    

    Command template -- After:

    /commit
    [Command: commit]
    

    Installation

    Global (recommended)

    npm install -g opencode-skill-hush
    

    Or as a local plugin

    Clone the repo and reference it directly in opencode.json:

    {
      "plugin": ["/path/to/opencode-skill-hush/dist/index.js"]
    }
    

    Configuration

    Add to your opencode.json:

    {
      "plugin": [
        ["opencode-skill-hush", {
          "suppressSkills": true,
          "suppressCommands": true,
          "showLineCount": false
        }]
      ]
    }
    

    Options

    Option Type Default Description
    suppressSkills boolean true Replace skill tool content with placeholder
    suppressCommands boolean true Replace command templates with placeholder
    showLineCount boolean false Append line count to skill placeholder

    Restart opencode after changing config.

    Structure

    opencode-skill-hush/
    ├── src/
    │   ├── index.ts            # Plugin entry, exports ContentHushPlugin
    │   └── hooks/
    │       ├── skill.ts        # tool.execute.after handler
    │       ├── command.ts      # command.execute.before handler
    │       ├── chat.ts         # chat.message handler
    │       └── __tests__/      # Unit tests (vitest)
    ├── package.json
    ├── tsconfig.json
    └── AGENTS.md
    

    How it works

    Three hooks, one plugin:

    Hook Target What it does
    tool.execute.after skill tool Replaces output.title and output.output with a minimal placeholder. The tool has already finished, so the LLM context is unaffected.
    command.execute.before slash commands Replaces output.parts with a single [Command: {name}] text part before it renders.
    chat.message TUI chat messages Detects command templates in chat text parts and replaces them with [Command: {heading}]. Matches if the text contains a <skill_content> tag (regardless of H2 structure), or starts with an H1 heading (#) that has a / prefix and includes H2 sections (##). Minimum 50 chars. Catches templates that arrive via chat.message rather than command.execute.before.

    Development

    npm install
    npm run typecheck
    npm test
    

    Contributing

    See CONTRIBUTING.md for contribution guidelines and CODE_OF_CONDUCT.md for community standards.

    Security

    Report vulnerabilities via SECURITY.md.

    License

    MIT License. See LICENSE.