← All skills
oh-my-issues
82 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By thedotmack/claude-mem (GitHub) · coding · 116,045 stars · scanned at commit 22d148e
Cluster a GitHub issue backlog by root cause into a small set of plan-master issues, redirect children with a standardized comment, and bundle architectural-fix PRs that close clusters atomically. Use when an issue tracker has accumulated dozens of reports that share underlying defects, when asked to triage / consolidate / cluster / dedupe issues, when asked to build a plan series or roadmap from open issues, or when routing a new incoming bug into an existing plan.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. It runs automatically when the plugin is installed. Expected for a coding skill.
Found in 45 places.
Show 17 more
- plugin/skills/oh-my-issues/SKILL.md, line 164
gh issue create \ - plugin/skills/oh-my-issues/SKILL.md, line 173
gh issue comment <CHILD> --body "Consolidating into #<MASTER> (plan-XX). The root cause and fix sequencing are tracked there alongside the rest of the cluster — - plugin/skills/oh-my-issues/SKILL.md, line 180
gh issue comment <MASTER> --body "$(cat <<'EOF' - plugin/skills/oh-my-issues/SKILL.md, line 195
gh issue list --state open --json number,title \ - plugin/scripts/ensure-launcher.cjs, line 5
`,He=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function me(e){if(e===void 0)return new Set;let t=typeof e=="string"?e.split(","):e;if(!Array.isArray(t)||t.some(r=>typeof r!= - plugin/scripts/ensure-launcher.cjs, line 13
`).pop()??""}`;let X=ye(r.platform,d);if(u.kind==="launcher")throw new Error(`${U}; kept the existing launcher at ${s} (protocol ${u.protocol})${X}`);t.warn(`${ - plugin/.mcp.json, line 5
"command": "node", - plugin/hooks/codex-hooks.json, line 9
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 11
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/codex-hooks.json, line 21
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 23
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_ - plugin/hooks/codex-hooks.json, line 34
"command": "/bin/sh -c 'if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_FILE_CONTEXT:-}\" = 1 ]; then exit 0; fi; _HP=$(printenv P - plugin/hooks/codex-hooks.json, line 36
"commandWindows": "node -e \"if(process.env.CLAUDE_MEM_DISABLE_TOOL_HOOKS==='1'||process.env.CLAUDE_MEM_DISABLE_FILE_CONTEXT==='1')process.exit(0);const fs=requ - plugin/hooks/codex-hooks.json, line 47
"command": "/bin/sh -c 'if [ \"${CLAUDE_MEM_DISABLE_TOOL_HOOKS:-}\" = 1 ] || [ \"${CLAUDE_MEM_DISABLE_OBSERVATION:-}\" = 1 ]; then exit 0; fi; _HP=$(printenv PA - plugin/hooks/codex-hooks.json, line 49
"commandWindows": "node -e \"if(process.env.CLAUDE_MEM_DISABLE_TOOL_HOOKS==='1'||process.env.CLAUDE_MEM_DISABLE_OBSERVATION==='1')process.exit(0);const fs=requi - plugin/hooks/codex-hooks.json, line 59
"command": "/bin/sh -c '_HP=$(printenv PATH 2>/dev/null || true); if [ -z \"$_HP\" ] && [ -n \"${SHELL:-}\" ]; then _HP=$(\"$SHELL\" -lc '\\''printf %s \"$PATH\ - plugin/hooks/codex-hooks.json, line 61
"commandWindows": "node -e \"const fs=require('fs'),p=require('path'),o=require('os'),c=require('child_process');const h=o.homedir();const C=process.env.CLAUDE_
and 25 more places
Downloads and installs other software
The author does not mention this.
Found in 4 places.
Show 1 more
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'oh-my-issues' ] || [ -L ~/.agents/skills/'oh-my-issues' ]; then echo 'A skill folder named oh-my-issues already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/thedotmack/claude-mem' "$d" && git -C "$d" checkout --quiet '22d148ea6f34b86ea9a6e0911c7a7a0c71431b31' -- 'plugin/skills/oh-my-issues' && mkdir -p ~/.agents/skills && cp -R "$d"/'plugin/skills/oh-my-issues' ~/.agents/skills/'oh-my-issues' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'oh-my-issues' ~/.claude/skills/'oh-my-issues' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for thedotmack/claude-mem shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/thedotmack/claude-mem/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | 22d148e | 82 |
| 2026-11-08 | 3ab6e1a | 82 |
| 2026-11-07 | 2d8c08c | 82 |