ワンクリックで
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 職業分類に基づく
Generate 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
| 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.md