一键导入
pdf-toolkit
Create, extract, merge, split, and manipulate PDF files. Use when Travis needs PDF work beyond just generating CVs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create, extract, merge, split, and manipulate PDF files. Use when Travis needs PDF work beyond just generating CVs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Advanced browser automation patterns. Connect to existing Chrome, handle SPAs, manage sessions, extract data efficiently.
How to use Firecrawl for web search and clean page scraping inside FRIDAY. Use when an agent needs reliable web context, when Tavily caps out, or when fetch_page returns thin/JS-shell content.
Assess task complexity before responding. Simple tasks get fast answers. Complex tasks get deep analysis.
Structured coding workflow — plan before coding, test after, verify before delivering. Use for any code task.
Build beautiful modern UIs — landing pages, dashboards, components. Quality bar is a real startup site, not a tutorial project.
Make AI-generated text sound human and natural. Apply when writing emails, cover letters, tweets, messages, or any text that should not sound like AI wrote it.
| name | pdf-toolkit |
| description | Create, extract, merge, split, and manipulate PDF files. Use when Travis needs PDF work beyond just generating CVs. |
| agents | ["system_agent","job_agent","code_agent"] |
Full PDF manipulation — not just CV generation.
python3 -c "
import pypdf
reader = pypdf.PdfReader('INPUT.pdf')
for page in reader.pages:
print(page.extract_text())
"
For tables, use pdfplumber (better structure):
python3 -c "
import pdfplumber
with pdfplumber.open('INPUT.pdf') as pdf:
for page in pdf.pages:
print(page.extract_text())
tables = page.extract_tables()
for t in tables:
for row in t:
print(' | '.join(str(c) for c in row))
"
Use reportlab for simple PDFs:
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen import canvas
c = canvas.Canvas("output.pdf", pagesize=A4)
c.setFont("Helvetica", 12)
c.drawString(72, 750, "Title here")
c.drawString(72, 730, "Body text here")
c.save()
For complex layouts (CVs, reports) — use WeasyPrint + Jinja2 (already in FRIDAY's stack):
from weasyprint import HTML
html_content = "<h1>Report</h1><p>Content</p>"
HTML(string=html_content).write_pdf("output.pdf")
from pypdf import PdfMerger
merger = PdfMerger()
merger.append("file1.pdf")
merger.append("file2.pdf")
merger.write("merged.pdf")
merger.close()
from pypdf import PdfReader, PdfWriter
reader = PdfReader("input.pdf")
writer = PdfWriter()
writer.add_page(reader.pages[0]) # First page only
writer.write("page1.pdf")
from pypdf import PdfReader, PdfWriter
reader = PdfReader("input.pdf")
writer = PdfWriter()
for page in reader.pages:
page.rotate(90)
writer.add_page(page)
writer.write("rotated.pdf")
Always save PDFs to ~/Documents/friday_files/ unless Travis specifies otherwise.
Name files descriptively: trainline_cv_tailored.pdf, merged_report.pdf, etc.