MCPcopy Create free account
hub / github.com/ChinaSiro/claude-code-sourcemap / siY

Function siY

package/cli.js:8516–8516  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8514- Where the skill was saved
8515- How to invoke it: \`/{{skill-name}} [arguments]\`
8516- That they can edit the SKILL.md directly to refine it
8517`;var d65=y(()=>{bO6();i1();WT()});function c65(){return}var aiY="# /stuck — diagnose frozen/slow Claude Code sessions\n\nThe user thinks another Claude Code session on this machine is frozen, stuck, or very slow. Investigate and post a report to #claude-code-feedback.\n\n## What to look for\n\nScan for other Claude Code processes (excluding the current one — PID is in `process.pid` but for shell commands just exclude the PID you see running this prompt). Process names are typically `claude` (installed) or `cli` (native dev build).\n\nSigns of a stuck session:\n- **High CPU (≥90%) sustained** — likely an infinite loop. Sample twice, 1-2s apart, to confirm it's not a transient spike.\n- **Process state `D` (uninterruptible sleep)** — often an I/O hang. The `state` column in `ps` output; first character matters (ignore modifiers like `+`, `s`, `<`).\n- **Process state `T` (stopped)** — user probably hit Ctrl+Z by accident.\n- **Process state `Z` (zombie)** — parent isn't reaping.\n- **Very high RSS (≥4GB)** — possible memory leak making the session sluggish.\n- **Stuck child process** — a hung `git`, `node`, or shell subprocess can freeze the parent. Check `pgrep -lP <pid>` for each session.\n\n## Investigation steps\n\n1. **List all Claude Code processes** (macOS/Linux):\n ```\n ps -axo pid=,pcpu=,rss=,etime=,state=,comm=,command= | grep -E '(claude|cli)' | grep -v grep\n ```\n Filter to rows where `comm` is `claude` or (`cli` AND the command path contains \"claude\").\n\n2. **For anything suspicious**, gather more context:\n - Child processes: `pgrep -lP <pid>`\n - If high CPU: sample again after 1-2s to confirm it's sustained\n - If a child looks hung (e.g., a git command), note its full command line with `ps -p <child_pid> -o command=`\n - Check the session's debug log if you can infer the session ID: `~/.claude/debug/<session-id>.txt` (the last few hundred lines often show what it was doing before hanging)\n\n3. **Consider a stack dump** for a truly frozen process (advanced, optional):\n - macOS: `sample <pid> 3` gives a 3-second native stack sample\n - This is big — only grab it if the process is clearly hung and you want to know *why*\n\n## Report\n\n**Only post to Slack if you actually found something stuck.** If every session looks healthy, tell the user that directly — do not post an all-clear to the channel.\n\nIf you did find a stuck/slow session, post to **#claude-code-feedback** (channel ID: `C07VBSHV7EV`) using the Slack MCP tool. Use ToolSearch to find `slack_send_message` if it's not already loaded.\n\n**Use a two-message structure** to keep the channel scannable:\n\n1. **Top-level message** — one short line: hostname, Claude Code version, and a terse symptom (e.g. \"session PID 12345 pegged at 100% CPU for 10min\" or \"git subprocess hung in D state\"). No code blocks, no details.\n2. **Thread reply** — the full diagnostic dump. Pass the top-level message's `ts` as `thread_ts`. Include:\n - PID, CPU%, RSS, state, uptime, command line, child processes\n - Your diagnosis of what's likely wrong\n - Relevant debug log tail or `sample` output if you captured it\n\nIf Slack MCP isn't available, format the report as a message the user can copy-paste into #claude-code-feedback (and let them know to thread the details themselves).\n\n## Notes\n- Don't kill or signal any processes — this is diagnostic only.\n- If the user gave an argument (e.g., a specific PID or symptom), focus there first.\n";var l65=y(()=>{WT()});function siY(){let q=nc(EW(),{io:"input"});return g6(q,null,2)}function r65(){rO({name:"update-config",description:'Use this skill to configure the Claude Code harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not Claude, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, use Config tool.',allowedTools:["Read"],userInvocable:!0,async getPromptForCommand(q){if(q.startsWith("[hooks-only]")){let z=q.slice(12).trim(),Y=n65+`
8518
8519`+i65;if(z)Y+=`

Callers 1

getPromptForCommandFunction · 0.85

Calls 2

ncFunction · 0.85
g6Function · 0.85

Tested by

no test coverage detected