Support
haacked/dotfiles
Support hero workflow — start a ticket investigation with auto-organized notes, find existing notes, or generate the weekly highlights log.
Collect AppFolio API debug evidence for support tickets. An agent skill from jeremylongshore/tons-of-skills-marketplace.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill appfolio-debug-bundle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace appfolio-debug-bundle --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/skills/.curated/appfolio-debug-bundle .claude/skills/appfolio-debug-bundle && 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 "appfolio-debug-bundle" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/appfolio-debug-bundle into .claude/skills/appfolio-debug-bundle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appfolio-debug-bundle", 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/skills/.curated/appfolio-debug-bundleType 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 appfolio-debug-bundle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace appfolio-debug-bundle --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/skills/.curated/appfolio-debug-bundle .agents/skills/appfolio-debug-bundle && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "appfolio-debug-bundle" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/appfolio-debug-bundle into .agents/skills/appfolio-debug-bundle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appfolio-debug-bundle", 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 appfolio-debug-bundle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace appfolio-debug-bundle --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/skills/.curated/appfolio-debug-bundle .cursor/skills/appfolio-debug-bundle && 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 "appfolio-debug-bundle" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/appfolio-debug-bundle into .cursor/skills/appfolio-debug-bundle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appfolio-debug-bundle", 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 skills/.curated/appfolio-debug-bundle--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 appfolio-debug-bundle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace appfolio-debug-bundle --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/skills/.curated/appfolio-debug-bundle .gemini/skills/appfolio-debug-bundle && 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 "appfolio-debug-bundle" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/appfolio-debug-bundle into .gemini/skills/appfolio-debug-bundle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appfolio-debug-bundle", 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 appfolio-debug-bundleInstalls 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 appfolio-debug-bundle -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/skills/.curated/appfolio-debug-bundle .github/skills/appfolio-debug-bundle && 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 "appfolio-debug-bundle" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/appfolio-debug-bundle into .github/skills/appfolio-debug-bundle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appfolio-debug-bundle", 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 appfolio-debug-bundle -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 appfolio-debug-bundle --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/skills/.curated/appfolio-debug-bundle .opencode/skills/appfolio-debug-bundle && 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 "appfolio-debug-bundle" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/appfolio-debug-bundle into .opencode/skills/appfolio-debug-bundle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "appfolio-debug-bundle", 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.
appfolio-debug-bundleCollect AppFolio API debug evidence for support tickets. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Appfolio Debug Bundle is an agent skill from jeremylongshore/tons-of-skills-marketplace. Collect AppFolio API debug evidence for support tickets. Trigger: "appfolio debug".
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: Designed for Claude Code
It sits in Sales & Support, covering Customer support. 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 MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 23ea8d4. 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:
ReadWriteEditBash(npm:*)Bash(curl:*)GrepFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlnodenpmjqFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
appfolio.comstatus.appfolio.comengineering.appfolio.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APPFOLIO_CLIENT_SECRETFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Appfolio Debug Bundle loads about 2k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 531 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 noted patterns worth knowing about, such as sudo or a known installer.
hows curl SSL error | Update CA bundle: `sudo update-ca-certificates`; check proxy settings |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 23ea8d4, republished under its MIT licence (© jeremylongshore). 531 words, ~2,028 tokens.
.claude/skills/appfolio-debug-bundle/SKILL.md (or your agent's skills folder).This debug bundle collects diagnostic evidence from AppFolio property management API integrations for support escalation and root cause analysis. It captures API connectivity against the properties, tenants, and work orders endpoints, authentication status using client credential pairs, recent error logs from integration pipelines, and SDK version information. The resulting tarball gives support engineers everything they need to diagnose connectivity failures, auth rejections, and data sync issues without requiring live access to your environment.
curl, jq, tar installedAPPFOLIO_CLIENT_ID and APPFOLIO_CLIENT_SECRET configured (basic auth pair)APPFOLIO_BASE_URL set to your Stack API base (e.g., https://yourcompany.appfolio.com/api/v1)#!/bin/bash
set -euo pipefail
BUNDLE="debug-appfolio-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"
NETRC_FILE="$(mktemp)"
trap 'rm -f "$NETRC_FILE"' EXIT
chmod 600 "$NETRC_FILE"
APPFOLIO_HOST="${APPFOLIO_BASE_URL#https://}"
APPFOLIO_HOST="${APPFOLIO_HOST%%/*}"
printf 'machine %s login %s password %s\n' "$APPFOLIO_HOST" \
"$APPFOLIO_CLIENT_ID" "$APPFOLIO_CLIENT_SECRET" > "$NETRC_FILE"
probe() {
endpoint="$1"
curl -s -o /dev/null -w 'HTTP %{http_code} in %{time_total}s\n' \
--netrc-file "$NETRC_FILE" "${APPFOLIO_BASE_URL}/${endpoint}?per_page=1" \
|| printf 'UNREACHABLE\n'
}
# Environment check
echo "=== Environment ===" > "$BUNDLE/environment.txt"
echo "Base URL: ${APPFOLIO_BASE_URL:-NOT SET}" >> "$BUNDLE/environment.txt"
echo "Client ID: ${APPFOLIO_CLIENT_ID:+SET (redacted)}" >> "$BUNDLE/environment.txt"
echo "Client Secret: ${APPFOLIO_CLIENT_SECRET:+SET (redacted)}" >> "$BUNDLE/environment.txt"
echo "Node: $(node -v 2>/dev/null || echo 'not installed')" >> "$BUNDLE/environment.txt"
echo "Timestamp: $(date -u)" >> "$BUNDLE/environment.txt"
# API connectivity metadata only — never write API bodies into this bundle.
echo "=== API Health ===" > "$BUNDLE/api-health.txt"
probe properties >> "$BUNDLE/api-health.txt"
# Work orders endpoint probe
echo "=== Work Orders ===" > "$BUNDLE/work-orders.txt"
probe work_orders >> "$BUNDLE/work-orders.txt"
# Tenant endpoint probe
echo "=== Tenants ===" > "$BUNDLE/tenants.txt"
probe tenants >> "$BUNDLE/tenants.txt"
# Log inventory only; raw logs may contain tenant and financial data.
echo "=== Log Inventory ===" > "$BUNDLE/app-logs.txt"
find /var/log/appfolio-sync -maxdepth 1 -type f -printf '%f %s bytes\n' 2>/dev/null \
|| echo "No sync logs found" >> "$BUNDLE/app-logs.txt"
# Rate limit headers
echo "=== Rate Limits ===" > "$BUNDLE/rate-limits.txt"
curl -sI --netrc-file "$NETRC_FILE" \
"${APPFOLIO_BASE_URL}/properties?per_page=1" 2>/dev/null | grep -i "x-rate\|retry-after\|x-ratelimit" >> "$BUNDLE/rate-limits.txt" || echo "No rate limit headers" >> "$BUNDLE/rate-limits.txt"
# Package versions
echo "=== Dependencies ===" > "$BUNDLE/deps.txt"
npm ls 2>/dev/null | grep -i appfolio >> "$BUNDLE/deps.txt" || echo "No AppFolio npm packages found" >> "$BUNDLE/deps.txt"
tar -czf "$BUNDLE.tar.gz" "$BUNDLE" && rm -rf "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz"tar -xzf debug-appfolio-*.tar.gz
cat debug-appfolio-*/environment.txt # Verify credentials are set
cat debug-appfolio-*/api-health.txt # Check HTTP status and latency
cat debug-appfolio-*/rate-limits.txt # Confirm not throttled
jq '.errors' debug-appfolio-*/work-orders.txt 2>/dev/null # Parse error payloads| Symptom | Check in Bundle | Fix |
|---|---|---|
| 401 on all endpoints | environment.txt shows client ID/secret NOT SET | Set APPFOLIO_CLIENT_ID and APPFOLIO_CLIENT_SECRET in env |
| 403 Forbidden on tenants | tenants.txt HTTP 403 | Stack API scope missing; request tenant read permission in AppFolio partner portal |
| 429 Too Many Requests | rate-limits.txt shows retry-after header | Back off and implement exponential retry; AppFolio allows 120 req/min |
| Timeout on work orders | api-health.txt shows time > 30s | Reduce per_page parameter; filter by updated_since to narrow result set |
| Empty property list | api-health.txt returns [] | Verify APPFOLIO_BASE_URL points to correct portfolio; check property group filters |
| SSL certificate error | api-health.txt shows curl SSL error | Update CA bundle: sudo update-ca-certificates; check proxy settings |
Treat a probe failure as evidence of a failed probe, not permission to capture
larger responses or bypass credential controls. For 401/403, verify the
managed client configuration with the credential owner; for 429, preserve the
rate headers and pause further probes; for 5xx or timeout, collect only the
redacted timing/status evidence and check the provider status page. If support
needs a specific tenant or payment record, use a separately approved minimal
export with its own retention and access controls.
For a production sync timeout, create a bundle covering the affected time window and one properties safe-read probe. Confirm it contains status/latency, rate headers, dependency versions, and log file metadata—but no response body, credential, tenant, or financial data. Review the archive before uploading it to the approved encrypted support channel. If review finds a raw payload or secret, delete the archive, rotate as appropriate, and regenerate a minimized bundle before escalation.
async function checkAppFolioHealth(): Promise<{
status: string;
latencyMs: number;
endpoints: Record<string, number>;
}> {
const baseUrl = process.env.APPFOLIO_BASE_URL;
const creds = Buffer.from(
`${process.env.APPFOLIO_CLIENT_ID}:${process.env.APPFOLIO_CLIENT_SECRET}`
).toString("base64");
const headers = { Authorization: `Basic ${creds}` };
const endpoints = ["properties", "tenants", "work_orders"];
const results: Record<string, number> = {};
const start = Date.now();
for (const ep of endpoints) {
const res = await fetch(`${baseUrl}/${ep}?per_page=1`, { headers });
results[ep] = res.status;
}
return {
status: Object.values(results).every((s) => s === 200) ? "healthy" : "degraded",
latencyMs: Date.now() - start,
endpoints: results,
};
}See appfolio-rate-limits.
© jeremylongshore, MIT. 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 skills/.curated/appfolio-debug-bundle of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit 23ea8d4
Appfolio Debug Bundle 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 |
|---|---|---|---|---|---|---|
| Appfolio Debug Bundle this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2k | Automated safety check: Notes | MIT | |
| Supporthaacked/dotfiles | 134 | — | ~2.9k | Automated safety check: Pass | None | |
| Company Brain Company QAtopoteretes/cognee | 32k | — | ~750 | Automated safety check: Notes | Apache-2.0 | |
| Shopify Admin Address Correction40RTY-ai/shopify-admin-skills | 194 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Support Ticket Triagezapier/gtm-cheat-codes | 342 | — | ~670 | Automated safety check: Pass | MIT | |
| Customer Servicevivy-yi/xiaohongshu-skills | 474 | — | ~6.7k | Automated safety check: Pass | None |
haacked/dotfiles
Support hero workflow — start a ticket investigation with auto-organized notes, find existing notes, or generate the weekly highlights log.
topoteretes/cognee
Build one company memory from a SQL database, a support ticket export and a folder of documents, linked into one graph by cognee, then answer questions that need several of those sources together.
40RTY-ai/shopify-admin-skills
Update the shipping address on an unfulfilled order before it ships.
zapier/gtm-cheat-codes
Triage support tickets by pulling helpdesk context, searching issue trackers and knowledge bases in parallel, classifying the issue, and giving reps a recommended next action.
vivy-yi/xiaohongshu-skills
A skill your agent uses when handling customer inquiries on Xiaohongshu, responding to product questions, managing complaints and returns, building customer relationships through service, or…
forcedotcom/sf-skills
Create / provision / set up a NEW Digital Experience (Communities) / Experience Cloud site — employee service, IT support, help desk, HR, customer, and partner portals — via the headless-360 MCP…
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
Execute this skill enables AI assistant to perform natural language processing and text analysis using the nlp-text-analyzer plugin.
jeremylongshore/tons-of-skills-marketplace
Execute this skill allows AI assistant to construct and configure neural network architectures using the neural-network-builder plugin.
jeremylongshore/tons-of-skills-marketplace
Process identify anomalies and outliers in datasets using machine learning algorithms.
jeremylongshore/tons-of-skills-marketplace
Build this skill enables AI assistant to provide interpretability and explainability for machine learning models.
jeremylongshore/tons-of-skills-marketplace
Execute this skill optimizes prompts for large language models (llms) to reduce token usage, lower costs, and improve performance.
Categories
Collect AppFolio API debug evidence for support tickets. An agent skill from jeremylongshore/tons-of-skills-marketplace. Appfolio Debug Bundle is an agent skill from jeremylongshore/tons-of-skills-marketplace. Collect AppFolio API debug evidence for support tickets.
Appfolio Debug Bundle fits situations like: tasks that involve Customer support.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill appfolio-debug-bundle -a claude-code`. Or copy the skill folder (skills/.curated/appfolio-debug-bundle in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/appfolio-debug-bundle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill appfolio-debug-bundle -a codex`. Or copy the skill folder (skills/.curated/appfolio-debug-bundle in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/appfolio-debug-bundle 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 appfolio-debug-bundle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/appfolio-debug-bundle, .gemini/skills/appfolio-debug-bundle, .github/skills/appfolio-debug-bundle and .opencode/skills/appfolio-debug-bundle in your project.
Going by SKILL.md and its folder, Appfolio Debug Bundle needs the command-line tools its instructions call (curl, node, npm and jq) and credentials named APPFOLIO_CLIENT_SECRET. Our summary lists: A credential in APPFOLIO_CLIENT_SECRET. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(npm:*), Bash(curl:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.
SKILL.md names 3 domains. As links in the text: appfolio.com, status.appfolio.com and engineering.appfolio.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Appfolio Debug Bundle is published under the MIT 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 8.1k 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 Appfolio Debug Bundle: Support (haacked/dotfiles, 134 stars), Company Brain Company QA (topoteretes/cognee, 32k stars), Shopify Admin Address Correction (40RTY-ai/shopify-admin-skills, 194 stars) and Support Ticket Triage (zapier/gtm-cheat-codes, 342 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,821 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 8, 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.