一键导入
generate-file
Generate downloadable Markdown or HTML files (reports, summaries, styled docs)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate downloadable Markdown or HTML files (reports, summaries, styled docs)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | generate-file |
| description | Generate downloadable Markdown or HTML files (reports, summaries, styled docs) |
| feature_module | null |
Produce a downloadable file artifact from chat. The agent picks the format
(Markdown for portable text, HTML for styled / print-ready output), drafts the
content, then calls the create_file tool. The file appears in chat as an
inline download card and can be previewed via the Peek panel.
Phase: 87.1 (foundation — MD + HTML only). DOCX / XLSX land in 87.2; PDF in 87.3.
Use this skill when the user asks for any of:
Strict decision rule — pick exactly one based on intent:
Use md when… | Use html when… |
|---|---|
| Content is editable / portable plain text | Output needs visual styling or layout |
| User will paste into another markdown surface (notes, GitHub, Slack) | User wants a print-ready or shareable rendered doc |
| Headings, bullet lists, code blocks are enough | Tables need cell styling, page breaks, color, custom fonts |
| Examples: specs, READMEs, summaries, meeting notes, brain-dump exports | Examples: status report, formatted retrospective, styled receipt, dashboard snapshot |
When uncertain, prefer md — it is portable and the user can always export to
HTML later. Do not invent other formats; this phase only supports md and
html.
create_file(
filename: string, # suggested name; sanitised server-side
content: string, # UTF-8 body, must be non-empty and ≤ 10 MB encoded
format: "md" | "html"
)
Returns: { artifact_id, filename, mime_type, size_bytes, format }.
FILE_TOO_LARGE before any storage I/O.../etc/...),
control characters, and unsafe characters are stripped. The extension is
forced to match format, so the agent cannot smuggle e.g. report.exe.md.EMPTY_FILE.format='md' maps to text/markdown,
format='html' to text/html. The model cannot override the MIME type.create_note / create_issue (which require approval).
Rationale: file generation is non-destructive content creation the user
explicitly requested in conversation; the file is private to the requester
until they share it. Document this when explaining the action to the user
("I generated the file — here's the download").<script> tags, external script references, or javascript: URLs in HTML
content — the preview iframe explicitly does not allow scripts.User: "Write me a one-pager for the new auth migration and save it as a file."
Agent reasoning: portable, editable, plain-text → md.
Tool call:
{
"filename": "auth-migration-one-pager",
"format": "md",
"content": "# Auth Migration One-Pager\n\n## Goal\nReplace session cookies with JWT…\n\n## Scope\n- Backend: token mint + refresh\n- Frontend: token store + 401 retry\n\n## Risks\n…\n"
}
Result: { artifact_id: "...", filename: "auth-migration-one-pager.md", mime_type: "text/markdown", size_bytes: 412, format: "md" }.
User: "Give me a print-ready weekly status report I can hand to leadership."
Agent reasoning: styled, print-ready, tabular layout → html.
Tool call:
{
"filename": "weekly-status-2026-W17",
"format": "html",
"content": "<!doctype html><html><head><meta charset=\"utf-8\"><style>body{font-family:system-ui;max-width:720px;margin:2rem auto;color:#1a1a1a}h1{border-bottom:2px solid #1a1a1a;padding-bottom:.25rem}table{border-collapse:collapse;width:100%}td,th{border:1px solid #ddd;padding:.5rem .75rem;text-align:left}</style></head><body><h1>Weekly Status — Week 17</h1><h2>Highlights</h2><ul><li>Auth migration shipped</li><li>Onboarding redesign in review</li></ul><h2>Metrics</h2><table><tr><th>Metric</th><th>Value</th></tr><tr><td>P0 incidents</td><td>0</td></tr><tr><td>Releases</td><td>4</td></tr></table></body></html>"
}
Result: { artifact_id: "...", filename: "weekly-status-2026-W17.html", mime_type: "text/html", size_bytes: …, format: "html" }.
pilot-files (see ai/mcp/file_server.py).TOOL_APPROVAL_MAP. No approval
prompt; structured telemetry is logged for every invocation.ArtifactUploadService writes to the note-artifacts
Supabase bucket with storage key
{workspace_id}/ai-generated/{artifact_id}/{filename}. The artifact row
has project_id = NULL (Phase 87.1-01 enabled this).MarkdownContent and HTML via sandboxed
<iframe srcDoc> (no scripts allowed)..planning/phases/87.1-.../87.1-02-create-file-tool-and-skill-PLAN.md.planning/phases/87.1-.../87.1-CONTEXT.mdGenerate a sprint retrospective with KPI dashboard and action decision records
Generate a risk register PM block with probability, impact, and mitigation strategies
Conversational skill creator — build, test, and refine skills in chat
Generate a lightweight Architecture Decision Record as a Decision block
Creates a structured note from a homepage chat conversation
Break down issue into subtasks with dependencies using AI planning