minor updates, includes new skills for just-ship-it and push to proof
Some checks failed
CI / test (push) Has been cancelled

This commit is contained in:
John Lamb
2026-03-13 18:20:27 -05:00
parent 4bc2409d91
commit 24d77808c0
8 changed files with 885 additions and 1 deletions

View File

@@ -0,0 +1,45 @@
---
name: proof-push
description: This skill should be used when the user wants to push a markdown document to a running Proof server instance. It accepts a file path as an argument, posts the markdown content to the Proof API, and returns the document slug and URL. Triggers on "push to proof", "proof push", "open in proof", "send to proof", or any request to render markdown in Proof.
---
# Proof Push
Push a local markdown file to a running Proof server and open it in the browser.
## Usage
Accept a markdown file path as the argument. If no path is provided, ask for one.
### Execution
Run the bundled script to post the document:
```bash
bash scripts/proof_push.sh <file-path> [server-url]
```
- `file-path` — absolute or relative path to a `.md` file (required)
- `server-url` — Proof server URL, defaults to `http://localhost:4000`
The script:
1. Reads the file content
2. POSTs to `/share/markdown` as JSON with `{markdown, title}`
3. Returns the slug, base URL, and editor URL with access token
### Output
Report the returned slug and URLs to the user. The editor URL (with token) gives full edit access.
### Error Handling
If the script fails, check:
- Is the Proof server running? (`curl http://localhost:4000`)
- Does the file exist and contain non-empty markdown?
- Is `jq` installed? (required for JSON construction)
## Resources
### scripts/
- `proof_push.sh` — Shell script that posts markdown to Proof's `/share/markdown` endpoint and returns the document slug and URLs.

View File

@@ -0,0 +1,34 @@
#!/usr/bin/env bash
# Push a markdown file to a running Proof server and return the document URL.
# Usage: proof_push.sh <path-to-markdown> [server-url]
set -euo pipefail
FILE="${1:?Usage: proof_push.sh <markdown-file> [server-url]}"
SERVER="${2:-http://localhost:4000}"
UI_URL="${3:-http://localhost:3000}"
if [[ ! -f "$FILE" ]]; then
echo "error: file not found: $FILE" >&2
exit 1
fi
TITLE=$(basename "$FILE" .md)
RESPONSE=$(curl -s -X POST "${SERVER}/share/markdown" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg md "$(cat "$FILE")" --arg title "$TITLE" '{markdown: $md, title: $title}')")
SLUG=$(echo "$RESPONSE" | jq -r '.slug // empty')
ERROR=$(echo "$RESPONSE" | jq -r '.error // empty')
if [[ -z "$SLUG" ]]; then
echo "error: failed to create document${ERROR:+: $ERROR}" >&2
echo "$RESPONSE" >&2
exit 1
fi
TOKEN_PATH=$(echo "$RESPONSE" | jq -r '.tokenPath // empty')
echo "slug: $SLUG"
echo "url: ${UI_URL}/d/${SLUG}"
[[ -n "$TOKEN_PATH" ]] && echo "editor-url: ${UI_URL}${TOKEN_PATH}"