원클릭으로
markdown
Extract text and tables from Markdown (.md) files. Use when a user uploads a Markdown document that needs to be processed.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Extract text and tables from Markdown (.md) files. Use when a user uploads a Markdown document that needs to be processed.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Extract text and tables from PowerPoint (.pptx) files. Use when a user uploads a PPT or PPTX document that needs to be processed.
当用户请求生成、创建、制作 PPT、演示文稿、课件时使用此技能。这是教育场景中最常用的技能,适合老师备课、课程汇报、学术演讲等需求。
Extract text and tables from Word (.docx) files. Use when a user uploads a Word document that needs to be processed.
Extract text and tables from PDF files. Use when a user uploads a PDF document that needs to be processed.
Summarize and structure raw document text (PDF/Word/Markdown/PPT) into a format optimized for PPT generation. Use when the user uploads a document and wants to generate a presentation from it.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
| name | markdown |
| description | Extract text and tables from Markdown (.md) files. Use when a user uploads a Markdown document that needs to be processed. |
Extract readable text and structured tables from Markdown files. This skill feeds extracted content into downstream processing such as document summarization for PPT generation.
.md fileMarkdown is plain text, so read it directly.
with open("document.md", "r", encoding="utf-8") as f:
raw_text = f.read().strip()
If UTF-8 fails, try utf-8-sig or gbk.
def strip_frontmatter(text: str) -> str:
if text.startswith("---"):
end = text.find("\n---", 3)
if end != -1:
return text[end + 4 :].lstrip()
return text
text = raw_text.replace("\r\n", "\n").replace("\r", "\n")
text = strip_frontmatter(text)
import re
def extract_markdown_tables(text: str) -> list[list[list[str]]]:
tables: list[list[list[str]]] = []
current_table: list[list[str]] = []
for line in text.split("\n"):
line = line.strip()
if not line.startswith("|"):
if current_table:
tables.append(current_table)
current_table = []
continue
if re.match(r"^\|[\s\-:|]+\|$", line):
continue
cells = [cell.strip() for cell in line.strip("|").split("|")]
if cells:
current_table.append(cells)
if current_table:
tables.append(current_table)
return tables
| Problem | Solution |
|---|---|
| UTF-8 decode fails | Retry with utf-8-sig or gbk |
| YAML frontmatter pollutes content | Strip the opening --- ... --- block |
| Large file | Truncate or summarize in chunks before downstream use |
| No tables present | Return an empty list |
For the upload-to-PPT workflow:
document-summarizergenerate_ppt(content=...)Return (raw_text: str, tables: list[list[list[str]]], estimated_pages: int):
raw_text: normalized markdown texttables: extracted markdown tables as list[list[str]]estimated_pages: rough estimate, e.g. max(1, len(text) // 3000)