Gsd-skill-creator publish-pipeline
Markdown to HTML/PDF build + FTP sync to configured remote host. Pandoc + xelatex templates, branded output, automated deployment. Proven on 29-document HEL series.
install
source · Clone the upstream repo
git clone https://github.com/Tibsfox/gsd-skill-creator
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Tibsfox/gsd-skill-creator "$T" && mkdir -p ~/.claude/skills && cp -r "$T/examples/skills/media/publish-pipeline" ~/.claude/skills/tibsfox-gsd-skill-creator-publish-pipeline && rm -rf "$T"
manifest:
examples/skills/media/publish-pipeline/SKILL.mdsource content
Publish Pipeline
Activates when research documents need to be converted to publication formats and deployed to the live site.
Build Chain
Markdown (.md) → pandoc → Standalone HTML (branded template) → LaTeX PDF (xelatex, branded template)
Prerequisites
(v3.6+)~/.local/bin/pandoc
(texlive-xetex)xelatex- DejaVu fonts (for PDF)
- Templates at the project level:
,template.texhtml-template.html
script in the project directorybuild.sh
Build Command
bash www/$SITE_DOMAIN/Research/PROJECT/build.sh
Template Setup
Each research project needs:
— LaTeX template (branded header/footer, colors, title page)template.tex
— Standalone HTML template (dark theme, navigation)html-template.html
— Iterates research/*.md, builds both formatsbuild.sh
FTP Sync
# Full site sync bash scripts/sync-research-to-live.sh # Single project sync (direct to FTP root) lftp -f /tmp/lftp-PROJECT.sh # Where remote path is /PROJECT (NOT /Research/PROJECT)
Critical: The web server maps
$DEPLOY_HOST/Research/X/ to FTP root /X/, not to /Research/X/. Always upload to root-level project directories.
Series Integration
After publishing, add the project to
series.js:
{ id: 'CODE', name: 'Project Name', path: 'CODE/index.html' },
Alphabetical insertion by ID.