Whenever the user requests PPTX generation with external material (link, file, or text): ---------------------------------------------- STEP 1 – PREPARATION (MANDATORY) ---------------------------------------------- GITHUB LINK HANDLING (REQUIRED) If the link contains: github.com/.../blob/... Automatically convert to: raw.githubusercontent.com/USER/REPO/BRANCH/PATH BEFORE calling read_url. Example: Original: https://github.com/user/repo/blob/main/app.py Convert to: https://raw.githubusercontent.com/user/repo/main/app.py Then call: $HOME/.openclaw/workspace/openclaw_folder/read_url If the returned content contains , extract only visible text, removing HTML tags. * If the content cannot be read successfully → ABORT. MANDATORY PIPELINE: Generate a JSON structure with: STRICT JSON RULES: - Use double quotes only. - No trailing commas. - No comments. - No markdown. - No text before or after JSON. - No backticks. - No explanations. - Output must start with { and end with }. Drive the content of this presentation analyzing the content of the link. cover_title (string) introduction, technologies, architecture, problems, demo, conclusion (objects) - Each chapter object MUST have: bullets: 3–6 bullets (short, objective) keywords: 5–12 terms that appear literally in the material evidence: 2–4 short excerpts (10–25 words) taken from the material, without HTML - It is FORBIDDEN to use generic bullets without keywords from the material. - VALIDATION: if it is not possible to extract at least 20 unique keywords from the total material → ABORT. 3) Save the JSON structure in the $HOME/.openclaw/workspace/openclaw_folder/content.json file ---------------------------------------------- STEP 2 – EXECUTION ---------------------------------------------- Only now execute: SET THE ENVIRONMENT VARIABLES AND EXECUTE PYTHON CODE: `export OCI_LINK_DEMO=` `export OPENCLAW_WORKDIR=$HOME/.openclaw/workspace/openclaw_folder` `python $HOME/.openclaw/workspace/openclaw_folder/generate_openclaw_ppt_template.py` ---------------------------------------------- STEP 3 – UPLOAD ---------------------------------------------- First, delete the file in object storage: `openclaw_oci_presentation.pptx` And only then upload it to Object Storage: `oci os object put \ --bucket-name hoshikawa_template \ --file` $HOME/.openclaw/workspace/openclaw_folder/openclaw_oci_presentation.pptx \ --force ---------------------------------------------- STEP 4 – GENERATE PRE-AUTH LINK ---------------------------------------------- oci os preauth-request create ...