Agent skill · software engineering · paperclipai
paperclip-page
Publish static HTML pages and asset folders to the Paperclip S3/CloudFront page host. Use when asked to deploy, host, or share a persistent page, viewer, prototype, report, or static site without here.now.
Why this skill is useful
Adds a script for publishing static sites to Paperclip with specific AWS configurations and workflows that the AI wouldn't reliably generate on its own.
What it needs
Requires aws, curl, jq installed locally. Requires aws account access. About 2k tokens when loaded. Last updated 2026-08-07. 75,771 stars on the source repository.
What this skill does
Paperclip Page Use this skill to publish a static directory to the configured Paperclip pages host, for example https://pages.paperclip.ing/<slug>/. Requirements Source directory contains index.html at its root. aws CLI v2, curl, and jq are available on PATH for live publishes. Environment variables are configured: PAPERCLIPPAGEBUCKET PAPERCLIPPAGEBASEURL AWSREGION PAPERCLIPPAGEAWSACCESSKEYID and PAPERCLIPPAGEAWSSECRETACCESSKEY with the page-uploader credentials from Paperclip Secrets Optional environment variables: PAPERCLIPPAGEDEFAULTPREFIX PAPERCLIPPAGEAWSPROFILE (alternative to the namespaced key pair) PAPERCLIPPAGEAWSSESSIONTOKEN (only together with the namespaced key pair) Do not bind the page-uploader credentials as global AWSACCESSKEYID / AWSSECRETACCESSKEY: static env keys take precedence over AWSPROFILE in every AWS SDK, so global names silently replace the host identity for every process in the agent run. The namespaced variables scope the uploader identity to this helper only. The ambient credential chain still works as a fallback when none of the PAPERCLIPPAGEAWS credential variables are set. Workflow 1. Inspect the source directory and confirm it is public static content only. 2. Run scripts/publish.sh <dir> --dry-run to validate local structure and see the resolved URL/prefix. 3. Choose a slug: Use --slug <slug> when the user gave a stable URL path. Omit --slug to derive one from the source directory name. 4. Publish: 5. Return the printed public URL and S3 prefix to the issue/user. Update Workflow Updates are additive overwrites only. The helper never deletes remote objects. When the target prefix already exists, --update requires local ownership proof from ./site/.paperclip-page/state.json generated by an earlier publish from that same source directory. Without that state, create a new slug instead of overwriting another page. Safety Rules Publish public content only. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills paperclipai/paperclip-page