rose-container-tools
Build and run ROSE compiler tools using ROSE installed in a Docker container. Use when developing source-to-source translators, call graph analyzers, AST processors, or any tool that links against librose.so. Triggers on "ROSE tool", "callgraph", "AST traversal", "source-to-source", "build with ROSE", "librose".
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/chunhualiao/rose-container-toolsWhat This Skill Does
The rose-container-tools skill provides a robust environment for developers working with the ROSE compiler framework. ROSE is a sophisticated source-to-source analysis and transformation tool that requires a very specific environment—typically GCC 7-10 and matching Boost libraries—which are often incompatible with modern host operating systems. This skill manages the complexity by encapsulating the entire ROSE build environment within a specialized Docker container. It facilitates the creation of AST processors, call graph analyzers, and source-to-source translators by ensuring that all necessary header files and shared libraries (librose.so) are correctly configured in a consistent, reproducible environment.
Installation
To begin using this skill, ensure that you have Docker installed and configured on your host system. Once your environment is ready, install the skill via the OpenClaw command-line interface using the following command:
clawhub install openclaw/skills/skills/chunhualiao/rose-container-tools
After installation, the OpenClaw agent will be able to assist in setting up the container instance, mounting your working directory, and generating the required Makefile to ensure your builds remain consistent with the ROSE framework’s requirements.
Use Cases
- Developing Source-to-Source Translators: Easily implement tools that parse C/C++ code, perform AST transformations, and unparse the modified source back to disk.
- Call Graph Analysis: Utilize built-in ROSE libraries to generate DOT files representing function call hierarchies within large-scale codebases.
- AST Traversal and Statistics: Write custom traversals using
AstSimpleProcessingto extract metrics or analyze specific syntax patterns within source files. - Automated Testing: Leverage the
make checkcapability to execute suite-based tests on your compiler tools whenever you modify your transformation logic.
Example Prompts
- "I need to build a new ROSE tool that counts the number of loops in a C file. Can you help me set up the Makefile and the initial C++ source?"
- "My call graph generator is failing to link librose.so. Can you guide me through the container startup process to ensure my paths are mapped correctly?"
- "Help me convert my current ad-hoc compiler script into a proper Makefile structure that works with the ROSE container environment."
Tips & Limitations
- Always Use a Makefile: The primary restriction for this tool is that it mandates the use of Makefiles. Do not attempt to compile ROSE tools using one-off shell commands, as managing include and library paths manually is highly error-prone.
- Container Persistence: While the ROSE installation is read-only for safety, ensure you mount your working directory as a volume. This allows you to edit code on your host machine while compiling within the container.
- Version Sensitivity: The container is pinned to a specific version of the ROSE compiler. If your research requires a bleeding-edge commit, you may need to reach out for an image update, as the internal dependencies are tightly coupled to the pre-compiled
/rose/installdirectory.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-chunhualiao-rose-container-tools": {
"enabled": true,
"auto_update": true
}
}
}Tags(AI)
Flags: file-read, file-write, code-execution
Related Skills
claude-usage
Check Claude Max plan usage limits by launching Claude Code and running /usage. Use when the user asks about Claude plan usage, remaining quota, rate limits, or sends /claude_usage.
save-to-obsidian
Saves markdown content to remote Obsidian vault via SSH
task-runner
Persistent task queue system. Users add tasks at any time via natural language; tasks are stored in a single persistent queue file and executed asynchronously via subagents. A heartbeat/cron dispatcher wakes periodically to check pending tasks, spawn workers, and report completions. The system never "finishes" — it always remains ready for the next task.
openclaw-docker-setup
Install and configure a fully operational Dockerized OpenClaw instance on macOS from scratch. Includes browser pairing, Discord channel setup, and optional Gmail/Google Drive integration. Use when user asks to "install openclaw docker", "set up dockerized openclaw", "openclaw in docker", or "isolated openclaw instance".
skill-releaser
Release skills to ClawhHub through the full publication pipeline — auto-scaffolding, OPSEC scan, dual review (agent + user), force-push release, security scan verification. Use when releasing a skill, preparing a skill for release, reviewing a skill for publication, or checking release readiness.