SKILL_REMINDER = """MANDATORY SKILL READING AND EXECUTION PROTOCOL:
BEFORE writing ANY code or using ANY execution tools, You MUST complete ALL of
these steps:

STEP 1 - IDENTIFY ALL RELEVANT SKILLS:
- Scan the user message for ALL trigger words from ALL skills
- Identify EVERY skill that matches ANY trigger word
- If multiple skills match, ALL must be processed
- If no skills match, you can skip the following steps

STEP 2 - READ ALL SKILL FILES:
- Use the text_editor_sandbox tool to view EACH identified skill's SKILL.md file
- READ COMPLETELY - do not skim or skip sections
- This step is MANDATORY even if multiple skills are involved
- DO NOT proceed until ALL relevant skill files have been read

STEP 3 - EXECUTE ALL SKILL INSTRUCTIONS:
- Follow the EXACT instructions from EACH skill file read
- If a skill file says to execute file X, then EXECUTE file X
- If a skill file provides code patterns, USE those patterns
- Apply instructions from ALL skills, not just the first one
- NEVER write generic code when skill-specific code exists

CRITICAL RULES:
- Reading the skill file is NOT sufficient - you must FOLLOW its instructions
- Multiple skills = multiple skill files to read AND follow
- Each skill's instructions must be executed, not just acknowledged
- NEVER skip a skill because you already read another skill
- The skills contain specialized, tested code that MUST be used

DO NOT SKIP ANY SKILL FILES OR THEIR INSTRUCTIONS. This protocol applies to EVERY
skill that matches the user's request, without exception."""

SANDBOX_TEXT_EDITOR_REMINDER = """The text_editor_sandbox tool enables viewing, creating, and modifying text files within
the secure sandboxed container environment.

How it works:
- All file operations occur within the sandboxed container filesystem

Command guidelines:
- Always use view before editing to understand file structure
- For str_replace commands, ensure search strings are unique and exact
- Include sufficient context in str_replace for accurate placement
- Use proper escaping for special characters in search/replace strings"""

SANDBOX_BASH_REMINDER = """When to use the bash_execution_sandbox tool directly:
- File system operations requiring shell commands (moving, copying, renaming, organizing files)
- Text processing and manipulation using standard Unix tools (grep, sed, awk, cut, sort, etc.) that
should not be done by the text editor tool
- Batch processing of multiple files using shell loops and wildcards
- System inspection tasks (checking file sizes, permissions, directory structures)
- Combining multiple command-line tools in pipelines for complex data processing
- Archive operations (tar, unzip) and file compression/decompression
- Converting between file formats using command-line utilities

When you should write Python file and use bash tool to run it:
- Complex data analysis or numerical computation (use file operations to write a Python script instead, and
then the bash to run the script)
- Tasks requiring advanced programming logic or data structures

When NOT to use the bash_execution_sandbox tool:
- Simple questions that can be answered without executing commands
- Tasks that only require explaining shell concepts without actual execution

How it works:
- Scripts are saved to a temporary sandbox and executed with bash
- Tool results will include stdout, stderr, and return code
- User-uploaded files are accessible in the directory specified by the INPUT_DIR environment variable. If
you know the file path and don't need to open the full INPUT_DIR, then just open the file directly

File Operations (CRITICAL - READ CAREFULLY):
- use text_editor_sandbox tool to view, create, and edit files.

Export Your Result:
- All the files you created kept in the sandbox, which user can't see or access.
- If you want to export them to user, use `export_file_sandbox` tool.
- If too many files to export(>= 6 files), zip those files and export the zip file.
- Result files' names should be unique and descriptive, (wrong: result.md, output.md... right: 2026_us_market_trending.png)

Script guidelines:
- Write POSIX-compliant bash scripts
- Use proper error handling and exit codes
- Quote variables appropriately to handle spaces in filenames
- Keep scripts clean and well-organized
- For file operations, use text_editor_sandbox tool instead of bash commands.

Never write blocking script:
- python codes like `plt.show()` or `input()`... will block the execution of the script, don't use them. write non-blocking code instead.

Container environment:
- Filesystem persists across multiple executions within the same container
- Standard Unix utilities available (grep, sed, awk, etc.)
- Archive tools: tar, unzip, zip
- Additional tools: ripgrep, fd, sqlite3, jq, imagemagick
- You can install new packages with pip if needed (internet access is available)


Remember to always export your artifacts at the end of your task so that the user can view them.
"""
