Dropbox
yc-software/qm
Browse, search, read, upload, and share the user's Dropbox — including team/shared folders — through per-user OAuth.
Configure local user signup, domain/MX rules, terms, confirmation, dropbox storage, and messaging.
$ npx skills add greenpau/caddy-security --skill configuration-registrations -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install greenpau/caddy-security configuration-registrations --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/greenpau/caddy-security.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/configuration-registrations .claude/skills/configuration-registrations && 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 "configuration-registrations" agent skill from https://github.com/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrations into .claude/skills/configuration-registrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configuration-registrations", 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/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrationsType 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 greenpau/caddy-security --skill configuration-registrations -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install greenpau/caddy-security configuration-registrations --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/greenpau/caddy-security.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/configuration-registrations .agents/skills/configuration-registrations && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "configuration-registrations" agent skill from https://github.com/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrations into .agents/skills/configuration-registrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configuration-registrations", 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 greenpau/caddy-security --skill configuration-registrations -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install greenpau/caddy-security configuration-registrations --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/greenpau/caddy-security.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/configuration-registrations .cursor/skills/configuration-registrations && 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 "configuration-registrations" agent skill from https://github.com/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrations into .cursor/skills/configuration-registrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configuration-registrations", 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/greenpau/caddy-security.git --path .codex/skills/configuration-registrations--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 greenpau/caddy-security --skill configuration-registrations -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install greenpau/caddy-security configuration-registrations --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/greenpau/caddy-security.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/configuration-registrations .gemini/skills/configuration-registrations && 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 "configuration-registrations" agent skill from https://github.com/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrations into .gemini/skills/configuration-registrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configuration-registrations", 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 greenpau/caddy-security configuration-registrationsInstalls 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 greenpau/caddy-security --skill configuration-registrations -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/greenpau/caddy-security.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/configuration-registrations .github/skills/configuration-registrations && 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 "configuration-registrations" agent skill from https://github.com/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrations into .github/skills/configuration-registrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configuration-registrations", 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 greenpau/caddy-security --skill configuration-registrations -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install greenpau/caddy-security configuration-registrations --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/greenpau/caddy-security.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/configuration-registrations .opencode/skills/configuration-registrations && 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 "configuration-registrations" agent skill from https://github.com/greenpau/caddy-security/tree/main/.codex/skills/configuration-registrations into .opencode/skills/configuration-registrations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "configuration-registrations", 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.
configuration-registrationsConfigure local user signup, domain/MX rules, terms, confirmation, dropbox storage, and messaging.
Configuration Registrations is an agent skill from greenpau/caddy-security. Configure local user signup, domain/MX rules, terms, confirmation, dropbox storage, and messaging. Use for registration versus account activation; OAuth client registration is separate.
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 (for example `agents/openai.yaml`).
It sits in Backend & APIs, covering OAuth and OpenID Connect. It works with Dropbox. The repository describes itself as: 🔐 Authentication, Authorization, and Accounting (AAA) App and Plugin for Caddy v2. 💎 Implements Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0 (Github, Google…. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit a48553d. 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:
kindFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Configuration Registrations loads about 1.6k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 745 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 greenpau/caddy-security at commit a48553d, republished under its Apache-2.0 licence (© greenpau). 745 words, ~1,644 tokens.
.claude/skills/configuration-registrations/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill to configure user registration <name> blocks. Dispatch starts
in caddyfile_user.go; registration instructions are collected by
caddyfile_user_registration.go. The Caddyfile parser injects
name <block-name> and kind local, then forwards the block instructions to
authcrunch for validation.
Registration flows attach to the target identity store declared by
identity store <name> [<realm>]. During authcrunch validation, portals using
that identity store get registration enabled for that store and the registry is
attached at runtime. The current portal parser does not accept
enable user registration <name>; use enable identity store <name> on the
portal instead.
{
security {
user registration signup {
title "User Registration"
code {env.REGISTER_CODE}
dropbox assets/config/registrations_local.json
require accept terms
require domain mx
email provider smtp
admin email admin@example.com
identity store localdb
link terms https://example.com/terms
link privacy https://example.com/privacy
allow domain example.com
}
local identity store localdb {
realm local
path assets/config/users.json
}
authentication portal myportal {
enable identity store localdb
}
}
}Authcrunch requires the effective registry config to have name, kind,
dropbox, email provider, at least one admin email address, and
identity store. In Caddyfile configuration, name comes from the block name
and kind local is injected by caddy-security.
title is optional and defaults to Sign Up. code is optional; when present,
the registration form requires the exact configured value. require accept terms and require domain mx are optional boolean flags.
The authcrunch parser accepts exactly one admin email address per instruction:
admin email <address> or admin emails <address>. Multiple addresses on one
line are invalid, and repeated admin-email lines overwrite rather than append.
The parser forwards registration lines to authcrunch. Supported patterns in authcrunch include:
title <name>code <value>dropbox <path>require accept termsrequire domain mxemail provider <name>admin email <address>admin emails <address>identity store <name> [<realm>]link terms <url>link privacy <url>allow domain <string>deny domain <string>allow <exact|partial|prefix|suffix|regex> domain <string>deny <exact|partial|prefix|suffix|regex> domain <string>Domain restrictions are validated by authcrunch. Matching stops at the first
rule that matches the email domain; if no rule matches, the default action is
the opposite of the last configured rule. For a simple allow list, use only
allow rules. For a simple deny list, use only deny rules.
Coordinate the email provider value with configuration-messaging; despite
the directive name, authcrunch can notify through a matching email or file
messaging provider. Coordinate identity store names with
configuration-identity-stores.
Registration is not the same as immediate account activation. The user reaches the form from the portal's register link, submits username, password, email, name, optional registration code, and required terms acceptance, then receives an email confirmation link and short passcode. The confirmation passcode is time-limited in authcrunch; when it expires, the user must register again.
After email confirmation, the handler consumes the pending registration, adds the user to the dropbox database and attempts an administrator notification. That database is separate from the target login store. Approval and transfer into the login store remain a separate management operation; no full approval UI is implemented here. Do not edit a serving identity database as a routine approval step. Use a supported management path or arrange an offline import and explicit reload. A notification failure after the dropbox commit is logged and does not undo the committed registration.
Pending registrations are held in the registry's in-memory cache. Reload or restart discards them; the durable dropbox only contains confirmed entries. An expired or lost pending registration must be started again. A supplied password must be plaintext: the selected AuthCrunch rejects reserved password-hash import prefixes on the public registration path, while trusted static-user imports are separate.
When multiple registrations target different identity stores or realms, use separate dropbox paths. The portal exposes realm-specific registration URLs, for example:
/auth/register/local
/auth/register/userpool1.localdomainFor local validation without SMTP, point email provider at a file messaging
provider whose root_dir is a disposable path under this checkout's tmp/.
Inspect the confirmation link and passcode in its .eml output using synthetic
identities and separate temporary dropbox/login databases. This does not check
SMTP authentication, TLS, sender headers or BCC delivery; the messaging skill
documents those limits.
Use these examples:
testdata/caddyfile_adapt/testcase_authenticate_with_registration.Caddyfile.assets/config/registrations_local.json.The adaptation/resolution fixture verifies configuration shape and defaults,
not a registration journey. TestCaddyPasswordArgon2E2E/public-registration
uses the actual executable and a disposable file sender to reject valid, malformed
and whitespace-padded bcrypt/Argon2 imports without a message or persisted user;
ordinary plaintext reaches confirmation-message delivery. This does not qualify
confirmation, approval, transfer or SMTP. The lifecycle tests exercise registry ownership
and replacement, but this checkout has no complete user-signup E2E. Do not
confuse TestCaddyRegistrationE2E, which covers persisted OAuth client
registrations, with user signup. A future user-signup acceptance case should
reject wrong codes and disallowed domains, confirm one emitted link/passcode,
verify only the dropbox receives the account, reject replay or lost pending
state, and observe the administrator notification and separate activation.
© greenpau, 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
SKILL.md and 1 other file in .codex/skills/configuration-registrations of greenpau/caddy-security.
Open the folder on GitHubat commit a48553d
Configuration Registrations 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 |
|---|---|---|---|---|---|---|
| Configuration Registrations this skillgreenpau/caddy-security | 2.3k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Dropboxyc-software/qm | 15k | — | ~1.8k | Automated safety check: Pass | MIT | |
| DropboxLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Dropbox BusinessLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.9k | Automated safety check: Pass | MIT | |
| Fortify Developmentcoollabsio/coolify | 63k | 4 repos | ~1.9k | Automated safety check: Pass | MIT | |
| OmniRoute Provider Managementdiegosouzapw/OmniRoute | 75k | — | ~2.4k | Automated safety check: Pass | MIT |
yc-software/qm
Browse, search, read, upload, and share the user's Dropbox — including team/shared folders — through per-user OAuth.
LeoYeAI/openclaw-master-skills
Dropbox API integration with managed OAuth. An agent skill from LeoYeAI/openclaw-master-skills.
LeoYeAI/openclaw-master-skills
Dropbox Business API integration with managed OAuth. An agent skill from LeoYeAI/openclaw-master-skills.
coollabsio/coolify
ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.
diegosouzapw/OmniRoute
Manages AI provider connections, API keys, OAuth flows and connection tests through OmniRoute's REST API across its 327-provider catalog.
doorkeeper-gem/doorkeeper
Avoid common Ruby and Rails antipatterns that degrade maintainability and performance.
greenpau/caddy-security
Build or troubleshoot portal JSON/native login clients, refresh, profile and admin APIs, and public JWKS.
greenpau/caddy-security
Implement or review caddy-security Go code, Caddy modules, parsers, lifecycle, and HTTP delegation.
greenpau/caddy-security
Build or review caddy-security Caddyfiles and select focused configuration skills.
greenpau/caddy-security
Configure portal/policy JWT keys, token names and lifetimes, key loading and generation, public-key discovery, and System API encryption keys.
greenpau/caddy-security
Mount authenticate and authorize handlers, separate portal and protected routes, align auth URLs, and preserve trusted proxy metadata.
greenpau/caddy-security
Configure durable AuthCrunch runtime state, exclusive storage ownership, stop/start persistence, reload rejection, and recovery.
Works with
Categories
Configure local user signup, domain/MX rules, terms, confirmation, dropbox storage, and messaging. Configuration Registrations is an agent skill from greenpau/caddy-security. Configure local user signup, domain/MX rules, terms, confirmation, dropbox storage, and messaging.
Configuration Registrations fits situations like: registration versus account activation; OAuth client registration is separate.
Run `npx skills add greenpau/caddy-security --skill configuration-registrations -a claude-code`. Or copy the skill folder (.codex/skills/configuration-registrations in greenpau/caddy-security) into .claude/skills/configuration-registrations in your project. Claude Code loads it when a task matches its description.
Run `npx skills add greenpau/caddy-security --skill configuration-registrations -a codex`. Or copy the skill folder (.codex/skills/configuration-registrations in greenpau/caddy-security) into .agents/skills/configuration-registrations 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 greenpau/caddy-security --skill configuration-registrations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/configuration-registrations, .gemini/skills/configuration-registrations, .github/skills/configuration-registrations and .opencode/skills/configuration-registrations in your project.
Going by SKILL.md and its folder, Configuration Registrations needs the command-line tools its instructions call (kind).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Configuration Registrations is published under the Apache-2.0 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.6k 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 Configuration Registrations: Dropbox (yc-software/qm, 15k stars), Dropbox (LeoYeAI/openclaw-master-skills, 2.2k stars), Dropbox Business (LeoYeAI/openclaw-master-skills, 2.2k stars) and Fortify Development (coollabsio/coolify, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
greenpau (a GitHub user) maintains it in greenpau/caddy-security, which has 2,252 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 5, 2026.
Source: greenpau/caddy-security on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.