Docs Gardening
mhmzdev/the-holy-quran-app
Audit and maintain The Holy Qur'an app's knowledge base (AGENTS.md, .agents/rules/, docs/ OKF bundle) for staleness, broken cross-links, drift from code, and OKF structural issues.
Audit the Claude Code ecosystem — skill health and staleness, project activity pulse, CLAUDE.md instruction drift, Mac Mini service status.
$ npx skills add glebis/claude-skills --skill ecosystem -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install glebis/claude-skills ecosystem --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/glebis/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ecosystem .claude/skills/ecosystem && 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 "ecosystem" agent skill from https://github.com/glebis/claude-skills/tree/main/ecosystem into .claude/skills/ecosystem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecosystem", 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/glebis/claude-skills/tree/main/ecosystemType 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 glebis/claude-skills --skill ecosystem -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install glebis/claude-skills ecosystem --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/ecosystem .agents/skills/ecosystem && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ecosystem" agent skill from https://github.com/glebis/claude-skills/tree/main/ecosystem into .agents/skills/ecosystem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecosystem", 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 glebis/claude-skills --skill ecosystem -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install glebis/claude-skills ecosystem --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/ecosystem .cursor/skills/ecosystem && 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 "ecosystem" agent skill from https://github.com/glebis/claude-skills/tree/main/ecosystem into .cursor/skills/ecosystem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecosystem", 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/glebis/claude-skills.git --path ecosystem--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 glebis/claude-skills --skill ecosystem -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install glebis/claude-skills ecosystem --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/ecosystem .gemini/skills/ecosystem && 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 "ecosystem" agent skill from https://github.com/glebis/claude-skills/tree/main/ecosystem into .gemini/skills/ecosystem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecosystem", 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 glebis/claude-skills ecosystemInstalls 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 glebis/claude-skills --skill ecosystem -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/ecosystem .github/skills/ecosystem && 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 "ecosystem" agent skill from https://github.com/glebis/claude-skills/tree/main/ecosystem into .github/skills/ecosystem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecosystem", 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 glebis/claude-skills --skill ecosystem -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install glebis/claude-skills ecosystem --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/glebis/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/ecosystem .opencode/skills/ecosystem && 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 "ecosystem" agent skill from https://github.com/glebis/claude-skills/tree/main/ecosystem into .opencode/skills/ecosystem/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ecosystem", 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.
ecosystemAudit the Claude Code ecosystem — skill health and staleness, project activity pulse, CLAUDE.md instruction drift, Mac Mini service status.
Ecosystem is an agent skill from glebis/claude-skills. Audit the Claude Code ecosystem — skill health and staleness, project activity pulse, CLAUDE.md instruction drift, Mac Mini service status. Use this skill whenever the user asks about ecosystem health, stale skills, abandoned projects, system status, infrastructure check, "what's broken", "what's stale", "how's my setup", or any request to review the state of their Claude Code environment. Also triggers on "/ecosystem", "audit my ecosystem", "ecosystem health", "ecosystem audit".
Its SKILL.md is about 2.1k 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 Agent Workflows, covering Agent instruction files and Note-taking. The repository describes itself as: Collection of Claude Code skills for enhanced AI workflows. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7524dff. 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:
gitcurlsshFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, curl and ssh, 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.
Ecosystem loads about 2.1k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 289 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 glebis/claude-skills at commit 7524dff, republished under its MIT licence (© glebis). 289 words, ~2,072 tokens.
.claude/skills/ecosystem/SKILL.md (or your agent's skills folder).On-demand audit of the Claude Code ecosystem. Runs 4 checks, prints a full report with an attention summary, and appends a summary to today's daily note.
Run all 4 checks sequentially using the bash blocks below. Each block runs in a fresh shell, so after all checks complete, compose the daily note summary and attention rollup from the terminal output you've collected.
CRITICAL: Run date +"%Y%m%d" before writing to the daily note.
Scan ~/.claude/skills/ for skill freshness and broken symlinks.
NOW=$(date +%s)
D30=$((NOW - 30*86400))
D90=$((NOW - 90*86400))
ACTIVE="" BROKEN=""
ACTIVE_N=0 RECENT_N=0 STALE_N=0 BROKEN_N=0 TOTAL=0
for entry in ~/.claude/skills/*/; do
[ -d "$entry" ] || continue
name=$(basename "$entry")
TOTAL=$((TOTAL + 1))
if [ -L "${entry%/}" ] && [ ! -e "${entry%/}" ]; then
target=$(readlink "${entry%/}")
BROKEN="${BROKEN} - ${name} -> ${target}\n"
BROKEN_N=$((BROKEN_N + 1))
continue
fi
real_path="$entry"
if [ -L "${entry%/}" ]; then
real_path="$(readlink "${entry%/}")/"
fi
newest=$(find "$real_path" -type f -exec stat -f %m {} + 2>/dev/null | sort -rn | head -1)
[ -z "$newest" ] && newest=0
if [ "$newest" -ge "$D30" ]; then
ACTIVE="${ACTIVE}, ${name}"
ACTIVE_N=$((ACTIVE_N + 1))
elif [ "$newest" -ge "$D90" ]; then
RECENT_N=$((RECENT_N + 1))
else
STALE_N=$((STALE_N + 1))
fi
done
echo "### Skills (${TOTAL} total)"
echo "- Active (30d): ${ACTIVE_N}${ACTIVE:+ — ${ACTIVE:2}}"
echo "- Recent (30-90d): ${RECENT_N}"
echo "- Stale (>90d): ${STALE_N}"
echo "- Broken symlinks: ${BROKEN_N}"
[ -n "$BROKEN" ] && printf "$BROKEN"Scan ~/ai_projects/ for git repo activity and CLAUDE.md presence. Cap dormant and abandoned lists at 10 names to keep output readable.
NOW=$(date +%s)
D30=$((NOW - 30*86400))
D180=$((NOW - 180*86400))
ACTIVE="" DORMANT="" ABANDONED="" DORMANT_N=0 ABANDONED_N=0 NO_CLAUDE=0
ACTIVE_N=0 GIT_TOTAL=0 DIR_TOTAL=0 NODATA=0
for dir in ~/ai_projects/*/; do
[ -d "$dir" ] || continue
DIR_TOTAL=$((DIR_TOTAL + 1))
[ -d "${dir}.git" ] || continue
GIT_TOTAL=$((GIT_TOTAL + 1))
last_commit=$(git -C "$dir" log -1 --format=%ct 2>/dev/null)
if [ -z "$last_commit" ]; then
NODATA=$((NODATA + 1))
continue
fi
name=$(basename "$dir")
if [ "$last_commit" -ge "$D30" ]; then
ACTIVE="${ACTIVE}, ${name}"
ACTIVE_N=$((ACTIVE_N + 1))
elif [ "$last_commit" -ge "$D180" ]; then
DORMANT_N=$((DORMANT_N + 1))
[ "$DORMANT_N" -le 10 ] && DORMANT="${DORMANT}, ${name}"
else
ABANDONED_N=$((ABANDONED_N + 1))
[ "$ABANDONED_N" -le 10 ] && ABANDONED="${ABANDONED}, ${name}"
fi
[ ! -f "${dir}CLAUDE.md" ] && NO_CLAUDE=$((NO_CLAUDE + 1))
done
DORMANT_SUFFIX=""
[ "$DORMANT_N" -gt 10 ] && DORMANT_SUFFIX=" and $((DORMANT_N - 10)) more"
ABANDONED_SUFFIX=""
[ "$ABANDONED_N" -gt 10 ] && ABANDONED_SUFFIX=" and $((ABANDONED_N - 10)) more"
echo ""
echo "### Projects (${DIR_TOTAL} dirs, ${GIT_TOTAL} git repos)"
echo "- Active (30d): ${ACTIVE_N}${ACTIVE:+ — ${ACTIVE:2}}"
echo "- Dormant (30-180d): ${DORMANT_N}${DORMANT:+ — ${DORMANT:2}${DORMANT_SUFFIX}}"
echo "- Abandoned (>6mo): ${ABANDONED_N}${ABANDONED:+ — ${ABANDONED:2}${ABANDONED_SUFFIX}}"
[ "$NODATA" -gt 0 ] && echo "- No data (empty/corrupt): ${NODATA}"
echo "- Missing CLAUDE.md: ${NO_CLAUDE}"Check if CLAUDE.md files are stale relative to their project's latest commit. Uses git commit dates (not filesystem mtime) for accuracy.
NOW=$(date +%s)
STALE_LIST="" STALE_N=0
UNTRACKED_LIST="" UNTRACKED_N=0
while IFS= read -r claude_file; do
project_dir=$(dirname "$claude_file")
while [ ! -d "${project_dir}/.git" ] && [ "$project_dir" != "$HOME/ai_projects" ]; do
project_dir=$(dirname "$project_dir")
done
[ -d "${project_dir}/.git" ] || continue
claude_commit=$(git -C "$project_dir" log -1 --format=%ct -- "$claude_file" 2>/dev/null)
project_commit=$(git -C "$project_dir" log -1 --format=%ct 2>/dev/null)
[ -z "$project_commit" ] && continue
if [ -z "$claude_commit" ]; then
rel_path="${claude_file#$HOME/}"
UNTRACKED_LIST="${UNTRACKED_LIST} - ~/${rel_path}\n"
UNTRACKED_N=$((UNTRACKED_N + 1))
continue
fi
diff=$((project_commit - claude_commit))
if [ "$diff" -gt $((90*86400)) ]; then
rel_path="${claude_file#$HOME/}"
claude_date=$(date -r "$claude_commit" +%Y-%m-%d)
project_date=$(date -r "$project_commit" +%Y-%m-%d)
STALE_LIST="${STALE_LIST} - ~/${rel_path} (last: ${claude_date}, project: ${project_date})\n"
STALE_N=$((STALE_N + 1))
fi
done < <(find ~/ai_projects -maxdepth 2 -name CLAUDE.md 2>/dev/null)
echo ""
echo "### CLAUDE.md Drift"
echo "- Stale instructions (>90d behind project): ${STALE_N}"
[ -n "$STALE_LIST" ] && printf "$STALE_LIST"
echo "- Untracked: ${UNTRACKED_N}"
[ -n "$UNTRACKED_LIST" ] && printf "$UNTRACKED_LIST"SSH to agents-mac-mini and check services. Uses -T to avoid pseudo-tty and ECOSYS: prefix to filter iTerm escape codes from the output.
Custom services on the Mac Mini use various prefixes (com.server.*, com.telegram-agent.*, com.photopulse.*, com.health.*, com.temporal.*, ai.hermes.*, etc.), so count all non-Apple LaunchAgents.
echo ""
echo "### Mac Mini"
MINI_OUTPUT=$(ssh -T -o ConnectTimeout=5 -o BatchMode=yes mac-mini 'export TERM=dumb; thumb=$(curl -s --max-time 3 -o /dev/null -w "%{http_code}" http://localhost:8080/ 2>/dev/null); viz=$(curl -s --max-time 3 -o /dev/null -w "%{http_code}" http://localhost:8081/ 2>/dev/null); agents=$(launchctl list 2>/dev/null | tail -n +2 | awk "{print \$3}" | grep -cv "^com\.apple" || echo 0); hdb_size=$(stat -f %z ~/ai_projects/health-import/health.db 2>/dev/null || echo 0); echo "ECOSYS:${thumb}|${viz}|${agents}|${hdb_size}"' 2>/dev/null)
DATA=$(echo "$MINI_OUTPUT" | grep "^ECOSYS:" | sed 's/^ECOSYS://')
if [ -z "$DATA" ]; then
echo "- Status: UNREACHABLE (SSH failed)"
else
IFS='|' read -r THUMB VIZ AGENTS HDB_SIZE <<< "$DATA"
[ "$THUMB" = "200" ] && echo "- Thumb server (:8080): UP" || echo "- Thumb server (:8080): DOWN (${THUMB})"
[ "$VIZ" = "200" ] && echo "- Viz server (:8081): UP" || echo "- Viz server (:8081): DOWN (${VIZ})"
echo "- Custom LaunchAgents: ${AGENTS}"
if [ "$HDB_SIZE" -gt 0 ] 2>/dev/null; then
HDB_GB=$(echo "scale=1; ${HDB_SIZE}/1073741824" | bc)
echo "- Health DB: ${HDB_GB} GB"
else
echo "- Health DB: NOT FOUND"
fi
fiAfter printing the full terminal report, add an attention summary highlighting anything that needs action:
### Attention
- [list any: broken symlinks, services DOWN, stale CLAUDE.md, Mac Mini unreachable]
- If nothing needs attention: "All clear."Then compose a summary and write it to today's daily note.
Get today's date first:
TODAY=$(date +"%Y%m%d")Build the summary block from the results you collected in Steps 1-4 (re-read the terminal output above — variables don't carry across bash blocks). Format:
## Ecosystem
Skills: N active / N recent / N stale / N broken
Projects: N active / N dormant / N abandoned
CLAUDE.md drift: N stale, N untracked
Mac Mini: [status summary]
_Ecosystem audit · YYYY-MM-DD_Write to ~/Brains/brain/Daily/${TODAY}.md:
## Ecosystem section already exists, replace everything from ## Ecosystem to the next ## heading (or - - - separator)- - - separator> [!warning] Ecosystem issues detected© glebis, 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 ecosystem of glebis/claude-skills.
Open the folder on GitHubat commit 7524dff
Ecosystem 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 |
|---|---|---|---|---|---|---|
| Ecosystem this skillglebis/claude-skills | 389 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Docs Gardeningmhmzdev/the-holy-quran-app | 889 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Harness Auditundefined-ui/second-brain-os | 1k | — | ~855 | Automated safety check: Pass | MIT | |
| Project Knowledge SorterYeachan-Heo/oh-my-claudecode | 40k | — | ~356 | Automated safety check: Pass | MIT | |
| Sake Workflowkattouf/Sake | 116 | — | ~935 | Automated safety check: Pass | MIT | |
| Claude Code Knowledgedykyi-roman/awesome-claude-code | 103 | — | ~4k | Automated safety check: Pass | MIT |
mhmzdev/the-holy-quran-app
Audit and maintain The Holy Qur'an app's knowledge base (AGENTS.md, .agents/rules/, docs/ OKF bundle) for staleness, broken cross-links, drift from code, and OKF structural issues.
undefined-ui/second-brain-os
Audit an agent's harness against the four rings: containment, guides, sensors, permissions.
Yeachan-Heo/oh-my-claudecode
Sorts what a session has learned into the right place, project memory, notepad or durable docs, and flags duplicate, stale or conflicting entries.
kattouf/Sake
A skill your agent uses when starting any new task in the Sake project - ensures structured execution with knowledge discovery, quality checks, and organic growth of the project knowledge base…
dykyi-roman/awesome-claude-code
Comprehensive knowledge base for Claude Code formats, patterns, and configuration.
BlackBeltTechnology/pi-agent-dashboard
Scaffold an unconfigured directory into a configured pi project.
glebis/claude-skills
Runs a human-first workflow for labeling PII spans in a transcript, then scores inter-annotator agreement and drafts an adjudicated gold set.
glebis/claude-skills
Automates a dedicated, logged-in Chrome instance per profile without ever closing the user's own open tabs or browser windows.
glebis/claude-skills
This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API.
glebis/claude-skills
This skill should be used for elimination-style research where the user wants to choose from a shortlist of products, tools, services, vendors, or other options using explicit criteria, numeric…
glebis/claude-skills
Generates a self-contained HTML presentation with article and slides modes, ElevenLabs voiceover narration and optional GPT Image 2 illustrations.
glebis/claude-skills
Writes fictional but realistic coaching or therapy session transcripts for evals, demos and few-shot examples, in several modalities and export formats.
Categories
Audit the Claude Code ecosystem — skill health and staleness, project activity pulse, CLAUDE.md instruction drift, Mac Mini service status. Ecosystem is an agent skill from glebis/claude-skills.md instruction drift, Mac Mini service status.
Ecosystem fits situations like: the user asks about ecosystem health; abandoned projects; infrastructure check; any request to review the state of their Claude Code environment.
Run `npx skills add glebis/claude-skills --skill ecosystem -a claude-code`. Or copy the skill folder (ecosystem in glebis/claude-skills) into .claude/skills/ecosystem in your project. Claude Code loads it when a task matches its description.
Run `npx skills add glebis/claude-skills --skill ecosystem -a codex`. Or copy the skill folder (ecosystem in glebis/claude-skills) into .agents/skills/ecosystem 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 glebis/claude-skills --skill ecosystem -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ecosystem, .gemini/skills/ecosystem, .github/skills/ecosystem and .opencode/skills/ecosystem in your project.
Going by SKILL.md and its folder, Ecosystem needs the command-line tools its instructions call (git, curl and ssh).
SKILL.md contains no URLs. Its commands use git, curl and ssh, 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.
Ecosystem is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k 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 Ecosystem: Docs Gardening (mhmzdev/the-holy-quran-app, 889 stars), Harness Audit (undefined-ui/second-brain-os, 1k stars), Project Knowledge Sorter (Yeachan-Heo/oh-my-claudecode, 40k stars) and Sake Workflow (kattouf/Sake, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
glebis (a GitHub user) maintains it in glebis/claude-skills, which has 389 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on September 26, 2026.
Source: glebis/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.