From digital-printing
Burn a permanent footer label into every page of a PDF — CLIENT CONFIDENTIAL, PRIVATE, FAMILY DISTRIBUTION, DRAFT, EMBARGOED UNTIL ..., or custom text. User can choose font and size. Renders a PNG preview to verify layout before committing. Triggers on phrases like "add a CONFIDENTIAL footer", "burn in a footer", "stamp 'embargoed until' across the bottom".
How this skill is triggered — by the user, by Claude, or both
Slash command
/digital-printing:burn-in-footerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Permanently overlay a footer label on every page of a PDF.
Permanently overlay a footer label on every page of a PDF.
CLIENT CONFIDENTIALPRIVATEFAMILY DISTRIBUTIONDRAFTEMBARGOED UNTIL: <date> (substitute the date)bottom-center (default), bottom-left, bottom-right, top-center, top-left, top-right.<input>-<slug>.pdf.Same overlay-and-stamp pattern as add-watermark: generate a 1-page overlay PDF that matches the input page size with the footer text drawn at the requested position, then stamp every page using qpdf --overlay.
from reportlab.pdfgen import canvas
c = canvas.Canvas("overlay.pdf", pagesize=(w, h))
c.setFont(font_name, size)
c.setFillColorRGB(*rgb)
if position == "bottom-center":
c.drawCentredString(w/2, vertical_offset, footer_text)
elif position == "bottom-left":
c.drawString(36, vertical_offset, footer_text)
# ... etc
c.save()
qpdf input.pdf --overlay overlay.pdf -- output.pdf
Before committing, render a preview PNG and inspect placement:
gs -sDEVICE=png16m -r150 -o /tmp/footer-check-page1.png -dFirstPage=1 -dLastPage=1 output.pdf
Check:
If the user is present, offer to show the PNG before finalising. If verification fails (clipping, collision), adjust vertical_offset or size and re-render.
pdfinfo.EMBARGOED UNTIL requires a date — ask if not given).Footer-stamped PDF. Original preserved.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin digital-printingSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.