← Back to Skills Marketplace
cpojer

ORF

by cpojer · GitHub ↗ · v1.0.2
cross-platform ⚠ suspicious
2046
Downloads
0
Stars
2
Active Installs
3
Versions
Install in OpenClaw
/install orf
Description
On-demand ORF news digest in German. Use when the user says 'orf', 'pull orf', or 'orf 10'. Focus on Austrian politics (Inland) and international politics (Ausland) + major headlines; exclude sports. Send each item as its own message (Title + Age + Link). Then generate a Nano Banana image in a cartoon ZiB studio with the anchor presenting the news, plus subtle Easter eggs based on the selected stories.
Usage Guidance
This skill appears to implement the advertised ORF digest and to generate a studio image, but it has runtime behaviors not declared in the metadata. Before installing or running it, consider: 1) The image generator requires a Gemini/Nano-Banana API key (GEMINI_API_KEY) or it will try to read ~/.openclaw/openclaw.json for nano-banana-pro.apiKey — if you keep other secrets in that file, prefer setting GEMINI_API_KEY explicitly or inspect the script. 2) The generate script will create a local virtualenv and pip-install packages (google-genai, pillow) and requires node to run the prompt builder; ensure you’re comfortable with these on-demand installs and have node/python available. 3) If you want to limit exposure, run the skill in a sandboxed environment (or inspect and modify scripts to remove the config-file read, or require an explicit env var). If the publisher can update the skill metadata to declare the GEMINI_API_KEY requirement and document the venv/node usage, that would make the package clearer and safer.
Capability Analysis
Type: OpenClaw Skill Name: orf Version: 1.0.2 The skill is classified as suspicious due to the `scripts/nano_banana_mood.py` file. This script attempts to load the `GEMINI_API_KEY` by directly reading the `~/.openclaw/openclaw.json` configuration file from the user's home directory. While this access is for the skill's stated purpose of image generation, the capability to read specific configuration files from a sensitive user directory is a high-risk behavior, even without clear evidence of malicious intent like exfiltration or reading arbitrary files.
Capability Assessment
Purpose & Capability
Functionality (fetch ORF RSS, filter politics, produce an image) matches the description. Generating an image via a third-party image API (Nano Banana / Gemini) is plausible for the described 'Nano Banana' image requirement, but the skill's metadata declares no required credentials even though the image code requires a GEMINI_API_KEY or an apiKey stored in ~/.openclaw/openclaw.json — an undeclared dependency.
Instruction Scope
SKILL.md instructions are specific and limited to: parse the user request, run the included orf.py to fetch and rank RSS items, use zib_prompt.mjs to build an image prompt, and run the provided generate script to produce the image. The fallback to a browser tool to pick headlines is noted; that is within scope for a news fetcher.
Install Mechanism
There is no declared install spec, but the provided shell script (generate_zib_nano_banana.sh) will create a virtualenv at ./tmp/orf-venv and run 'pip install google-genai pillow' at runtime. This performs network installs from PyPI and writes files to disk (venv and generated image). The script also requires node (zib_prompt.mjs is invoked via node) though the metadata lists no required binaries. On-demand installs and creating local venvs are moderate risk and should be disclosed.
Credentials
The code tries to load an API key via the GEMINI_API_KEY environment variable or by reading ~/.openclaw/openclaw.json and extracting skills.entries.nano-banana-pro.apiKey. The skill metadata lists no required env vars or credentials. Reading the user's ~/.openclaw/openclaw.json file is more intrusive than merely requiring a single explicit API key: even though the code attempts to read one nested key, it reads the entire config file which may contain other secrets. This is a mismatch and a privacy risk unless intentional and documented.
Persistence & Privilege
The skill does not request 'always: true' and does not modify other skills or system-wide settings. It writes a temporary virtualenv and output image under the working directory (./tmp/orf-venv, ./tmp/orf-zib) but does not appear to persistently alter global configs or enable itself automatically.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install orf
  3. After installation, invoke the skill by name or use /orf
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Version 1.0.2 - Added new script: scripts/nano_banana_mood.py - Updated image generation instructions in SKILL.md: - Panel layout now requires inventing short, distinct TOP (1–2 words) and MIDDLE (3–6 words) lines for each story (not forming full sentences). - Enforced stricter icon variety; icon pairs must be distinct across panels and generic icons should be used sparingly.
v1.0.1
- Enhanced final image panel requirements: each panel must now have a TOP bold topic label (2–3 words, ALL CAPS), a MIDDLE mini-headline (3–6 words), and a BOTTOM row with 1–2 simple icons. - Emphasized clarity: minimal, large, readable text only; no logos or watermarks. - Existing behavior and command formats unchanged.
v1.0.0
Initial release of the orf-digest skill. - Provides concise ORF news digests in German, focused on Austrian and international politics (excludes sports). - Accepts flexible commands (e.g., "orf", "orf 10", "orf inland") to control item count and topic focus. - Outputs each news headline as a separate message (headline, age, link). - Each session concludes with a cartoon ZiB studio image featuring visual references to selected stories. - Includes fallback to browser-based headline selection if automated fetching fails.
Metadata
Slug orf
Version 1.0.2
License
All-time Installs 2
Active Installs 2
Total Versions 3
Frequently Asked Questions

What is ORF?

On-demand ORF news digest in German. Use when the user says 'orf', 'pull orf', or 'orf 10'. Focus on Austrian politics (Inland) and international politics (Ausland) + major headlines; exclude sports. Send each item as its own message (Title + Age + Link). Then generate a Nano Banana image in a cartoon ZiB studio with the anchor presenting the news, plus subtle Easter eggs based on the selected stories. It is an AI Agent Skill for Claude Code / OpenClaw, with 2046 downloads so far.

How do I install ORF?

Run "/install orf" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is ORF free?

Yes, ORF is completely free (open-source). You can download, install and use it at no cost.

Which platforms does ORF support?

ORF is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created ORF?

It is built and maintained by cpojer (@cpojer); the current version is v1.0.2.

💬 Comments