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.
npx agentmods add skills/nongjun/feishu-cursor-claw/mobile-responsivenpx skills add nongjun/feishu-cursor-claw --skill mobile-responsivegit clone --depth 1 https://github.com/nongjun/feishu-cursor-clawWrote 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.
[](https://agentmods.dev/skills/nongjun/feishu-cursor-claw/mobile-responsive)<a href="https://agentmods.dev/skills/nongjun/feishu-cursor-claw/mobile-responsive"><img src="https://agentmods.dev/badge/skills/nongjun/feishu-cursor-claw/mobile-responsive.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.02108 |
| Opus 5 | $0.00043 | $0.01054 |
| Sonnet 5 | $0.00017 | $0.00422 |
| Haiku 4.5 | $0.00009 | $0.00211 |
Grade A, and why
mobile-responsive 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 6d 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.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
管理后台移动端响应式适配
将 PC 端 Vue 3 + Element Plus 管理后台页面改造为手机端可用,采用同一套代码 + CSS 媒体查询 + 条件渲染的响应式策略。
基础设施
项目已有的响应式基础设施,直接使用即可:
| 设施 | 路径 | 作用 |
|---|---|---|
| useResponsive composable | @/utils/responsive.js |
提供 isMobile(<768px)和 isSmallMobile(<480px)响应式状态 |
| SCSS 断点变量 | src/styles/variables.scss |
$breakpoint-sm: 768px、$breakpoint-xs: 480px |
| 全局移动端基础样式 | src/styles/index.scss |
page-container / page-header / filter-section / card 等全局组件的移动端样式 |
每个需要 JS 层响应式判断的组件,引入 useResponsive 获取 isMobile。纯 CSS 能解决的用媒体查询,不引入 JS。
适配策略:按组件类型
布局与导航
- 侧边栏:PC 端可折叠(
el-aside宽度切换),移动端改为el-drawer从左侧滑出 - 顶部栏:移动端添加汉堡菜单按钮触发抽屉,隐藏面包屑,精简用户信息
- page-container:移动端
overflow-x: hidden防止任何子元素撑破视口
列表页(最常见)
el-table → 卡片列表:移动端条件渲染切换
- PC 端
<el-table v-if="!isMobile">保持原样 - 移动端
<div v-else class="mobile-card-list">用卡片展示每条记录 - 卡片结构:header(标题 + 状态标签)→ body(关键字段键值对)→ footer(操作按钮)
- 操作按钮超过 2 个时,保留主操作按钮 +
el-dropdown收纳其余操作
筛选表单::inline="!isMobile" 动态切换行内/垂直布局,输入框和选择器 width: 100%
分页::layout="isMobile ? 'total, prev, next' : 'total, sizes, prev, pager, next, jumper'" 精简移动端分页控件
批量操作:移动端无法框选,将批量操作按钮折叠到 el-dropdown 中
创建/编辑页(表单 + 预览)
- 表单 label:
:label-position移动端改top,:label-width缩窄 - 固定宽度输入框:改为 CSS class 控制
width: 100% - 预览区域:移动端默认隐藏,提供浮动按钮(FAB)切换显示/隐藏
- 手机预览框(phone-preview):移动端缩小尺寸
- 底部操作按钮(提交/取消):移动端
flex-direction: column,按钮width: 100%
详情页
- el-descriptions:
:column="isMobile ? 1 : N"单列展示 - 关键:带
border的 el-descriptions 在移动端必须强制table-layout: fixed; width: 100%,标签列宽固定 80px,内容列word-break: break-all,否则表格会溢出导致标签被视口截断 - 统计数字区:
display: grid; grid-template-columns: 1fr 1fr两列网格,环形图跨全行 - 操作按钮组:保留主操作 +
el-dropdown收纳次要操作
弹窗(el-dialog)
- 宽度动态绑定:
:width="isMobile ? '95%' : '600px'" - 全屏弹窗(如选择器):
:fullscreen="isMobile"配合:class="{ 'mobile-dialog': isMobile }" - 弹窗内表单:同创建页的表单适配规则
- 弹窗 footer 按钮:移动端增大触摸区域(高度 ≥ 40px)
选择器组件(员工/标签/素材)
- 小屏全屏化:el-dialog 设为 fullscreen
- 搜索栏:垂直堆叠,搜索输入框
width: 100% - 树形列表:节点高度增大到 44px 以上以适配手指触摸
- 已选信息:独立成行展示计数
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.
- 6d ago First seen · 148 lines · 86 tokens per session scan A 6d3b5c50b6fe
mobile-responsive is a skill published in the GitHub repository nongjun/feishu-cursor-claw (14 stars, last pushed 1mo ago), licensed MIT. It adds 86 tokens to every session and 2,108 once invoked, about $0.0004 per session on Opus 5. 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.
Other skills, from other repositories
flutter-pre-caching
Use when preloading fonts, asset/network images, Lottie/Rive animations, local JSON/config, warming initial API data, or optimizing Flutter Web startup.
bloc
Use when creating a Cubit or Bloc, modeling state with sealed classes or status enums, wiring BlocBuilder/BlocListener/BlocProvider, writing bloc tests, or choosing between Cubit and Bloc.
firebase-messaging
Use when setting up Firebase Cloud Messaging, managing permissions and tokens, handling background/foreground notification taps, or dispatching messages server-side (HTTP v1).
generate-images-with-firebase-ai
Use when generating or editing images from Flutter/Dart with Firebase AI Logic and a Gemini image model (Nano Banana), making the first call work, choosing Gemini Developer API vs Vertex AI, hitting quota, billing or App Check failures, getting empty or image-only responses, sending a user photo as input, controlling…
firebase-app-check
Use when implementing app attestation, configuring App Check providers, setting up debug tokens, enabling backend enforcement, or managing token refresh.
firebase-database
Use when syncing real-time data, structuring JSON trees, reading/writing, creating listeners, enabling offline persistence, managing presence, sharding, or writing security rules.