用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/zgiai/zgi --skill file-reader命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | file-reader |
| description | Read text content from files the current user can access. |
| when_to_use | Use this skill when the user asks to inspect, quote, summarize, compare, translate, or answer from an uploaded file, historical file reference, or a file shown in the console files page. |
| provider_type | builtin |
| provider_id | files |
| runtime_type | tool |
| tools | ["list_visible_files","read_file"] |
| max_calls_per_turn | 10 |
| timeout_seconds | 120 |
| tool_governance | {"list_visible_files":{"tool_id":"file.list_visible","skill_id":"file-reader","domain":"files","effect":"read","asset_type":"file","risk_level":"low","requires_asset_resolution":false,"reversible":false,"bulk_sensitive":false,"external_side_effect":false,"permission_scopes":["file:read"],"default_approval_policy":"auto_by_permission_tier","allowed_permission_tiers":["basic","advanced","full"],"audit_required":true,"idempotency_required":false},"read_file":{"tool_id":"file.read","skill_id":"file-reader","domain":"files","effect":"read","asset_type":"file","risk_level":"low","requires_asset_resolution":true,"reversible":false,"bulk_sensitive":false,"external_side_effect":false,"permission_scopes":["file:read"],"default_approval_policy":"auto_by_permission_tier","allowed_permission_tiers":["basic","advanced","full"],"audit_required":true,"idempotency_required":false}} |
| display | {"icon":"file-text","category":"document_processing","scenarios":["document_handling","office_collaboration","knowledge_research"],"label":{"en_US":"File Reader","zh_Hans":"文件读取"},"description":{"en_US":"Designed for understanding uploaded, historical, or console files; locates accessible files and reads their text for answering, summarizing, comparing, or translating.","zh_Hans":"适用于理解上传文件、历史文件或控制台文件,可定位并读取有权限访问的文本,用于问答、总结、对比或翻译。"},"when_to_use":{"en_US":"Use when an answer needs content from a specific file available to the current user."},"tags":{"en_US":["File","Reading"]}} |
| supported_callers | ["aichat"] |
Use this skill to list visible file context or read content from a file that has already been resolved for the current assistant turn.
list_visible_files when that context is missing, ambiguous, stale, or needs an authoritative refresh. Do not use read_file for a list-only request unless the user asks for file contents.read_file with file_id. Set max_chars only when you need more or less returned content.content_status before answering:
content_status is extracted, answer from content.content_status is empty, say the file has no extractable text content.content_status is error, explain that the file could not be read and include the short error reason when useful.content returned by read_file is not durable across history reloads, approvals, navigation, refresh, or later tool phases. If later steps will use the file body, a summary, theme, topic, quote, title, prompt, config value, generated asset, or final answer derived from this file, call submit_turn_state before leaving the file-reading phase. Record a concise reusable fact with kind=working_fact, visibility=model_only, source=file-reader/read_file, and a meaningful key such as source_file_summary, source_file_theme, or exact_short_text. When the summary is useful for the user to verify, use kind=user_deliverable, visibility=user_visible, and a short title/content instead.content_truncated is true and the missing tail matters, ask for a narrower question or retry with a higher up to the tool limit.max_charsfile-manager when it is available in the current files-page context. If file-manager is not available, explain that the current chat can read files but cannot perform that file-management operation from this surface.read_file accepts:
file_id: required file ID from resolved context.max_chars: optional maximum returned content characters. Defaults to 4000 and is capped at 12000.content_status. Use content only when content_status=extracted. If content_status=empty, report that no extractable text was found. If content_status=error, report the actual read failure instead of summarizing from filename or page metadata.content_lifetime=current_tool_result_only and content_redacted_in_history=true, do not assume the raw content will be available after continuation boundaries. If handoff_recommended=true and later steps depend on this content or a derived summary, call submit_turn_state before continuing to those steps.list_visible_files accepts the current page query when available: page, page_size, keyword, sort, extension, processing_status, category, folder_id, workspace_id, and optional selected_ids. It returns:
source=backend_api: confirms the list came from the authoritative backend query.count: number of files in the returned page.selected_count: number of selected files.files: ordered files with ID, name, extension, MIME type, optional workspace ID, and verified selection state.files list and count as the current visible-file state. Do not infer file contents from this list-only result.read_file result is required.file_id or max_chars when the tool result indicates a recoverable issue.