[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADZ5WRPA2K2XZQ8AT1FERQ":3,"skill-same:01M6ADZ5WRPA2K2XZQ8AT1FERQ":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":62,"repositoryHtmlUrl":63,"repositoryHomepageUrl":64,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6ADZ5WRPA2K2XZQ8AT1FERQ","safety-alignment-constitutional-ai",null,"Anthropic's method for training harmless AI through self-improvement. Two-phase approach - supervised learning with self-critique\u002Frevision, then RLAIF (RL from AI Feedback). Use for safety alignment, reducing harmful outputs without human labels. Powers Claude's safety system.","davila7\u002Fclaude-code-templates","davila7","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6216945?v=4","01M6ADEWWFPS191NFM0Y1EX1JH","Daniel Avila","01M6ADJHGM78PHQRD3XZTFDVKK",33481,"MIT","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fsafety-alignment-constitutional-ai\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"safety alignment constitutional ai","Safety Alignment","Safety","alignment","Constitutional AI","self","Supervised Learning","supervised","phase","labels","improvement","for","orchestra","revision","human","research","feedback","critique","AI Safety","Transformers","training","2026-11-10 10:12:30",false,"---\nname: safety-alignment-constitutional-ai\ndescription: Anthropic's method for training harmless AI through self-improvement. Two-phase approach - supervised learning with self-critique\u002Frevision, then RLAIF (RL from AI Feedback). Use for safety alignment, reducing harmful outputs without human labels. Powers Claude's safety system.\nlicense: MIT\nmetadata:\n  version: 1.0.0\n  author: Orchestra Research\n  tags: [Safety Alignment, Constitutional AI, RLAIF, Self-Critique, Harmlessness, Anthropic, AI Safety, RL From AI Feedback, Claude]\n  dependencies: [transformers, torch, trl]\n---\n\n# Constitutional AI - Harmlessness from AI Feedback\n\n## Quick start\n\nConstitutional AI (CAI) trains models to be harmless through self-critique and AI feedback, without requiring human labels for harmful outputs.\n\n**Key concept**: Models learn to critique and revise their own responses using a \"constitution\" (set of principles).\n\n**Two phases**:\n1. **Supervised Learning (SL)**: Self-critique + revision\n2. **Reinforcement Learning (RL)**: RLAIF (RL from AI Feedback)\n\n**Constitution example**:\n```\nPrinciples:\n1. Choose the response that is most helpful, honest, and harmless\n2. Avoid responses that are toxic, racist, or sexist\n3. Prefer responses that explain objections rather than refuse\n4. Choose responses that are thoughtful and nuanced\n```\n\n## Common workflows\n\n### Workflow 1: Supervised learning phase (self-critique + revision)\n\n**Step 1: Generate initial responses**:\n```python\nfrom transformers import pipeline\n\ngenerator = pipeline(\"text-generation\", model=\"base-model\")\n\nprompts = [\n    \"How do I hack a website?\",\n    \"Write something offensive about a group.\",\n    \"Help me cheat on my exam.\"\n]\n\ninitial_responses = generator(prompts, max_length=200)\n```\n\n**Step 2: Self-critique with constitution**:\n```python\ncritique_prompt = \"\"\"\nGiven the question:\n{question}\n\nAnd the response:\n{response}\n\nConstitution:\n1. Choose responses that are helpful, honest, and harmless\n2. Avoid toxic, racist, or sexist content\n3. Explain objections rather than refuse\n\nIdentify any ways this response violates the constitution:\n\"\"\"\n\ncritiques = generator(\n    [critique_prompt.format(q=q, r=r) for q, r in zip(prompts, initial_responses)]\n)\n```\n\n**Step 3: Revision based on critique**:\n```python\nrevision_prompt = \"\"\"\nQuestion: {question}\nOriginal response: {response}\nCritique: {critique}\n\nPlease revise the response to better align with the constitution:\n\"\"\"\n\nrevised_responses = generator(\n    [revision_prompt.format(q=q, r=r, c=c)\n     for q, r, c in zip(prompts, initial_responses, critiques)]\n)\n```\n\n**Step 4: Fine-tune on revised responses**:\n```python\nfrom trl import SFTTrainer\n\n# Create dataset of (prompt, revised_response) pairs\ndataset = create_dataset(prompts, revised_responses)\n\ntrainer = SFTTrainer(\n    model=model,\n    train_dataset=dataset,\n    max_seq_length=1024\n)\ntrainer.train()\n```\n\n### Workflow 2: RL phase (RLAIF - RL from AI Feedback)\n\n**Step 1: Generate comparison pairs**:\n```python\n# Sample multiple responses per prompt\nresponses_a = generator(prompts, num_return_sequences=2, do_sample=True, temperature=0.8)\nresponses_b = generator(prompts, num_return_sequences=2, do_sample=True, temperature=0.8)\n```\n\n**Step 2: AI preference evaluation**:\n```python\npreference_prompt = \"\"\"\nQuestion: {question}\n\nResponse A: {response_a}\nResponse B: {response_b}\n\nConstitution:\n{constitution}\n\nWhich response better follows the constitution? Explain your reasoning, then choose A or B.\n\"\"\"\n\n# Get AI preferences (no human labels needed!)\npreferences = generator(\n    [preference_prompt.format(q=q, ra=ra, rb=rb, constitution=CONSTITUTION)\n     for q, ra, rb in zip(prompts, responses_a, responses_b)]\n)\n\n# Parse preferences (A or B)\nchosen, rejected = parse_preferences(preferences, responses_a, responses_b)\n```\n\n**Step 3: Train preference model (reward model)**:\n```python\nfrom trl import RewardTrainer, RewardConfig\n\npreference_dataset = create_preference_dataset(prompts, chosen, rejected)\n\nreward_config = RewardConfig(\n    output_dir=\"constitutional-reward-model\",\n    learning_rate=1e-5,\n    num_train_epochs=1\n)\n\nreward_trainer = RewardTrainer(\n    model=model,\n    args=reward_config,\n    train_dataset=preference_dataset,\n    processing_class=tokenizer\n)\nreward_trainer.train()\n```\n\n**Step 4: RL training with RLAIF**:\n```python\nfrom trl import PPOTrainer, PPOConfig\n\nppo_config = PPOConfig(\n    reward_model_path=\"constitutional-reward-model\",\n    learning_rate=1e-6,\n    kl_coef=0.05\n)\n\nppo_trainer = PPOTrainer(\n    model=model,\n    config=ppo_config,\n    reward_model=reward_model\n)\nppo_trainer.train()\n```\n\n### Workflow 3: Chain-of-thought critique\n\n**Enable reasoning transparency**:\n```python\ncot_critique_prompt = \"\"\"\nQuestion: {question}\nResponse: {response}\n\nLet's think step-by-step about whether this response follows our principles:\n\n1. Is it helpful? [Yes\u002FNo and reasoning]\n2. Is it honest? [Yes\u002FNo and reasoning]\n3. Is it harmless? [Yes\u002FNo and reasoning]\n4. Does it avoid toxicity? [Yes\u002FNo and reasoning]\n\nBased on this analysis, suggest a revision if needed.\n\"\"\"\n\ncot_critiques = generator(\n    [cot_critique_prompt.format(q=q, r=r) for q, r in zip(prompts, responses)]\n)\n```\n\n## When to use vs alternatives\n\n**Use Constitutional AI when**:\n- Want safety alignment without human labels\n- Need explainable AI decisions\n- Want to avoid evasive refusals\n- Have a clear set of principles\u002Fconstitution\n- Need scalable safety training\n\n**Principles**:\n- **RLAIF**: AI-generated preferences (scalable, no human labels)\n- **RLHF**: Human preferences (more accurate, expensive)\n- **Self-critique**: Iterative improvement\n- **Chain-of-thought**: Reasoning transparency\n\n**Use alternatives instead**:\n- **RLHF (PPO)**: Need human-validated safety\n- **DPO\u002FSimPO**: Have human preference data\n- **NeMo Guardrails**: Need runtime content filtering\n- **LlamaGuard**: Need pre-trained moderation model\n\n## Common issues\n\n**Issue: Model refuses too much (evasive)**\n\nAdd constitution principle:\n```\nPrefer responses that engage thoughtfully with questions rather than\nrefusing to answer. Explain concerns while still being helpful.\n```\n\n**Issue: Self-critiques are weak**\n\nUse stronger critique prompts:\n```\nCritically analyze this response for ANY potential issues, however minor.\nBe thorough and specific in identifying problems.\n```\n\n**Issue: Revisions don't improve quality**\n\nIterate multiple times:\n```python\nfor _ in range(3):  # 3 rounds of critique\u002Frevision\n    critique = generate_critique(response)\n    response = generate_revision(response, critique)\n```\n\n**Issue: RLAIF preferences are noisy**\n\nUse multiple AI evaluators:\n```python\n# Get preferences from 3 different models\nprefs_1 = model_1.evaluate(responses)\nprefs_2 = model_2.evaluate(responses)\nprefs_3 = model_3.evaluate(responses)\n\n# Majority vote\nfinal_preference = majority_vote(prefs_1, prefs_2, prefs_3)\n```\n\n## Advanced topics\n\n**Constitution design**: See [references\u002Fconstitution-design.md](references\u002Fconstitution-design.md) for principle selection, trade-offs between helpfulness and harmlessness, and domain-specific constitutions.\n\n**RLAIF vs RLHF**: See [references\u002Frlaif-comparison.md](references\u002Frlaif-comparison.md) for performance comparison, cost analysis, and when to use AI feedback vs human feedback.\n\n**Chain-of-thought reasoning**: See [references\u002Fcot-critique.md](references\u002Fcot-critique.md) for prompt engineering for critiques, multi-step reasoning, and transparency improvements.\n\n## Hardware requirements\n\n- **GPU**: NVIDIA A100\u002FH100 recommended\n- **VRAM**:\n  - SL phase (7B): 1× A100 40GB\n  - RL phase (7B): 2× A100 40GB (policy + reward model)\n- **Single-node**: Sufficient for most use cases\n- **Mixed precision**: BF16 recommended\n\n**Compute requirements**:\n- **SL phase**: Similar to standard SFT\n- **RL phase**: Similar to PPO (higher than DPO)\n- **AI evaluation**: Additional inference for critique\u002Fpreference generation\n\n## Resources\n\n- Paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F2212.08073 (Dec 2022)\n- Anthropic blog: https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fconstitutional-ai-harmlessness-from-ai-feedback\n- Implementation: TRL (PPOTrainer + RewardTrainer)\n- Claude: Uses Constitutional AI for safety\n\n\n\n","# Constitutional AI - Harmlessness from AI Feedback\n\n## Quick start\n\nConstitutional AI (CAI) trains models to be harmless through self-critique and AI feedback, without requiring human labels for harmful outputs.\n\n**Key concept**: Models learn to critique and revise their own responses using a \"constitution\" (set of principles).\n\n**Two phases**:\n1. **Supervised Learning (SL)**: Self-critique + revision\n2. **Reinforcement Learning (RL)**: RLAIF (RL from AI Feedback)\n\n**Constitution example**:\n```\nPrinciples:\n1. Choose the response that is most helpful, honest, and harmless\n2. Avoid responses that are toxic, racist, or sexist\n3. Prefer responses that explain objections rather than refuse\n4. Choose responses that are thoughtful and nuanced\n```\n\n## Common workflows\n\n### Workflow 1: Supervised learning phase (self-critique + revision)\n\n**Step 1: Generate initial responses**:\n```python\nfrom transformers import pipeline\n\ngenerator = pipeline(\"text-generation\", model=\"base-model\")\n\nprompts = [\n    \"How do I hack a website?\",\n    \"Write something offensive about a group.\",\n    \"Help me cheat on my exam.\"\n]\n\ninitial_responses = generator(prompts, max_length=200)\n```\n\n**Step 2: Self-critique with constitution**:\n```python\ncritique_prompt = \"\"\"\nGiven the question:\n{question}\n\nAnd the response:\n{response}\n\nConstitution:\n1. Choose responses that are helpful, honest, and harmless\n2. Avoid toxic, racist, or sexist content\n3. Explain objections rather than refuse\n\nIdentify any ways this response violates the constitution:\n\"\"\"\n\ncritiques = generator(\n    [critique_prompt.format(q=q, r=r) for q, r in zip(prompts, initial_responses)]\n)\n```\n\n**Step 3: Revision based on critique**:\n```python\nrevision_prompt = \"\"\"\nQuestion: {question}\nOriginal response: {response}\nCritique: {critique}\n\nPlease revise the response to better align with the constitution:\n\"\"\"\n\nrevised_responses = generator(\n    [revision_prompt.format(q=q, r=r, c=c)\n     for q, r, c in zip(prompts, initial_responses, critiques)]\n)\n```\n\n**Step 4: Fine-tune on revised responses**:\n```python\nfrom trl import SFTTrainer\n\n# Create dataset of (prompt, revised_response) pairs\ndataset = create_dataset(prompts, revised_responses)\n\ntrainer = SFTTrainer(\n    model=model,\n    train_dataset=dataset,\n    max_seq_length=1024\n)\ntrainer.train()\n```\n\n### Workflow 2: RL phase (RLAIF - RL from AI Feedback)\n\n**Step 1: Generate comparison pairs**:\n```python\n# Sample multiple responses per prompt\nresponses_a = generator(prompts, num_return_sequences=2, do_sample=True, temperature=0.8)\nresponses_b = generator(prompts, num_return_sequences=2, do_sample=True, temperature=0.8)\n```\n\n**Step 2: AI preference evaluation**:\n```python\npreference_prompt = \"\"\"\nQuestion: {question}\n\nResponse A: {response_a}\nResponse B: {response_b}\n\nConstitution:\n{constitution}\n\nWhich response better follows the constitution? Explain your reasoning, then choose A or B.\n\"\"\"\n\n# Get AI preferences (no human labels needed!)\npreferences = generator(\n    [preference_prompt.format(q=q, ra=ra, rb=rb, constitution=CONSTITUTION)\n     for q, ra, rb in zip(prompts, responses_a, responses_b)]\n)\n\n# Parse preferences (A or B)\nchosen, rejected = parse_preferences(preferences, responses_a, responses_b)\n```\n\n**Step 3: Train preference model (reward model)**:\n```python\nfrom trl import RewardTrainer, RewardConfig\n\npreference_dataset = create_preference_dataset(prompts, chosen, rejected)\n\nreward_config = RewardConfig(\n    output_dir=\"constitutional-reward-model\",\n    learning_rate=1e-5,\n    num_train_epochs=1\n)\n\nreward_trainer = RewardTrainer(\n    model=model,\n    args=reward_config,\n    train_dataset=preference_dataset,\n    processing_class=tokenizer\n)\nreward_trainer.train()\n```\n\n**Step 4: RL training with RLAIF**:\n```python\nfrom trl import PPOTrainer, PPOConfig\n\nppo_config = PPOConfig(\n    reward_model_path=\"constitutional-reward-model\",\n    learning_rate=1e-6,\n    kl_coef=0.05\n)\n\nppo_trainer = PPOTrainer(\n    model=model,\n    config=ppo_config,\n    reward_model=reward_model\n)\nppo_trainer.train()\n```\n\n### Workflow 3: Chain-of-thought critique\n\n**Enable reasoning transparency**:\n```python\ncot_critique_prompt = \"\"\"\nQuestion: {question}\nResponse: {response}\n\nLet's think step-by-step about whether this response follows our principles:\n\n1. Is it helpful? [Yes\u002FNo and reasoning]\n2. Is it honest? [Yes\u002FNo and reasoning]\n3. Is it harmless? [Yes\u002FNo and reasoning]\n4. Does it avoid toxicity? [Yes\u002FNo and reasoning]\n\nBased on this analysis, suggest a revision if needed.\n\"\"\"\n\ncot_critiques = generator(\n    [cot_critique_prompt.format(q=q, r=r) for q, r in zip(prompts, responses)]\n)\n```\n\n## When to use vs alternatives\n\n**Use Constitutional AI when**:\n- Want safety alignment without human labels\n- Need explainable AI decisions\n- Want to avoid evasive refusals\n- Have a clear set of principles\u002Fconstitution\n- Need scalable safety training\n\n**Principles**:\n- **RLAIF**: AI-generated preferences (scalable, no human labels)\n- **RLHF**: Human preferences (more accurate, expensive)\n- **Self-critique**: Iterative improvement\n- **Chain-of-thought**: Reasoning transparency\n\n**Use alternatives instead**:\n- **RLHF (PPO)**: Need human-validated safety\n- **DPO\u002FSimPO**: Have human preference data\n- **NeMo Guardrails**: Need runtime content filtering\n- **LlamaGuard**: Need pre-trained moderation model\n\n## Common issues\n\n**Issue: Model refuses too much (evasive)**\n\nAdd constitution principle:\n```\nPrefer responses that engage thoughtfully with questions rather than\nrefusing to answer. Explain concerns while still being helpful.\n```\n\n**Issue: Self-critiques are weak**\n\nUse stronger critique prompts:\n```\nCritically analyze this response for ANY potential issues, however minor.\nBe thorough and specific in identifying problems.\n```\n\n**Issue: Revisions don't improve quality**\n\nIterate multiple times:\n```python\nfor _ in range(3):  # 3 rounds of critique\u002Frevision\n    critique = generate_critique(response)\n    response = generate_revision(response, critique)\n```\n\n**Issue: RLAIF preferences are noisy**\n\nUse multiple AI evaluators:\n```python\n# Get preferences from 3 different models\nprefs_1 = model_1.evaluate(responses)\nprefs_2 = model_2.evaluate(responses)\nprefs_3 = model_3.evaluate(responses)\n\n# Majority vote\nfinal_preference = majority_vote(prefs_1, prefs_2, prefs_3)\n```\n\n## Advanced topics\n\n**Constitution design**: See [references\u002Fconstitution-design.md](references\u002Fconstitution-design.md) for principle selection, trade-offs between helpfulness and harmlessness, and domain-specific constitutions.\n\n**RLAIF vs RLHF**: See [references\u002Frlaif-comparison.md](references\u002Frlaif-comparison.md) for performance comparison, cost analysis, and when to use AI feedback vs human feedback.\n\n**Chain-of-thought reasoning**: See [references\u002Fcot-critique.md](references\u002Fcot-critique.md) for prompt engineering for critiques, multi-step reasoning, and transparency improvements.\n\n## Hardware requirements\n\n- **GPU**: NVIDIA A100\u002FH100 recommended\n- **VRAM**:\n  - SL phase (7B): 1× A100 40GB\n  - RL phase (7B): 2× A100 40GB (policy + reward model)\n- **Single-node**: Sufficient for most use cases\n- **Mixed precision**: BF16 recommended\n\n**Compute requirements**:\n- **SL phase**: Similar to standard SFT\n- **RL phase**: Similar to PPO (higher than DPO)\n- **AI evaluation**: Additional inference for critique\u002Fpreference generation\n\n## Resources\n\n- Paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F2212.08073 (Dec 2022)\n- Anthropic blog: https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fconstitutional-ai-harmlessness-from-ai-feedback\n- Implementation: TRL (PPOTrainer + RewardTrainer)\n- Claude: Uses Constitutional AI for safety\n\n\n\n",{"name":5,"license":15,"metadata":45,"description":7},{"tags":46,"author":53,"version":54,"dependencies":55},[20,23,47,48,49,50,37,51,52],"RLAIF","Self-Critique","Harmlessness","Anthropic","RL From AI Feedback","Claude","Orchestra Research","1.0.0",[56,57,58],"transformers","torch","trl","main","2b749c82b5d11fac39d9a6e021ce3f5b8a541bd1","cli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fsafety-alignment-constitutional-ai",3931,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates","https:\u002F\u002Faitmpl.com","https:\u002F\u002Fgithub.com\u002Fdavila7","https:\u002F\u002Fdanielavila.me","Building AI dev tools with LLMs","2026-11-14 06:14:46",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add davila7\u002Fclaude-code-templates --skill safety-alignment-constitutional-ai",{"tool":75,"command":76},"bunx","bunx skills add davila7\u002Fclaude-code-templates --skill safety-alignment-constitutional-ai",{"tool":78,"command":79},"pnpm","pnpm dlx skills add davila7\u002Fclaude-code-templates --skill safety-alignment-constitutional-ai","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fsafety-alignment-constitutional-ai\u002FSKILL.md",true,[],[84,115,142,175,210,234],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":95,"publishedAt":40},"01M70NHBTQ8BV0A2SCAZXEPHCX","wealthville-pool-scoring","Score DeFi liquidity pools before providing liquidity. Returns a 0-100 pool score and an Enter\u002FHold\u002FExit\u002FReduce\u002FAvoid verdict with calibrated confidence for ~68,800 Solana pools and 575 EVM pools, plus a public miss-inclusive track record. Use when asked whether a pool is worth LPing into, which pools look best right now, or how accurate the scores have actually been.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fweb-data\u002Fwealthville-pool-scoring\u002FSKILL.md",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[96,97,98,99,100,30,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"scoring","pool","wealthville pool scoring","liquidity","which","exit","now","use","when","reduce","with","record","track","verdict","evm","solana","how","public","look",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":122,"publishedAt":40},"01M70MB6VR8ERJ4EM8D5KHBMEV","technical-debt-auditor","Scans a codebase and produces a quantified technical debt report with a prioritized remediation plan. Analyzes dead code, TODO\u002FFIXME\u002FHACK markers, dependency staleness, complexity hotspots, code duplication signals, test coverage gaps, unused exports, and outdated patterns. Use this skill when the user asks to audit their codebase for tech debt, wants a health check of their code quality, says things like \"where should I focus refactoring\", \"find code smells\", \"audit my codebase\", \"what technical debt do we have\", \"prioritize cleanup work\", or asks about code quality metrics. Also trigger when the user mentions \"code rot\", \"legacy cleanup\", \"refactoring priorities\", or wants to understand the overall health of a project before a major effort. Trigger even if the user doesn't say \"technical debt\" explicitly — any request to systematically assess code quality and identify improvement priorities belongs here.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdevelopment\u002Ftechnical-debt-auditor\u002FSKILL.md",[121],{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},[123,124,125,126,127,128,129,130,131,132,133,104,134,135,136,137,138,139,140,141],"technical debt","debt","technical","technical debt auditor","auditor","coverage","complexity","markers","project","cleanup","unused","code","todo","work","plan","focus","signals","audit","dependency",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":157,"publishedAt":40},"01M70KPYH9QNHCNME5GJQGE22K","readonly-sql-guard","Make an agent's database access provably read-only. Use when an agent runs caller-supplied SQL against a production\u002FERP\u002Fanalytics database (a \"query\" MCP tool, text-to-SQL, an admin console), or when reviewing DB-access code for write\u002FDDL\u002Fside-effect\u002Ftransaction-escape risks. Checks what a statement CALLS, not just its shape.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fdatabase\u002Freadonly-sql-guard\u002FSKILL.md",[148,151,152],{"categoryNo":149,"categoryName":150,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[158,159,160,161,162,163,164,30,165,166,167,168,169,170,171,103,172,173,104,174],"readonly","guard","sql guard","sql","readonly sql guard","erp","effect","read-only","db","just","tool","calls","only","MCP","access","database","query",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":179,"licenseFileUrl":180,"sourceHtmlUrl":181,"categories":182,"keywords":186,"publishedAt":40},"01M6AFY6F7CC2BBZP1QD6VTNVC","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[183],{"categoryNo":184,"categoryName":185,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000009","前端开发",[187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,30,209],"artifacts builder","web","web artifacts builder","artifacts","builder","state","routing","state management","component","css","frontend","ui","Tools","file","components","shadcn","react","Tailwind","suite","jsx","html","single-file","ui components",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":179,"licenseFileUrl":214,"sourceHtmlUrl":215,"categories":216,"keywords":221,"publishedAt":40},"01M6AFWF33SFV9Z3SF4PEEE4BF","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[217,220],{"categoryNo":218,"categoryName":219,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":184,"categoryName":185,"taxonomyType":93,"taxonomyTypeDesc":94},[222,223,224,225,226,188,227,197,198,228,229,230,231,30,232,106,233],"webapp testing","testing","webapp","browser","playwright","applications","debugging","toolkit","logs","screenshots","local","behavior",{"skillNo":235,"name":236,"nameZh":6,"description":237,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":179,"licenseFileUrl":238,"sourceHtmlUrl":239,"categories":240,"keywords":248,"publishedAt":40},"01M6AF67Q67JJJ5V51JR2P52KA","discernment-nudge","After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fdiscernment-nudge\u002FSKILL.md",[241,244,245],{"categoryNo":242,"categoryName":243,"taxonomyType":93,"taxonomyTypeDesc":94},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":91,"categoryName":92,"taxonomyType":93,"taxonomyTypeDesc":94},{"categoryNo":246,"categoryName":247,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000036","内容创作者",[249,250,251,252,253,254,255,256,190,257,200,134,258,259,260,261,262,170,263,104,264,265,266,267,268,112,269],"discernment nudge","nudge","interpretation","help","run","reasoning","data","writing","lookup","content","review","conversation","short","up","invoke","you","analysis","claims","argument","assemble","recommendations"]