Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问clear审计通过

read-before-edit编辑前阅读

Agent Skill

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

总安装

449

周安装

18

GitHub Stars

1

下载量

145
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/cityfish91159/maihouses --skill read-before-edit

简介

用于在编辑前自动读取文件内容与上下文,适合在 Codex、Claude、Cursor、Gemini CLI 中确保修改基于最新状态。

  • 支持提取关键变量、依赖关系和注释说明,辅助精准定位修改点。
  • 通过 npx skills add 命令从指定仓库安装,需确认本地环境是否支持 GitHub 技能加载。
  • 使用前建议核对项目路由、构建配置及测试框架版本,避免只生成孤立片段。
  • 涉及页面改动时,应配合本地预览和构建检查,确认视觉效果与交互行为一致。

SKILL.md

Read Before Edit Skill

這是 maihouses 專案的核心規範:絕對禁止在沒有閱讀檔案的情況下進行修改

🚨 核心原則

📖 READ → 🧠 UNDERSTAND → ✏️ EDIT

永遠不要跳過 READ 步驟!

🎯 執行時機

  • 每次使用 Edit 工具前
  • 每次使用 Write 工具前
  • 用戶要求修改任何檔案時
  • 用戶要求實作新功能時

📋 必讀檔案清單

修改檔案前,必須閱讀:

要修改的檔案本身
    │
    ├── 該檔案 import 的所有模組
    │
    ├── 相關的類型定義檔案 (types.ts, *.d.ts)
    │
    ├── 相關的 API/服務層檔案
    │
    ├── 相關的 hooks 和 context
    │
    ├── 相關的組件檔案
    │
    └── 相關的工具函數

🔍 實際範例

範例 1: 修改 React 組件

任務: 修改 src/pages/Login.tsx

必須閱讀的檔案:

# 1. 要修改的檔案本身
Read: file_path="src/pages/Login.tsx"

# 2. 搜尋相關類型定義
Glob: pattern="**/types/*auth*.ts"
Read: file_path="src/types/auth.ts"

# 3. 搜尋相關 API
Grep: pattern="login|auth" glob="**/api/**/*.ts" output_mode="files_with_matches"
Read: file_path="src/api/auth.ts"

# 4. 搜尋相關 hooks
Grep: pattern="useAuth" glob="**/hooks/**/*.ts" output_mode="files_with_matches"
Read: file_path="src/hooks/useAuth.ts"

# 5. 搜尋相關 context
Glob: pattern="**/context/*Auth*.tsx"
Read: file_path="src/context/AuthContext.tsx"

# 6. 檢查相關組件
Grep: pattern="LoginForm|Button" glob="**/components/**/*.tsx" output_mode="files_with_matches"
Read: file_path="src/components/LoginForm.tsx"

# 7. 檢查工具函數
Grep: pattern="validate" glob="**/utils/**/*.ts" output_mode="files_with_matches"
Read: file_path="src/utils/validation.ts"

範例 2: 修改 API 層

任務: 修改 src/api/users.ts

必須閱讀的檔案:

# 1. API 檔案本身
Read: file_path="src/api/users.ts"

# 2. 相關類型定義
Read: file_path="src/types/user.ts"
Read: file_path="src/types/api.ts"

# 3. API 基礎配置
Grep: pattern="axios|fetch|baseURL" glob="**/api/**/*.ts" output_mode="files_with_matches"
Read: file_path="src/api/client.ts"

# 4. 錯誤處理模組
Grep: pattern="handleError|ApiError" glob="**/api/**/*.ts" output_mode="files_with_matches"
Read: file_path="src/api/errorHandler.ts"

# 5. 認證相關(如果 API 需要認證)
Read: file_path="src/api/auth.ts"

範例 3: 新增功能

任務: 實作「忘記密碼」功能

必須閱讀的檔案:

# 1. 了解現有認證流程
Read: file_path="src/pages/Login.tsx"
Read: file_path="src/api/auth.ts"
Read: file_path="src/types/auth.ts"

# 2. 了解表單處理模式
Grep: pattern="handleSubmit|onSubmit" glob="**/pages/**/*.tsx" output_mode="content" -B=2 -C=5
Read: file_path="src/components/Form.tsx"

# 3. 了解驗證模式
Read: file_path="src/utils/validation.ts"

# 4. 了解錯誤處理模式
Grep: pattern="try.*catch" glob="**/pages/**/*.tsx" output_mode="content" -B=2 -C=5

# 5. 了解路由配置
Grep: pattern="route|path" glob="**/router/**/*.tsx" output_mode="files_with_matches"
Read: file_path="src/router/routes.tsx"

✅ 閱讀檢查清單

在開始修改前,確認已理解:

  • 這個檔案的主要功能
  • 所有 import 的模組來自哪裡、做什麼
  • 使用的類型定義是什麼
  • 現有的代碼風格和模式
  • 錯誤處理方式
  • 變數命名慣例
  • 函數結構和組織方式
  • 相依的其他模組如何運作

🚫 絕對禁止的行為

// ❌ 沒有先 Read 就直接 Edit
Edit: file_path="src/api/users.ts" ...

// ❌ 只讀要修改的檔案,不讀相關檔案
Read: file_path="src/pages/Login.tsx"
Edit: file_path="src/pages/Login.tsx" ...
// 跳過了 types, api, hooks, context!

// ❌ 隨便找一些檔案讀,假裝有在看
Read: file_path="src/index.tsx"  // 不相關
Read: file_path="README.md"      // 不相關
Edit: file_path="src/pages/Login.tsx" ...

// ❌ 讀了但沒理解就開始改
Read: file_path="src/api/auth.ts"
// 立即
Edit: file_path="src/api/auth.ts" ...
// 沒有理解現有架構!

✅ 正確的流程

// ✅ 步驟 1: 識別要修改的檔案
任務: 修改登入頁面加入「記住我」功能

// ✅ 步驟 2: 列出所有相關檔案
相關檔案:
- src/pages/Login.tsx (要修改的檔案)
- src/types/auth.ts (類型定義)
- src/api/auth.ts (API 呼叫)
- src/hooks/useAuth.ts (認證 hook)
- src/utils/storage.ts (localStorage 工具)

// ✅ 步驟 3: 完整閱讀所有檔案
Read: file_path="src/pages/Login.tsx"
Read: file_path="src/types/auth.ts"
Read: file_path="src/api/auth.ts"
Read: file_path="src/hooks/useAuth.ts"
Read: file_path="src/utils/storage.ts"

// ✅ 步驟 4: 理解現有架構
- Login.tsx 使用 useAuth hook
- 表單狀態用 useState 管理
- API 呼叫有完整錯誤處理
- 使用 LoginCredentials interface
- storage.ts 已有 localStorage 封裝

// ✅ 步驟 5: 規劃修改
1. 在 LoginCredentials 加入 rememberMe?: boolean
2. 在 Login.tsx 加入 checkbox
3. 在 useAuth 處理 rememberMe 邏輯
4. 使用 storage.ts 儲存登入狀態

// ✅ 步驟 6: 開始修改
Edit: file_path="src/types/auth.ts" ...
Edit: file_path="src/pages/Login.tsx" ...
Edit: file_path="src/hooks/useAuth.ts" ...

📊 閱讀覆蓋率檢查

修改前,確認閱讀覆蓋率:

### 閱讀覆蓋率報告

#### 已閱讀 ✅

- [x] src/pages/Login.tsx (要修改的檔案)
- [x] src/types/auth.ts (類型定義)
- [x] src/api/auth.ts (API 層)
- [x] src/hooks/useAuth.ts (hooks)
- [x] src/context/AuthContext.tsx (context)
- [x] src/utils/validation.ts (工具函數)

#### 覆蓋率: 100%

✅ 可以安全開始修改

🎯 為什麼必須這樣做?

避免的問題:

  1. 破壞現有功能 - 不理解代碼就修改會破壞其他功能
  2. 類型不匹配 - 不知道現有類型定義導致類型錯誤
  3. 風格不一致 - 不了解代碼風格導致混亂
  4. 重複造輪子 - 不知道已有工具函數而重複實作
  5. 引入 bug - 不理解邏輯流程而引入錯誤

好處:

  1. 理解上下文 - 知道代碼在做什麼、為什麼這樣做
  2. 保持一致性 - 修改符合現有風格和模式
  3. 避免重複 - 知道可以重用哪些代碼
  4. 正確使用類型 - 使用正確的 interface/type
  5. 高品質代碼 - 修改更準確、更安全

🚨 監督系統

專案已配置 hooks 監督系統(見 settings.json),會在 Edit/Write 前檢查是否已 Read。

如果違反規則,會看到:

🚫 [監督系統] Edit 被阻止!必須先 Read 該檔案

這不是建議,而是強制規則。

📝 完整案例研究

見專案根目錄的 CLAUDE.md 第 "📖 強制閱讀規範" 章節。

💡 快速提示

修改檔案前的自我檢查:

  1. ❓ 我有讀過這個檔案嗎?
  2. ❓ 我理解它的所有 import 嗎?
  3. ❓ 我知道相關的類型定義嗎?
  4. ❓ 我了解它如何與其他模組互動嗎?
  5. ❓ 我清楚現有的代碼風格嗎?

如果有任何一個答案是「否」,就不要開始 Edit!

🎓 參考規範

  • 完整規範: CLAUDE.md (專案根目錄)
  • 監督系統: .claude/settings.json hooks 配置
  • 稽核腳本: scripts/ai-supervisor.sh

記住:Read is not optional. Read is mandatory.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

能力 5

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

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

平台分布

OpenCode

32.81%
按下载量换算48

Codex

21.89%
按下载量换算32

Claude Code

17.16%
按下载量换算25

Antigravity

12.92%
按下载量换算19

Gemini CLI

8.57%
按下载量换算12

windsurf

3.96%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills