원클릭으로
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.