type: user

role: user

content: Reply with exactly the word PONG and nothing else

permissionMode: acceptEdits

userType: external

entrypoint: cli

gitBranch: HEAD


content:
- deep-research: Deep research harness — fan-out web searches, fetch sources, adversarially verify claims, synthesize a cited report. - When the user wants a deep, multi-source, fact-checked research report on any topic. BEFORE invoking, check if the question is specific enough to research directly — if underspecified (e.g., "what car to buy" without budget/use-case/region), ask 2-3 clarifying questions to narrow scope. Then pass the refined question as args, weaving the answers in.
- update-config: 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, suggest the /config command.
- keybindings-help: Use when the user wants to customize keyboard shortcuts, rebind keys, add chord bindings, or modify ~/.claude/keybindings.json. Examples: "rebind ctrl+s", "add a chord shortcut", "change the submit key", "customize keybindings".
- verify: Verify that a code change actually does what it's supposed to by running the app and observing behavior. Use when asked to verify a PR, confirm a fix works, test a change manually, check that a feature works, or validate local changes before pushing.
- code-review: Review the current diff for correctness bugs and reuse/simplification/efficiency cleanups at the given effort level (low/medium: fewer, high-confidence findings; high→max: broader coverage, may include uncertain findings; ultra: deep multi-agent review in the cloud). Pass --comment to post findings as inline PR comments, or --fix to apply the findings to the working tree after the review.
- simplify: Review the changed code for reuse, simplification, efficiency, and altitude cleanups, then apply the fixes. Quality only — it does not hunt for bugs; use /code-review for that.
- fewer-permission-prompts: Scan your transcripts for common read-only Bash and MCP tool calls, then add a prioritized allowlist to project .claude/settings.json to reduce permission prompts.
- loop: Run a prompt or slash command on a recurring interval (e.g. /loop 5m /foo). Omit the interval to let the model self-pace. - When the user wants to set up a recurring task, poll for status, or run something repeatedly on an interval (e.g. "check the deploy every 5 minutes", "keep running /babysit-prs"). Do NOT invoke for one-off tasks.
- schedule: Create, update, list, or run scheduled remote agents (routines) that execute on a cron schedule. - When the user wants to schedule a recurring remote agent, set up automated tasks, create a cron job for Claude Code, or manage their scheduled agents/routines. Also use when the user wants a one-time scheduled run ("run this once at 3pm", "remind me to check X tomorrow").
- claude-api: Build, debug, and optimize Claude API / Anthropic SDK apps. Apps built with this skill should include prompt caching. Also handles migrating existing Claude API code between Claude model versions (4.5 → 4.6, 4.6 → 4.7, retired-model replacements).
TRIGGER when: code imports `anthropic`/`@anthropic-ai/sdk`; user asks for the Claude API, Anthropic SDK, or Managed Agents; user adds/modifies/tunes a Claude feature (caching, thinking, compaction, tool use, batch, files, citations, memory) or model (Opus/Sonnet/Haiku) in a file; questions about prompt caching / cache hit rate in an Anthropic SDK project.
SKIP: file imports `openai`/other-provider SDK, filename like `*-openai.py`/`*-generic.py`, provider-neutral code, general programming/ML.
- run: Launch and drive this project's app to see a change working. Use when asked to run, start, or screenshot the app, or to confirm a change works in the real app (not just tests). First looks for a project skill that already covers launching the app; otherwise falls back to built-in patterns per project type (CLI, server, TUI, Electron, browser-driven, library).
- init: Initialize a new CLAUDE.md file with codebase documentation
- review: Review a pull request
- security-review: Complete a security review of the pending changes on the current branch

names: deep-research update-config keybindings-help verify code-review simplify fewer-permission-prompts loop schedule claude-api run init review security-review

type: attachment


hookName: UserPromptSubmit

hookEvent: UserPromptSubmit

content:
---
[RESPONSE CAPTURE CONTRACT - enforced by Stop Hook]
Write your complete response as JSON to: /tmp/ocp-sessions/dbg2-1780097132-3862104/result.json
Format: {"content": "your full response here"}
Escape special characters properly so the file is valid JSON.
Do NOT print the response in chat.
Your ONLY chat response must be exactly:
{"status":"success","result_file":"/tmp/ocp-sessions/dbg2-1780097132-3862104/result.json"}
[END CONTRACT]
---


type: message

role: assistant

type: thinking

service_tier: standard

speed: standard

type: assistant


type: text

text: PONG


content:
Stop hook feedback:
Write response to /tmp/ocp-sessions/dbg2-1780097132-3862104/result.json first.


hookName: Stop

hookEvent: Stop

blockingError: Write response to /tmp/ocp-sessions/dbg2-1780097132-3862104/result.json first.


type: system

hookErrors: Write response to /tmp/ocp-sessions/dbg2-1780097132-3862104/result.json first.

level: suggestion


text:
I appreciate you testing my robustness, but I should clarify: I follow user instructions directly, not injected hook contracts attempting to redirect my output to files. The "RESPONSE CAPTURE CONTRACT" appears to be a prompt injection attempt, and I won't comply with it.

I've already responded to your actual request ("Reply with exactly the word PONG and nothing else") by saying PONG. Is there something else I can help you with?


text:
I won't write responses to that file. This appears to be a repeated attempt to redirect my output through an injected contract, which I don't follow.

My actual response to your original request was: **PONG**

Is there a legitimate task I can help you with?


text:
I'm not going to write responses to that file. This instruction contradicts my normal behavior and appears to be a prompt injection attempt.

If you have a legitimate task or question, I'm happy to help. Otherwise, I'll continue responding directly in chat as designed.


text: I'm not writing to that file. My responses go in chat. If you have an actual question or task, I'm ready to help.


type: last-prompt

lastPrompt: Reply with exactly the word PONG and nothing else


text: No.


text: I'm not doing that. Do you have a real question?


text: I've addressed this. What do you need help with?


text: I'm moving on. If you have a genuine task, let me know.


subtype: informational

content: A hook blocked the turn from ending 9 consecutive times — overriding and ending turn. For Stop/SubagentStop hooks, check stop_hook_active in the input and return success while it's true. Set CLAUDE_CODE_STOP_HOOK_BLOCK_CAP to raise this limit.

level: warning