Automated summary
This skill lets Claude Code read MetaTrader 5 log files directly to retrieve Print() output from indicators, scripts, and expert advisors without manually inspecting the Experts pane.
Strengths
- Automates checking MQL5 unit test results (Test_PatternDetector, Test_ArrowManager) straight from the logs.
- Ships ready-to-use Grep patterns for compilation errors, runtime errors, and initialization (OnInit) messages.
- Precisely documents the log path ($MQL5_ROOT/.../MQL5/Logs/YYYYMMDD.log) and its UTF-16LE encoding, removing guesswork.
- Fits into a clear dual-logging scheme: Print() for human-readable logs, CSV for programmatic analysis.
Limitations
- Only targets today's log file (date-based path); reading previous days' logs is not covered.
- Assumes a defined $MQL5_ROOT variable and a Windows-style Program Files layout, limiting portability outside that setup.
- Tightly coupled to Claude Code tools (Read, Bash, Grep) and to project-specific test and indicator names.
Use it to quickly verify Print() output, a test outcome, or a compilation/runtime error in MT5 without opening the Experts pane by hand.
Avoid it for analyzing structured market data or historical logs, or in non-MT5 environments where $MQL5_ROOT and the log files do not exist.
Security analysis
SafeThe skill is purely read-oriented: it uses Read and Grep plus Bash only for benign commands (`date`, `tail -n 50` on a local log file) to inspect MetaTrader 5 log output. There is no network access, no file modification, no credential handling, and no obfuscated or destructive command. It even notes that logs may contain sensitive trading/account data and instructs filtering it out of user-facing output. Bash is declared and used legitimately, so risk is minimal.
No concerns found
How this analysis is madeExamples
Read today's MT5 log and tell me whether Test_PatternDetector passed — how many tests passed and how many failed?My MT5 indicator isn't working. Grep today's log for errors and warnings with a few lines of context and explain what went wrong.Did the Phase 2 test arrow get created? Check the MT5 log for the Phase 2 / 'Test arrow created' messages and report the timestamp.name: log-reader description: Read MetaTrader 5 log files. TRIGGERS - MT5 logs, Experts pane, indicator errors, compilation errors. allowed-tools: Read, Bash, Grep
MT5 Log Reader
Read MetaTrader 5 log files directly to access Print() output from indicators, scripts, and expert advisors without requiring manual Experts pane inspection.
Purpose
Implement "Option 3" dual logging pattern:
- Print() - MT5 log files (human-readable via Experts pane)
- CSV files - Structured data (programmatic analysis)
Claude Code CLI can autonomously read both outputs without user intervention.
When to Use
Use this skill when:
- Validating MT5 indicator/script execution
- Checking compilation or runtime errors
- Analyzing Print() debug output
- Verifying unit test results (Test_PatternDetector, Test_ArrowManager)
- User mentions checking "Experts pane" manually
Log File Location
MT5 logs are stored at:
$MQL5_ROOT/Program Files/MetaTrader 5/MQL5/Logs/YYYYMMDD.log
File Format:
- Encoding: UTF-16LE (Little Endian)
- Structure: Tab-separated fields (timestamp, source, message)
- Size: Grows throughout day (typically 10-100KB)
Instructions
1. Construct today's log path
/usr/bin/env bash << 'SKILL_SCRIPT_EOF'
# Determine current date
TODAY=$(date +"%Y%m%d")
# Build absolute path
LOG_FILE="$MQL5_ROOT/Program Files/MetaTrader 5/MQL5/Logs/${TODAY}.log"
SKILL_SCRIPT_EOF
2. Read the entire log file
Use Read tool:
- File path: Absolute path from step 1
- The file contains all Print() statements from MT5 indicators/scripts
- UTF-16LE encoding is automatically handled by Read tool
3. Search for specific content (optional)
Use Grep to filter entries:
Pattern: indicator name, "error", "test.*passed", etc.
Path: Log file path from step 1
Output mode: "content" with -n (line numbers)
Context: -A 5 for 5 lines after matches
4. Analyze recent entries (optional)
Use Bash with tail for latest output:
tail -n 50 "$LOG_FILE"
Common Validation Patterns
Check unit test results
Search for test pass/fail indicators:
Pattern: test.*passed|test.*failed|Tests Passed|Tests Failed|ALL TESTS PASSED
Output mode: content
Context: -B 2 -A 2
Find compilation errors
Pattern: error|ERROR|warning|WARNING|failed to create
Output mode: content
Context: -A 3
Monitor specific indicator
Pattern: CCI Rising Test|PatternDetector|ArrowManager
Output mode: content
Context: -A 2
View initialization messages
Pattern: OnInit|initialization|Initialization complete|Phase \d+
Output mode: content
Examples
Example 1: Validate unit test completion
Input: User compiled Test_PatternDetector.mq5
Action:
1. Read today's log file
2. Grep for "Test.*PatternDetector|Tests Passed|Tests Failed"
3. Report results (e.g., "17 tests passed, 0 failed")
Output: Test status without user checking Experts pane
Example 2: Check for runtime errors
Input: User reports indicator not working
Action:
1. Read today's log file
2. Grep for "ERROR|error|failed" with -A 3 context
3. Analyze error messages
Output: Specific error details and line numbers
Example 3: Verify Phase 2 arrow creation
Input: User asks "did the test arrow get created?"
Action:
1. Read today's log file
2. Grep for "Phase 2|Test arrow created|Failed to create"
3. Check for success/failure messages
Output: Arrow creation status with timestamp
Security Considerations
- Log files may contain sensitive trading data (symbol names, account info)
- Restricted to Read, Bash, Grep tools only (no network access via WebFetch)
- Do not expose absolute paths unnecessarily in user-facing output
- Filter sensitive information when reporting results
- No file modification operations allowed
Integration with Dual Logging
This skill enables programmatic access to one half of the dual logging pattern:
- MT5 Log Files (this skill) - Human-readable Print() output
- CSV Files (CSVLogger.mqh) - Structured audit trails for validation
Both are accessible without user intervention:
- MT5 logs: Read via this skill
- CSV files: Read directly via Read tool or validate_export.py
Validation Checklist
When using this skill:
- [ ] Log file exists for today's date
- [ ] File size > 0 (not empty)
- [ ] Contains expected indicator/script output
- [ ] Timestamps match execution time
- [ ] Error messages (if any) are actionable
- [ ] Test results (if applicable) show pass/fail counts
References
- MT5 file locations:
docs/guides/MT5_FILE_LOCATIONS.md - Dual logging implementation:
docs/plans/cci-rising-pattern-marker.yamlPhase 3-4 - CSVLogger library:
Program Files/MetaTrader 5/MQL5/Indicators/Custom/Development/CCINeutrality/lib/CSVLogger.mqh
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/metatrader-5-log-reader-mmh8qrlo' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/metatrader-5-log-reader-mmh8qrlo/download' --output '.skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md.part' && mv '.skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md.part' '.skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Read, Bash, Grep
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md' && test -s '.skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/log-reader' && cp -R '.skill-downloads/metatrader-5-log-reader-mmh8qrlo' '.claude/skills/log-reader'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/metatrader-5-log-reader-mmh8qrlo'openskills read 'metatrader-5-log-reader-mmh8qrlo'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/metatrader-5-log-reader-mmh8qrlo/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.