From workflow
Publish a collection of markdown or HTML files as a navigable Quartz site on GitHub Pages with org-level access control. Use when sharing research, session transcripts, meeting notes, or any clump of hypertext with colleagues.
npx claudepluginhub shortrib-labs/shortrib-claude-marketplace --plugin workflowThis skill uses the workspace's default tool permissions.
Publish a collection of interconnected documents as a navigable website on GitHub Pages. Produces a Quartz site with graph view, backlinks, wiki-link resolution, search, and hover previews. Access is restricted to GitHub org members when the repo is private.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Publish a collection of interconnected documents as a navigable website on GitHub Pages. Produces a Quartz site with graph view, backlinks, wiki-link resolution, search, and hover previews. Access is restricted to GitHub org members when the repo is private.
$1 is a natural language description of what to publish. Examples:
Identify the source files. Parse the user's description to determine which files to include. This might be:
Confirm the file list with the user. Show the files that will be published and ask if anything should be added or removed. Include file count and rough total size.
Ask where to publish. The user needs to provide:
Check if the repo exists.
content/ directory with the new files.gh repo create, then set up Quartz.Set up Quartz (only for new sites). Clone the Quartz template repo and configure it:
git clone https://github.com/jackyzha0/quartz.git <repo-dir>
cd <repo-dir>
git remote set-url origin git@github.com:<org>/<repo>.git
npm install
Configure quartz.config.ts:
pageTitle: derived from the user's description or repo namebaseUrl: will be set after GitHub Pages assigns the URLanalytics: set to nullenableSPA: trueenablePopovers: trueObsidianFlavoredMarkdown plugin enabled (handles wiki-links natively)Create the deploy workflow at .github/workflows/deploy.yml:
name: Deploy Quartz site to GitHub Pages
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- uses: actions/setup-node@v4
with: { node-version: 22 }
- run: npm ci
- run: npx quartz build
- uses: actions/upload-pages-artifact@v3
with: { path: public }
deploy:
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Copy source files into content/. Preserve directory structure relative to the common ancestor of the source files. For example, if publishing files from Replicated/Vendors/OpenHands/Summaries/ and Replicated/Strategy/, the content directory might look like:
content/
├── index.md (generated landing page or user-specified)
├── openhands/
│ └── summaries/
└── strategy/
Generate an index page if the source files don't include one. The index should:
title field in frontmatter (ask the user what to call it)Handle frontmatter cleanup. Obsidian frontmatter sometimes has fields that Quartz can't parse:
transcript or other fields with wiki-links -- add an explicit link in the page body since frontmatter wiki-links aren't renderedcssclasses or Obsidian-only fields that would be confusing in the published outputStrip local-only references. Scan for and remove:
/Users/chuck/workspace/...)Create an orphan main branch to avoid inheriting Quartz's git history:
git checkout --orphan main
git add -A
git commit -m "Publish: <description>"
Push and set as default branch:
git push -u origin main
gh api repos/<org>/<repo> -X PATCH -f default_branch=main
Enable GitHub Pages with Actions as the build source:
gh api repos/<org>/<repo>/pages -X POST -f "build_type=workflow"
Wait for the deploy workflow to complete. Watch with:
gh run watch --repo <org>/<repo> <run-id> --exit-status
Get the Pages URL and update baseUrl in quartz.config.ts if it differs from what was configured. Push the update if needed.
Report the result:
If the repo already exists with Quartz content:
content/mainCommon issues encountered in practice:
gh api repos/<org>/<repo>/pages -X DELETE then re-create.workflow_dispatch trigger and manually dispatch, or push a follow-up commit.--orphan when creating the main branch to get a clean history.