L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

phoenixclaw

phoenixclaw

Passive journaling skill that scans daily conversations via cron to generate markdown journals using semantic understanding. Use when: - User requests journaling ("Show me my journal", "What did I do today?") - User asks for pattern analysis ("Analyze my patterns", "How am I doing?") - User requests summaries ("Generate weekly/monthly summary")

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: phoenixclaw description: | Passive journaling skill that scans daily conversations via cron to generate markdown journals using semantic understanding.

Use when:

  • User requests journaling ("Show me my journal", "What did I do today?")
  • User asks for pattern analysis ("Analyze my patterns", "How am I doing?")
  • User requests summaries ("Generate weekly/monthly summary") metadata: version: 0.0.10

PhoenixClaw: Zero-Tag Passive Journaling

PhoenixClaw automatically distills daily conversations into meaningful reflections using semantic intelligence.

Automatically identifies journal-worthy moments, patterns, and growth opportunities.

🛠️ Core Workflow

[!critical] MANDATORY: Complete Workflow Execution This 9-step workflow MUST be executed in full regardless of invocation method:

  • Cron execution (10 PM nightly)
  • Manual invocation ("Show me my journal", "Generate today's journal", etc.)
  • Regeneration requests ("Regenerate my journal", "Update today's entry")

Never skip steps. Partial execution causes:

  • Missing images (session logs not scanned)
  • Missing finance data (Ledger plugin not triggered)
  • Incomplete journals (plugins not executed)

PhoenixClaw follows a structured pipeline to ensure consistency and depth:

  1. User Configuration: Check for ~/.phoenixclaw/config.yaml. If missing, initiate the onboarding flow defined in references/user-config.md.

  2. Context Retrieval:

    • Call memory_get for the current day's memory
    • CRITICAL: Scan ALL raw session logs and filter by message timestamp. Session files are often split across multiple files. Do NOT classify images by session file mtime:
      # Read candidate session files (all or recent), then filter each message by timestamp
      TODAY=$(date +%Y-%m-%d)
      find ~/.openclaw/sessions -name "*.jsonl" -print0 |
        xargs -0 jq -cr --arg day "$TODAY" '
          select((.timestamp // "")[:10] == $day)
        '
      
      Read all matching files regardless of their numeric naming (e.g., file_22, file_23 may be earlier in name but still contain today's messages).
    • EXTRACT IMAGES FROM SESSION LOGS: Session logs contain type: "image" entries with file paths. You MUST:
      1. Find all image entries (e.g., "type":"image")
      2. Keep only entries where message timestamp is in the target date range
      3. Extract the file_path or url fields
      4. Copy files into assets/YYYY-MM-DD/
      5. Rename with descriptive names when possible
    • Why session logs are mandatory: memory_get returns text only. Image metadata, photo references, and media attachments are only available in session logs. Skipping session logs = missing all photos.
    • Edge case - Midnight boundary: For late-night activity that spans midnight, expand the timestamp range to include spillover windows (for example, previous day 23:00-24:00) and still filter per-message by timestamp.
    • If memory is sparse, reconstruct context from session logs, then update daily memory
    • Incorporate historical context via memory_search (skip if embeddings unavailable)
  3. Moment Identification: Identify "journal-worthy" content: critical decisions, emotional shifts, milestones, or shared media. See references/media-handling.md for photo processing. This step generates the moments data structure that plugins depend on. Image Processing (CRITICAL):

    • For each extracted image, generate descriptive alt-text via Vision Analysis
    • Categorize images (food, selfie, screenshot, document, etc.)
    • Match images to moments (e.g., breakfast photo → breakfast moment)
    • Store image metadata with moments for journal embedding
  4. Pattern Recognition: Detect recurring themes, mood fluctuations, and energy levels. Map these to growth opportunities using references/skill-recommendations.md.

  5. Plugin Execution: Execute all registered plugins at their declared hook points. See references/plugin-protocol.md for the complete plugin lifecycle:

    • pre-analysis → before conversation analysis
    • post-moment-analysis → Ledger and other primary plugins execute here
    • post-pattern-analysis → after patterns detected
    • journal-generation → plugins inject custom sections
    • post-journal → after journal complete
  6. Journal Generation: Synthesize the day's events into a beautiful Markdown file using assets/daily-template.md. Follow the visual guidelines in references/visual-design.md. Include all plugin-generated sections at their declared section_order positions.

    • Embed curated images only, not every image. Prioritize highlights and moments.
    • Route finance screenshots to Ledger sections (receipts, invoices, transaction proofs).
    • Use Obsidian format from references/media-handling.md with descriptive captions.
  7. Timeline Integration: If significant events occurred, append them to the master index in timeline.md using the format from assets/timeline-template.md and references/obsidian-format.md.

  8. Growth Mapping: Update growth-map.md (based on assets/growth-map-template.md) if new behavioral patterns or skill interests are detected.

  9. Profile Evolution: Update the long-term user profile (profile.md) to reflect the latest observations on values, goals, and personality traits. See references/profile-evolution.md and assets/profile-template.md.

⏰ Cron & Passive Operation

PhoenixClaw is designed to run without user intervention. It utilizes OpenClaw's built-in cron system to trigger its analysis daily at 10:00 PM local time (0 22 * * *).

  • Setup details can be found in references/cron-setup.md.
  • Mode: Primarily Passive. The AI proactively summarizes the day's activities without being asked.

💬 Explicit Triggers

While passive by design, users can interact with PhoenixClaw directly using these phrases:

  • "Show me my journal for today/yesterday."
  • "What did I accomplish today?"
  • "Analyze my mood patterns over the last week."
  • "Generate my weekly/monthly summary."
  • "How am I doing on my personal goals?"
  • "Regenerate my journal." / "重新生成日记"

[!warning] Manual Invocation = Full Pipeline When users request journal generation/regeneration, you MUST execute the complete 9-step Core Workflow above. This ensures:

  • Photos are included (via session log scanning)
  • Ledger plugin runs (via post-moment-analysis hook)
  • All plugins execute (at their respective hook points)

Common mistakes to avoid:

  • ❌ Only calling memory_get (misses photos)
  • ❌ Skipping moment identification (plugins never trigger)
  • ❌ Generating journal directly without plugin sections

📚 Documentation Reference

References (references/)

  • user-config.md: Initial onboarding and persistence settings.
  • cron-setup.md: Technical configuration for nightly automation.
  • plugin-protocol.md: Plugin architecture, hook points, and integration protocol.
  • media-handling.md: Strategies for extracting meaning from photos and rich media.
  • visual-design.md: Layout principles for readability and aesthetics.
  • obsidian-format.md: Ensuring compatibility with Obsidian and other PKM tools.
  • profile-evolution.md: How the system maintains a long-term user identity.
  • skill-recommendations.md: Logic for suggesting new skills based on journal insights.

Assets (assets/)

  • daily-template.md: The blueprint for daily journal entries.
  • weekly-template.md: The blueprint for high-level weekly summaries.
  • profile-template.md: Structure for the profile.md persistent identity file.
  • timeline-template.md: Structure for the timeline.md chronological index.
  • growth-map-template.md: Structure for the growth-map.md thematic index.

Skills enregistrées