Better Auth Best Practices
latitude-dev/latitude-llm
Configure Better Auth server and client, set up database adapters, manage sessions, add plugins, and handle environment variables.
Read, send, search, and manage Slack workspaces with the slackcli binary.
$ npx skills add shaharia-lab/slackcli --skill slackcli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shaharia-lab/slackcli slackcli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/shaharia-lab/slackcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/slackcli/skills/slackcli .claude/skills/slackcli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "slackcli" agent skill from https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcli into .claude/skills/slackcli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slackcli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add shaharia-lab/slackcli --skill slackcli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shaharia-lab/slackcli slackcli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shaharia-lab/slackcli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/slackcli/skills/slackcli .agents/skills/slackcli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "slackcli" agent skill from https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcli into .agents/skills/slackcli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slackcli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shaharia-lab/slackcli --skill slackcli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shaharia-lab/slackcli slackcli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shaharia-lab/slackcli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/slackcli/skills/slackcli .cursor/skills/slackcli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "slackcli" agent skill from https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcli into .cursor/skills/slackcli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slackcli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/shaharia-lab/slackcli.git --path plugins/slackcli/skills/slackcli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add shaharia-lab/slackcli --skill slackcli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shaharia-lab/slackcli slackcli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shaharia-lab/slackcli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/slackcli/skills/slackcli .gemini/skills/slackcli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "slackcli" agent skill from https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcli into .gemini/skills/slackcli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slackcli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install shaharia-lab/slackcli slackcliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add shaharia-lab/slackcli --skill slackcli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shaharia-lab/slackcli.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/slackcli/skills/slackcli .github/skills/slackcli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "slackcli" agent skill from https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcli into .github/skills/slackcli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slackcli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add shaharia-lab/slackcli --skill slackcli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shaharia-lab/slackcli slackcli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shaharia-lab/slackcli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/slackcli/skills/slackcli .opencode/skills/slackcli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "slackcli" agent skill from https://github.com/shaharia-lab/slackcli/tree/main/plugins/slackcli/skills/slackcli into .opencode/skills/slackcli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "slackcli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
slackcliRead, send, search, and manage Slack workspaces with the slackcli binary.
Slackcli is an agent skill from shaharia-lab/slackcli. Read, send, search, and manage Slack workspaces with the slackcli binary. Installs slackcli if missing and checks or proposes authentication first. Use whenever the user mentions Slack or pastes a slack.com link.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/commands.md`).
It sits in Backend & APIs, covering Authentication. It works with Slack, TypeScript, Homebrew and Linux. The repository describes itself as: Slack CLI for humans and AI agents. Read, send, search and reply across one or many Slack workspaces from the terminal. No Slack app needed. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1a1dec6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
brewcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Slackcli loads about 1.6k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 55 tokens; SKILL.md has 789 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from shaharia-lab/slackcli at commit 1a1dec6, republished under its MIT licence (© shaharia-lab). 789 words, ~1,634 tokens.
.claude/skills/slackcli/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Three phases, always in this order. Phases 1 and 2 are checks; only do their
setup work when the check fails. $ARGUMENTS, if set, is the request for phase 3.
command -v slackcli && slackcli --versionPasses: go to phase 2. Fails: first check ls ~/.local/bin/slackcli (installed
but off PATH; fix PATH, do not reinstall). Otherwise ask the user with
AskUserQuestion before installing. Never sudo, never system directories.
brew exists): brew tap shaharia-lab/tap && brew install slackcli~/.local/bin: asset from uname -sm: Linux x86_64
slackcli-linux, Linux arm64 slackcli-linux-arm64, Darwin x86_64
slackcli-macos, Darwin arm64 slackcli-macos-arm64.A=slackcli-linux; B=https://github.com/shaharia-lab/slackcli/releases/latest/download; T=$(mktemp -d)
curl -fsSL "$B/$A" -o "$T/$A" && curl -fsSL "$B/checksums.txt" -o "$T/checksums.txt"
(cd "$T" && grep " $A\$" checksums.txt | sha256sum -c -) # macOS: shasum -a 256 -c
chmod +x "$T/$A" && mkdir -p ~/.local/bin && mv "$T/$A" ~/.local/bin/slackcli~/.local/bin is not on PATH.slackcli-windows.exe).Confirm with slackcli --version.
slackcli auth list # always exits 0No authenticated workspaces found.: propose authentication (below).(default), each with ID and auth type):
verify the token with slackcli team info --json (add --workspace=<id|name>
if the user named one). On exit 1 the last stderr line is
{"error":{"code":…,"hint":…}}: code auth_failed means stale credentials:
for a Browser profile try slackcli auth login-auto --headless first, else
propose authentication (hint has the command). unknown command, or a last
line that is not JSON, means the binary predates team info or JSON errors:
probe with slackcli conversations list --limit=1 instead and, once
authenticated, offer slackcli update (Homebrew: brew upgrade slackcli),
since the reference in phase 3 describes the latest release. Other codes are
not auth problems; report and continue.Propose authentication with AskUserQuestion; never authenticate unasked.
Credentials are stored locally in ~/.config/slackcli/.
slackcli auth login-auto --timeout=300 with a Bash timeout
above 300 s. A window opens; the user signs in (SSO/2FA included) to every
workspace they want. All of them are enrolled. No browser found: set
SLACKCLI_BROWSER=/path/to/chrome or pick another option.xoxb-/xoxp-): the user runs it themselves so the
token never enters the chat:
! slackcli auth login --token=xoxb-… --workspace-name="Team".
Bot tokens cannot search messages.! slackcli auth parse-curl --from-clipboard --login.Verify with slackcli auth list and slackcli team info.
Read references/commands.md before choosing commands.
slackcli <group> <cmd> --help is authoritative for the installed version.
--json whenever you process output (stdout is JSON only; rest is stderr).--fields with only the fields you
need (--json --fields ts,user,text; dot paths like profile.email), and a
tight --limit. Full Slack objects are often several times larger. Counts and cursors are
always kept; a misspelt field is silently absent, so check --help shapes.--recipient-id="#general", @alice or
alice@example.com work wherever an ID does (quote the #). Exact match
only; not_found / invalid_input (ambiguous, lists IDs) mean search
(search channels, search people) and use the ID. Reuse the channel_id
from --json output. Pasted Slack URLs also work; --permalink targets one
message or its thread.usergroups write. Show target and text, get a yes, then run. Add
--yes to usergroups writes only after that confirmation.--dry-run --json
first: it resolves and validates everything, writes nothing, never prompts,
and returns {dry_run, action, workspace, target, payload}. Show that to the
user, then drop --dry-run to run it. A dry run cannot check Slack
permissions, so the real write can still be refused.messages send --json returns channel_id, ts, usually
permalink. Use them for edit/react/reply and give the permalink to the user.$: pipe it, never quote it into
--message. printf '%s' "$TEXT" | slackcli messages send --recipient-id=C… --message-file -,
or a heredoc with a quoted delimiter (--message-file - <<'MSG'). Works on
send, edit and draft; no temp file needed. Slack mrkdwn only (no #
headings, no [text](url)).--types/--limit instead of retrying.~/.config/slackcli/ or the browser profile.files info --json contains private download URLs; do not repeat them.auth logout / auth remove unless explicitly asked.© shaharia-lab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in plugins/slackcli/skills/slackcli of shaharia-lab/slackcli.
Open the folder on GitHubat commit 1a1dec6
Slackcli next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Slackcli this skillshaharia-lab/slackcli | 227 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Better Auth Best Practiceslatitude-dev/latitude-llm | 4.7k | 7 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Gemini Live API Devgoogle-gemini/gemini-skills | 4.3k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Teams Devmicrosoft/teams-sdk | 728 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Temporal Developerlatitude-dev/latitude-llm | 4.7k | — | ~1.5k | Automated safety check: Pass | MIT | |
| K8e Sandboxxiaods/k8e | 499 | — | ~6k | Automated safety check: Pass | Apache-2.0 |
latitude-dev/latitude-llm
Configure Better Auth server and client, set up database adapters, manage sessions, add plugins, and handle environment variables.
google-gemini/gemini-skills
A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.
microsoft/teams-sdk
A skill your agent uses whenever the user mentions Microsoft Teams in a development context — whether they're building, integrating, configuring, debugging, or just asking questions.
latitude-dev/latitude-llm
This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal…
xiaods/k8e
Run a goal end to end inside an isolated K8E sandbox pod (gVisor / Kata / Firecracker) instead of on the host: exec bash / Python / Node / TypeScript, install packages, move files in and out, reuse…
realsenseai/RealSenseID
RealSenseID face authentication SDK reference. An agent skill from realsenseai/RealSenseID.
shaharia-lab/slackcli
Cut a new SlackCLI release end to end — survey commits since the last tag, recommend a SemVer bump, open the release issue, prepare the version bump and CHANGELOG promotion on a branch, open the…
Works with
Categories
Read, send, search, and manage Slack workspaces with the slackcli binary. Slackcli is an agent skill from shaharia-lab/slackcli. Read, send, search, and manage Slack workspaces with the slackcli binary.
Slackcli fits situations like: the user mentions Slack; pastes a slack.com link.
Run `npx skills add shaharia-lab/slackcli --skill slackcli -a claude-code`. Or copy the skill folder (plugins/slackcli/skills/slackcli in shaharia-lab/slackcli) into .claude/skills/slackcli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shaharia-lab/slackcli --skill slackcli -a codex`. Or copy the skill folder (plugins/slackcli/skills/slackcli in shaharia-lab/slackcli) into .agents/skills/slackcli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shaharia-lab/slackcli --skill slackcli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/slackcli, .gemini/skills/slackcli, .github/skills/slackcli and .opencode/skills/slackcli in your project.
Going by SKILL.md and its folder, Slackcli needs the command-line tools its instructions call (brew and curl).
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Slackcli is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Slackcli: Better Auth Best Practices (latitude-dev/latitude-llm, 4.7k stars), Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars), Teams Dev (microsoft/teams-sdk, 728 stars) and Temporal Developer (latitude-dev/latitude-llm, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
shaharia-lab (a GitHub organization) maintains it in shaharia-lab/slackcli, which has 227 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 4, 2026.
Source: shaharia-lab/slackcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.