Back to list
takeokunn

serena-usage

by takeokunn

takeokunn's nixos-configuration

59🍴 0📅 Jan 23, 2026

SKILL.md


name: Serena Usage description: This skill should be used when the user asks to "use serena", "semantic search", "symbol analysis", "find references", "code navigation", or needs Serena MCP guidance. Provides Serena tool usage patterns and orchestration integration. version: 0.2.0

  <note>Before making changes</note>
  think_about_task_adherence

  <note>When task seems complete</note>
  think_about_whether_you_are_done
</example>
  <step>Step 2: Verify onboarding</step>
  check_onboarding_performed

  <step>Step 3: If not onboarded, run onboarding</step>
  onboarding (if needed)

  <step>Step 4: Check available memories</step>
  list_memories
</example>
  <step>Step 2: Explore class members</step>
  get_symbols_overview relative_path="src/main.ts" depth=1

  <step>Step 3: Get specific implementation</step>
  find_symbol name_path_pattern="MyClass/myMethod" include_body=true
</example>
  <step>Step 2: Find all callers</step>
  find_referencing_symbols name_path="processData" relative_path="src/processor.ts"

  <step>Step 3: Recursively trace for full dependency graph</step>
  <note>Repeat steps 1-2 for each caller to build complete dependency tree</note>
</example>
  <step>Step 2: Identify all usages</step>
  find_referencing_symbols name_path="MyClass/oldMethod" relative_path="src/myclass.ts"

  <step>Step 3: Call think_about_task_adherence</step>
  think_about_task_adherence

  <step>Step 4: Perform the change</step>
  replace_symbol_body name_path="MyClass/oldMethod" relative_path="src/myclass.ts" body="..."

  <step>Step 5: Update references if interface changed</step>
  <note>If method signature changed, update all calling sites identified in step 2</note>
</example>
  <note>Search in all files including configs</note>
  search_for_pattern substring_pattern="api-key" restrict_search_to_code_files=false

  <note>Include context around matches</note>
  search_for_pattern substring_pattern="function.\*async" context_lines_before=2 context_lines_after=3
</example>
  <note>During implementation</note>
  <note>Follow the patterns loaded from memory</note>

  <note>After implementation</note>
  write_memory "api-client-pattern" "HTTP client pattern using fetch with retry logic..."
</example>

<decision_tree name="serena_code_operation"> What type of code operation is needed? Use get_symbols_overview with depth=1 Use find_symbol with name_path_pattern Use find_symbol with include_body=true Use find_referencing_symbols Use replace_symbol_body Use insert_after_symbol Use insert_before_symbol Use rename_symbol Use search_for_pattern Use list_dir Use find_file </decision_tree>

<decision_tree name="tool_selection"> What type of operation is needed? Use find_symbol with name_path_pattern Use get_symbols_overview with appropriate depth Use find_referencing_symbols Use search_for_pattern with regex Use replace_symbol_body Use rename_symbol for consistent updates Use insert_before_symbol or insert_after_symbol Use list_memories then read_memory Use write_memory Use edit_memory </decision_tree>

<anti_patterns> Reading entire files when only specific symbols are needed Use get_symbols_overview for file structure and find_symbol with include_body for specific implementations

<best_practices> Always activate project and check onboarding at session start Always check memories with list_memories and read_memory before implementing new features Use symbol operations (get_symbols_overview, find_symbol) over reading entire files Call think_about_task_adherence before any code modification Restrict searches by relative_path when scope is known to improve performance Use substring_matching for uncertain symbol names to broaden search results Record new patterns and conventions with write_memory for future reference Use edit_memory for updating existing memories instead of delete and recreate Use context_lines parameters in search_for_pattern to understand surrounding code Verify symbol changes with find_referencing_symbols before refactoring Call think_about_whether_you_are_done before reporting completion </best_practices>

<error_escalation> Symbol not found with exact match Retry with substring_matching=true, note in report, proceed Memory file not found Document issue, use AskUserQuestion for clarification Conflicting information in memories STOP, present options to user Memory corruption or invalid state BLOCK operation, require explicit user acknowledgment </error_escalation>

<related_skills> Investigation methodology using Serena tools Nix patterns stored in Serena memories TypeScript patterns stored in Serena memories Go patterns stored in Serena memories Rust patterns stored in Serena memories Common Lisp patterns stored in Serena memories Emacs patterns stored in Serena memories </related_skills>

Score

Total Score

55/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon