Configuring Horizon
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
Manage Slack channel access control — pairing, allowlist, channel opt-in.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill access -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace access --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/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/mcp/slack-channel/skills/access .claude/skills/access && 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 "access" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/access into .claude/skills/access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "access", 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/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/accessType 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 jeremylongshore/tons-of-skills-marketplace --skill access -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace access --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/mcp/slack-channel/skills/access .agents/skills/access && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "access" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/access into .agents/skills/access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "access", 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 jeremylongshore/tons-of-skills-marketplace --skill access -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace access --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/mcp/slack-channel/skills/access .cursor/skills/access && 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 "access" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/access into .cursor/skills/access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "access", 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/jeremylongshore/tons-of-skills-marketplace.git --path plugins/mcp/slack-channel/skills/access--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 jeremylongshore/tons-of-skills-marketplace --skill access -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace access --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/mcp/slack-channel/skills/access .gemini/skills/access && 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 "access" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/access into .gemini/skills/access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "access", 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 jeremylongshore/tons-of-skills-marketplace accessInstalls 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 jeremylongshore/tons-of-skills-marketplace --skill access -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/mcp/slack-channel/skills/access .github/skills/access && 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 "access" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/access into .github/skills/access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "access", 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 jeremylongshore/tons-of-skills-marketplace --skill access -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace access --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/mcp/slack-channel/skills/access .opencode/skills/access && 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 "access" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/mcp/slack-channel/skills/access into .opencode/skills/access/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "access", 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.
accessManage Slack channel access control — pairing, allowlist, channel opt-in.
Access is an agent skill from jeremylongshore/tons-of-skills-marketplace. Manage Slack channel access control — pairing, allowlist, channel opt-in. Use when approving a pairing code, changing the DM policy, editing the user allowlist, or opting a channel in or out. Trigger with "/slack-channel:access", "pair my slack account", "add user to slack allowlist", or "opt in a slack channel".
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires Claude Code with the slack-channel plugin installed (state under ~/.claude/channels/slack/); pairing confirmations additionally need the MCP server…
It sits in Backend & APIs, covering Authorization and RBAC. It works with Slack. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteBash(chmod:*)Bash(mv:*)From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Requires Claude Code with the slack-channel plugin installed (state under ~/.claude/channels/slack/); pairing confirmations additionally need the MCP server running.
From compatibility in the SKILL.md frontmatter.
Access loads about 2k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 753 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 jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its Apache-2.0 licence (© jeremylongshore). 753 words, ~2,001 tokens.
.claude/skills/access/SKILL.md (or your agent's skills folder).Manage who can reach your Claude Code session through Slack. This skill is the
terminal-side half of the access-control model: it approves pairing codes,
sets the DM policy, maintains the user allowlist, and opts channels in or out
with an interaction mode. Every subcommand reads and rewrites the single state
file (access.json) atomically.
/slack-channel:access pair <code> # Approve a pending pairing
/slack-channel:access policy <pairing|allowlist|disabled> # Set DM policy
/slack-channel:access add <slack_user_id> # Add user to allowlist
/slack-channel:access remove <slack_user_id> # Remove from allowlist
/slack-channel:access channel <channel_id> [--ambient] [--allow <user_id,...>] # Opt in a channel (default: mention-to-engage)
/slack-channel:access channel remove <channel_id> # Remove channel opt-in
/slack-channel:access status # Show current config/slack-channel:install) — the state directory
~/.claude/channels/slack/ must exist.~/.claude/channels/slack/access.json — every subcommand
operates on this one file. It holds the DM policy, allowlist, channel
opt-ins, and pending pairing codes, and must stay mode 0o600.pair, the MCP server should be running so the confirmation message
can be delivered back to the Slack user.Parse $ARGUMENTS and execute the matching subcommand:
pair <code>access.json<code> (case-insensitive)entry.senderId to allowFromaccess.json with permissions 0o600Approved! User <senderId> can now DM this session.policy <mode>pairing, allowlist, disableddmPolicy in access.jsonpairing: New DMs get a code to approve (default)allowlist: Only pre-approved users can DMdisabled: No DMs acceptedadd <user_id>allowFrom (deduplicate)remove <user_id>allowFromallowFrom listschannel <channel_id> [--ambient] [--allow <ids>]Opting a channel in chooses an interaction mode. There are three; pick one:
| Mode | access.json | Behavior |
|---|---|---|
| Mention-to-engage (default) | requireMention: true | Humans converse freely; Claude only sees messages that @-mention it. Once a human mentions the bot in a thread, they keep talking in that thread without re-mentioning (thread-stickiness, ccsc-apj.1). Peer agents are never sticky — they must @-mention every message. |
Ambient (--ambient) | requireMention: false | Claude sees every message in the channel. Use for a dedicated bot channel where every message is for Claude. |
Per-user allowlist (--allow) | allowFrom: [ids] | Only the listed users are heard. Composes with either mode above. |
requireMention: true (the safe default — humans can chat without Claude listening to everything).--ambient → ambient: write requireMention: false.--allow <id1,id2> → also set the channel's allowFrom to those users (works with either mode).channels[channel_id] in access.json. Default requireMention: true unless --ambient is given.channel remove <channel_id>channels[channel_id]statusaccess.jsonpair — Approved! User <senderId> can now DM this session. plus a Slack
confirmation to the user when the MCP server is running.policy — the new DM policy and a one-line explanation of what it means.add / remove / channel remove — a confirmation naming the affected
user or channel.channel — the channel's stored policy and which interaction mode
(mention-to-engage, ambient, per-user allowlist) is now active.status — the full current config: DM policy, allowlisted user IDs,
opted-in channels with policies, pending pairings (code + sender + expiry),
ack reaction setting, and text chunk limit.access.json rewritten atomically with
mode 0o600.policy mode — only pairing, allowlist, disabled are
accepted; anything else stops with a usage error.access.json — move it aside (keep the broken copy for
inspection) and start fresh; re-pair afterwards./slack-channel:install instead of creating partial state here.Common flows, from first pairing to locking the channel down:
/slack-channel:access pair 7GK2QF # approve the code the bot DM'd you
/slack-channel:access policy allowlist # lock DMs to pre-approved users only
/slack-channel:access add U0123ABCD # allowlist a Slack user ID
/slack-channel:access channel C0456XYZ # opt in a channel (mention-to-engage default)
/slack-channel:access channel C0456XYZ --ambient # dedicated bot channel — hears everything
/slack-channel:access status # show the full current configaccess.jsonaccess.jsonaccess.json is corrupt, move it aside and start freshACCESS.md — full access-control schema, DM policies, and interaction modesskills/install/SKILL.md — install lifecycle; pairing happens at its Step 5skills/policy/SKILL.md — tool-call policy rules (the policy field of the same state file)README.md — project quick start and security model© jeremylongshore, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/mcp/slack-channel/skills/access of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Access 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 |
|---|---|---|---|---|---|---|
| Access this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Configuring Horizoncoollabsio/coolify | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT | |
| K8s Security PoliciesCybereason-Public/owLSM | 280 | 12 repos | ~2k | Automated safety check: Pass | GPL-2.0 | |
| Payloadpayloadcms/payload | 45k | 5 repos | ~6.2k | Automated safety check: Pass | MIT | |
| Convex Setup Authspokvulcan/poker-planning | 114 | 8 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Cognitoitsmostafa/aws-agent-skills | 1.2k | 1 repos | ~2.3k | Automated safety check: Pass | MIT |
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
Cybereason-Public/owLSM
Comprehensive guide for implementing NetworkPolicy, PodSecurityPolicy, RBAC, and Pod Security Standards in Kubernetes.
payloadcms/payload
A skill your agent uses when working with Payload projects (payload.config.ts, collections, fields, hooks, access control, Payload API).
spokvulcan/poker-planning
Sets up Convex auth, identity mapping, and access control. An agent skill from spokvulcan/poker-planning.
itsmostafa/aws-agent-skills
AWS Cognito user authentication and authorization service. An agent skill from itsmostafa/aws-agent-skills.
abpframework/abp
ABP permission system - PermissionDefinitionProvider, [Authorize] attribute, CheckPolicyAsync, IsGrantedAsync, ICurrentUser, IPermissionManager, multi-tenancy side.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Works with
Categories
Manage Slack channel access control — pairing, allowlist, channel opt-in. Access is an agent skill from jeremylongshore/tons-of-skills-marketplace. Manage Slack channel access control — pairing, allowlist, channel opt-in.
Access fits situations like: approving a pairing code; changing the DM policy; editing the user allowlist; opting a channel in.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill access -a claude-code`. Or copy the skill folder (plugins/mcp/slack-channel/skills/access in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/access in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill access -a codex`. Or copy the skill folder (plugins/mcp/slack-channel/skills/access in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/access 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 jeremylongshore/tons-of-skills-marketplace --skill access -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/access, .gemini/skills/access, .github/skills/access and .opencode/skills/access in your project.
SKILL.md names no scripts, command-line tools or credentials: Access is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Bash(chmod:*), Bash(mv:*). Compatibility (from SKILL.md): Requires Claude Code with the slack-channel plugin installed (state under ~/.claude/channels/slack/); pairing confirmations additionally need the MCP server running..
SKILL.md names 1 domain. As links in the text: github.com. 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.
Access is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Access: Configuring Horizon (coollabsio/coolify, 63k stars), K8s Security Policies (Cybereason-Public/owLSM, 280 stars), Payload (payloadcms/payload, 45k stars) and Convex Setup Auth (spokvulcan/poker-planning, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.