Skip to main content

the default mode of degenerate communication.

Project description

clacks

the default mode of degenerate communication.

Installation

Choose your preferred method:

With uv (no installation required):

uvx --from slack-clacks clacks

With uv (permanent installation):

uv tool install slack-clacks

With pip/pipx/poetry:

pip install slack-clacks
# or: pipx install slack-clacks

Examples below use clacks directly. If using uvx, prefix commands with uvx --from slack-clacks.

Updating

With uvx: Updates happen automatically (always runs latest version).

With uv tool:

uv tool upgrade slack-clacks

With pip:

pip install --upgrade slack-clacks

Authentication

Authenticate via OAuth:

clacks auth login -c <context-name>

Modes

clacks supports three authentication modes:

clacks mode (default)

Full workspace access via OAuth.

clacks auth login --mode clacks

Permissions: channels, groups, DMs, MPIMs, files, search

clacks-lite mode

Secure, DM-focused access via OAuth. Use for security-conscious environments where channel access isn't needed.

clacks auth login --mode clacks-lite

Permissions: DMs, MPIMs, reactions only

cookie mode

Browser session authentication. Use for quick testing or when OAuth is impractical.

clacks auth login --mode cookie

Extract xoxc token and d cookie from browser. No OAuth app needed. See docs/cookie-auth.md for extraction instructions.

Warning: Cookie mode is known to cause logout issues on Slack Enterprise workspaces and may trigger security warnings about your account.

Scopes

Operations requiring unavailable scopes will fail with a clear error message and re-authentication instructions.

Certificate

OAuth requires HTTPS. clacks includes a bundled self-signed certificate, so no setup is required.

To generate your own certificate:

clacks auth cert generate

Account Management

View current authentication status:

clacks auth status

Revoke authentication:

clacks auth logout

Configuration

Multiple authentication contexts supported. Initialize configuration:

clacks config init

List available contexts:

clacks config contexts

Switch between contexts:

clacks config switch -C <context-name>

View current configuration:

clacks config info

Messaging

Send

Send to channel:

clacks send -c "#general" -m "message text"
clacks send -c "C123456" -m "message text"

Send direct message:

clacks send -u "@username" -m "message text"
clacks send -u "U123456" -m "message text"

Reply to thread:

clacks send -c "#general" -m "reply text" -t "1234567890.123456"

Read

Read messages from channel:

clacks read -c "#general"
clacks read -c "#general" -l 50

Read direct messages:

clacks read -u "@username"

Read thread:

clacks read -c "#general" -t "1234567890.123456"

Read specific message:

clacks read -c "#general" -m "1234567890.123456"

Recent

View recent messages across all conversations:

clacks recent
clacks recent -l 50

Rolodex

Manage aliases for users and channels. Aliases resolve to platform-specific IDs (e.g., Slack user IDs).

Sync from Slack API:

clacks rolodex sync

Add alias manually:

clacks rolodex add <alias> -t <target-id> -T <target-type>
clacks rolodex add kartik -t U03QPJ2KMJ6 -T user
clacks rolodex add dev-channel -t C08740LGAE6 -T channel

List aliases:

clacks rolodex list
clacks rolodex list -T user
clacks rolodex list -p slack

Remove alias:

clacks rolodex remove <alias> -T <target-type>

Show valid target types for a platform:

clacks rolodex platforminfo -p slack
clacks rolodex platforminfo -p github

Agent Skills

clacks supports the Agent Skills open standard for AI coding assistants.

Codex quick install (global):

clacks skill --mode codex
# or: uvx --from slack-clacks clacks skill --mode codex

Reinstall/update an existing skill install:

clacks skill --mode codex --force
uvx --from slack-clacks clacks skill --mode codex --force
# for project-local installs, use the matching -project mode
uvx --from slack-clacks clacks skill --mode codex-project --force

If clacks warns that the installed skill is outdated, rerun the matching install command with --force.

Print SKILL.md to stdout:

clacks skill

Install for Claude Code (global):

clacks skill --mode claude

Install for OpenAI Codex (global):

clacks skill --mode codex

Install for Cursor/Windsurf/Aider (global):

clacks skill --mode universal

Install for VS Code Copilot (project):

clacks skill --mode github

All modes support -global and -project suffixes (e.g., claude-project, codex-global). Install writes a full skill bundle: SKILL.md, agents/openai.yaml, LICENSE.txt, and .clacks-skill-manifest.json.

Output

All commands output JSON to stdout. Redirect to file:

clacks auth status -o output.json

Requirements

  • Python >= 3.13
  • Slack workspace admin approval for OAuth app installation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slack_clacks-0.12.0.tar.gz (78.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slack_clacks-0.12.0-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file slack_clacks-0.12.0.tar.gz.

File metadata

  • Download URL: slack_clacks-0.12.0.tar.gz
  • Upload date:
  • Size: 78.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for slack_clacks-0.12.0.tar.gz
Algorithm Hash digest
SHA256 1c620801a057e957490a5cff68b30fdaf9d8c9204d3a67e12785ffc49eb430a2
MD5 5cc783f94ecc5da4da58203b72847523
BLAKE2b-256 8ba7c2ba7326f660b0a768893573c48dafe0c6c5d28c581109e5f00d6ba76dae

See more details on using hashes here.

File details

Details for the file slack_clacks-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: slack_clacks-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for slack_clacks-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 543f3ebc8d9cf9c8da4ee51bcca1fc49c36230f6dd72b0755319798279db3604
MD5 8e4f602e897f503a523f52653720b566
BLAKE2b-256 982b8130a581fe45a4adf37fb6ed708480a566466898b10b42776cf34280e8ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page