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

rails-activity-timelineRails activity timeline 命令行

Agent Skill

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

总安装

194

周安装

8

GitHub Stars

37

下载量

63
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill rails-activity-timeline

简介

用于追踪 Rails 项目中用户活动与系统事件的时间线记录。

  • 适合在审计日志或行为分析场景中提取关键操作序列。rails-activity-timeline 属于待分类类 Skill,可作为该场景下的辅助能力补充。
  • 通过 GitHub 安装,需确认数据存储格式与时间戳字段定义。
  • 注意隐私合规要求,过滤掉敏感个人信息后再进行分析。
  • 建议可视化输出时间线,便于快速识别异常行为模式。

SKILL.md

Rails Activity Timeline

Add a polymorphic activity timeline with live Turbo Stream updates to any Rails model. Track field changes, status transitions, comments, attachments, and more with configurable icons and colors per action type.

When to Use

  • Adding an activity/audit timeline to any Rails model
  • Tracking field changes, status transitions, comments, or attachments
  • Displaying live-updating activity feeds via Turbo Streams
  • Auto-logging lifecycle events on child/associated models
  • Building activity feeds with configurable icons and colors

Architecture

Four components:

  1. ActivityEvent model (polymorphic) — the core event record
  2. ActivityTrackable concern — auto-logs child model lifecycle events on a parent's timeline
  3. Shared timeline partial — vertical timeline with Turbo Stream live updates
  4. Display configuration — icon SVG path + accent color per action type, kept in the model

Key Associations (on ActivityEvent)

belongs_to :trackable, polymorphic: true            # parent entity whose timeline this belongs to
belongs_to :subject, polymorphic: true, optional: true  # related entity being acted upon
belongs_to :user, optional: true                     # who performed the action

Generic Action Set

ACTIONS = %w[
  created updated destroyed
  field_updated status_changed
  comment_added
  attachment_added attachment_removed
  assigned unassigned
  relationship_added relationship_removed
  tag_added tag_removed
].freeze

Add domain-specific actions (e.g., published, approved) to ACTIONS and the DISPLAY hash.

Core Patterns

Setup from Scratch

Migration, full ActivityEvent model, ActivityTrackable concern, and prerequisites.

See: references/setup.md

Turbo Stream Broadcasting

Stream naming convention, broadcast methods, partial routing, shared timeline partial, and event partial.

See: references/broadcasting.md

Display Configuration

The DISPLAY hash, adding custom actions with icons, display methods, customizing the event partial.

See: references/display.md

AI Summaries (Optional)

AI-generated change summaries for field_updated events with long text changes.

See: references/ai-summaries.md

Adding Timeline to a Model

Step 1: Add the association

class Project < ApplicationRecord
  has_many :activity_events, as: :trackable, dependent: :destroy
end

Step 2: Add model type to broadcast routing

In ActivityEvent#broadcast_partial, add your model to the case statement:

def broadcast_partial
  case trackable_type
  when "Project", "Article" then "activity_events/activity_event"
  else "activity_events/activity_event"
  end
end

Step 3: Render the shared partial

<%= render "shared/activity_timeline", record: @project %>

Step 4: Create events

# Status change
ActivityEvent.create!(
  trackable: @project,
  user: current_user,
  action: "status_changed",
  details: { from_status: "draft", to_status: "active" }
)

# Field change
if @project.saved_change_to_status?
  ActivityEvent.create!(
    trackable: @project,
    user: current_user,
    action: "field_updated",
    details: { field: "status", from: @project.status_previously_was, to: @project.status }
  )
end

ActivityTrackable Concern

For child models that auto-log on a parent's timeline:

class Comment < ApplicationRecord
  include ActivityTrackable

  def activity_trackable = post
  def activity_action_created = "comment_added"
  def activity_action_destroyed = "comment_removed"
  def activity_label = body.truncate(60)
  def activity_user = user
end

Override activity_created_details or activity_destroyed_details for additional metadata:

def activity_created_details
  { file_size: byte_size, content_type: content_type }
end

Querying

@project.activity_events.timeline          # recent, includes user, limit 50
@project.activity_events.by_type("status_changed")
ActivityEvent.where(subject: @task).recent

Common Pitfalls

  1. Wrong trackable — events appear on wrong timeline. activity_trackable must return the parent, not self.
  2. Missing broadcast routing for new types — add new model types to the broadcast_partial case statement; without this broadcasts silently fail.
  3. Missing actions in ACTIONS + DISPLAY — validation rejects unrecognized actions. Always add both.
  4. N+1 on timeline — always use .timeline scope (includes :user). Add associations to the scope, not the partial.
  5. Turbo Stream not updatingturbo_stream_from tag in view must match stream name in broadcast method. Convention: "#{record_type}_{id}_activity".

Prerequisites

  • Rails 7+ with turbo-rails
  • Action Cable or Solid Cable configured
  • A User model (optional, for attribution)
  • Tailwind CSS for default styling

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

38.2%
按下载量换算24

Claude

26.72%
按下载量换算17

Cursor

20.5%
按下载量换算13

Gemini CLI

9.59%
按下载量换算6

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

只读

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

安装前确认

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

来源信息

继续浏览同类 Skills