common-components-skill

common-components-skill is a skill for Claude Code, Codex from St0ff3l/fileterm. It costs 0 tokens per session (3,768 once invoked), scanned A, original, MIT.

A guide to FileTerm's shared interface components and its light and dark theme system. It covers reusable terminal, icon, context-menu, scrolling, internationalisation, and separate-window UI pieces.

In plain words
What is it for?
Use it when adding or changing terminal views, icons, context menus, horizontal scrolling, theme colors, keyboard shortcuts, or independent windows in the FileTerm desktop app.
Why use it?
It helps developers reuse the project's existing interface patterns instead of creating components or theme behavior that look or work differently.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/st0ff3l/fileterm/common-components-skill
Any agent
npx skills add St0ff3l/fileterm --skill common-components-skill
Clone the repo
git clone --depth 1 https://github.com/St0ff3l/fileterm

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for common-components-skill

README.md
[![agentmods](https://agentmods.dev/badge/skills/st0ff3l/fileterm/common-components-skill.svg)](https://agentmods.dev/skills/st0ff3l/fileterm/common-components-skill)
Your own site
<a href="https://agentmods.dev/skills/st0ff3l/fileterm/common-components-skill"><img src="https://agentmods.dev/badge/skills/st0ff3l/fileterm/common-components-skill.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,768 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.03768
Opus 5 $0.00000 $0.01884
Sonnet 5 $0.00000 $0.00754
Haiku 4.5 $0.00000 $0.00377

Measured 3d ago against content hash be60862f498b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

common-components-skill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/common-components-skill/SKILL.md · 419 lines

How it starts

The opening of the file, as written. The whole thing — 419 lines — stays where its author put it; the contents beside it link to each section on GitHub.

FileTerm 通用组件技能指南

概述

本指南详细介绍 FileTerm 项目中的通用组件架构、CSS 主题系统,以及独立窗口在亮暗主题下的落地方式。


一、通用组件架构

1.1 组件目录结构

renderer/
├── components/           # 核心通用组件
│   └── TerminalView.tsx  # 终端视图组件
└── features/
    └── common/           # 通用功能组件
        ├── AppIcon.tsx           # 图标组件
        ├── ContextMenu.tsx       # 右键菜单组件
        └── horizontal-scroll.ts  # 水平滚动工具函数

1.2 核心组件说明

TerminalView(终端组件)

文件路径apps/desktop/src/renderer/components/TerminalView.tsx

功能特性

  • 基于 @xterm/xterm 构建的终端视图
  • 支持主题颜色定制(通过 CSS 变量)
  • 快捷键支持:复制(⌘C/Ctrl+Shift+C)、粘贴(⌘V/Ctrl+Shift+V)、查找(⌘F/Ctrl+F)
  • 右键上下文菜单集成
  • 自动适配容器尺寸
  • 国际化文本支持

关键依赖

import { Terminal } from '@xterm/xterm'
import { FitAddon } from '@xterm/addon-fit'
import { ContextMenu } from '../features/common/ContextMenu'
AppIcon(图标组件)

文件路径apps/desktop/src/renderer/features/common/AppIcon.tsx

支持的图标类型

图标名 用途
grid 网格视图
menu 菜单按钮
server 服务器连接
connections 连接管理
folder 文件夹
file 文件
history 历史记录
refresh 刷新
upload 上传
download 下载
flash 快速操作

使用方式

<AppIcon name="folder" size={16} />

特性

  • 统一 SVG 图标系统
  • 可自定义尺寸(默认 14px)
  • 颜色继承父元素 currentColor
ContextMenu(右键菜单组件)

文件路径apps/desktop/src/renderer/features/common/ContextMenu.tsx

功能特性

  • 点击外部区域自动关闭
  • Esc 键关闭
  • 位置自动调整(避免超出视口)
  • 支持禁用状态和危险操作样式

接口定义

type ContextMenuEntry = {
  label?: string
  shortcut?: string
  disabled?: boolean
  danger?: boolean
  action?(): void
  separator?: boolean
}

使用方式

<ContextMenu
  items={[
    { label: '复制', shortcut: '⌘C', action: handleCopy },
    { separator: true },
    { label: '删除', danger: true, action: handleDelete }
  ]}
  onClose={closeMenu}
  position={{ x: 100, y: 100 }}
/>
handleHorizontalWheelScroll(水平滚动工具)

Read the full file on GitHub · 419 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 419 lines · 0 tokens per session scan A be60862f498b

Subscribe to this mod's changes

common-components-skill is a skill published in the GitHub repository St0ff3l/fileterm (297 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 3,768 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

Shade dropdown surface contract

DropdownMenu, Select, and Popover share one visual recipe (bg-surface-elevated-2 + border-border/60 dark:border-border/30 + shadow-md). Change them together. Trigger when editing any of those three Shade files.

TryGhost/Ghost · 54 tokens

Shade ShadCN install

Guardrails for running pnpm dlx shadcn@latest add in Shade — never overwrite existing components, fresh branch first, swap raw colours for semantic tokens after integrating. Trigger when the user proposes a shadcn add, or when a fresh ShadCN-shaped file lands in apps/shade/src/components/ui.

TryGhost/Ghost · 72 tokens

chakra-ui-builder

Build responsive, accessible UI components and layouts using Chakra UI v3, install or configure Chakra UI in new and existing projects, and design scalable themes using tokens, semantic tokens, recipes, and slot recipes. Use this skill whenever a user asks to build, create, or generate any UI component, page, form…

chakra-ui/chakra-ui · 214 tokens

material-ui-tailwind

Integrates Material UI with Tailwind CSS v4 using cascade layers (enableCssLayer, @layer order) and documents Tailwind v3 interoperability (preflight, important, injectFirst, portals). Use when combining MUI with Tailwind utilities, slotProps className, or theme token bridges.

mui/material-ui · 67 tokens

better-colors

Helps you build a color system and answer anything about color in your project. You can generate palettes, use semantic tokens, convert between formats, check contrast and more.

jakubkrehel/skills · 38 tokens

livecodes/sdk-methods

Use SDK methods to interact with playgrounds: run, getCode, setConfig, getConfig, watch, runTests, format, getShareUrl, show, destroy. Load this skill when programmatically controlling embedded playgrounds, reacting to code changes, or retrieving compiled output.

live-codes/livecodes · 62 tokens