Verify
gregluffy/HomeLabInfo
Build, run, and drive the HomeLabInfo backend to verify changes at its real surfaces (REST API, UDP DHCP listener, outgoing webhooks).
Investigate a "Dropbox sync issue" alert email from Blot's hourly Dropbox sync validation (each flagged blog lists unsynced changes, Fix() repairs, errors and/or a stuck folder lock; the changes…
$ npx skills add blotcms/blot --skill investigate-dropbox-sync-issue -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install blotcms/blot investigate-dropbox-sync-issue --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/blotcms/blot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/investigate-dropbox-sync-issue .claude/skills/investigate-dropbox-sync-issue && 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 "investigate-dropbox-sync-issue" agent skill from https://github.com/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issue into .claude/skills/investigate-dropbox-sync-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investigate-dropbox-sync-issue", 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/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issueType 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 blotcms/blot --skill investigate-dropbox-sync-issue -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install blotcms/blot investigate-dropbox-sync-issue --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blotcms/blot.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/investigate-dropbox-sync-issue .agents/skills/investigate-dropbox-sync-issue && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "investigate-dropbox-sync-issue" agent skill from https://github.com/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issue into .agents/skills/investigate-dropbox-sync-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investigate-dropbox-sync-issue", 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 blotcms/blot --skill investigate-dropbox-sync-issue -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install blotcms/blot investigate-dropbox-sync-issue --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blotcms/blot.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/investigate-dropbox-sync-issue .cursor/skills/investigate-dropbox-sync-issue && 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 "investigate-dropbox-sync-issue" agent skill from https://github.com/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issue into .cursor/skills/investigate-dropbox-sync-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investigate-dropbox-sync-issue", 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/blotcms/blot.git --path .claude/skills/investigate-dropbox-sync-issue--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 blotcms/blot --skill investigate-dropbox-sync-issue -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install blotcms/blot investigate-dropbox-sync-issue --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blotcms/blot.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/investigate-dropbox-sync-issue .gemini/skills/investigate-dropbox-sync-issue && 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 "investigate-dropbox-sync-issue" agent skill from https://github.com/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issue into .gemini/skills/investigate-dropbox-sync-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investigate-dropbox-sync-issue", 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 blotcms/blot investigate-dropbox-sync-issueInstalls 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 blotcms/blot --skill investigate-dropbox-sync-issue -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/blotcms/blot.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/investigate-dropbox-sync-issue .github/skills/investigate-dropbox-sync-issue && 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 "investigate-dropbox-sync-issue" agent skill from https://github.com/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issue into .github/skills/investigate-dropbox-sync-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investigate-dropbox-sync-issue", 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 blotcms/blot --skill investigate-dropbox-sync-issue -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install blotcms/blot investigate-dropbox-sync-issue --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/blotcms/blot.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/investigate-dropbox-sync-issue .opencode/skills/investigate-dropbox-sync-issue && 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 "investigate-dropbox-sync-issue" agent skill from https://github.com/blotcms/blot/tree/master/.claude/skills/investigate-dropbox-sync-issue into .opencode/skills/investigate-dropbox-sync-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "investigate-dropbox-sync-issue", 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.
investigate-dropbox-sync-issueInvestigate a "Dropbox sync issue" alert email from Blot's hourly Dropbox sync validation (each flagged blog lists unsynced changes, Fix() repairs, errors and/or a stuck folder lock; the changes…
Investigate Dropbox Sync Issue is an agent skill from blotcms/blot. Investigate a "Dropbox sync issue" alert email from Blot's hourly Dropbox sync validation (each flagged blog lists unsynced changes, Fix() repairs, errors and/or a stuck folder lock; the changes line is what this skill investigates. For Fix() repairs use triage-sync-fix-repair). Uses the production log helpers to work out whether the flagged blog had a genuinely missed/dropped webhook sync, a race with a live edit, or a real bug, then appends a short entry to this skill's incident log. Use when the user pastes or…
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Webhooks. It works with Dropbox and Docker. The repository describes itself as: Turns a folder into a website. The licence is AGPL-3.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 92e37a1. 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:
sshdockerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use ssh and docker, 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.
Investigate Dropbox Sync Issue loads about 3.9k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 2,130 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 blotcms/blot at commit 92e37a1, republished under its AGPL-3.0 licence (© blotcms). 2,130 words, ~3,926 tokens.
.claude/skills/investigate-dropbox-sync-issue/SKILL.md (or your agent's skills folder).app/clients/dropbox/init.js (validateAllBlogs) runs at minute 0 of every
hour in the green container. For each Dropbox blog with a last_sync
in the last hour it takes the folder lock, does a full resync of the folder
from Dropbox (resetToBlotWithLock), and counts how many files it had to
change. If the count is > 0 the blog goes in the email
(app/helper/email/admin/DROPBOX_SYNC_ISSUE.txt, built by
app/clients/util/syncReport.js, "N unsynced changes (downloaded, removed,
created dirs)") — meaning "a full listing
of Dropbox disagreed with Blot's copy, so the normal delta/webhook sync
missed something (or hadn't caught up yet)". After the resync it runs
fixBlog and a catchUpSync. The same email also lists a blog whose Fix()
repaired anything, whose walk / Fix() / catch-up sync threw ("error during
<phase>: …"), or whose folder lock is busy and has been held for over an hour
("folder lock held for Xh Ym - sync may be hung"; a hung sync inside a live
process, on whichever container holds it).
The email is sent right after the run finishes, so its timestamp ≈ the
Sync validation complete checked=N issues=M log line (email times are the
user's local time; logs are UTC). The email's two backtick commands are
the starting point:
logs green | grep "<first 12 chars of blog id> sync_"
access <handle>Always confirm with the user before running anything against production,
and stick to read-only commands (see investigate-production-container-restarts
for the SSH host/architecture background: host blot, helpers in the
remote ~/.bashrc, containers blot-container-{blue,green,yellow}).
Sync/validation logs are in green only.
Run everything as ssh blot "docker logs blot-container-green --timestamps 2>&1 | …".
(logs green is a bashrc function and lacks --timestamps; use docker logs
directly so you can window by time.) Docker logs are lost when the container
is recreated by a deploy, so investigate promptly and say so if the window is
gone.
issues= is
the number of blogs flagged.… | grep -i 'hourly sync validation\|Sync validation complete\|Error validating' | awk '$1>"<UTC day>T<hour-2>"'complete line is ~the email time and has issues>=1 is
yours. Error validating sync for blog … 401/409 lines from other blogs
in the same run are disconnected/revoked Dropbox accounts — noise, not
related unless the flagged blog appears.sync_<id> that immediately says Syncing folder from Dropbox to Blot followed by (n/total) Checking /path … lines. Filter the noise and
keep only the actions:… | grep '<blog12>' | grep -v 'Checking /\|Delta' | awk '$1>"…" && $1<"…"'Removing /…, Downloading /…, Updating, Uploading lines
from the validation's sync_ id — those are the "changes". Note the
file(s) involved.Fetched N changes … Finished sync)? Was it a move/rename/draft
toggle (Removing from folder + Downloading <new path> in the same sync)?(n/total) change mid-run (e.g. n/T then m/T+1)? A growing total means the user was editing Dropbox while
validation walked the folder → race, not a missed webhook.Failed to acquire lock on folder while
validation held the lock is by design (the catchUpSync covers it).Starting sync
with no Finished sync)? Any slow steps (Saving file in database
taking many seconds)?Error, Failed, 401/409, ETIMEDOUT, container restart
(Scheduling hourly sync validation appearing again = process restart)
near the file's last change? Cross-check with the restart skill.Folder in sync with Dropbox) and the next hourly runs (issues=0 for that blog). If it
stays flagged hour after hour, it's a real persistent divergence, not a race.access <handle> /
req <pattern> (bashrc helpers) for dashboard/webhook traffic around the
time.Starting sync at all (webhook never arrived / process was down / listBlogs
failed after the 200 ack — see root TODO). Real, needs follow-up.TODO (or note it for a PR).Read this first: a repeated pattern changes the classification. Newest entries last.
Privacy: this file is committed to the repo, so entries must contain no customer information. Do not write blog IDs, blog handles, domains, file names, folder/file paths, post titles, or anything else that identifies a customer or their content. Describe things generically ("a draft file was moved out of and back into a drafts folder"). Also keep out userbase/infra size numbers (e.g. how many blogs were checked).
Instead, give a precise UTC timestamp (to the second) for the validation
run start, the complete line and the key events, plus which container and
the sync_ IDs involved (random per-sync tokens, not customer data). A future
agent can use those to re-find the incident in the logs (while the container's
logs still exist) without the entry itself exposing who or what it was about.
Entry template:
### <date> <HH:MM:SS> UTC validation run — <classification>
- Alert / trigger: …
- Key events (UTC, to the second): …
- Cause: …
- Follow-up: …sync_aa1cebb) applied
a user moving a draft post file out of its drafts folder. 19:02:44.954
validation (sync_c79c5d9) took the folder lock and began its full
listing. While it walked, its running file total grew by one because
the user had moved the file back into the drafts folder; validation
removed the moved copy from Blot, downloaded the drafts copy and
re-uploaded its preview file (the 1 "change"), finishing 19:03:14.714.sync_1d0485e, 19:03:05.679) logged Failed to acquire lock on folder because validation held the lock — by design. The
catch-up sync (sync_43caa8d, 19:03:14.002) re-fetched the same changes as
a no-op. Blot matched Dropbox by 19:03:18; every later hourly run had
issues=0.Error validating lines for other blogs appeared in the same run
(revoked/moved Dropbox accounts).sync_61eeebe)
applied two draft-toggle renames (file renamed with a leading underscore).
15:01:41.629 validation (sync_e6eb1b0) took the folder lock; its running
total grew 1614→1615→1616 mid-walk as the user kept editing. It removed one
file and re-downloaded/saved another (the 1 "change"), finishing 15:03:11.617.sync_76144f8, 15:02:12) logged Failed to acquire lock on folder (by design). Catch-up sync (sync_d28563b, 15:03:13) re-applied
the same two changes (hash matched, no re-download); in sync by 15:03:17.
Further edits synced normally (15:04:12, 15:04:36). Later hourly runs
completed with issues=0 (16:00, 17:00, 19:00).complete: the process
restarted (Scheduling hourly sync validation at 18:03:16 and 20:01:50), so
those runs were cut short — worth checking with the restart skill.RestartCount had gone from 0 to 2; both restarts turned out to be
[LOCK COMPROMISED] process crashes (by design, per app/sync/README)
during the hourly validation run, not deploy activity.fixBlog/Fix() stage.
16:00:00 run - same shape: a lock (held by a different unrelated live
sync) went compromised at 16:01:08, ~13s into validation's Fix() stage
for the blog with by far the longest walk of the run (repeated across
both runs). Both crashes aborted their validation run mid-way (no
Sync validation complete line either hour).[LOCK] slow heartbeat logging (added for exactly this
investigation) showed tickDelay≈0ms with roundTrip up to 11s at crash
time - ruling out event-loop blocking and matching Redis's own SLOWLOG
staying clean (no single slow command). Fix()'s entry-ghosts check
(and its four siblings) reads every entry of a blog with one sequential
Redis round trip each, over the single shared connection
(app/models/client.js) that the lock heartbeat also uses - a blog with
several hundred posts going through Fix() is enough to starve an
unrelated blog's heartbeat past its 10s TTL. The crashed blogs were not
themselves unusually large; they were just live syncs unlucky enough to
have a heartbeat due while Fix() was busy on someone else's Redis
traffic.[LOCK] slow heartbeat/heartbeat error roundTrip vs
tickDelay logging (app/sync/lock.js), per-check timing in Fix(), an
entries=N field on the validation lag log line, and a runningFixCheck
field on [LOCK COMPROMISED] diagnostics (previously invisible there,
since Fix() doesn't hold the folder lock) - see the PR for this entry.
Also fixed [LOCK COMPROMISED]'s diagnostics logging, which was silently
truncating pendingSyncs/pendingUpdates to [Object] via
console.error's default inspection depth. Not yet fixed: giving the lock
heartbeat its own dedicated Redis connection so Fix() traffic can't
queue ahead of it, or batching Fix()'s per-entry reads.sync_f20972f did its last delta check at
10:49:28.98, then spent until 10:49:34.64 building templates while it held
the lock. A new file landed in Dropbox ~10:49:31; its webhook arrived
10:49:33.49 (200 ack) but no sync started and no Failed to acquire lock
was logged. No further edits, so nothing else triggered a sync until
validation (sync_634d20c, 11:00:25) downloaded the file. Catch-up
sync_68fdba5 was a no-op.ongoingSyncs set
without logging or queueing a re-run. A change that arrives after a sync's
final delta check but before it finishes is lost until the next webhook.
Unlike the earlier race entries, it would not have converged on its own.Webhook received mid-sync, queueing follow-up sync and re-runs the sync
once the current one finishes (Running follow-up sync …). Tip: grep clients/dropbox/webhook around
the missed file's time to see webhooks that got no Starting sync.sync_46e5232, sync_78b1f38).
Validation (sync_ea6b9ea) took the lock at 14:00:58.715; the files were
deleted in Dropbox right after, and the 14:01:06 webhook's sync
(sync_42cc4ca) logged Failed to acquire lock on folder (by design).
Validation reached them at 14:01:25 and removed all three (the 3
"changes"). The walk total stayed fixed (895) because deletions don't grow it.sync_e2a148e (14:01:39) fetched the same 3 deletions as a
no-op, and it was in sync by 14:01:43. Every later hourly run had issues=0.server_modified plus a 30s grace, but removals and
new folders have no timestamp. Fixed in the PR for this entry: after the walk,
resetToBlot lists what Dropbox changed since its pre-walk cursor and
doesn't count those changes (changedDuringWalk; it logs N change(s) were made in Dropbox during the walk).© blotcms, AGPL-3.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 .claude/skills/investigate-dropbox-sync-issue of blotcms/blot.
Open the folder on GitHubat commit 92e37a1
Investigate Dropbox Sync Issue 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 |
|---|---|---|---|---|---|---|
| Investigate Dropbox Sync Issue this skillblotcms/blot | 2k | — | ~3.9k | Automated safety check: Pass | AGPL-3.0 | |
| Verifygregluffy/HomeLabInfo | 103 | — | ~424 | Automated safety check: Pass | GPL-3.0 | |
| Configure Webhook Bdd TestNVIDIA-AI-Blueprints/video-search-and-summarization | 1.9k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| Ha UltimateLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.9k | Automated safety check: Notes | MIT | |
| Clay Deploy Integrationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Openclaw N8n OrchestratorLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.1k | Automated safety check: Notes | MIT |
gregluffy/HomeLabInfo
Build, run, and drive the HomeLabInfo backend to verify changes at its real surfaces (REST API, UDP DHCP listener, outgoing webhooks).
NVIDIA-AI-Blueprints/video-search-and-summarization
Configure the Docker Compose webhook receivers required by the VIOS webhook notification BDD tests, including the custom body template cases.
LeoYeAI/openclaw-master-skills
Definitive Home Assistant skill for AI agents. An agent skill from LeoYeAI/openclaw-master-skills.
jeremylongshore/tons-of-skills-marketplace
Deploy Clay-powered applications to Vercel, Cloud Run, or Docker with proper secrets management.
LeoYeAI/openclaw-master-skills
When the user wants to connect an OpenClaw agent to n8n workflows, create n8n webhook skills for OpenClaw, route agent API calls through n8n for credential isolation, build bidirectional…
ericrisco/rsc-harness
A skill your agent uses when wiring an e-signature flow with DocuSign or Dropbox Sign — picking the SES/AES/QES legal tier, sending a PDF or template for signature, embedded signing, verifying…
blotcms/blot
Review what Blot's request-time folder-link rewrite (app/blog/render/replaceFolderLinks) still does in production, from the [folder-links] and [folder-asset-origin] log lines, to decide what has to…
blotcms/blot
Work out why the blot-container-{blue,green,yellow} Docker containers from the most recent production deployment have restarted — distinguishing a normal deploy-triggered restart from a crash (V8…
blotcms/blot
Scan the production openresty access log (/var/instance-ssd/logs/access.log) for requests with slow upstream response times (st=, the time the node containers took to answer), triage and rank them…
blotcms/blot
Investigate an "iCloud resync requested" admin email ("A resync was requested for site blog…") or any other iCloud / macserver sync problem.
blotcms/blot
Analyze production Node.js app container response times to find slow-rendering sites, cross-checking against nginx queuing delay to rule out false positives (a site only looks slow because the event…
blotcms/blot
Triage Fix() repairs reported in a "<Client sync issue" digest email (Dropbox sync issue, etc.; the "Fix() repaired:" lines under a blog) or in a "Resync found changes" email.
Categories
Investigate a "Dropbox sync issue" alert email from Blot's hourly Dropbox sync validation (each flagged blog lists unsynced changes, Fix() repairs, errors and/or a stuck folder lock; the changes…. Investigate Dropbox Sync Issue is an agent skill from blotcms/blot. Investigate a "Dropbox sync issue" alert email from Blot's hourly Dropbox sync validation (each flagged blog lists unsynced changes, Fix() repairs, errors and/or a stuck folder lock; the changes line is what this skill investigates.
Investigate Dropbox Sync Issue fits situations like: the user pastes; forwards one of these alerts; asks to look into a Dropbox sync validation issue.
Run `npx skills add blotcms/blot --skill investigate-dropbox-sync-issue -a claude-code`. Or copy the skill folder (.claude/skills/investigate-dropbox-sync-issue in blotcms/blot) into .claude/skills/investigate-dropbox-sync-issue in your project. Claude Code loads it when a task matches its description.
Run `npx skills add blotcms/blot --skill investigate-dropbox-sync-issue -a codex`. Or copy the skill folder (.claude/skills/investigate-dropbox-sync-issue in blotcms/blot) into .agents/skills/investigate-dropbox-sync-issue 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 blotcms/blot --skill investigate-dropbox-sync-issue -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/investigate-dropbox-sync-issue, .gemini/skills/investigate-dropbox-sync-issue, .github/skills/investigate-dropbox-sync-issue and .opencode/skills/investigate-dropbox-sync-issue in your project.
Going by SKILL.md and its folder, Investigate Dropbox Sync Issue needs the command-line tools its instructions call (ssh and docker). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use ssh and docker, 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.
Investigate Dropbox Sync Issue is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k 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 Investigate Dropbox Sync Issue: Verify (gregluffy/HomeLabInfo, 103 stars), Configure Webhook Bdd Test (NVIDIA-AI-Blueprints/video-search-and-summarization, 1.9k stars), Ha Ultimate (LeoYeAI/openclaw-master-skills, 2.2k stars) and Clay Deploy Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
blotcms (a GitHub organization) maintains it in blotcms/blot, which has 1,983 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 7, 2026.
Source: blotcms/blot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.