tilelang-submodule-pull

Automates pulling tilelang repository and third-party submodules with retry and logging.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/WangWindow/CANN-BatchMatMulMaxsum --skill tilelang-submodule-pull-wangwindow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tilelang-submodule-pull
Source: https://github.com/WangWindow/CANN-BatchMatMulMaxsum/tree/main/.agents/skills/tilelang-submodule-pull
Command: npx skills add https://github.com/WangWindow/CANN-BatchMatMulMaxsum --skill tilelang-submodule-pull-wangwindow

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Pulling the tilelang repository and its nested third-party submodules often fails due to unstable networks, forcing developers to manually rerun git commands and watch for errors. This Skill automates the entire pull process with error detection, scheduled retries, and logging. ## Core Features & Use Cases - Dual Pull Commands: Runs both git submodule update --init --recursive and git pull --recurse-submodules, requiring both to succeed before stopping. - Automatic Error Detection & Retry: Scans command output for keywords like "Could not access", "fatal", and "Failed to clone", then waits 1 hour and retries on failure. - Mirror Acceleration & Timeout Protection: Configures the ghfast.top git mirror for faster access and auto-stops after 10 hours of background running. - Use Case: When a fresh tilelang clone fails to fetch third-party dependencies due to network issues, run the script in the background and let it retry until all code is pulled, monitoring progress via the log file. ## Quick Start Ask the assistant to re-pull the tilelang repository and its third-party submodules using the auto pull script, then follow the log output.

Frequently Asked Questions about tilelang-submodule-pull

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I re-pull git submodules after a failed clone?

Run the auto_pull.sh script with bash scripts/auto_pull.sh in the foreground, or nohup scripts/auto_pull.sh & for background execution. It runs git submodule update --init --recursive and git pull --recurse-submodules, retrying automatically on failure.

How does the script detect git pull failures?

The script captures full command output and scans for error keywords: Could not access, error, fatal, Failed to clone, and unable to access. If either command's output matches, it waits 3600 seconds and retries the entire round.

Will the submodule pull script retry forever?

No. The script includes a 10-hour timeout protection: after 36000 seconds of background running it automatically stops and logs the event. It also stops immediately once both pull commands succeed.

Do I need to cd into each third-party submodule to pull manually?

No. The script derives the project root directory from its own location and runs recursive submodule update from there. Manual per-submodule pulling is unnecessary unless the project layout differs from the expected structure.

How do I monitor the pull progress in real time?

All output is written to both the terminal and the log file. Use tail -f logs/git_pull.log to follow progress while the script runs in the background.