Install
$ agentstack add skill-partoska-p6a-skills-p6a ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
p6a CLI Skill
Usage
/p6a— describe what you want to do; the assistant will figure out the right command/p6a sync my photos to ~/backup— get the exact command to run/p6a script to back up all my favorite events nightly— get a shell script/p6a make a QR stand for event B-Day— design an asset using event data
What This Skill Does
This skill makes you an expert on the p6a command-line tool for Partoska.com — a photo-sharing service for events. p6a runs anywhere a shell runs — interactive terminals, shell scripts, cron jobs, CI/CD pipelines — and covers authentication, event management, media upload/download/moderation, full-quality bulk sync, and sharing via invite links, QR codes, and printable cards.
Setup
p6a requires a one-time install and OAuth login. When the user asks how to install, download, update, verify, or log in — or a command fails with p6a: command not found or an auth error — read references/install.md; it covers npm and platform-specific installers, release-asset selection, checksums, the login flow, and troubleshooting. If the user's environment cannot install software or open a browser for login, the task isn't possible with p6a in that environment — say so rather than improvising.
Quick sanity check on an already-set-up machine:
p6a version # binary installed and on PATH
p6a list # credentials valid — prints accessible events
Design Tasks
Partoska users frequently ask for design assets tied to their events — QR stands, posters, tickets, invitations, static HTML pages, slideshow slides, and photo-driven pieces like collages or photo recaps. When the user requests any of these, load references/design.md first before producing anything. It covers vibe inference from event metadata, asset-specific conventions (what should dominate, what to ask about, when not to promote Partoska), and how to incorporate full-quality event photos via p6a download.
Command Reference
> Windows note: The shell examples below use Bash syntax. On Windows, use PowerShell or .bat equivalents unless you are running inside MSYS2, Git Bash, Cygwin, or WSL — in those environments the Bash examples work as-is.
Authentication
p6a login # Start OAuth device flow — opens a browser prompt
p6a login -i config.ini # Import credentials from an existing INI file
p6a logout # Clear saved credentials
List Events
p6a list # All accessible events (plain table)
p6a list -q "Birthday" # Filter by name
p6a list -o # Only events you own
p6a list -f # Only favorited events
p6a list -F json # JSON output (pipe to jq)
p6a list -F csv # CSV output
p6a list -1 # IDs only, one per line (pipe-friendly)
Sync All Events
p6a sync -t ./photos # Download all events into organized subdirs
p6a sync -t ~/backup -o # Only events you own
p6a sync -t ~/backup -f # Only favorited events
Sync creates one subdirectory per event, named YYYY-MM-DD Event Name, and skips files already downloaded. It is safe to run repeatedly.
Create & Update Events
p6a create -n "Summer BBQ" # New event, print table row
p6a create -n "Summer BBQ" -1 # New event, print ID only
p6a update -e -n "New Name" # Rename event
p6a update -e -p # Make public
p6a update -e -P # Make private
p6a update -e -f # Mark as favorite
p6a update -e -F # Unmark favorite
p6a update -e -m # Enable upload moderation
p6a update -e -M # Disable upload moderation
p6a update -e -S 2025-06-01T12:00:00 # Set start date/time
p6a update -e -E 2025-06-01T18:00:00 # Set end date/time
Dates use ISO 8601 format. Multiple update flags can be combined in one call.
Edit & Approve Media
# Favorite / unfavorite a media item
p6a edit -e -m -f # mark as favorite
p6a edit -e -m -F # unmark favorite
# Approve a media item in a moderated event (requires moderator permission)
p6a approve -e -m
Download Media
# Download all media for an event
p6a download -e -t ./photos
# Download only your own uploads
p6a download -e -t ./photos -o
# Download only favorited media
p6a download -e -t ./photos -f
# Download a single media item by ID
p6a download -e -m -t ./output.jpg
Files are named IMG_0001.jpg, MOV_0001.mp4, etc., sequentially from existing files.
Upload a Photo
Upload a media file to an event. Prints the returned media UUID on success.
p6a upload -e -s photo.jpg
On moderated events, uploaded media are created as unapproved and won't be visible to other guests until a moderator runs p6a approve.
List Media in an Event
p6a media -e # Plain table
p6a media -e -F json # JSON (pipe to jq)
p6a media -e -1 # IDs only
p6a media -e -o # Only your uploads
p6a media -e -f # Only favorited items
Share an Event
p6a link -e # Print invite URL to stdout
p6a qr -e # Download QR code as -qr.png
p6a qr -e -t invite.png # Download QR code to custom file
p6a qr -e -F svg # SVG format instead of PNG
Download a Share Card
Pre-built themed cards containing the event QR code, intended to prompt guests to upload photos. Not a general-purpose design tool — for custom assets see references/design.md.
p6a card -e -d bday # Birthday/anniversary theme (PDF)
p6a card -e -d tech # Corporate/conference theme (PDF)
p6a card -e -d match # Sport/tournament theme (PDF)
p6a card -e -d forest # Outdoor/nature theme (PDF)
p6a card -e -d garden # Garden/floral theme (PDF)
p6a card -e -d gold # Luxury/elegant theme (PDF)
p6a card -e -d romantic # Romantic/wedding theme (PDF)
p6a card -e -d silver # Cool/modern elegant theme (PDF)
p6a card -e -d neon # Party/nightlife theme (PDF)
p6a card -e -d nineties # Retro/1990s theme (PDF)
p6a card -e -d bday -F jpg # JPEG instead of PDF
p6a card -e -d bday -t card.pdf # Custom output file
p6a card -e -d tech -b # White background (no-background mode)
p6a card -e -d forest -l cs -L business -p letter # Czech, tiled layout
Supported card options are locale en (default) or cs, layout single (default) or business, and paper size a4 (default) or letter. Downloading a share card requires organizer (admin) access.
Global Help and Configuration
| Invocation | Description | | -------------------------------- | --------------------------------------------------------------------------- | | -D, --dir | Use a custom config directory on supported commands (default: ~/.p6a) | | p6a help, p6a -h, p6a --help | Show top-level command help |
Common Workflows
Workflow: Nightly Backup Script
#!/usr/bin/env bash
set -euo pipefail
p6a sync -t ~/backup
echo "Sync complete: $(date)"
Schedule with cron: 0 2 * * * /path/to/backup.sh
Workflow: Export Events to CSV
p6a list -F csv > events.csv
p6a list -q "Birthday" -F csv > birthday-events.csv # filtered
Workflow: Inspect Events with jq
# Pretty-print all events as JSON
p6a list -F json | jq .
# Extract just names and IDs
p6a list -F json | jq '.[] | {id: .id, name: .name}'
# Get IDs of all public events you own
p6a list -F json | jq -r '.[] | select(.public == true and .owner == true) | .id'
# Get IDs of moderated events (uploads need approval before becoming visible)
p6a list -F json | jq -r '.[] | select(.moderated == true) | .id'
# List unapproved media items for an event
p6a media -e -F json | jq '.[] | select(.approved == false)'
Workflow: Download Media from Multiple Events
p6a list -1 | xargs -I{} sh -c 'mkdir -p ./media/{} && p6a download -e {} -t ./media/{}'
Workflow: Find and Download Media from an Event (PowerShell / Windows)
# Find an event by name and download its media (no Bash required)
$eventId = p6a list -q "Birthday" -1 | Select-Object -First 1
p6a download -e $eventId -t .\photos
Workflow: Upload Multiple Photos
EID=12cafe34-5b8a-4d2e-9f01-0203a4b5c6d7
for f in *.jpg; do
p6a upload -e "$EID" -s "$f"
done
Workflow: Approve All Pending Media in a Moderated Event
EID=12cafe34-5b8a-4d2e-9f01-0203a4b5c6d7
p6a media -e "$EID" -F json | \
jq -r '.[] | select(.approved == false) | .id' | \
xargs -I{} p6a approve -e "$EID" -m {}
Workflow: Find and Share an Event
# Get event ID by name, then print QR and invite link
EVENT_ID=$(p6a list -q "Birthday" -1 | head -1)
p6a qr -e "$EVENT_ID" -t birthday-qr.png
p6a link -e "$EVENT_ID"
Tips
- Use
-1/--format oneto get IDs suitable for shell scripting. p6a syncis idempotent — safe to run repeatedly without re-downloading.- Event IDs are UUIDs (e.g.,
12cafe34-5b8a-4d2e-9f01-0203a4b5c6d7); usep6a list -1to retrieve them. - Use
-Dto maintain separate credential profiles for different Partoska accounts.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: partoska
- Source: partoska/p6a-skills
- License: MIT
- Homepage: https://www.partoska.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.