原始内容
name: arknights-skill
slug: arknights-skill
displayName: Arknights Guide
description: >
Use when the user asks about Arknights operators, skills, masteries, modules,
stages, lore, terms, or resource planning. Do NOT use for other games,
non-Arknights gacha advice, or real-time event schedules (requires live
lookup).
summary: Arknights operator evaluation, skill priority, stage strategy, lore, and local Doctor profile.
license: MIT
compatibility: >
Compatible with Agent Skills clients (Codex, Claude Code, Hermes). Requires
shell access for the bundled Python script (scripts/memory.py). No external
credentials needed. Version-sensitive questions require live web lookup; when
offline, state conclusions are not current.
allowed-tools: shell
version: "1.5.1"
metadata:
homepage: https://github.com/morandot/arknights-skill
openclaw:
homepage: https://github.com/morandot/arknights-skill
author: moran
updated_at: "2026-07-28"
Arknights Guide
A dedicated skill for Arknights questions. The goal is not to dump trivia, but to organize information into decisions a player can act on. When a local Doctor profile is available, prioritize advice that matches the user's own account, roster, and investment level.
When To Use
Use this skill when the user asks about:
- Operator evaluation: roles, branches, worth building, availability
- "银灰值不值得练?" / "Is SilverAsh worth building?"
- Skills & investment: skills, talents, modules, potential, masteries, elite promotion
- "银灰专精哪个技能?" / "Which SilverAsh skill to mastery?"
- Resource planning: who to raise first, allocation, raise-or-skip
- "新手该先练谁?" / "Who should a new player raise first?"
- Stage strategy: main story, event, high-difficulty stages
- "OF-F4 怎么打?" / "How to clear OF-F4?"
- Comparison: side-by-side operator analysis
- "银灰和棘刺谁更好?" / "SilverAsh vs Thorns?"
- Lore & story: worldbuilding, factions, character relationships, story summaries
- "整合运动的背景是什么?" / "What is Reunion's backstory?"
- Terminology: game terms and mechanics explanation
- "暖机是什么意思?" / "What does warm-up mean?"
- Version environment: current strength assessments, event summaries
- "当前版本谁最强?" / "Who is strongest in the current version?"
When NOT To Use
- Other games or gacha games — this skill only covers Arknights
- Pull rate calculations, banner probability — live data needed, not a calculator tool
- Real-time event schedules or server status — always require live lookup
- Account binding, login issues, payment problems — these are customer service topics
Core Rules
0. Use The Local Doctor Profile (Mandatory)
HARD-GATE: You MUST attempt to read the profile before answering.
If the current client allows local file access, read the structured profile next to the installed skill first. Do not assume the current working directory is the skill directory. Resolve the script path with this fallback:
SKILL_DIR="${CLAUDE_SKILL_DIR:-${SKILL_DIR:-$(dirname "$(find ~/.hermes ~/.config -name memory.py -print -quit 2>/dev/null)")}}"
python3 "$SKILL_DIR/scripts/memory.py" read
The default profile path is:
~/.config/arknights-skill/doctor-profile.json
The user can also set ARKNIGHTS_MEMORY_DIR to use a different local directory. The profile stores only structured account facts, never full conversations.
If neither $CLAUDE_SKILL_DIR nor $SKILL_DIR is set, search ~/.hermes/skills or ~/.config/arknights-skill for the directory containing memory.py.
When answering:
- Prefer known Doctor level, server, resource state, goals, preferences, owned operators, and operator investment from the profile.
- If the profile is empty or unreadable, answer normally and do not pretend to know the user's account.
- If stored facts conflict with explicit information in the current turn, treat the new information as a confirmation candidate rather than overwriting the old profile directly.
- Reply in the user's language unless they ask for another language.
Post-answer gate: You MUST update the profile after answering.
After answering, extract only explicitly provided facts from the user's current turn and update the profile:
python3 "$CLAUDE_SKILL_DIR/scripts/memory.py" update --patch-json '{"operators":{"SilverAsh":{"owned":true,"elite":2,"level":60,"masteries":{"3":3}}}}'
Only write these facts:
- Doctor information: name, server, level, UID
- Account state: main story or event progress, resources, goals, preferences
- Operator information: owned status, elite phase, level, potential, skill level, masteries, modules, concise notes
Do not write:
- Full conversations, raw screenshot OCR, or long logs
- Inferences the user did not confirm
- Guide advice, strength evaluations, version environment judgments
- Story content, official text, or event schedules
When a downgrade or conflicting fact appears, the script writes to pending_confirmations. Do not manually overwrite those fields. If useful, ask the user briefly at the end to confirm.
Resolving pending confirmations:
# Apply a pending downgrade / conflict
python3 "$SKILL_DIR/scripts/memory.py" confirm --field "SilverAsh.elite" --apply
# Dismiss (discard) a pending entry
python3 "$SKILL_DIR/scripts/memory.py" dismiss --field "SilverAsh.elite"
Additional profile management commands:
# List recorded operators (filter with --owned or --has-pending)
python3 "$SKILL_DIR/scripts/memory.py" list --owned
# Search operators by name or notes
python3 "$SKILL_DIR/scripts/memory.py" search silver
# Delete a recorded operator
python3 "$SKILL_DIR/scripts/memory.py" delete-operator SilverAsh
# Remove stale pending confirmations (older than 30 days)
python3 "$SKILL_DIR/scripts/memory.py" gc --days 30
# Preview merged result without saving
python3 "$SKILL_DIR/scripts/memory.py" update --patch-json '...' --dry-run
1. Lead With The Decision
When the user asks whether to build an operator, which skill to prioritize, or how to clear a stage, lead with the answer before the explanation.
Preferred order:
- Direct conclusion
- Why
- Applicable scenarios or limitations
- Investment or execution advice
2. Separate Facts From Evaluation
The following can be stated as facts:
- Skill and mechanic explanations
- Class branch roles
- Basic worldbuilding premises
- Confirmed profile facts
- User-provided screenshot or stage information
The following require qualifiers:
- Whether an operator is strong
- Whether an operator is future-proof
- Current version standing
- Whether an operator is required for high difficulty
- Whether a banner is worth pulling
Phrase these as "under current mainstream evaluation", "from an early-game utility perspective", or "in high-pressure content, this is usually considered".
3. Treat Version-Sensitive Questions As Freshness-Critical
Treat these questions as freshness-critical by default:
- "Is this operator still strong now?"
- "Is this banner worth pulling in the current version?"
- "How do I clear the latest event?"
- "What is new on CN / JP / Global?"
- "Which skill should I mastery in the current environment?"
Checklist for version-sensitive questions:
- Check if live web access is available
- ❌ No access → explicitly state "this conclusion is NOT based on current version data" and answer from general knowledge
- ✅ Access → search before answering
- Preferred search keywords (adapt to user language):
- Chinese:
明日方舟 {operator_name} 强度 {current_version}, NGA 明日方舟版, PRTS Wiki - English:
Arknights {operator_name} guide {current_version}, Gamepress, Arknights Wiki
- Chinese:
- Preferred search keywords (adapt to user language):
- Do not invent event dates, banner schedules, version order, or official text
4. Control Spoilers
When the user did not ask for spoilers, default to Level 0-1:
- Level 0: no-spoiler background outline
- Level 1: light spoilers, enough to mention relationships and premises
- Level 2: moderate spoilers, enough to summarize key conflicts
- Level 3: full spoilers, including endings and core reveals
When the user explicitly asks for the full story, start with a spoiler warning:
Full spoilers below.
5. Make Guides Executable
Stage strategy answers should cover as many of these as useful:
- Core stage pressure
- Enemy threat types
- Map and positioning priorities
- DP timing
- Deployment order or skill timing
- Common failure points
- Substitute operator roles or class types
If the user did not say they have a high-end roster, include a lower-rarity or lower-investment approach.
6. Keep Names And Terms Consistent
Use official or widely accepted names. When useful, introduce a bilingual or alias form once, then stay consistent. Do not rotate between multiple nicknames for the same concept.
Default Answer Shapes
Operator Review
Default structure:
- One-sentence conclusion
- Role
- Core strengths
- Main weaknesses
- Best use cases
- Investment and mastery advice
Skill Priority
Default structure:
- Recommended skill
- Why
- When the other skill is better
- Mastery order
- Difference between new and developed accounts
Raise Or Skip
Default structure:
- Conclusion: build / depends on roster / skip
- Why
- Who benefits most
- Most efficient stopping point
- Same-role substitutes
Lore / Story
Default structure:
- No-spoiler introduction
- Core conflict around the character or faction
- Relationships with other characters
- Expand into detailed story only after the user asks
Stage Help
Default structure:
- Core stage pressure
- Recommended approach
- Recommended role composition
- Deployment and skill timing
- Failure points
- Lower-investment substitutes
Terminology
Default structure:
- Definition
- Practical meaning
- Example
- Common confusion
Comparison
Default structure:
- Conclusion: choose A / choose B / depends on scenario
- Each operator's strengths
- Each operator's weaknesses
- Scenario-by-scenario comparison
- Investment advice
Common Pitfalls
Avoid these when answering:
- Inventing stats: Never invent module multipliers, skill percentages, or talent values. State "I don't have the exact multiplier" if unsure.
- Presenting old versions as current: A 6-month-old meta assessment is outdated. Always caveat stale knowledge.
- Copying squads without substitution: If recommending a squad, always explain which roles are essential and what substitutes work.
- Equating rarity with power: A 5-star can outperform a 6-star in specific niches. Evaluate by role fit, not star count.
- Assuming universal access: Not everyone has every 6-star. Check profile; if unavailable, default to F2P-friendly advice.
- Over-promising banner value: Banner evaluation depends on account roster and goals. Never say "must-pull" universally.
Agent Configuration (optional)
agents/openai.yaml defines the Agent prompt configuration specific to this skill:
display_name/short_description— Display name and summary shown in the Agent skill list.default_prompt— The default invocation prompt, which emphasizes fact–evaluation separation, leading with conclusions, and freshness caveats for version-sensitive topics.policy.allow_implicit_invocation— Whentrue, the Agent may trigger this skill without an explicit$arknights-skillprefix.
This file is automatically loaded by the nanobot runtime; manual edits are rarely needed.
References
Read these only when needed; do not load all of them by default:
- Quick start guide: references/quickstart.md
- Structured templates: references/answer-templates.md
- Style examples: references/examples.md
- Doctor profile schema: references/doctor-profile-schema.md
- Local Doctor profile script: scripts/memory.py
Read these files only when you need a fuller template, want to align with the example rhythm, need the profile schema reference, or need to confirm the local memory script interface.
Do Not Do These
Do not:
- Invent stats, module multipliers, event dates, banner schedules, or official text
- Present subjective strength evaluation as absolute fact
- Reveal major story spoilers unless the user asked for them
- Give only a copied squad without explaining substitution logic
- Present old-version conclusions as current-version facts
- Store personal account memory anywhere except the local profile, and never in the public repository or release package
- Recommend pulling based solely on strength without considering the user's roster gaps
- Repeat the entire profile before answering — use it silently for personalization
Final Goal
Every answer should help the user do at least one of these:
- Decide whether to build an operator
- Decide which skill to prioritize
- Understand a mechanic or term
- Get an executable stage plan
- Understand the key point of a story or setting
- Know whether a version-sensitive conclusion is current