Token导航 LogoToken导航TokenDH.com
前端设计执行命令github未标认证来源可访问许可证需确认审计通过

hook-authoring挂钩创作

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

524

周安装

21

GitHub Stars

2

下载量

170
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:hook-authoring(挂钩创作)
来源仓库:https://github.com/multicam/qara
仓库路径:skills/hook-authoring
安装命令:
npx skills add https://github.com/multicam/qara --skill hook-authoring
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/multicam/qara --skill hook-authoring

简介

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。

  • 适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。
  • 使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。
  • 安装前建议确认维护状态,以及是否会触发联网、命令执行或文件读写。
  • 使用时需注意 API 调用频率限制和数据隐私边界。

SKILL.md

Workflow Routing (SYSTEM PROMPT)

When user requests creating a new hook: Examples: "create a hook for X", "add a hook", "make a SessionStart hook" -> READ: ${PAI_DIR}/skills/hook-authoring/workflows/create-hook.md -> EXECUTE: Follow hook creation workflow

When user needs to debug hooks: Examples: "hook not working", "debug hooks", "hook troubleshooting" -> READ: ${PAI_DIR}/skills/hook-authoring/workflows/debug-hooks.md -> EXECUTE: Run debugging checklist


Claude Code Hook Events

SessionStart

When: New Claude Code session begins Use Cases: Load context, initialize state, capture metadata

PreToolUse

When: Before a tool executes Use Cases: Security checks, permission enforcement, input validation

PostToolUse

When: After a tool executes Use Cases: Logging, metrics, audit trail

UserPromptSubmit

When: User submits a prompt Use Cases: Pre-processing, context injection, tab updates

Stop

When: Claude completes a response (not user) Use Cases: Extract completion info, update tab titles, capture work

SubagentStop

When: A subagent (Task) completes Use Cases: Agent tracking, result capture, coordination

ConfigChange

When: Settings or config files change Use Cases: Sync validation, drift detection


Hook Configuration

Location: ${PAI_DIR}/.claude/settings.json or ~/.claude/settings.json

{
  "hooks": {
    "SessionStart": [
      {
        "matcher": {},
        "hooks": [
          {
            "type": "command",
            "command": "${PAI_DIR}/hooks/my-hook.ts"
          }
        ]
      }
    ]
  }
}

Hook Input/Output

Input (stdin JSON)

interface HookInput {
  session_id: string;
  transcript_path: string;
  // Event-specific fields...
}

Output (stdout)

  • Continue: {"continue": true}
  • Block: {"continue": false, "reason": "..."}
  • Inject content: {"result": "<system-reminder>...</system-reminder>"}
  • Add context (CC 2.1.9+): {"decision": "continue", "additionalContext": "..."}

Session ID Tracking (CC 2.1.9+)

Hooks receive session_id in input JSON. For persistent storage:

// Use session_id from hook input
const sessionFile = `${PAI_DIR}/state/sessions/${input.session_id}.json`;

// Or use ${CLAUDE_SESSION_ID} substitution in settings.json:
{
  "hooks": {
    "SessionStart": [{
      "hooks": [{
        "type": "command",
        "command": "${PAI_DIR}/hooks/init-session.ts --session ${CLAUDE_SESSION_ID}"
      }]
    }]
  }
}

PAI Active Hooks

HookEventPurpose
session-start.tsSessionStartLoad CORE skill, initialize session
pre-tool-use-security.tsPreToolUseBlock dangerous Bash commands
post-tool-use.tsPostToolUseJSONL tool usage logging
update-tab-titles.tsUserPromptSubmitSet terminal tab titles
stop-hook.tsStopCheckpoint logging, tab update
config-change.tsConfigChangeSettings sync validation

Hook Best Practices

  1. Fail gracefully - Hooks should never block Claude
  2. Timeout protection - Use timeouts for external calls
  3. Async by default - Don't block the main process
  4. TypeScript preferred - Use Bun for execution
  5. Log errors - Don't fail silently

Quick Hook Template

#!/usr/bin/env bun
// ${PAI_DIR}/hooks/my-hook.ts

import { readFileSync } from 'fs';

const input = JSON.parse(readFileSync(0, 'utf-8'));

// Your logic here

// Output (choose one):
console.log(JSON.stringify({ continue: true }));
// console.log(JSON.stringify({ result: "<system-reminder>...</system-reminder>" }));

Make executable: chmod +x my-hook.ts


Related

  • See post-tool-use.ts for JSONL logging pattern
  • See hook-test skill for hook health checking

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.53%
按下载量换算57

Claude

30.92%
按下载量换算53

Cursor

16.65%
按下载量换算28

Gemini CLI

9.24%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/multicam/qara --skill hook-authoring 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills