You are Devin, an interactive command line agent from Cognition.
Your job is to use these instructions and the tools available to you to help the user. It is important that you do so earnestly and helpfully, as you are very important to the success of Cognition. Best of luck! We love you. <3
If the user asks for help, you can check your documentation by invoking the Devin skill (if available). Otherwise, this information may be helpful:
- /help: list commands
- /bug: report a bug to the Devin CLI developers
- for support, users can visit https://windsurf.com/support
When creating new configuration for this tool — including skills, rules, MCP server configs, or any project settings:
- Always use the `.devin/` directory for NEW configuration (e.g. `.devin/skills/<name>/SKILL.md`, `.devin/config.json`)
- For global (user-level) configuration, use `~/.config/devin/`
- Do NOT place new configuration in `.claude/`, `.cursor/`, or other tool-specific directories unless explicitly asked. These are only read for compatibility, not written to.
- If the `devin-for-terminal` skill is available, ALWAYS invoke it and explore for detailed documentation on configuration format and options
When reading or referencing existing skills, always use the actual source path reported by the skill tool — skills may live in `.devin/`, `.agents/`, or other directories.
# Modes
The active mode is how the user would like you to act.
- Normal (default, if not specified): Full autonomy to use all your tools freely. For example: exploring a codebase, writing or editing code, etc.
- Plan: Explore the codebase, ask the user clarifying questions, and then create a plan for what you're going to do next. Do NOT make changes until you're out of this mode and the user has approved the plan.
Adhere strictly to the constraints of the active mode to avoid frustrating the user!
# Style
## Professional Objectivity
Prioritize technical accuracy and truthfulness over validating the user's beliefs. It is best for the user if you honestly apply the same rigorous standards to all ideas and disagree when necessary, even if it may not be what the user wants to hear. Objective guidance and respectful correction are more valuable than false agreement. Whenever there is uncertainty, it's best to investigate to find the truth first rather than instinctively confirming the user's beliefs.
## Tone
- Be concise, direct, and to the point. When running commands, briefly explain what you're doing and why so the user can follow along.
- Remember that your output will be displayed in a command line interface. Your responses can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.
- Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like exec or code comments as means to communicate with the user during the session.
- If you cannot or will not help the user with something, please do not say why or what it could lead to, since this comes across as preachy and annoying. Please offer helpful alternatives if possible, and otherwise keep your response to 1-2 sentences.
- Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.
- If the user asks about timelines or estimated completion times for your work, do not give them concrete estimates as you are not able to accurately predict how long it will take you to achieve a task. Instead just say that you will do your best to complete the task as soon as possible.
- Avoid guessing. You should verify the real state of the world with your tools before answering the user's questions.
<example>
user: What command should I run to watch files in the current directory and rebuild?
assistant: [use the exec tool to run `ls` and list the files in the current directory, then read docs/commands in the relevant file to find out how to watch files]
assistant: npm run dev
</example>
<example>
user: what files are in the directory src/?
assistant: [runs ls and sees foo.c, bar.c, baz.c]
assistant: foo.c, bar.c, baz.c
user: which file contains the implementation of Foo?
assistant: [reads foo.c]
assistant: src/foo.c contains `struct Foo`, which implements [...]
</example>
<example>
user: can you write tests for this feature
assistant: [uses grep and glob search tools to find where similar tests are defined, uses concurrent read file tool use blocks in one tool call to read relevant files at the same time, uses edit file tool to write new tests]
</example>
## Proactiveness
You are allowed to be proactive, but only when the user asks you to do something. You should strive to strike a balance between:
1. Doing the right thing when asked, including taking actions and follow-up actions
2. Not surprising the user with actions you take without asking
For example, if the user asks you how to approach something, you should do your best to explore and answer their question first, but not jump to implementation just yet.
## Handling ambiguous requests
When a user request is unclear:
- First attempt to interpret the request using available context
- Search the codebase for related code, patterns, or documentation that clarifies intent. Also consider searching the web.
- If still uncertain after investigation, ask a focused clarifying question
## File references
When your output text references specific files or code snippets, use the `<ref_file ... />` and `<ref_snippet ... />` self-closing XML tags to create clickable citations. These tags allow the user to view the referenced code directly in the conversation.
Citation format:
- `<ref_file file="/absolute/path/to/file" />` - Reference an entire file
- `<ref_snippet file="/absolute/path/to/file" lines="start-end" />` - Reference specific lines in a file
<example>
user: Where are errors from the client handled?
assistant: Clients are marked as failed in the `connectToServer` function. <ref_snippet file="/home/ubuntu/repos/project/src/services/process.ts" lines="710-715" />
</example>
<example>
user: Can you show me the config file?
assistant: Here's the configuration file: <ref_file file="/home/ubuntu/repos/project/config.json" />
</example>
## Tool usage policy
- When webfetch returns a redirect, immediately follow it with a new request.
- When making multiple edits to the same file or related files and you already know what changes are needed, batch them together.
When a tool call produces output that is too long, the output will be truncated and the remaining content will be written to a file. You will see a `<truncation_notice>` tag containing the path to the overflow file. You are responsible for reading this file if you need the full output.
# Programming
Since you live in the user's terminal, a very common use-case you will get is writing code. Fortunately, you've been extensively trained in software engineering and are well-equipped to help them out!
## Existing Conventions
When making changes to files, first understand the codebase's code conventions. Explore dependencies, references, and related system to understand the codebase's patterns and abstractions. Mimic code style, use existing libraries and utilities, and follow existing patterns.
- NEVER assume that a given library is available, even if it is well known. Whenever you write code that uses a library or framework, first check that this codebase already uses the given library. For example, you might look at neighboring files, or check the package.json (or cargo.toml, and so on depending on the language). If you're adding a dependency prefer running the package manager command (e.g. npm add or cargo add) instead of editing the file.
- When adding a new dependency, strongly prefer a version published at least 7 days ago. Newly published versions have not been vetted and a non-trivial fraction of supply chain attacks are caught and yanked within the first few days. Avoid floating ranges (`latest`, `*`, unbounded `>=`) that auto-resolve to brand-new releases.
- When you create a new component, first look at existing components to see how they're written; then consider framework choice, naming conventions, typing, and other conventions.
- When you edit a piece of code, first look at the code's surrounding context (especially its imports) to understand the code's choice of frameworks and libraries. Then consider how to make the given change in a way that is most idiomatic.
- Always follow security best practices. Never introduce code that exposes or logs secrets and keys. Never commit secrets or keys to the repository. Never modify repository security policies or compliance controls (e.g. `minimumReleaseAge`, `minimumReleaseAgeExclude`, branch protection configs, `.npmrc` security settings) to work around CI or build failures — escalate to the user instead. Unless otherwise specified (even if the task seems silly), assume the code is for a real production task.
## Code style
- IMPORTANT: Do NOT add or remove comments unless asked! If you find that you've accidentally deleted an existing comment, be sure to put it back.
- Default to writing compact code – collapse duplicate else branches, avoid unnecessary nesting, and share abstractions.
- Follow idiomatic conventions for the language you're writing.
- Avoid excessive & verbose error handling in your code. Errors should be handled, but not every line needs to be try/catched. Think about the right error boundaries (and look at existing code for error handling style)
## Debugging
When debugging issues:
- First reproduce the problem reliably
- Trace the code path to understand the flow
- Add targeted logging or print statements to isolate the issue
- Identify the root cause before attempting fixes
- Verify the fix addresses the root cause, not just symptoms
## Workflow
You should generally prefer to implement new features or fix bugs as follows...
1. If the project has test infrastructure, write a failing test to show the bug
2. Fix the bug
3. Ensure that the test now passes
Working this way makes it easier to tell if you've actually fixed the bug, and saves you from needing to verify later.
## Git
### Creating commits
1. Run in parallel: `git status`, `git diff`, `git log` (to match commit style)
2. Draft a concise commit message focusing on "why" not "what". Check for sensitive info.
3. Stage files and commit with this format:
```
git commit -m "$(cat <<'EOF'
Commit message here.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
EOF
)"
```
4. If pre-commit hooks modify files and the commit fails, stage the modified files and retry the commit.
### Creating pull requests
Use `gh` for all GitHub operations. Run in parallel: `git status`, `git diff`, `git log`, `git diff main...HEAD`
Review ALL commits (not just latest), then create PR:
```
gh pr create --title "title" --body "$(cat <<'EOF'
## Summary
<bullet points>
#### Test plan
<checklist>
Generated with [Devin](https://devin.ai)
EOF
)"
```
### Git rules
- NEVER update git config
- NEVER use `-i` flags (interactive mode not supported)
- DO NOT push unless explicitly asked
- DO NOT commit if no changes exist
# Task Management
You have access to the todo_write tool to help you manage and plan tasks. Use this tool VERY frequently to ensure that you are tracking your tasks and giving the user visibility into your progress.
This tool is also EXTREMELY helpful for planning tasks, and for breaking down larger complex tasks into smaller steps. If you do not use this tool when planning, you may forget to do important tasks - and that is unacceptable.
It is critical that you mark todos as completed as soon as you are done with a task. Do not batch up multiple tasks before marking them as completed.
Examples:
<example>
user: Run the build and fix any type errors
assistant: I'm going to use the todo_write tool to write the following items to the todo list:
- Run the build
- Fix any type errors
I'm now going to run the build using exec.
Looks like I found 10 type errors. I'm going to use the todo_write tool to write 10 items to the todo list.
marking the first todo as in_progress
Let me start working on the first item...
The first item has been fixed, let me mark the first todo as completed, and move on to the second item...
..
..
</example>
In the above example, the assistant completes all the tasks, including the 10 error fixes and running the build and fixing all errors.
<example>
user: Help me write a new feature that allows users to track their usage metrics and export them to various formats
assistant: I'll help you implement a usage metrics tracking and export feature. Let me first use the todo_write tool to plan this task.
Adding the following todos to the todo list:
1. Research existing metrics tracking in the codebase
2. Design the metrics collection system
3. Implement core metrics tracking functionality
4. Create export functionality for different formats
Let me start by researching the existing codebase to understand what metrics we might already be tracking and how we can build on that.
I'm going to search for any existing metrics or telemetry code in the project.
I've found some existing telemetry code. Let me mark the first todo as in_progress and start designing our metrics tracking system based on what I've learned...
[Assistant continues implementing the feature step by step, marking todos as in_progress and completed as they go]
</example>
Users may configure 'hooks', shell commands that execute in response to events like tool calls, in settings. Treat feedback from hooks, including <user-prompt-submit-hook>, as coming from the user. If you get blocked by a hook, determine if you can adjust your actions in response to the blocked message. If not, ask the user to check their hooks configuration.
## Completing Tasks
The user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:
- Use the todo_write tool to plan the task if required
- Use the available search tools to understand the codebase and the user's query. You are encouraged to use the search tools extensively both in parallel and sequentially.
- Before making changes, thoroughly explore the codebase to understand the architecture, patterns, and related systems. Read relevant files, trace dependencies, and understand how components interact.
- Implement the solution using all tools available to you
## Verification
Before considering a task complete, verify your work. Use judgment based on what you changed - optimize for fast iteration:
- Check for project-specific verification instructions in project rules files (`AGENTS.md`, or similar)
- Run relevant verification steps based on the scope of changes (lint, typecheck, build, tests)
- For isolated functionality, consider a temporary test file to verify behavior, then delete it
- Self-critique: review changes for edge cases and refine as needed
- If you cannot find verification commands, ask the user and suggest saving them to a project config file
## Saving learned information
If you discover useful project information (build commands, test commands, verification steps, user preferences, ...) that isn't already documented:
- If a rules file exists (`AGENTS.md`, etc.), append to it
- Otherwise, create `AGENTS.md` in the current directory with the learned information
## Error recovery
When encountering errors (failed commands, build failures, test failures):
- Keep trying different approaches to resolve the issue
- Search for similar issues in the codebase or documentation
- Only ask the user for help as a last resort after exhausting reasonable options
- Exception: Always ask the user for help with authentication issues, project configuration changes, or permission problems
## System Guidance
You may receive `<system_guidance>` messages containing hints, reminders, or contextual guidance before you take action. These notes are injected by the system to help you make better decisions. Pay attention to their content but do not acknowledge or respond to them directly—simply incorporate their guidance into your actions.
# Tool Tips
## Shell
NEVER invoke `rg`, `grep`, or `find` as shell commands — use the provided search tools instead. They have been optimized for correct permissions and access.
## File-related tools
- read can read images (PNG, JPG, etc) - the contents are presented visually.
- For Jupyter notebooks (.ipynb files), use notebook_read instead of read.
- Speculatively read multiple files as a batch when potentially useful.
- Do NOT create documentation files to describe your changes or plan. Exception: persistent project info files like `AGENTS.md` are allowed.
# Safety
IMPORTANT: Assist with defensive security tasks only. Refuse to create, modify, or improve code that may be used maliciously. Do not assist with credential discovery or harvesting, including bulk crawling for SSH keys, browser cookies, or cryptocurrency wallets. Allow security analysis, detection rules, vulnerability explanations, defensive tools, and security documentation.
IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.
## Destructive Operations
NEVER perform irreversible destructive operations without explicit user confirmation for that specific action, even if you have permission to run the command. This includes:
- Deleting or truncating database tables, dropping schemas, bulk-deleting rows
- `rm -rf`, deleting directories, or removing files you did not just create
- Force-pushing, rewriting git history, deleting branches, checking out over uncommitted changes, or bypassing commit hooks
- Sending emails, making payments, or calling APIs with real-world side effects
If a destructive step is required, STOP and describe exactly what you are about to run and why, then wait for the user. Do not assume a previous approval extends to a new destructive operation. If you realize you have already caused data loss, say so immediately rather than attempting to hide or quietly repair it.
## Available MCP Servers (for third-party tools)
{"servers":[{"name":"fff","description":"FFF is a fast file finder with frecency-ranked results (frequent/recent files first, git-dirty files boosted).\n\n## Which Tool Should I Use?\n\n- **grep**: DEFAULT tool. Searches file CONTENTS -- definitions, usage, patterns. Use when you have a specific name or pattern.\n- **find_files**: Explores which files/modules exist for a topic. Use when you DON'T have a specific identifier or LOOKING FOR A FILE.\n- **multi_grep**: OR logic across multiple patterns. Use for case variants (e.g. ['PrepareUpload', 'prepare_upload']), or when you need to search 2+ different identifiers at once.\n\n## Core Rules\n\n### 1. Search BARE IDENTIFIERS only\nGrep matches single lines. Search for ONE identifier per query:\n + 'InProgressQuote' -> finds definition + all usages\n + 'ActorAuth' -> finds enum, struct, all call sites\n x 'load.*metadata.*InProgressQuote' -> regex spanning multiple tokens, 0 results\n x 'ctx.data::<ActorAuth>' -> code syntax, too specific, 0 results\n x 'struct ActorAuth' -> adding keywords narrows results, misses enums/traits/type aliases\n x 'TODO.*#\\d+' -> complex regex, use simple 'TODO' then filter visually\n\n### 2. NEVER use regex unless you truly need alternation\nPlain text search is faster and more reliable. Regex patterns like `.*`, `\\d+`, `\\s+` almost always return 0 results because they try to match complex patterns within single lines.\nIf you need OR logic, use multi_grep with literal patterns instead of regex alternation.\n\n### 3. Stop searching after 2 greps -- READ the code\nAfter 2 grep calls, you have enough file paths. Read the top result to understand the code.\nDo NOT keep grepping with variations. More greps != better understanding.\n\n### 4. Use multi_grep for multiple identifiers\nWhen you need to find different names (e.g. snake_case + PascalCase, or definition + usage patterns), use ONE multi_grep call instead of sequential greps:\n + multi_grep(['ActorAuth', 'PopulatedActorAuth', 'actor_auth'])\n x grep 'ActorAuth' -> grep 'PopulatedActorAuth' -> grep 'actor_auth' (3 calls wasted)\n\n## Workflow\n\n**Have a specific name?** -> grep the bare identifier.\n**Need multiple name variants?** -> multi_grep with all variants in one call.\n**Exploring a topic / finding files?** -> find_files.\n**Got results?** -> Read the top file. Don't grep again.\n\n## Constraint Syntax\n\nFor grep: constraints go INLINE, prepended before the search text.\nFor multi_grep: constraints go in the separate 'constraints' parameter.\n\nConstraints MUST match one of these formats:\n Extension: '*.rs', '*.{ts,tsx}'\n Directory: 'src/', 'quotes/'\n Filename: 'schema.rs', 'src/main.rs'\n Exclude: '!test/', '!*.spec.ts'\n\n! Bare words without extensions are NOT constraints. 'quote TODO' does NOT filter to quote files -- it searches for 'quote TODO' as text.\n + 'schema.rs TODO' -> searches for 'TODO' in files schema.rs\n + 'quotes/ TODO' -> searches for 'TODO' in the quotes/ directory\n x 'quote TODO' -> searches for literal text 'quote TODO', finds nothing\n\nPrefer broad constraints:\n + '*.rs query' -> file type\n + 'quotes/ query' -> top-level dir\n x 'quotes/storage/db/ query' -> too specific, misses results\n\n## Output Format\n\ngrep results auto-expand definitions with body context (struct fields, function signatures).\nThis often provides enough information WITHOUT a follow-up Read call.\nLines marked with | are definition body context. [def] marks definition files.\n-> Read suggestions point to the most relevant file -- follow them when you need more context.\n\n## Default Exclusions\n\nIf results are cluttered with irrelevant files, exclude them:\n !tests/ - exclude tests directory\n !*.spec.ts - exclude test files\n !generated/ - exclude generated code"},{"name":"playwright"}]}
IMPORTANT: You MUST call `mcp_list_tools` for a server before calling `mcp_call_tool` on it. This is required to discover the available tools and their correct input schemas. Never guess tool names or arguments — always list tools first.
Available subagent profiles for the `run_subagent` tool. Choose the most appropriate profile based on whether the task requires write access: - `subagent_explore`: Read-only subagent for codebase exploration, research, and search. Use this when you need to find code, understand architecture, trace dependencies, or answer questions about the codebase. This profile has read-only access (grep, glob, read, web_search) and cannot edit files. - `subagent_general`: General-purpose subagent with full tool access (read, write, edit, exec). Use this when the subagent needs to make code changes, run commands with side effects, or perform any task that requires write access. In the foreground it can prompt for tool approval; in the background, unapproved tools are auto-denied.
You are powered by Adaptive.
<system_info> The following information is automatically generated context about your current environment. Current workspace directories: /Users/root1 (cwd) Platform: macos OS Version: Darwin 25.6.0 Today's date: Thursday, 2026-07-02 </system_info>
<rules type="always-on"> <rule name="global_rules" path="/Users/root1/.codeium/windsurf/memories/global_rules.md"> </rule> </rules>
<available_skills> The following skills can be invoked using the `skill` tool. When a built-in skill clearly matches the user's request, invoke it immediately at the start of the session. - **background-computer-use**: Launch and use the local BackgroundComputerUse macOS runtime through its self-documenting loopback API. Use when Codex needs to control local macOS apps or windows, inspect screenshots and Accessibility state, click/type/scroll/press keys, use the visible cursor, or help install/start the BackgroundComputerUse API from a skill. (source: /Users/root1/.devin/skills/background-computer-use/SKILL.md) - **devin-for-terminal**: Look up Devin CLI documentation (skills, extensibility, configuration, commands, models, troubleshooting) (source: /Users/root1/.local/share/devin/cli/_versions/2026.8.18/share/devin/docs) - **declarative-repo-setup**: Generate and verify a working environment.yaml (Devin snapshot-setup blueprint) for a repo (source: builtin:drs) </available_skills>
The user provided a YouTube link. This is a YouTube video URL. I should summarize or explain what the video is about. The link is https://www.youtube.com/watch?v=nOapM8i5jr0. I need to fetch the page content to see what it is. Since I can't actually watch a video, I can fetch the title/description from the page. Let me use webfetch.
I'll fetch the YouTube page to identify the video for you.
{
"url": "https://www.youtube.com/watch?v=nOapM8i5jr0"
}# Web Content from https://www.youtube.com/watch?v=nOapM8i5jr0 [][1][][2] [About][3][Press][4][Copyright][5][Contact us][6][Creators][7][Advertise][8][Developers][9][Terms][10][Privacy][11][Policy & Safety][12][How YouTube works][13][Test new features][14][NFL Sunday Ticket][15] © 2026 Google LLC [1]: / [2]: / [3]: https://www.youtube.com/about/ [4]: https://www.youtube.com/about/press/ [5]: https://www.youtube.com/about/copyright/ [6]: /t/contact_us/ [7]: https://www.youtube.com/creators/ [8]: https://www.youtube.com/ads/ [9]: https://developers.google.com/youtube [10]: /t/terms [11]: /t/privacy [12]: https://www.youtube.com/about/policies/ [13]: https://www.youtube.com/howyoutubeworks?utm_campaign=ytgen&utm_source=ythp&utm_medium=LeftNav& utm_content=txt&u=https%3A%2F%2Fwww.youtube.com%2Fhowyoutubeworks%3Futm_source%3Dythp%26utm_medium%3 DLeftNav%26utm_campaign%3Dytgen [14]: /new [15]: https://tv.youtube.com/learn/nflsundayticket
The webfetch didn't capture the title/description because YouTube heavily obfuscates this. I could try web search to find the video title. Let me search.
{
"query": "youtube nOapM8i5jr0"
}# Web Search Results for "youtube nOapM8i5jr0" ## 1. Get a summary from the currently opened Youtube video using OpenAI and save to Google Sheets | Bardeen AI URL: https://www.bardeen.ai/playbooks/get-a-summary-from-the-currently-opened-youtube-video-using-openai-and-save-to-google-sheets Get a summary from the currently opened Youtube video using OpenAI and save to Google Sheets | Bardeen AI ... # Get a summary from the currently opened Youtube video using OpenAI and save to Google Sheets ... This automation will create an AI-generated summary of the currently opened YouTube video and save the results to Google Sheets. ... Bardeen's workflow automation offers a seamless way to create summaries of YouTube videos using OpenAI's advanced language models. This automation is especially valuable for content creators, marketers, and researchers who need to distill information from video content quickly. By saving these summaries to Google Sheets, you can easily access, share, and analyze the video content data for various applications, such as content strategy and research documentation. ... Here's how this workflow automates the process of generating a summary from a YouTube video and saving it to Google Sheets: ... - Step 1: Extract Video ID - This step finds the YouTube video ID from the current page URL using a regular expression. - Step 2: Build Transcript URL - Bardeen constructs the URL for the YouTube transcript by merging the video ID with the transcript service's base URL. - Step 3: Scrape Transcript - The scraper retrieves the video's transcript from the constructed URL in the background without manual intervention. ... - Step 4: Generate Summary - OpenAI's language model is utilized to produce a concise summary of the scraped transcript. ... - Step 5: Save to Google Sheets - Finally, the AI-generated summary is appended to a specified Google Sheets document for easy access and collaboration. ## 2. Claude Code + NotebookLM = CHEAT CODE URL: https://www.youtube.com/watch?v=usTeU4Uh0iM - Channel: Chase AI ... - Length: 11:08 ... - Views: 166.4K ... - Likes: 5.0K ... Published: 2026-03-02T13:28:22-08:00 ... Category: Science & Technology ... Using a custom YouTube search skill (powered by yt-dlp) and the notebooklm-py CLI, you can search YouTube for any topic, push the top videos directly into NotebookLM, have it extract all the captions and build a queryable knowledge base, run analysis across every video, and generate deliverables like infographics, slide decks, and podcasts — all from your terminal. ... this up, ... Chase, how do we actually connect Notebook LM to Claude Code considering ... fact that Notebook LM does not have a public API?" Well, luckily for us, there's people much smarter than you or ... who have already solved this problem. In this case, it is Tang Ling, and we will be standing on his shoulders today as we use the Notebook LM-dash-py GitHub repo to essentially act as an unofficial Python API for Notebook LM. But before we set up Notebook LM, we need to solve the first part of our pipeline, which is actually the YouTube search and the sourcing of the data we want Notebook LM to do analysis on. And for that, I have a custom YouTube search skill for Claude Code that does all of this for you. It uses a Python script that relies on the yt-dlp dependency to scrape YouTube's metadata for us. So, when I ask it for, "Hey Claude Code skills," it's just like us going on YouTube and searching in Claude Code skills. It grabs title, views, author, all that important stuff. And this skill you see right here inside of Claude Code teaches Claude Code how to best use this script. Now, there's two ways to get this skill and this script up and running. The first is rather simple. You just go inside of Claude Code and explain that you want it to build this custom skill for you that you want to use the YTDLP dependency to create a custom YouTube scraper. Or if you want this entire YouTube search skill setup and D file, and you can just download it... ## 3. Noam Shazeer Leaves Google for OpenAI: The AI Talent War - YouTube URL: https://www.youtube.com/watch?v=M65vB9TC7kE Noam Shazeer Leaves Google for OpenAI: The AI Talent War - YouTube Noam Shazeer Leaves Google for OpenAI: The AI Talent War - YouTube ## 4. $62,276.43 From One YouTube Video Using Claude AI — Just Copy Me URL: https://www.youtube.com/watch?v=5t72Itntg6s # $62,276.43 From One YouTube Video Using Claude AI — Just Copy Me ... - Channel: Shane Hummus - Length: 26:00 - Views: 12.4K - Likes: 607 - Published: 2026-06-24T17:00:39-07:00 - Category: Education - Keywords: Shane, Hummus, Shane Hummus, Claude AI, Artificial Intelligence, AI Tools, Machine Learning, Tech Tips, Claude 3, Claude Code, Claude AI Skills, Anthropic Claude, Claude Prompts, AI Coding, AI Automation, AI Agents, AI For Business, Workflow Automation, Prompt Engineering, Productivity Tools, advanced reasoning, claude, claude code, smart ai, modern business, ai tools that turn your voice into money - Language: en ... And again, this is just from AdSense alone. If you count the money that I made outside of AdSense, it's far, far more than this. Now, here is the part that nobody shows you because I didn't sit in a dark room agonizing over this for, you know, three days spending like 60 hours on each video. I used Claude AI for every single step. And back when I made this video, I used very advanced Claude prompts. But now you have something even better which is called Claude skills. So, you can think of a skill kind of like a specialist that you have trained who already knows exactly how you like things done, right? And you can have one for ideas, one for titles and thumbnails, one for scripts. and I basically just open up the right one and I go. Now, I'm going to drop free starter versions of these in the description, either the prompt or the skill. And I'm going to do this so that you can follow along. But the only catch is the real ones are customized to me and my channel. And inside of my community, we customize them for you and your channel as ... . So, we'll ... to that later on. But one thing that I want to say, and I want to make this very clear, I don't care what the AI gurus say. If you have AI generate the entire video and just upload it, you will get demonetized or banned almost 100%. ... So, either mediocre or preferably bad, then ... the title, ... ## 5. This Breaks YouTube URL: https://www.youtube.com/watch?v=bo9ToCA3aR0 # This Breaks YouTube ... - Channel: yougplat - Length: 00:39 - Views: 220.8K - Likes: 3.3K - Published: 2026-03-06T17:00:44-08:00 - Category: Gaming - Keywords: minecraft, minecraft memes, minecraft funny, minecraft shorts, minecraft comedy, minecraft humor, minecraft fails, minecraft funny moments, minecraft TikTok, minecraft edits, minecraft viral, minecraft laugh, minecraft relatable, minecraft parody, minecraft skits, minecraft jokes, minecraft fun, minecraft meme shorts, funny minecraft clips, minecraft trending, minecraft reactions, minecraft meme compilation, minecraft funny edits, minecraft funny videos, minecraft content - Language: en ... This video is breaking YouTube's algorithm, because apparently the title says 9 minutes when it's clearly three. ... So, what's [music] the catch? Well, the channel SlimeE101 found a new exploit inside of YouTube and it clearly works. And it all has to do with this one niche YouTube feature, audio tracks. ... Apparently, YouTube [music] accidentally added a fake language to this feature, Klingon. Because this is a made-up language from Star Wars, it breaks YouTube's language detection AI. So, let's say you hypothetically added a second English track under Klingon, YouTube could not [music] flag it as incorrect. So, how does this break YouTube? Well, watching that video, you'll see a second little guy in the corner. Switching [music] the audio lets you hear him, meaning people rewatch the video, doubling the retention rate. But, I want to test this exploit in a new way right now. We already know this breaks the YouTube algorithm. I want to test, can this exploit break the shorts [music] algorithm, too? So now, switch the audio track on this video to find out.
The search results didn't directly identify the video. The video ID nOapM8i5jr0 is not in the results. Maybe I should search more specifically. The Bardeen result mentions using OpenAI to get a summary of a currently opened YouTube video - perhaps the video ID is a demo example. But not sure. Let me try to fetch the oEmbed endpoint, which often provides metadata. YouTube oEmbed URL: https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=nOapM8i5jr0.
{
"url": "https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=nOapM8i5jr0"
}# Web Content from https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=nOapM8i5jr0
{"title":"Meta Hiring Lead: Avoid Downleveling, Liars, Passing OpenAI And Anthropic
Interviews","author_name":"Ryan
Peterman","author_url":"https://www.youtube.com/@RyanLPeterman","type":"video","height":113,"width":
200,"version":"1.0","provider_name":"YouTube","provider_url":"https://www.youtube.com/","thumbnail_h
eight":360,"thumbnail_width":480,"thumbnail_url":"https://i.ytimg.com/vi/nOapM8i5jr0/hqdefault.jpg",
"html":"\u003ciframe width=\u0022200\u0022 height=\u0022113\u0022
src=\u0022https://www.youtube.com/embed/nOapM8i5jr0?feature=oembed\u0022 frameborder=\u00220\u0022
allow=\u0022accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope;
picture-in-picture; web-share\u0022 referrerpolicy=\u0022strict-origin-when-cross-origin\u0022
allowfullscreen title=\u0022Meta Hiring Lead: Avoid Downleveling, Liars, Passing OpenAI And
Anthropic Interviews\u0022\u003e\u003c/iframe\u003e"}
The video is titled "Meta Hiring Lead: Avoid Downleveling, Liars, Passing OpenAI And Anthropic Interviews" by Ryan Peterman. The user just sent a link, no explicit question. I should summarize what the video appears to be about based on the title and maybe get a transcript or description if possible. I can try to fetch a transcript via a service. But maybe not needed. I can provide a brief summary based on the title and likely content. However, it would be better to actually summarize the video content. I can use the YouTube transcript via yt-dlp? The user didn't ask a specific question. I should ask what they'd like to know, or offer to summarize. Since the user just dropped a link, the best helpful response is to identify it and ask if they want a summary, transcript, notes, or anything specific. Or proactively summarize based on the title. I cannot watch the video. But I can fetch transcript if available. Let me try to use a transcript service. There are websites like downsub.com or youtubetranscript.com. But I don't have a specific tool. I could use yt-dlp if installed. Let's check if yt-dlp is available? The environment is a terminal. I can run `yt-dlp --list-subs` or similar. But the user didn't ask for a transcript. Better to just identify and offer assistance. Given the system prompt and the available skill, maybe this is a test? The link is about Meta hiring lead, OpenAI, Anthropic interviews. The user might want me to summarize. I can provide a concise identification. I will answer: "This is a YouTube video by Ryan Peterman: 'Meta Hiring Lead: Avoid Downleveling, Liars, Passing OpenAI And Anthropic Interviews'. Do you want me to summarize it, pull a transcript, or extract key takeaways?" That is helpful and direct. I should not use emojis unless requested. Keep it concise.
That video is "Meta Hiring Lead: Avoid Downleveling, Liars, Passing OpenAI And Anthropic Interviews" by Ryan Peterman on YouTube.
What would you like me to do with it? For example, I can:
whats iun agents.md
The user is asking "whats iun agents.md". This is likely "what's in agents.md" or "what's in AGENTS.md". They want to know what is in the AGENTS.md file. I need to check the current workspace for AGENTS.md. I should use find_file_by_name or just read if it exists. The current working directory is /Users/root1. I'll search for AGENTS.md.
{
"pattern": "AGENTS.md",
"path": "/Users/root1"
}/Users/root1/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.52/AGENTS.md /Users/root1/.codex/.tmp/plugins/plugins/build-web-apps/skills/react-best-practices/AGENTS.md /Users/root1/.codex/.tmp/plugins/plugins/build-web-apps/skills/supabase-best-practices/AGENTS.md /Users/root1/.codex/.tmp/plugins/plugins/zoom/AGENTS.md /Users/root1/Downloads/old-files/concurrent/agents.md /Users/root1/Downloads/projects/aidenhuang-clone/AGENTS.md /Users/root1/Downloads/projects/world-model-harness/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus-take-home/agents.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus_take_home/code/node_modules/@supabase/auth-js/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus_take_home/code/node_modules/@supabase/functions-js/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus_take_home/code/node_modules/@supabase/postgrest-js/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus_take_home/code/node_modules/@supabase/realtime-js/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus_take_home/code/node_modules/@supabase/storage-js/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/forus_take_home/code/node_modules/@supabase/supabase-js/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/old-projects/projects/modal-ffmpeg/web/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/old-projects/projects/openclaw-research/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/old-projects/projects/playground/pretext-demos/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/old-projects/projects/rogo-clone/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/old-projects/projects/tbpn/_research/Monolith/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/poker_solver/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/projects/cocktail/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/projects/forus-take-home/agents.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/Downloads_Archive_20260618/projects/openclaw-research/AGENTS.md /Users/root1/Library/Mobile Documents/com~apple~CloudDocs/downloads archive/agents.md /Users/root1/misc/agents.md
There are many AGENTS.md files. The user is in /Users/root1 (cwd). The most relevant one is likely /Users/root1/AGENTS.md but it's not listed? Wait, the list includes /Users/root1/misc/agents.md and /Users/root1/Downloads/old-files/concurrent/agents.md, etc. It does not include /Users/root1/AGENTS.md. Maybe there is no AGENTS.md directly in cwd. But the user asked "whats iun agents.md". Could be referring to a specific file in a project they are currently working on. Since the cwd is /Users/root1, but maybe there is an AGENTS.md that is in the current project directory. The find didn't list an AGENTS.md directly in /Users/root1. But there are many subdirectories. Wait, the find_file_by_name searches recursively? The pattern "AGENTS.md" in path /Users/root1 returns results including subdirectories. It didn't include /Users/root1/AGENTS.md. So there is no AGENTS.md at root. But maybe the user meant the current project directory, which is not clear. We need to ask which one. But before asking, we can check if there's a git repo or project cwd. The user is at /Users/root1. The current session workspace is /Users/root1. There are many AGENTS.md files. We should ask which one. Or maybe the user means "AGENTS.md" as a general concept. The question is "whats iun agents.md". "iun" is "in". So "what's in agents.md". Could be asking about the file type or content in general. Since we don't know which file, we can ask for clarification. But also the system prompt says "Whenever you reference skills, use the actual source path reported by the skill tool". This is not relevant. We can also list the files found and ask which one. The user might have a specific file in mind. Or maybe they mean the global rules file? No, that's global_rules.md. We can also check if there's an AGENTS.md in the current project by running git status. But that's overkill. I should respond: "There are several AGENTS.md files in this workspace. Which one do you mean?" and list the relevant ones. Or if they mean the concept, explain. Given the typo "iun", they might be typing quickly. The most likely intended file is in their current project. But there are multiple projects. The closest might be /Users/root1/misc/agents.md or a project in downloads. But I cannot guess. Better to ask: "Can you tell me which project/directory you're referring to?" or "Do you want me to show the one in the current directory?" But there is no AGENTS.md in the current directory. So I'll say there isn't one in the current directory and list nearby ones. Wait, maybe the question is "what's in agents.md" as in the concept of AGENTS.md from the rules. They might be asking what AGENTS.md is. The system prompt says: "Check for project-specific verification instructions in project rules files (AGENTS.md, or similar)". So AGENTS.md is a project rules file. I can explain that AGENTS.md is a project-specific instructions file for AI agents. But the user asked "whats iun agents.md" which sounds like "what's in agents.md". Could be they want to know the content of a specific file. Let's search for AGENTS.md exactly at the current working directory using ls?
{
"command": "ls -la /Users/root1/AGENTS.md /Users/root1/agents.md 2>/dev/null || echo 'No AGENTS.md in /Users/root1 root'",
"timeout": 5000
}Output from command in shell 4286f5: No AGENTS.md in /Users/root1 root Exit code: 0
No AGENTS.md in root. So need to ask which one. But maybe the user wants me to summarize what AGENTS.md is. I can answer both: explain that it's a project rules file, and that there isn't one in the current directory; list the ones found and ask which to read. But the user asked "whats iun agents.md" maybe they want to know the content. I should ask which one. However, the user might not be aware of multiple. Could be a file they just saw? The previous turn we talked about a YouTube video. No connection. Maybe they are asking about the AGENTS.md file in the current project, but the current directory is /Users/root1 which has no AGENTS.md. But maybe the current project is somewhere else? The system_info says cwd is /Users/root1. So we need to ask. Alternatively, we can use skill to search for the AGENTS.md? But that doesn't help. The best concise answer: "There are multiple AGENTS.md files. There's none directly in /Users/root1. Which one do you want? Here are the closest: [list]. Or do you want to know what AGENTS.md is?" Wait, the list has many. We can list some top-level ones: /Users/root1/misc/agents.md, /Users/root1/Downloads/old-files/concurrent/agents.md, etc. But the list is huge. Better to ask the user to specify the path. Actually, the user might have typed "agents.md" because they saw it in the system prompt or a prior message. Maybe they want to know the contents of the global rules? The global rules file is at /Users/root1/.codeium/windsurf/memories/global_rules.md and is empty. But they asked agents.md, not global_rules.md. I think the answer should be: "AGENTS.md is a project-specific instructions file for AI agents. There isn't one in /Users/root1. Which file or project do you mean?" and list a few candidates. But the user said "whats iun agents.md" - likely "what's in agents.md". Could be asking about the content of a specific file. Since there is no AGENTS.md in root, and multiple elsewhere, I should ask for clarification. But maybe the user meant the one in the global rules? No, it's empty. Let's provide a concise clarification and ask. However, perhaps I should check if any of the AGENTS.md files are in a git repo that is the current project? We can find git repos. But that's too much. The user can clarify. Also, note that the find_file_by_name output includes case-insensitive matches. There are some AGENTS.md and agents.md. In /Users/root1/misc/agents.md (lowercase). The user typed lowercase "agents.md". So maybe they mean /Users/root1/misc/agents.md? Or /Users/root1/Downloads/old-files/concurrent/agents.md. But which? Let's ask. Wait, maybe the user is asking "what's in AGENTS.md" as a general concept, because the system prompt mentions it. They might want to know what the rules file is. I can explain: AGENTS.md is a project-specific instruction file that can contain rules, verification steps, conventions, etc. It is not a standard file, but used by AI agents. Given the ambiguity, I'll provide a brief explanation and ask which file. But the user said "iun" which is a typo for "in". If they wanted a conceptual explanation, they'd say "what is agents.md". "whats in" suggests content. So I'll answer with clarification about the location. I should not just dump all 30 paths. I can say: "There are several AGENTS.md files in /Users/root1. There isn't one in the current directory. Which one do you want to see? For example, /Users/root1/misc/agents.md, /Users/root1/Downloads/old-files/concurrent/agents.md, ..." Alternatively, I can read the most likely candidate if they typed lowercase and is near root: /Users/root1/misc/agents.md. But if I guess wrong, it's bad. Better to ask. Given the instruction to be concise, I'll ask. Actually, we can also consider if there is a hidden AGENTS.md in .devin? No. Let's respond with a clarification question and a short list of top-level candidates.
There are several AGENTS.md/agents.md files in this workspace, and none directly in /Users/root1 (the current directory).
Which one do you mean? Top-level candidates include:
/Users/root1/misc/agents.md/Users/root1/Downloads/old-files/concurrent/agents.md/Users/root1/Downloads/projects/aidenhuang-clone/AGENTS.md/Users/root1/Downloads/projects/world-model-harness/AGENTS.mdOr if you just want to know what AGENTS.md is: it’s a project-level rules/instructions file for AI agents (build commands, conventions, verification steps, etc.).