GreptimeDB Release Runbook
GreptimeTeam/greptimedb
Runbook for publishing a GreptimeDB version: pick the release branch, verify the Cargo version, then tag, create the GitHub release and open the docs note PR.
Agent skill
by jeremylongshore in jeremylongshore/tons-of-skills-marketplace
Troubleshoot Obsidian plugin failures with systematic incident response.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill obsidian-incident-runbook -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace obsidian-incident-runbook --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/obsidian-incident-runbook .claude/skills/obsidian-incident-runbook && 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 "obsidian-incident-runbook" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/obsidian-incident-runbook into .claude/skills/obsidian-incident-runbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-incident-runbook", 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/obsidian-incident-runbookType 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 obsidian-incident-runbook -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace obsidian-incident-runbook --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/obsidian-incident-runbook .agents/skills/obsidian-incident-runbook && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "obsidian-incident-runbook" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/obsidian-incident-runbook into .agents/skills/obsidian-incident-runbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-incident-runbook", 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 obsidian-incident-runbook -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace obsidian-incident-runbook --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/obsidian-incident-runbook .cursor/skills/obsidian-incident-runbook && 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 "obsidian-incident-runbook" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/obsidian-incident-runbook into .cursor/skills/obsidian-incident-runbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-incident-runbook", 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/obsidian-incident-runbook--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 obsidian-incident-runbook -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace obsidian-incident-runbook --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/obsidian-incident-runbook .gemini/skills/obsidian-incident-runbook && 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 "obsidian-incident-runbook" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/obsidian-incident-runbook into .gemini/skills/obsidian-incident-runbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-incident-runbook", 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 obsidian-incident-runbookInstalls 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 obsidian-incident-runbook -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/obsidian-incident-runbook .github/skills/obsidian-incident-runbook && 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 "obsidian-incident-runbook" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/obsidian-incident-runbook into .github/skills/obsidian-incident-runbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-incident-runbook", 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 obsidian-incident-runbook -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 obsidian-incident-runbook --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/obsidian-incident-runbook .opencode/skills/obsidian-incident-runbook && 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 "obsidian-incident-runbook" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/skills/.curated/obsidian-incident-runbook into .opencode/skills/obsidian-incident-runbook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "obsidian-incident-runbook", 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.
obsidian-incident-runbookTroubleshoot Obsidian plugin failures with systematic incident response.
Obsidian Incident Runbook is an agent skill from jeremylongshore/tons-of-skills-marketplace. Troubleshoot Obsidian plugin failures with systematic incident response. Use when plugins crash, data is corrupted, or users report critical issues with your Obsidian plugin. Trigger with phrases like "obsidian crash", "obsidian plugin broken", "obsidian incident", "debug obsidian failure", "obsidian emergency".
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/implementation-guide.md`). Compatibility notes: Designed for Claude Code
It sits in DevOps & Cloud, covering Runbooks and postmortems and Incident response. It works with Obsidian and Git. 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.
6 steps, taken from the step headings 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:
ReadGrepBash(node:*)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
vaultgitpython3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
help.obsidian.mdforum.obsidian.mddiscord.ggdocs.obsidian.mdFrom 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.
Designed for Claude Code
From compatibility in the SKILL.md frontmatter.
Obsidian Incident Runbook loads about 3.2k tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 723 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 MIT licence (© jeremylongshore). 723 words, ~3,188 tokens.
.claude/skills/obsidian-incident-runbook/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Systematic procedures for diagnosing and resolving Obsidian failures: plugin crashes, vault corruption, sync conflicts, performance degradation, and broken CSS/themes. Each section is a self-contained runbook -- jump to the relevant one.
Determine the category before diving in:
| Symptom | Category | Go to |
|---|---|---|
| Obsidian crashes on open or plugin enable | Plugin crash | Step 2 |
| Notes missing, corrupted, or garbled | Vault corruption | Step 3 |
| Duplicate files, conflicting edits | Sync conflicts | Step 4 |
| Obsidian slow, high CPU/memory, lag while typing | Performance | Step 5 |
| UI elements missing, wrong colors, broken layout | CSS/Theme | Step 6 |
Immediate: Enter Safe Mode
If Obsidian crashes on startup, force safe mode:
VAULT_PATH=~/path/to/vault
# Option A: Disable all community plugins
echo '[]' > "$VAULT_PATH/.obsidian/community-plugins.json"
# Option B: Disable a specific suspect plugin
python3 -c "
import json
plugins = json.load(open('$VAULT_PATH/.obsidian/community-plugins.json'))
suspect = 'plugin-id-here'
if suspect in plugins:
plugins.remove(suspect)
json.dump(plugins, open('$VAULT_PATH/.obsidian/community-plugins.json', 'w'))
print(f'Disabled {suspect}')
else:
print(f'{suspect} not in active plugins')
"Reopen Obsidian. If it loads, the disabled plugin was the cause.
Diagnose from Console
Open Developer Console (Ctrl+Shift+I) and look for errors:
// Check for plugin load failures
Object.entries(app.plugins.manifests).forEach(([id, manifest]) => {
const loaded = app.plugins.plugins[id];
if (!loaded) console.error(`FAILED TO LOAD: ${id} v${manifest.version}`);
});
// Check for unhandled rejections in recent history
// (must be open before reproducing the issue)
window.addEventListener('unhandledrejection', (e) => {
console.error('Unhandled rejection:', e.reason);
});Binary search for the offending plugin
If multiple plugins could be the cause:
VAULT_PATH=~/path/to/vault
PLUGINS_FILE="$VAULT_PATH/.obsidian/community-plugins.json"
# Save original list
cp "$PLUGINS_FILE" "$PLUGINS_FILE.bak"
# Get all plugins
python3 -c "
import json
plugins = json.load(open('$PLUGINS_FILE'))
half = len(plugins) // 2
# Enable only first half
json.dump(plugins[:half], open('$PLUGINS_FILE', 'w'))
print(f'Enabled {half} of {len(plugins)} plugins: {plugins[:half]}')
print(f'Disabled: {plugins[half:]}')
print('Open Obsidian. If it crashes, problem is in first half. If stable, second half.')
"Repeat halving until you isolate the single offending plugin.
Check for corrupted files
VAULT_PATH=~/path/to/vault
# Find files with null bytes (corruption indicator)
echo "=== Files with null bytes ==="
find "$VAULT_PATH" -name '*.md' -not -path '*/.obsidian/*' -exec grep -Pl '\x00' {} \;
# Find zero-byte files (likely lost content)
echo "=== Empty files ==="
find "$VAULT_PATH" -name '*.md' -not -path '*/.obsidian/*' -empty
# Find files with broken YAML frontmatter
echo "=== Broken frontmatter ==="
for f in "$VAULT_PATH"/*.md "$VAULT_PATH"/**/*.md; do
[ -f "$f" ] || continue
if head -1 "$f" | grep -q '^---' && ! awk '/^---/{c++; if(c==2) exit 0} END{exit (c<2)}' "$f"; then
echo " Unclosed frontmatter: $f"
fi
doneRecover from .trash
Obsidian moves deleted files to .trash/ in the vault:
# List recently deleted files
ls -lt "$VAULT_PATH/.trash/" 2>/dev/null | head -20
# Restore a specific file
cp "$VAULT_PATH/.trash/important-note.md" "$VAULT_PATH/recovered/"Recover from Git backup
If the vault is under Git version control:
cd "$VAULT_PATH"
# See what changed recently
git log --oneline -20
git diff HEAD~1 --stat
# Restore a specific file to its last good state
git checkout HEAD~1 -- "path/to/corrupted-note.md"
# Restore the entire vault to last commit (DESTRUCTIVE -- stash first)
git stash
git checkout HEAD -- .Recover from filesystem snapshots
# macOS Time Machine
tmutil listbackups 2>/dev/null | tail -5
# Then browse: /Volumes/TimeMachine/Backups.backupdb/.../path/to/vault
# Linux (btrfs snapshots)
ls /.snapshots/ 2>/dev/nullObsidian Sync conflicts
Obsidian Sync creates conflict files named Note (conflict YYYY-MM-DD).md:
VAULT_PATH=~/path/to/vault
# Find all conflict files
echo "=== Sync Conflicts ==="
find "$VAULT_PATH" -name '*conflict*' -not -path '*/.obsidian/*'
# Compare a conflict with its original
ORIGINAL="$VAULT_PATH/Meeting Notes.md"
CONFLICT=$(find "$VAULT_PATH" -name "Meeting Notes*conflict*" | head -1)
if [ -n "$CONFLICT" ]; then
diff "$ORIGINAL" "$CONFLICT"
fiResolution: Open both files in Obsidian, manually merge content into the original, delete the conflict file.
Git sync conflicts
cd "$VAULT_PATH"
# Check for merge conflicts
git status | grep 'both modified'
# For each conflicted file, resolve the conflict markers
# <<<<<<< HEAD
# (your changes)
# =======
# (their changes)
# >>>>>>> branch
grep -rl '<<<<<<< ' "$VAULT_PATH"/*.md 2>/dev/nullPrevent future conflicts
In .obsidian/sync.json or your Git workflow:
workspace.json and workspace-mobile.json from sync (per-device files)Diagnose the bottleneck
// Paste in Developer Console
// Check memory usage
console.log('Memory:', JSON.stringify(performance.memory, null, 2));
// Time plugin load
Object.entries(app.plugins.plugins).forEach(([id, plugin]) => {
const start = performance.now();
// Plugins are already loaded, but check their event listener count
const events = plugin._events?.length || 0;
console.log(`${id}: ${events} event listeners`);
});
// Check for expensive metadata cache operations
console.time('metadataCache');
const allFiles = app.vault.getMarkdownFiles();
allFiles.forEach(f => app.metadataCache.getFileCache(f));
console.timeEnd('metadataCache');
console.log(`Files scanned: ${allFiles.length}`);Disable plugins one by one
Systematic approach to find the performance culprit:
VAULT_PATH=~/path/to/vault
PLUGINS_FILE="$VAULT_PATH/.obsidian/community-plugins.json"
# Save original
cp "$PLUGINS_FILE" "$PLUGINS_FILE.bak"
# Get plugin list
python3 -c "
import json
plugins = json.load(open('$PLUGINS_FILE'))
print('Current plugins:')
for i, p in enumerate(plugins):
print(f' {i}: {p}')
print(f'\nTotal: {len(plugins)} plugins')
print('\nTo disable one at a time:')
for p in plugins:
without = [x for x in plugins if x != p]
print(f' Without {p}: {len(without)} remaining')
"Then for each suspect:
community-plugins.jsonCommon performance fixes
Nuclear option: Reset all custom CSS
VAULT_PATH=~/path/to/vault
# Disable all CSS snippets
python3 -c "
import json
try:
a = json.load(open('$VAULT_PATH/.obsidian/appearance.json'))
a['enabledCssSnippets'] = []
a['cssTheme'] = '' # Reset to default theme
json.dump(a, open('$VAULT_PATH/.obsidian/appearance.json', 'w'), indent=2)
print('Reset theme and disabled all snippets')
except Exception as e:
print(f'Error: {e}')
"Restart Obsidian. If the UI is fixed, re-enable snippets and theme one at a time.
Check for CSS conflicts
VAULT_PATH=~/path/to/vault
# Find snippets with aggressive selectors
for snippet in "$VAULT_PATH/.obsidian/snippets"/*.css; do
[ -f "$snippet" ] || continue
name=$(basename "$snippet")
important_count=$(grep -c '!important' "$snippet" 2>/dev/null)
if [ "$important_count" -gt 0 ]; then
echo "$name: $important_count !important declarations"
fi
done
# Check theme compatibility with current Obsidian version
THEME_DIR="$VAULT_PATH/.obsidian/themes"
for theme in "$THEME_DIR"/*/manifest.json; do
[ -f "$theme" ] || continue
python3 -c "
import json
m = json.load(open('$theme'))
print(f\"{m.get('name')}: minAppVersion={m.get('minAppVersion', 'unspecified')}\")
"
doneDiagnose specific CSS problems
In Developer Console:
// Find which CSS rule is affecting a specific element
// Right-click the broken element -> Inspect
// In the Elements panel, check Computed styles and look for overrides
// Programmatically check for theme variable conflicts
const root = getComputedStyle(document.body);
const vars = [
'--background-primary', '--background-secondary',
'--text-normal', '--text-accent',
'--interactive-accent', '--interactive-hover'
];
vars.forEach(v => console.log(`${v}: ${root.getPropertyValue(v)}`));| Issue | Cause | Quick Fix |
|---|---|---|
| Console won't open (Obsidian crashes immediately) | Plugin error in onload() | Disable all plugins via filesystem (Step 2) |
| Can't access vault directory | Filesystem permissions | chmod -R u+rw "$VAULT_PATH" |
Plugin won't disable via community-plugins.json | File locked by sync | Stop sync service, edit file, restart |
| Obsidian hangs (not crashing, just frozen) | Infinite loop in plugin | Force-quit (kill process), then disable suspect plugin |
| Safe mode still crashes | Core Obsidian issue, not plugins | Reinstall Obsidian; vault data is separate from app |
| Recovery file also corrupted | Filesystem-level issue | Check disk health (fsck, diskutil, chkdsk) |
Plugin crash on startup: User reports Obsidian instantly closes after opening a vault. Enter safe mode by clearing community-plugins.json (Step 2). Reopen works. Binary search reveals obsidian-excalidraw conflicts with a newly installed obsidian-kanban. Disable one, report the conflict to both plugin authors.
Missing notes after sync: User opens vault on laptop, 20 notes are gone. Check .trash/ -- empty. Check Git log -- notes were deleted in a commit from their phone. git checkout HEAD~3 -- missing-folder/ restores them. Add the folder to selective sync to prevent mobile edits.
Slow vault with 8,000 notes: Obsidian takes 15 seconds to open and typing lags. Developer Console shows metadataCache taking 4 seconds. Disabling Dataview drops it to 1 second. Solution: configure Dataview to use manual refresh instead of auto-refresh, and add dv.pages limits to expensive queries.
For collecting detailed diagnostics to share with plugin developers, see obsidian-debug-bundle. For data backup and recovery strategies, see obsidian-data-handling.
© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/.curated/obsidian-incident-runbook of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Obsidian Incident Runbook 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 |
|---|---|---|---|---|---|---|
| Obsidian Incident Runbook this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~3.2k | Automated safety check: Pass | MIT | |
| GreptimeDB Release RunbookGreptimeTeam/greptimedb | 6.7k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Obsidian WriterAtmosphere/atmosphere | 3.8k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Oncallpigweed-project/pigweed | 548 | — | ~963 | Automated safety check: Pass | Apache-2.0 | |
| Activation Governance Chaos RolloutAli-Marandi/DataSense | 107 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Incident Response686f6c61/alfred-dev | 117 | — | ~1.1k | Automated safety check: Pass | MIT |
GreptimeTeam/greptimedb
Runbook for publishing a GreptimeDB version: pick the release branch, verify the Cargo version, then tag, create the GitHub release and open the docs note PR.
Atmosphere/atmosphere
Write well-formatted notes to the atmosphere-vault Obsidian knowledge base.
pigweed-project/pigweed
Pigweed oncall rotation runbooks and maintenance workflows (such as rolling CIPD client tools for b/315378787).
Ali-Marandi/DataSense
Design, validate, and govern fail-closed customer-activation automations that use an Outbox/worker pattern.
686f6c61/alfred-dev
Protocolo de respuesta ante incidentes en produccion: triaje, mitigacion, causa raiz y postmortem.
superset-sh/superset
Does a read-only first pass on a possible production incident: gathers deploy, Sentry and health-check signals, proposes a severity and status message, then stops for human approval.
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.
Categories
Troubleshoot Obsidian plugin failures with systematic incident response. Obsidian Incident Runbook is an agent skill from jeremylongshore/tons-of-skills-marketplace. Troubleshoot Obsidian plugin failures with systematic incident response.
Obsidian Incident Runbook fits situations like: data is corrupted; users report critical issues with your Obsidian plugin; with phrases like obsidian crash; obsidian plugin broken.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill obsidian-incident-runbook -a claude-code`. Or copy the skill folder (skills/.curated/obsidian-incident-runbook in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/obsidian-incident-runbook in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill obsidian-incident-runbook -a codex`. Or copy the skill folder (skills/.curated/obsidian-incident-runbook in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/obsidian-incident-runbook 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 obsidian-incident-runbook -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/obsidian-incident-runbook, .gemini/skills/obsidian-incident-runbook, .github/skills/obsidian-incident-runbook and .opencode/skills/obsidian-incident-runbook in your project.
Going by SKILL.md and its folder, Obsidian Incident Runbook needs the command-line tools its instructions call (vault, git and python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Grep, Bash(node:*). Compatibility (from SKILL.md): Designed for Claude Code.
SKILL.md names 4 domains. As links in the text: help.obsidian.md, forum.obsidian.md, discord.gg and docs.obsidian.md. 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.
Obsidian Incident Runbook is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Obsidian Incident Runbook: GreptimeDB Release Runbook (GreptimeTeam/greptimedb, 6.7k stars), Obsidian Writer (Atmosphere/atmosphere, 3.8k stars), Oncall (pigweed-project/pigweed, 548 stars) and Activation Governance Chaos Rollout (Ali-Marandi/DataSense, 107 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.