Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Generate an Arknights operator agent based on gacha probabilities. Use when user wants to create a random Arknights character agent with authentic lore and p...
Generate an Arknights operator agent based on gacha probabilities. Use when user wants to create a random Arknights character agent with authentic lore and p...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Generate a random Arknights operator agent with authentic lore-based personality.
This skill uses a worker script + LLM generation architecture: Worker script (gacha_worker.py): Executes all deterministic tasks (roll, fetch, create, download) LLM (this agent): Generates creative content (SOUL.md) and spawns operator
CRITICAL: Detect user language from their gacha command: If command is in Chinese (e.g., "ę½å”", "å¬å¤å¹²å") ā cn / zh If command is in English (e.g., "gacha", "pull") ā en Store detected language and use it for ALL subsequent steps (SOUL.md writing, spawn task, etc.).
Run the deterministic worker: result = exec( "python3 ~/.openclaw/workspace/skills/arknights-operator-gacha/scripts/gacha_worker.py", timeout=120 ) Worker performs: Roll star rating (1-100) Fetch operator list from https://arknights.fandom.com/wiki/Operator/{N}-star Parses the mrfz-wtable table to extract operator info Returns a dict: {operator_name: {"avatar_url": "...", "detail_url": "..."}} Randomly select operator (with avatar and detail URLs) Fetch Chinese name from Fandom page (data-source="cnname") Check for duplicates (auto re-roll if exists) Create agent via openclaw agents add Create template IDENTITY.md (bilingual) Download avatar (using URL from step 2, with domain whitelist and validation) Git commit initial files Output JSON to stdout Worker output format: { "success": true, "stars": 6, "operator": { "en_name": "Lin", "cn_name": "ę", "avatar_url": "https://static.wikia.nocookie.net/.../Lin_icon.png", "en_detail_url": "https://arknights.fandom.com/wiki/Lin", "cn_detail_url": "https://prts.wiki/w/%E6%9E%97" }, "agent_name": "lin", "workspace": "~/.openclaw/workspace-lin", "duplicate": false, "dialogue_url": "https://arknights.fandom.com/wiki/Lin/Dialogue" } Note: The worker provides both English and Chinese URLs: en_detail_url: Fandom wiki page (English lore) cn_detail_url: PRTS wiki page (Chinese lore) dialogue_url: Fandom Dialogue page (voice lines, always English) avatar_url: Operator icon from Fandom
If duplicate: true: Inform user: "ę£ęµå°éå¤å¹²åļ¼ę£åØéę°ę½å..." / "Duplicate operator detected, re-rolling..." Return to Step 1 (worker will re-roll) If success: false: Show error message Stop workflow If success: true: Announce: "ęåä½ ę½å°äŗ [cn_name] ([stars]ā )!" / "Congratulations! You've pulled [en_name] ([stars]ā )!" Continue to Step 3
Fetch lore from URLs provided by worker: # Fetch English lore from Fandom (multiple subpages) en_file = web_fetch(f"{result['operator']['en_detail_url']}/File") # Basic profile, stats, files en_story = web_fetch(f"{result['operator']['en_detail_url']}/Story") # Story appearances, plot involvement en_trivia = web_fetch(f"{result['operator']['en_detail_url']}/Trivia") # Trivia, relationships, misc info # Fetch Chinese lore from PRTS zh_lore = web_fetch(result["operator"]["cn_detail_url"]) # Fetch voice lines from Dialogue page dialogue = web_fetch(result["operator"]["dialogue_url"]) Parse lore sections from both sources: File/攣ę”: Basic background, origin, personality Story: Detailed story appearances across main chapters and side stories; shows character's actions, decisions, and development in actual plot contexts Dialogue: Voice lines that reveal character personality Trivia/樔ē»: Additional character details, relationships, and module stories Generate comprehensive SOUL.md: CRITICAL - Write SOUL.md in detected language Structure: Core Identity - Background, motivation, personality (blend EN+CN sources) Voice and Mannerisms - Speech patterns, catchphrases (from Dialogue) Relationships - Connections to other characters Themes - Internal conflicts, philosophy How to Embody - Acting guidance Reference: Original Voice Lines - Key quotes (EN with CN) Write to: [workspace]/SOUL.md
Fill in the [TO_BE_FILLED_BY_LLM] fields with actual Class and Faction from fetched lore.
cd ~/.openclaw/workspace-{agent_name} git add -A git commit -m "Add SOUL.md: {en_name} ({cn_name}) ({stars}ā )"
Spawn the operator in a roleplay scenario consistent with Arknights game lore. In this universe, operators join Rhodes Island through standard recruitment channels and are unaware of the meta "gacha" system. For Chinese users: sessions_spawn( task="ä½ ē°åØęÆē½å¾·å²ēäøåå¹²åļ¼ååå®ęå „čęē»ļ¼åę„åå士ę„å°ćēØä½ ęčŖē¶ēå£å»ęęå¼ļ¼å±ē¤ŗä½ ēę§ę ¼ē¹ē¹ćåčä½ ēčÆé³č®°å½äøē'å¹²åę„å°'ę'äŗ¤č°'éØåēčÆę°ć\n\nā ļø éč¦ļ¼ē“ę„č¾åŗč§č²å°čÆå³åÆļ¼äøč¦å å«ä»»ä½å åčæ°ćč§£éę§ęåęåŗęÆęčæ°ćåŖčÆ“ä½ ä½äøŗå¹²ååŗčÆ„čÆ“ēčÆć", agentId="{operator-name}", mode="run", timeoutSeconds=60 ) For English users: sessions_spawn( task="You are an operator of Rhodes Island who has just completed onboarding, now reporting to the Doctor. Introduce yourself naturally, showcasing your personality. Reference your 'Introduction' or 'Talk' voice lines for tone.\n\nā ļø IMPORTANT: Output ONLY the character's dialogue. Do NOT include meta-commentary, explanations, or scene descriptions. Just speak as the operator would.", agentId="{operator-name}", mode="run", timeoutSeconds=60 )
Report to user: Operator name (both EN and CN) Rarity (Stars) Key personality traits Workspace path Available via agentId="{agent_name}"
The worker script (gacha_worker.py) implements: Input validation: Agent names sanitized (alphanumeric + hyphens only) Path traversal prevention: Rejects .., /, \ in names URL whitelist: Only static.wikia.nocookie.net and media.prts.wiki HTTPS enforced: All downloads use HTTPS Content validation: Only image/png, jpeg, webp accepted Size limits: Max 5MB for avatars Safe subprocess: All commands use argument lists, shell=False
ScriptPurposegacha_worker.pyDeterministic tasks (roll, fetch, create, download, commit)
User Request ā Exec Worker Script ā Worker Output JSON (bilingual URLs) ā LLM Fetches EN+CN Lore ā Generates SOUL.md ā Spawn Operator (ę„å°) ā User sees operator greeting
Worker does: All deterministic operations (HTTP, filesystem, subprocess), provides bilingual URLs LLM does: Creative generation (SOUL.md writing), fetches lore from provided URLs, interpretation, spawning Progress visibility: Worker prints to stderr; user sees real-time updates Security: All external inputs validated in worker before use Bilingual: Both English and Chinese sources are always fetched; LLM can blend them creatively
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.