[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M73FRDTJ93T7R2DN8T8QBXSW":3,"skill-same:01M73FRDTJ93T7R2DN8T8QBXSW":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},"01M73FRDTJ93T7R2DN8T8QBXSW","self-refine-critic",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\u002Fself-refine-critic\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: self-refine-critic\ndescription: Self-Refine iterative improvement (generate\u002Ffeedback\u002Frefine loop, +20 avg across 7 tasks) and CRITIC external verification (tool-grounded critique for factual tasks). Anthropic evaluator-optimizer pattern. 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# \u002Fself-refine-critic\n\n## When to Use\n\n- Output is close but wrong (syntax error, formatting violation, missing edge case)\n- Code needs iterative improvement with test runner as verifier (CRITIC mode)\n- Factual claim verification against search\u002Fcalculator before accepting output\n- Implementing Anthropic's evaluator-optimizer workflow pattern\n\n## Do NOT use for\n\n- Tasks with no external verifier AND creative quality goals (Self-Refine alone; accept weak feedback)\n- Tasks requiring episodic memory across sessions (use [[reflexion-verbal-rl]])\n- One-shot tasks where a second attempt is not cost-effective\n\n---\n\n## Self-Refine: three prompts in a loop\n\n```\ngenerate(task)                          → output_0\nfeedback(task, output_0)                → critique_0\nrefine(task, output_0, critique_0, history) → output_1\nfeedback(task, output_1)                → critique_1\nrefine(…history)                        → output_2\nstop: feedback says \"no issues\" | verifier passes | max_iterations\n```\n\n**Key:** `refine` sees the **full history** (all prior outputs + critiques). Drop history → quality drops sharply (per paper ablation).\n\n---\n\n## Minimal Self-Refine loop\n\n```python\nfrom typing import Callable\n\ndef self_refine(\n    task: str,\n    generate: Callable[[str], str],\n    feedback: Callable[[str, str], str],\n    refine: Callable[[str, list[tuple[str, str]]], str],\n    is_done: Callable[[str], bool],\n    max_iter: int = 4,\n) -> str:\n    output = generate(task)\n    history: list[tuple[str, str]] = []  # (output, critique)\n\n    for _ in range(max_iter):\n        critique = feedback(task, output)\n        if is_done(critique):\n            break\n        history.append((output, critique))\n        output = refine(task, history)\n\n    return output\n```\n\n---\n\n## CRITIC: tool-grounded feedback\n\n```python\ndef critic_feedback(task: str, output: str, tools: dict) -> str:\n    \"\"\"\n    CRITIC replaces the LLM-only feedback step with tool-verified critique.\n    Routes each claim type to the appropriate external verifier.\n    \"\"\"\n    issues = []\n\n    # Code → run it\n    if \"```python\" in output or \"def \" in output:\n        import subprocess, textwrap, re\n        code_match = re.search(r'```python\\n(.*?)```', output, re.DOTALL)\n        if code_match:\n            code = code_match.group(1)\n            result = subprocess.run(\n                [\"python\", \"-c\", code], capture_output=True, text=True, timeout=10\n            )\n            if result.returncode != 0:\n                issues.append(f\"Code error: {result.stderr[:300]}\")\n\n    # Math → evaluate\n    import re\n    for expr in re.findall(r'\\b(\\d[\\d\\s\\+\\-\\*\\\u002F\\^\\(\\)\\.]+\\=\\s*[\\d\\.]+)\\b', output):\n        lhs, rhs = expr.split(\"=\")\n        try:\n            expected = eval(lhs.strip(), {\"__builtins__\": {}})\n            claimed = float(rhs.strip())\n            if abs(expected - claimed) > 0.01:\n                issues.append(f\"Math error: {lhs.strip()} = {expected}, not {claimed}\")\n        except Exception:\n            pass\n\n    if not issues:\n        return \"LGTM — no issues found.\"\n    return \"Issues found:\\n\" + \"\\n\".join(f\"- {i}\" for i in issues)\n```\n\n---\n\n## Refine prompt with history\n\n```python\ndef build_refine_prompt(task: str, history: list[tuple[str, str]]) -> str:\n    history_block = \"\\n\\n\".join(\n        f\"Attempt {i+1}:\\n{out}\\n\\nCritique:\\n{crit}\"\n        for i, (out, crit) in enumerate(history)\n    )\n    last_output = history[-1][0]\n    last_critique = history[-1][1]\n    return f\"\"\"Task: {task}\n\nPrior attempts and critiques:\n{history_block}\n\nFix all issues raised in the critiques. Do not repeat previous mistakes.\nProduce an improved version:\"\"\"\n```\n\n---\n\n## Stop condition (combine both signals)\n\n```python\ndef is_done(critique: str, iteration: int, max_iter: int) -> bool:\n    no_issues = \"lgtm\" in critique.lower() or \"no issues\" in critique.lower()\n    if no_issues and iteration >= 2:   # require at least 2 iters before accepting\n        return True\n    if iteration >= max_iter:\n        return True\n    return False\n```\n\n---\n\n## Anthropic evaluator-optimizer wiring\n\n```python\n# Pattern from Anthropic Dec 2024 workflow guide\n# Proposer generates, Evaluator judges, loop until pass\n\ndef evaluator_optimizer(\n    task: str,\n    proposer,       # LLM call → output\n    evaluator,      # LLM or tool call → (passed: bool, feedback: str)\n    max_loops: int = 3,\n) -> str:\n    output = proposer(task)\n    for _ in range(max_loops):\n        passed, feedback = evaluator(task, output)\n        if passed:\n            return output\n        output = proposer(f\"{task}\\n\\nPrevious attempt failed:\\n{feedback}\\n\\nTry again:\")\n    return output\n```\n\n---\n\n## Anti-Fake-Pass Checklist\n\n```\n❌ History dropped from refine prompt → model repeats identical mistake\n❌ LLM-only feedback for factual claims → hallucination scores itself as correct\n❌ No iteration floor (accept on first \"LGTM\") → model lazily validates itself after one pass\n❌ max_iter not set → infinite refinement loop on unsolvable tasks\n❌ CRITIC applied without available external tool → falls back to LLM self-eval silently\n❌ Confusing Self-Refine (same-session loop) with Reflexion (cross-trial episodic memory)\n```\n","# \u002Fself-refine-critic\n\n## When to Use\n\n- Output is close but wrong (syntax error, formatting violation, missing edge case)\n- Code needs iterative improvement with test runner as verifier (CRITIC mode)\n- Factual claim verification against search\u002Fcalculator before accepting output\n- Implementing Anthropic's evaluator-optimizer workflow pattern\n\n## Do NOT use for\n\n- Tasks with no external verifier AND creative quality goals (Self-Refine alone; accept weak feedback)\n- Tasks requiring episodic memory across sessions (use [[reflexion-verbal-rl]])\n- One-shot tasks where a second attempt is not cost-effective\n\n---\n\n## Self-Refine: three prompts in a loop\n\n```\ngenerate(task)                          → output_0\nfeedback(task, output_0)                → critique_0\nrefine(task, output_0, critique_0, history) → output_1\nfeedback(task, output_1)                → critique_1\nrefine(…history)                        → output_2\nstop: feedback says \"no issues\" | verifier passes | max_iterations\n```\n\n**Key:** `refine` sees the **full history** (all prior outputs + critiques). Drop history → quality drops sharply (per paper ablation).\n\n---\n\n## Minimal Self-Refine loop\n\n```python\nfrom typing import Callable\n\ndef self_refine(\n    task: str,\n    generate: Callable[[str], str],\n    feedback: Callable[[str, str], str],\n    refine: Callable[[str, list[tuple[str, str]]], str],\n    is_done: Callable[[str], bool],\n    max_iter: int = 4,\n) -> str:\n    output = generate(task)\n    history: list[tuple[str, str]] = []  # (output, critique)\n\n    for _ in range(max_iter):\n        critique = feedback(task, output)\n        if is_done(critique):\n            break\n        history.append((output, critique))\n        output = refine(task, history)\n\n    return output\n```\n\n---\n\n## CRITIC: tool-grounded feedback\n\n```python\ndef critic_feedback(task: str, output: str, tools: dict) -> str:\n    \"\"\"\n    CRITIC replaces the LLM-only feedback step with tool-verified critique.\n    Routes each claim type to the appropriate external verifier.\n    \"\"\"\n    issues = []\n\n    # Code → run it\n    if \"```python\" in output or \"def \" in output:\n        import subprocess, textwrap, re\n        code_match = re.search(r'```python\\n(.*?)```', output, re.DOTALL)\n        if code_match:\n            code = code_match.group(1)\n            result = subprocess.run(\n                [\"python\", \"-c\", code], capture_output=True, text=True, timeout=10\n            )\n            if result.returncode != 0:\n                issues.append(f\"Code error: {result.stderr[:300]}\")\n\n    # Math → evaluate\n    import re\n    for expr in re.findall(r'\\b(\\d[\\d\\s\\+\\-\\*\\\u002F\\^\\(\\)\\.]+\\=\\s*[\\d\\.]+)\\b', output):\n        lhs, rhs = expr.split(\"=\")\n        try:\n            expected = eval(lhs.strip(), {\"__builtins__\": {}})\n            claimed = float(rhs.strip())\n            if abs(expected - claimed) > 0.01:\n                issues.append(f\"Math error: {lhs.strip()} = {expected}, not {claimed}\")\n        except Exception:\n            pass\n\n    if not issues:\n        return \"LGTM — no issues found.\"\n    return \"Issues found:\\n\" + \"\\n\".join(f\"- {i}\" for i in issues)\n```\n\n---\n\n## Refine prompt with history\n\n```python\ndef build_refine_prompt(task: str, history: list[tuple[str, str]]) -> str:\n    history_block = \"\\n\\n\".join(\n        f\"Attempt {i+1}:\\n{out}\\n\\nCritique:\\n{crit}\"\n        for i, (out, crit) in enumerate(history)\n    )\n    last_output = history[-1][0]\n    last_critique = history[-1][1]\n    return f\"\"\"Task: {task}\n\nPrior attempts and critiques:\n{history_block}\n\nFix all issues raised in the critiques. Do not repeat previous mistakes.\nProduce an improved version:\"\"\"\n```\n\n---\n\n## Stop condition (combine both signals)\n\n```python\ndef is_done(critique: str, iteration: int, max_iter: int) -> bool:\n    no_issues = \"lgtm\" in critique.lower() or \"no issues\" in critique.lower()\n    if no_issues and iteration >= 2:   # require at least 2 iters before accepting\n        return True\n    if iteration >= max_iter:\n        return True\n    return False\n```\n\n---\n\n## Anthropic evaluator-optimizer wiring\n\n```python\n# Pattern from Anthropic Dec 2024 workflow guide\n# Proposer generates, Evaluator judges, loop until pass\n\ndef evaluator_optimizer(\n    task: str,\n    proposer,       # LLM call → output\n    evaluator,      # LLM or tool call → (passed: bool, feedback: str)\n    max_loops: int = 3,\n) -> str:\n    output = proposer(task)\n    for _ in range(max_loops):\n        passed, feedback = evaluator(task, output)\n        if passed:\n            return output\n        output = proposer(f\"{task}\\n\\nPrevious attempt failed:\\n{feedback}\\n\\nTry again:\")\n    return output\n```\n\n---\n\n## Anti-Fake-Pass Checklist\n\n```\n❌ History dropped from refine prompt → model repeats identical mistake\n❌ LLM-only feedback for factual claims → hallucination scores itself as correct\n❌ No iteration floor (accept on first \"LGTM\") → model lazily validates itself after one pass\n❌ max_iter not set → infinite refinement loop on unsolvable tasks\n❌ CRITIC applied without available external tool → falls back to LLM self-eval silently\n❌ Confusing Self-Refine (same-session loop) with Reflexion (cross-trial episodic memory)\n```\n",{},"main","481dcd7dd2e288b9d627a2bd017db70e64e6c6fa","core\u002Fskills\u002Fself-refine-critic",1,"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-11 23:56:26",{"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 self-refine-critic",{"tool":39,"command":40},"bunx","bunx skills add Horonomos-laps\u002FYana-AI --skill self-refine-critic",{"tool":42,"command":43},"pnpm","pnpm dlx skills add Horonomos-laps\u002FYana-AI --skill self-refine-critic","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fself-refine-critic\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",[],[]]