Token导航 LogoToken导航TokenDH.com
待分类只读github未标认证来源可访问许可证需确认审计通过

operate-log-guide操作日志引导

Agent Skill

operate-log-guide 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

218

周安装

9

GitHub Stars

公开资料未说明

下载量

71
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/elliothughes/mix_skills --skill operate-log-guide

简介

该技能用于处理操作日志相关的引导和管理任务。

  • 适用于日志分析、故障排查和系统监控场景。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。
  • 通过 GitHub 安装,支持主流 AI 编程工具使用。
  • 建议在使用前了解日志格式和存储位置信息。
  • operate-log-guide 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

🔐 Execution Contract

If this skill is triggered, the assistant MUST begin the response with:

=== USING SKILL: operate-log-guide ===

Failure to output this marker means the skill was not used.


When to Use This Skill

当出现以下任意请求时必须使用本 Skill:

  • 新增操作日志
  • 添加 operateLog
  • 新增 action 日志
  • 增加 SysOperateLogModel 记录
  • 新增成员管理日志

新增操作日志(Operate Log)接入 Skill

目标

为系统新增一种操作日志记录:从业务代码触发 operateLog(),最终写入 MongoDB,并支持前端按 type / operate_type 筛选展示。

核心概念

  • action:业务触发动作标识(snake_case 字符串)
  • type:日志大类(成员管理 / 账号管理 等),用于前端大类筛选
  • operate_type:操作类型(与 action 值保持一致),用于前端细分筛选
  • operate_log:业务详情字段(数组 → JSON 存 Mongo)

涉及文件(按顺序改)

  1. modules/sys/services/optLog/UserOptLogService.php:定义 ACTION_* 常量
  2. modules/common/models/sys/SysOperateLogModel.php:定义 OPERATE_TYPE_* 常量
  3. modules/sys/services/optLog/strategies/<XxxStrategy>.php:注册 action + 编写 handler
  4. modules/sys/services/optLog/factories/LogStrategyFactory.php:仅新建 Strategy 时注册策略类
  5. 业务调用处:调用 NewUserOptLogService::operateLog()

Step 1:定义 ACTION 常量

文件:UserOptLogService.php

在对应分类注释下新增常量:

// 成员管理
const ACTION_ADD_MEMBER = 'add_member';
const ACTION_BIND_MEMBER_TFA = 'bind_member_tfa';   // <-- 新增

命名规范:

  • 常量名:ACTION_<动作>_<对象>
  • 值:snake_case 字符串

Step 2:定义 OPERATE_TYPE 常量

文件:SysOperateLogModel.php

const OPERATE_TYPE_ADD_MEMBER = 'add_member';
const OPERATE_TYPE_BIND_MEMBER_TFA = 'bind_member_tfa';  // <-- 新增

命名规范:

  • 常量名:OPERATE_TYPE_<动作>_<对象>
  • 值:与 ACTION 的值保持一致

Step 3:在 Strategy 中注册和处理

3a:选择已有 Strategy 或新建

已有策略(优先复用):

Strategy日志类型 (type)适用场景
MemberManagementStrategySysOperateLogModel::TYPE_MEMBER_MGMT成员管理相关
AccountManagementStrategySysOperateLogModel::TYPE_ACCOUNT_MGMT账号/环境管理相关

如果新操作属于已有分类,直接在已有 Strategy 中添加;否则新建 Strategy(见 Step 4)。

3b:注册 action

getSupportedActions() 数组中添加:

public function getSupportedActions(): array
{
    return [
        // ...已有的
        UserOptLogService::ACTION_BIND_MEMBER_TFA,  // <-- 新增
    ];
}

3c:在 handle() 中添加 case

public function handle(array $logData): array
{
    $baseData = $this->getBaseLogData($logData);
    $action = $logData['action'];

    switch ($action) {
        // ...已有的 case
        case UserOptLogService::ACTION_BIND_MEMBER_TFA:
            return $this->handleBindMemberTfa($baseData, $logData);
        default:
            return [];
    }
}

3d:编写 handler 方法

private function handleBindMemberTfa($baseData, $logData)
{
    // 从 $logData 中取出需要记录的业务字段
    $operateLog = [
        'target_user_id' => $logData['target_user_id'] ?? 0,
        'target_email'   => $logData['target_email'] ?? '',
    ];

    return $this->buildLogData(
        $baseData,
        SysOperateLogModel::TYPE_MEMBER_MGMT,                // type: 日志大类
        SysOperateLogModel::OPERATE_TYPE_BIND_MEMBER_TFA,    // operate_type: 操作类型
        $operateLog                                          // operate_log: 业务详情 (JSON)
    );
}

说明:

  • $baseDataAbstractLogStrategy::getBaseLogData() 自动填充,包含:company_id, sys_user_id, sys_user_name, ip, country, region, city, created_time
  • $operateLog 是自定义业务字段,会被 JSON 编码后存入 operate_log
  • typeoperate_type 用于前端筛选和展示

Step 4:(仅新建 Strategy 时)注册策略类

文件:LogStrategyFactory.php

private static function getStrategyClasses(): array
{
    return [
        AccountManagementStrategy::class,
        MemberManagementStrategy::class,
        NewStrategy::class,  // <-- 新增
    ];
}

新 Strategy 需继承 AbstractLogStrategy 并实现 getSupportedActions()handle()

<?php
namespace app\modules\sys\services\optLog\strategies;

use app\modules\common\models\sys\SysOperateLogModel;
use app\modules\sys\services\optLog\UserOptLogService;

class NewStrategy extends AbstractLogStrategy
{
    public function getSupportedActions(): array
    {
        return [
            UserOptLogService::ACTION_XXX,
        ];
    }

    public function handle(array $logData): array
    {
        $baseData = $this->getBaseLogData($logData);
        // ...
    }
}

Step 5:在业务代码中调用

use app\modules\sys\services\optLog\NewUserOptLogService;
use app\modules\sys\services\optLog\UserOptLogService;

// 必传字段:company_id, sys_user_id, action
// 其余字段根据 handler 中定义的 $operateLog 按需传入
try {
    NewUserOptLogService::getInstance()->operateLog([
        'company_id'     => $operatorInfo['company_id'],
        'sys_user_id'    => $operatorInfo['id'],          // 操作人 ID
        'action'         => UserOptLogService::ACTION_BIND_MEMBER_TFA,
        'target_user_id' => $targetUserId,                // 自定义业务字段
        'target_email'   => $targetEmail,                 // 自定义业务字段
    ]);
} catch (\Exception $e) {
    // 日志记录失败不影响主流程
}

数据流向(用于排查)

业务代码调用 operateLog()
    -> NewUserOptLogService::operateLog()
        -> LogStrategyFactory::getStrategy($action)  // 根据 action 找到 Strategy
        -> Strategy::handle($logData)                // 组装日志数据
        -> NewUserOptLogService::insertToMongo()     // 写入 MongoDB

验收 Checklist

  • ACTION 常量新增(命名/值符合规范)
  • OPERATE_TYPE 常量新增(值与 action 一致)
  • action 已加入 Strategy 的 getSupportedActions()
  • handle() switch 能命中并返回非空数组
  • handler 的 type / operate_type / operate_log 正确
  • 业务代码使用 try-catch,日志失败不阻断主流程
  • Mongo 中能看到新日志记录,前端筛选可用

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

38.13%
按下载量换算27

Claude

29.35%
按下载量换算21

Cursor

19.42%
按下载量换算14

Gemini CLI

10.35%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

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

来源信息

继续浏览同类 Skills