Print files uploaded to a Slack channel. Supports smart matching: multiple files, filename prefix/keyword filter, file type (pdf/image), and time range (\"just now\" = \"last 5 minutes\"). Trigger when the user says things like \"print the file from Slack\", \"print the PDF I just sent to Slack\", \"print the Slack file\", etc.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill slack-print --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Slack Print?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-slack-print)More formats (shields.io, HTML) on the badges page.
---
name: slack-print
description: "Print files uploaded to a Slack channel. Supports smart matching: multiple files, filename prefix/keyword filter, file type (pdf/image), and time range (\"just now\" = \"last 5 minutes\"). Trigger when the user says things like \"print the file from Slack\", \"print the PDF I just sent to Slack\", \"print the Slack file\", etc."
---
# Slack Print Skill
**Strict rules:**
- **Do not** use write/edit tools to create or modify any files
- **Do not** create Python scripts, test scripts, or any auxiliary files
- **Only** run existing shell scripts or `lp` commands via exec
---
## Print Files from Slack
### Smart Matching: Interpret Intent → Set Variables → Call Script
| User says | Environment variables |
|-----------|----------------------|
| "Print the latest file" / "Print this file" | (default, no variables needed) |
| "Print the last two files" / "Print these two files" | `LIMIT=2` |
| "Print files starting with report" | `NAME_PREFIX=report` |
| "Print files with contract in the name" | `NAME_CONTAINS=contract` |
| "Print the PDF I just uploaded" / "Print the PDF from just now" | `MINUTES=5 FILE_TYPE=pdf` |
| "Print the last three files" | `LIMIT=3 MINUTES=10` |
**FILE_TYPE values**: `pdf` / `image` / `video` / `doc` / `file` (default — matches all)
### Invocation
```bash
# Default: print latest file
PRINTER=MyPrinter <SKILL_DIR>/slack_fetch_and_print.sh
# Print the latest 2 files
PRINTER=MyPrinter LIMIT=2 <SKILL_DIR>/slack_fetch_and_print.sh
# Print files whose name starts with "report"
PRINTER=MyPrinter NAME_PREFIX=report <SKILL_DIR>/slack_fetch_and_print.sh
# Print PDFs uploaded in the last 5 minutes
PRINTER=MyPrinter MINUTES=5 FILE_TYPE=pdf <SKILL_DIR>/slack_fetch_and_print.sh
```
Script prints `Sent to printer: <filename>` for each file on success.
---
## Print Text Content Directly
```bash
echo "content to print" | lp -d <PrinterName>
```
Multi-line content:
```bash
cat > /tmp/openclaw_print.txt << 'EOF'
content
EOF
lp -d <PrinterName> /tmp/openclaw_print.txt
```
---
## List Available Printers
```bash
lpstat -a
```
## Check Print Queue
```bash
lpq -P <PrinterName>
```
## Cancel Print Jobs
```bash
cancel -a <PrinterName>
```
## Check Printer Status
```bash
lpstat -p <PrinterName>
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!