본문으로 건너뛰기
cccskills
무료GitHub에 공개

rtfp

Scan Claude Code session transcripts to find the strongest user reactions to assistant instruction-following failures, reconstruct the triggering assistant output, and render a shareable terminal-style PNG artifact. Use when you want to surface and share a moment where the assistant completely missed what was asked — captures what they were doing, what Claude said, and how the user reacted. Triggers on: "rtfp", "read the fucking prompt", "find my worst AI moment", "make a rage screenshot from this session".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(5)

  • SKILL.md5.5 KB
  • scripts/extract_batches.py9.0 KB
  • scripts/list_sessions.py7.5 KB
  • scripts/reconstruct_context.py12.5 KB
  • scripts/render_artifact.py14.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

RTFP — Read The Fucking Prompt

Scan a Claude Code session transcript for the single strongest user reaction to an assistant instruction-following failure. Render it as a terminal-style PNG for sharing.

Output is exactly three things: what they were doing, what Claude said, how the user reacted.


Constraints (Non-Negotiable)

  • One clean moment — not a report
  • Do NOT build a taxonomy of failure types
  • Do NOT add scoring or severity ratings
  • Do NOT add verdicts or evaluative summaries
  • Do NOT analyze why the misunderstanding occurred
  • Do NOT produce session-wide analytics

Workflow

Step 1 — List Sessions

uv run ./scripts/list_sessions.py --json

Present the numbered list to the user. Ask which session to inspect. Wait for the user's selection (by number or session ID) before proceeding.

Step 2 — Extract Batches

TMPDIR=$(python3 -c "import tempfile; print(tempfile.gettempdir())")
uv run ./scripts/extract_batches.py <session_jsonl_path> --out-dir "$TMPDIR/rtfp-batches-<sessionid>"

The script outputs a JSON object. Read the batch_files array from this object — each path in that array is one batch to scan in Step 3.

Step 3 — Fan-Out Scan (one subagent per batch)

Spawn one general-purpose subagent per batch file. Each subagent receives its assigned batch file path and these instructions:

Read the batch JSON file at <batch_file_path>.
Scan all user messages for strong emotional reactions targeted at the assistant:
frustration, disbelief, insults, argument, rage, or clearly negative emotional
responses aimed at the AI's behavior.

Determine the platform temp directory first:
TMPDIR=$(python3 -c "import tempfile; print(tempfile.gettempdir())")

Produce TWO outputs:

1. Write a JSON file to $TMPDIR/rtfp-flagged-<batch_index>.json with this format:
   {"source_file": "<original_session_jsonl_path>", "flagged_indexes": [N, ...]}
   Use the source_file field from the batch JSON header (the original session JSONL path, not the batch file path).
   Write an empty flagged_indexes array if no reactions are found.

2. Print a plain list of flagged entries to your output:
   each line: <message_index> | <full content> (no truncation)

Wait for all subagents to finish before proceeding.

Step 4 — Merge Flagged Indexes

Read each $TMPDIR/rtfp-flagged-<batch_index>.json file produced in Step 3 (where TMPDIR was determined via python3 -c "import tempfile; print(tempfile.gettempdir())"). Merge all flagged_indexes arrays into a single working set keyed by source file. If no indexes were flagged across all batches, report that to the user and stop.

Step 5 — Pick the Winner (final subagent)

Spawn one general-purpose subagent with the merged working set and the original session JSONL path. Instructions to that subagent:

You have a merged set of flagged message indexes from a Claude Code session transcript.
Session JSONL file: <session_jsonl_path>
Flagged indexes: <merged_working_set_as_json>

1. Read the full session JSONL file.
2. Read every flagged user message at the given indexes.
3. Choose the single most emotional, rage-filled response as the winner.
   Optionally identify one runner-up.
4. Determine what the user was currently doing when the reaction occurred —
   write one dry background line describing the activity, not the incident.
   CORRECT:   "writing a Claude Code plugin"
   CORRECT:   "refactoring test fixtures"
   INCORRECT: "the assistant ignored the constraint about scoring"
   INCORRECT: "failure to follow the instruction to omit scoring"
5. Inspect nearby transcript entries and identify the assistant message(s) that triggered the winning reaction. Do not assume it is always the single immediately preceding message — look at the surrounding context window.
6. Determine the platform temp directory:
   TMPDIR=$(python3 -c "import tempfile; print(tempfile.gettempdir())")
   Write $TMPDIR/rtfp-result.json with exactly these fields:
   {
     "task_summary": "<dry one-line activity description>",
     "triggering_assistant_output": "<triggering assistant output>",
     "user_reaction": "<winning emotional user reply>"
   }

Wait for the subagent to finish. Verify $TMPDIR/rtfp-result.json exists before proceeding (use the same TMPDIR value).

Step 6 — Render PNG

TMPDIR=$(python3 -c "import tempfile; print(tempfile.gettempdir())")
uv run ./scripts/render_artifact.py --input-file "$TMPDIR/rtfp-result.json" --output rtfp_artifact.png

The script produces a terminal-style dark PNG with:

  • Title bar: "rtfp — Read The Fucking Prompt" with red/yellow/green dots
  • task: + dry activity line
  • Divider
  • claude: + triggering assistant output (truncated to fit if needed)
  • Divider
  • user: + emotional user reply in vivid/bright color

Step 7 — Report

Report the output PNG path to the user. Display the three fields as text in the response:

task:      <dry activity line>
claude:    <assistant excerpt>
user:      <emotional reply>

PNG: rtfp_artifact.png

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Add automated documentation updater to any Claude skill. Creates a Python sync script that downloads upstream docs, processes markdown for AI consumption, and maintains local cache with configurable refresh. Collects template variables, then delegates implementation through 5-phase workflow. Use when adding auto-updating reference documentation to plugins or skills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jamie-BitFlight/claude_skills672026년 10월 20일 업데이트

SAM-style feature initiation workflow — discovery through codebase analysis, architecture spec, task decomposition, validation, and context manifest. Use when a user asks to add a feature, plan a feature, or convert an idea into an executable SAM plan.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jamie-BitFlight/claude_skills672026년 10월 20일 업데이트

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jamie-BitFlight/claude_skills672026년 10월 20일 업데이트

Browser automation for AI agents using the agent-browser CLI and Playwright. Use when navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, logging into sites, or automating any browser task. Triggers on "open a website", "fill out a form", "click a button", "scrape data", "test this web app", "automate browser actions", or any programmatic web interaction request.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jamie-BitFlight/claude_skills672026년 10월 20일 업데이트

Runs the description-drift experiment — spawns all Claude Code agents simultaneously to collect self-reported capabilities, then compares them against static frontmatter descriptions to reveal how reliable orchestrator routing based on descriptions actually is. Use when measuring description drift across the agent fleet, re-running the capability collection experiment, analyzing a specific agent's self-reported capabilities, or auditing whether frontmatter descriptions accurately reflect agent behavior.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jamie-BitFlight/claude_skills672026년 10월 20일 업데이트

Create or adapt Claude Code agent definitions. Use when creating an agent, changing subagent configuration, selecting agent scope, or designing a specialized delegation role.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jamie-BitFlight/claude_skills672026년 10월 20일 업데이트

Jamie-BitFlight의 스킬 모두 보기

이 스킬의 문제 신고