[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M73FEHAFNXBCGYT066MR6HVD":3,"skill-same:01M73FEHAFNXBCGYT066MR6HVD":47},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":26,"repositoryHtmlUrl":27,"repositoryHomepageUrl":28,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M73FEHAFNXBCGYT066MR6HVD","reflexion-verbal-rl",null,"Horonomos-laps\u002FYana-AI","Horonomos-laps","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F355299122?v=4","01M76B3QPXE88ET2SQPDPVATZT"," Horonomos-laps","01M72ZQRJPCYPSSWT4D00VJR2A",13,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Freflexion-verbal-rl\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: reflexion-verbal-rl\ndescription: Reflexion verbal reinforcement learning — Actor\u002FEvaluator\u002FSelf-Reflector loop with episodic memory. No gradient updates. ALFWorld +X% over ReAct, HumanEval SOTA at publish time. Foundation for CLAUDE.md learnings, Letta sleep-time compute, learn-rule. Sources: rohitg00\u002Fai-engineering-from-scratch (Apache-2.0).\norigin: yana-ai — synthesized from rohitg00\u002Fai-engineering-from-scratch (Apache-2.0)\nlicense: Apache-2.0\nversion: 1.0.0\ncompatibility: yana-ai >= 1.3.54\n---\n\n# \u002Freflexion-verbal-rl\n\n## When to Use\n\n- Agent failed a task and you want self-improvement without retraining\n- Cross-session learning: storing failure reflections so next session avoids the same mistake\n- Automated quality improvement over N trials (code gen, planning, reasoning tasks)\n- Implementing CLAUDE.md-style \"save memory\" patterns with automatic failure analysis\n\n## Do NOT use for\n\n- Tasks with no external evaluator and no ground truth (pure creative writing)\n- Single-shot tasks where a second trial isn't possible\n- Gradient-based fine-tuning workflows (Reflexion is prompt-only, no weight updates)\n\n---\n\n## The three components + episodic memory\n\n```\nActor          : generates a trajectory (any agent loop — ReAct, ReWOO, etc.)\nEvaluator      : scores the trajectory → binary \u002F heuristic \u002F self-eval\nSelf-Reflector : writes natural-language reflection on the failure\nEpisodic memory: list of prior reflections, prepended to next trial's prompt\n```\n\n---\n\n## Reflexion loop (stdlib)\n\n```python\nfrom dataclasses import dataclass, field\nfrom typing import Callable\n\n@dataclass\nclass ReflexionAgent:\n    actor:      Callable[[str, list[str]], str]   # (task, reflections) -> trajectory\n    evaluator:  Callable[[str, str], bool]         # (task, trajectory) -> success\n    reflector:  Callable[[str, str], str]          # (task, trajectory) -> reflection\n    max_trials: int = 5\n\n    def run(self, task: str) -> tuple[str, list[str]]:\n        reflections: list[str] = []\n\n        for trial in range(self.max_trials):\n            # Actor gets task + all prior reflections\n            trajectory = self.actor(task, reflections)\n\n            # Evaluator checks success\n            if self.evaluator(task, trajectory):\n                return trajectory, reflections\n\n            # Self-Reflector diagnoses failure\n            reflection = self.reflector(task, trajectory)\n            reflections.append(f\"[Trial {trial + 1}] {reflection}\")\n            print(f\"Trial {trial + 1} failed. Reflection: {reflection}\")\n\n        return trajectory, reflections  # best effort after max_trials\n```\n\n---\n\n## Actor prompt (task + reflections)\n\n```python\ndef build_actor_prompt(task: str, reflections: list[str]) -> str:\n    memory_block = \"\"\n    if reflections:\n        memory_block = \"\\n\\nPast failure reflections (do NOT repeat these mistakes):\\n\"\n        memory_block += \"\\n\".join(f\"- {r}\" for r in reflections)\n\n    return f\"\"\"Complete the following task.{memory_block}\n\nTask: {task}\n\nRespond with your reasoning and final answer.\"\"\"\n```\n\n---\n\n## Three evaluator types\n\n```python\n# 1. SCALAR — external binary (best signal)\ndef unit_test_evaluator(task: str, code: str) -> bool:\n    import subprocess, tempfile, os\n    with tempfile.NamedTemporaryFile(suffix=\".py\", delete=False, mode=\"w\") as f:\n        f.write(code)\n        f.write(\"\\n# Auto-test\\nassert solution() is not None\\n\")\n        fname = f.name\n    result = subprocess.run([\"python\", fname], capture_output=True, timeout=10)\n    os.unlink(fname)\n    return result.returncode == 0\n\n# 2. HEURISTIC — failure signature detection\ndef heuristic_evaluator(task: str, trajectory: str) -> bool:\n    lines = trajectory.strip().split(\"\\n\")\n    # Detect stuck loop: same action twice in a row\n    actions = [l for l in lines if l.startswith(\"Action:\")]\n    if len(actions) >= 2 and actions[-1] == actions[-2]:\n        return False\n    # Detect trajectory too long\n    if len(lines) > 50:\n        return False\n    return \"ANSWER:\" in trajectory\n\n# 3. SELF-EVAL — LLM judges its own output (weakest; combine with heuristics)\ndef self_eval_prompt(task: str, trajectory: str) -> str:\n    return f\"\"\"Did the agent successfully complete the task?\n\nTask: {task}\n\nAgent trajectory:\n{trajectory}\n\nReply YES if complete and correct, NO if not. Start your reply with YES or NO.\"\"\"\n```\n\n---\n\n## Self-Reflector prompt\n\n```python\ndef build_reflector_prompt(task: str, trajectory: str) -> str:\n    return f\"\"\"You are analyzing a FAILED agent attempt.\n\nTask: {task}\n\nFailed trajectory:\n{trajectory}\n\nWrite a concise reflection (2-3 sentences) identifying:\n1. What went wrong\n2. What the agent should do differently next time\n\nStart with \"I failed because...\".\"\"\"\n```\n\n---\n\n## Where this pattern appears in 2026 production\n\n```\nCLAUDE.md \u002F \"save memory\"   → failure captured as rule, prepended to next session\nLetta sleep-time compute    → async agent reflects on past conversations → writes to memory blocks\nYAMTAM \u002Flearn-rule          → corrections captured as explicit rules\nLangGraph reflection node   → routes to refine sub-graph when evaluator fails\npro-workflow                → per-task reflections accumulate into agent CLAUDE.md\n```\n\n---\n\n## Anti-Fake-Pass Checklist\n\n```\n❌ History not passed to refiner → model repeats the same mistake on every trial\n❌ Self-eval only (no external verifier) → LLM scores its own hallucination as correct\n❌ No max_trials cap → infinite loop on tasks the model can never solve\n❌ Reflection too vague (\"try harder\") → must name the specific mistake + specific fix\n❌ Episodic memory grows unbounded → after 10+ trials, memory dominates context; add a trim\n❌ Conflating Reflexion (verbal RL) with RLHF (gradient RL) → no weight updates here\n```\n","# \u002Freflexion-verbal-rl\n\n## When to Use\n\n- Agent failed a task and you want self-improvement without retraining\n- Cross-session learning: storing failure reflections so next session avoids the same mistake\n- Automated quality improvement over N trials (code gen, planning, reasoning tasks)\n- Implementing CLAUDE.md-style \"save memory\" patterns with automatic failure analysis\n\n## Do NOT use for\n\n- Tasks with no external evaluator and no ground truth (pure creative writing)\n- Single-shot tasks where a second trial isn't possible\n- Gradient-based fine-tuning workflows (Reflexion is prompt-only, no weight updates)\n\n---\n\n## The three components + episodic memory\n\n```\nActor          : generates a trajectory (any agent loop — ReAct, ReWOO, etc.)\nEvaluator      : scores the trajectory → binary \u002F heuristic \u002F self-eval\nSelf-Reflector : writes natural-language reflection on the failure\nEpisodic memory: list of prior reflections, prepended to next trial's prompt\n```\n\n---\n\n## Reflexion loop (stdlib)\n\n```python\nfrom dataclasses import dataclass, field\nfrom typing import Callable\n\n@dataclass\nclass ReflexionAgent:\n    actor:      Callable[[str, list[str]], str]   # (task, reflections) -> trajectory\n    evaluator:  Callable[[str, str], bool]         # (task, trajectory) -> success\n    reflector:  Callable[[str, str], str]          # (task, trajectory) -> reflection\n    max_trials: int = 5\n\n    def run(self, task: str) -> tuple[str, list[str]]:\n        reflections: list[str] = []\n\n        for trial in range(self.max_trials):\n            # Actor gets task + all prior reflections\n            trajectory = self.actor(task, reflections)\n\n            # Evaluator checks success\n            if self.evaluator(task, trajectory):\n                return trajectory, reflections\n\n            # Self-Reflector diagnoses failure\n            reflection = self.reflector(task, trajectory)\n            reflections.append(f\"[Trial {trial + 1}] {reflection}\")\n            print(f\"Trial {trial + 1} failed. Reflection: {reflection}\")\n\n        return trajectory, reflections  # best effort after max_trials\n```\n\n---\n\n## Actor prompt (task + reflections)\n\n```python\ndef build_actor_prompt(task: str, reflections: list[str]) -> str:\n    memory_block = \"\"\n    if reflections:\n        memory_block = \"\\n\\nPast failure reflections (do NOT repeat these mistakes):\\n\"\n        memory_block += \"\\n\".join(f\"- {r}\" for r in reflections)\n\n    return f\"\"\"Complete the following task.{memory_block}\n\nTask: {task}\n\nRespond with your reasoning and final answer.\"\"\"\n```\n\n---\n\n## Three evaluator types\n\n```python\n# 1. SCALAR — external binary (best signal)\ndef unit_test_evaluator(task: str, code: str) -> bool:\n    import subprocess, tempfile, os\n    with tempfile.NamedTemporaryFile(suffix=\".py\", delete=False, mode=\"w\") as f:\n        f.write(code)\n        f.write(\"\\n# Auto-test\\nassert solution() is not None\\n\")\n        fname = f.name\n    result = subprocess.run([\"python\", fname], capture_output=True, timeout=10)\n    os.unlink(fname)\n    return result.returncode == 0\n\n# 2. HEURISTIC — failure signature detection\ndef heuristic_evaluator(task: str, trajectory: str) -> bool:\n    lines = trajectory.strip().split(\"\\n\")\n    # Detect stuck loop: same action twice in a row\n    actions = [l for l in lines if l.startswith(\"Action:\")]\n    if len(actions) >= 2 and actions[-1] == actions[-2]:\n        return False\n    # Detect trajectory too long\n    if len(lines) > 50:\n        return False\n    return \"ANSWER:\" in trajectory\n\n# 3. SELF-EVAL — LLM judges its own output (weakest; combine with heuristics)\ndef self_eval_prompt(task: str, trajectory: str) -> str:\n    return f\"\"\"Did the agent successfully complete the task?\n\nTask: {task}\n\nAgent trajectory:\n{trajectory}\n\nReply YES if complete and correct, NO if not. Start your reply with YES or NO.\"\"\"\n```\n\n---\n\n## Self-Reflector prompt\n\n```python\ndef build_reflector_prompt(task: str, trajectory: str) -> str:\n    return f\"\"\"You are analyzing a FAILED agent attempt.\n\nTask: {task}\n\nFailed trajectory:\n{trajectory}\n\nWrite a concise reflection (2-3 sentences) identifying:\n1. What went wrong\n2. What the agent should do differently next time\n\nStart with \"I failed because...\".\"\"\"\n```\n\n---\n\n## Where this pattern appears in 2026 production\n\n```\nCLAUDE.md \u002F \"save memory\"   → failure captured as rule, prepended to next session\nLetta sleep-time compute    → async agent reflects on past conversations → writes to memory blocks\nYAMTAM \u002Flearn-rule          → corrections captured as explicit rules\nLangGraph reflection node   → routes to refine sub-graph when evaluator fails\npro-workflow                → per-task reflections accumulate into agent CLAUDE.md\n```\n\n---\n\n## Anti-Fake-Pass Checklist\n\n```\n❌ History not passed to refiner → model repeats the same mistake on every trial\n❌ Self-eval only (no external verifier) → LLM scores its own hallucination as correct\n❌ No max_trials cap → infinite loop on tasks the model can never solve\n❌ Reflection too vague (\"try harder\") → must name the specific mistake + specific fix\n❌ Episodic memory grows unbounded → after 10+ trials, memory dominates context; add a trim\n❌ Conflating Reflexion (verbal RL) with RLHF (gradient RL) → no weight updates here\n```\n",{},"main","481dcd7dd2e288b9d627a2bd017db70e64e6c6fa","core\u002Fskills\u002Freflexion-verbal-rl",2,"https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI","https:\u002F\u002Fyana.vutam.link\u002F","https:\u002F\u002Fgithub.com\u002FHoronomos-laps","https:\u002F\u002Fyana.vutam.link","An open-source governed runtime & execution environment for multi-agent AI systems.","2026-11-12 23:12:27",{"source":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add Horonomos-laps\u002FYana-AI --skill reflexion-verbal-rl",{"tool":39,"command":40},"bunx","bunx skills add Horonomos-laps\u002FYana-AI --skill reflexion-verbal-rl",{"tool":42,"command":43},"pnpm","pnpm dlx skills add Horonomos-laps\u002FYana-AI --skill reflexion-verbal-rl","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Freflexion-verbal-rl\u002FSKILL.md",true,[],[48,56,63,71,79,87],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":52,"licenseFileUrl":6,"sourceHtmlUrl":53,"categories":54,"keywords":55,"publishedAt":18},"01M735GKET5YVYKAY62W2P5YXB","openai--sentry--sentry","Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry API; perform read-only queries with the bundled script and require `SENTRY_AUTH_TOKEN`.","MIT","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenai--sentry--sentry\u002FSKILL.md",[],[],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":18},"01M73DCAP83T17HY7SMGK7MGFE","ito-basket-compare","Compare Itô prediction-market baskets against a user's knowledge base, portfolio notes, financial context, watchlist, or research thesis. Use for read-only basket comparison and gap analysis without investment advice or live trading.","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fito-basket-compare\u002FSKILL.md",[],[],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":67,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":18},"01M734CYEMZFDR3KH6SW0JP8TD","implementing-network-traffic-baselining","Build network traffic baselines from NetFlow\u002FIPFIX data using Python pandas for statistical analysis, z-score anomaly detection, and hourly\u002Fdaily traffic pattern profiling","https:\u002F\u002Fgithub.com\u002Fyanacuti1121\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-network-traffic-baselining\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-network-traffic-baselining\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":75,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":18},"01M73ASZ6NJRJM44Z2P84NGQ3Q","detecting-evasion-techniques-in-endpoint-logs","Detects defense evasion techniques used by adversaries in endpoint logs including log tampering, timestomping, process injection, and security tool disabling. Use when investigating suspicious endpoint behavior, building detection rules for evasion tactics, or conducting threat hunting for stealthy adversary activity. Activates for requests involving evasion detection, defense evasion analysis, log tampering detection, or MITRE ATT&CK TA0005.","https:\u002F\u002Fgithub.com\u002Fyanacuti1121\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fdetecting-evasion-techniques-in-endpoint-logs\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fdetecting-evasion-techniques-in-endpoint-logs\u002FSKILL.md",[],[],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":83,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":18},"01M734AFNXD06Z78QRK0VKGT7Q","implementing-microsegmentation-with-guardicore","Implementing microsegmentation using Akamai Guardicore Segmentation to map application dependencies, create granular network policies, visualize east-west traffic flows, and enforce least-privilege communication between workloads across data centers and cloud.","https:\u002F\u002Fgithub.com\u002Fyanacuti1121\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-microsegmentation-with-guardicore\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-microsegmentation-with-guardicore\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":18},"01M736TK27QMCXK0DVCH25SJN5","ramdisk-tmpfs-patterns","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Framdisk-tmpfs-patterns\u002FSKILL.md",[],[]]