New to Claude Skills? Learn how to install them →

paperclipai on GitHub

Paperclip Page

Free

Easily publish static pages to Paperclip hosting.

Get this skill

Free · Opens the source repo

What Paperclip Page does

The Paperclip Page skill is designed to facilitate the deployment of static HTML pages and asset directories to the Paperclip S3/CloudFront hosting service. This skill is particularly useful for developers and designers who need to share prototypes, reports, or static sites without the overhead of complex hosting setups. By leveraging the simplicity of a command-line interface, users can publish their content quickly and efficiently, ensuring that their work is accessible through a public URL.

To use the Paperclip Page skill, users must ensure that their source directory contains an index.html file at its root. The skill requires the AWS CLI v2, along with curl and jq, to be available in the system's PATH for live publishing. Additionally, users must configure several environment variables to authenticate and specify the S3 bucket and URL for their pages. The workflow involves validating the local directory structure, selecting a slug for the URL, and executing a publish command that outputs the public URL for the hosted content.

The skill also includes an update workflow that allows users to overwrite existing content without deleting remote objects, ensuring that updates are additive. However, it enforces strict safety rules to prevent the accidental publication of sensitive data or misconfiguration of AWS settings. This makes it suitable for users who need a reliable and secure method to host their static content without the risk of exposing private information.

Overall, the Paperclip Page skill is ideal for those looking to streamline their static site deployment process. It simplifies the hosting of web content while maintaining a focus on security and ease of use, making it a valuable tool for developers and designers alike.

When to use it

Use this skill when you need to deploy static content to Paperclip hosting, such as prototypes or reports.

When not to use it

This skill is not suitable for dynamic content or applications requiring server-side processing.

What you can build with it

Deploying a Prototype

Quickly publish a prototype webpage to share with stakeholders using the Paperclip hosting.

Sharing a Report

Easily deploy a static report for public access, ensuring it is hosted securely without exposing sensitive data.

Updating Static Content

Use the update feature to refresh existing pages without losing previous versions or data.

How to install Paperclip Page

View source

1. Install with the skills CLI

npx skills add paperclipai/paperclip/paperclip-page --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by paperclipai

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:
    • PAPERCLIP_PAGE_BUCKET
    • PAPERCLIP_PAGE_BASE_URL
    • AWS_REGION
    • AWS credentials via Paperclip Secrets or an approved AWS vault
  • Optional environment variables:
    • PAPERCLIP_PAGE_DEFAULT_PREFIX
    • PAPERCLIP_PAGE_AWS_PROFILE

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:
.agents/skills/paperclip-page/scripts/publish.sh ./site --slug my-page
  1. 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.

.agents/skills/paperclip-page/scripts/publish.sh ./site --slug my-page --update

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. Do not publish secrets, customer data, private company material, credentials, or internal logs.
  • Never print AWS secret values.
  • Never change bucket policy, IAM, DNS, CloudFront, or ACM settings from this skill. Setup belongs to an operator runbook, not the publish helper.
  • Never upload outside the configured bucket and prefix.
  • Never use aws s3 sync --delete or require s3:DeleteObject in v1.
  • The helper forces --no-follow-symlinks and fails if any source symlink is present.
  • The helper rejects hidden files and dot-segment paths except its own .paperclip-page/state.json.
  • Slugs and prefix segments must use lowercase ASCII letters, digits, and hyphens only.
  • Keep site-wide root objects such as 404.html operator-managed; publishes always target <slug>/... or <default-prefix>/<slug>/....

Troubleshooting

  • Slug already exists: choose a different slug or use --update from the original source directory containing .paperclip-page/state.json.
  • Missing index.html: build the static site first or point the helper at the directory that contains the root HTML file.
  • Found symlink: replace symlinks with real files before publishing.
  • AccessDenied: confirm the uploader IAM policy allows ListBucket, GetObject, and PutObject for the configured bucket/prefix, and that the agent received the Paperclip Secrets.
  • Public URL verification failed: check CloudFront deployment/DNS, object existence, and that the distribution uses HTTPS with the private S3 REST origin.

See README.md next to this skill for operator setup, AWS policy examples, credential rotation, and install/attach commands.

Frequently asked questions about Paperclip Page

Similar skills