AIコーディングスキルは「ジャンク引き出し」になっている
AIコーディングツールにおける「スキル」とは、繰り返し利用する指示を保存した単なるプロンプトに過ぎません。
しかし、コミュニティでは過剰なスキルが構築されており、AIが自動的にそれらを呼び出すことが稀であるため、期待された機能が発揮されていません。
その結果、スキルフォルダは意図せず多数の指示が溜まった「ジャンク引き出し」化してしまっているのです。
筆者は、問題の根本は指示の量ではなく、規約やパターンをコードベースや設定ファイル、フックに組み込み、システム自体を設計することにあると指摘しています。
AIコーディングアシスタントの普及に伴い、開発者が「スキル」として特定の指示を保存し、AIに自動で適用させようとする動きが活発化しています。しかし、ある専門家は、このスキル収集の熱狂こそが非効率な作業を生んでいると警鐘を鳴らしているとのことです。
AIスキルの本質的な定義
ここでいう「スキル」とは、要するに「何度も入力したくない定型的なプロンプト」のことだそうです。例えば、「このコンポーネントパターンを使って」「このテスト構造に従ってレビューして」といった指示を保存したものにあたります。
多くのAIツール(Claude CodeやCursorなど)は、このようなカスタム設定機能を提供していますが、その期待される動作と実際の挙動には大きなギャップがあることが指摘されています。
自動適用機能の限界
スキルが「賢く」振る舞い、関連性の高い場面で自動的に呼び出されるという前提は崩れているとのことです。実際には、必要な時に無視されたり、不適切なタイミングで発動したりすることが多いそうです。
結果として、開発者は結局そのスキルを意図的に手動で呼び出す必要があり、「自動実行」という約束が実質的な意味を持たない状態になっていると分析されています。
「ジャンクドロワー化」する設定
問題は、解決策を探すのではなく、あらゆる課題に対して個別のスキルを積み重ねてしまう点にあるそうです。これにより、AIツール内の設定ファイルやディレクトリが膨大な量の定型プロンプトで埋め尽くされ、「ジャンクドロワー(雑多な引き出し)」のような状態になってしまいます。
専門家は、真に効率的な開発とは、個別の指示を積み重ねるのではなく、システム自体に規約や自動処理の仕組みを組み込むことだと主張しています。
結論
AIコーディングアシスタントの進化において、単なるプロンプト集めではなく、コードベースや環境設定といった「システム」そのものに知性を埋め込むことが重要だそうです。これにより、開発者は作業のオーケストレーター(調整役)から解放され、真の意味で自律的な開発が可能になると見られています。
原文の冒頭を表示(英語・3段落のみ)
I live in these tools. AI coding assistants are most of my workflow at this point. I have a few skills. I don't like them. And I think the energy the community is pouring into building and collecting them is mostly wasted.Not a shortage of skills, an excess. People are building skills for everything. Frontend design skills. Auth skills. Testing skills. Deployment skills. Code review skills. There are curated lists of "20 skills you should install" and tutorials on building skill libraries for your team. Whole marketplaces now. Community repos. Essential skill packs.Most of these skills shouldn't exist.I build and maintain LLM-powered tools used by thousands of real users at Enrollment Resources and VirtuOHS.What AI Coding Skills Actually AreLet's be honest about what a skill is. It's a prompt you got tired of typing. You kept pasting the same instructions into the chat, "use our component patterns," "follow this test structure," "review for these things," and at some point you saved it to a markdown file so you wouldn't have to keep repeating yourself. That's all a skill is. A saved prompt with a name.I'm going to talk about this in terms of Claude Code skills because that's what I use every day, but the problem isn't specific to Claude Code. Cursor has rules files. Windsurf has its own configuration. Claude.ai's chat interface has custom instructions and project knowledge. Every AI tool now has some mechanism for "write markdown, shape behavior," and every community around these tools is building and sharing libraries of them. The failure mode is the same everywhere.Skills are supposed to be smart about it. The pitch is that the LLM recognizes when to invoke a skill based on its description. You're working on frontend code, it notices it has a frontend-design skill, and reaches for it automatically. This doesn't work. Skills get ignored when they're relevant and occasionally triggered when they're not. The only reliable way to use a skill is to invoke it manually, which makes the "auto-invocation" promise meaningless. You don't have an intelligent tool. You have a slash command with extra steps.And the chat interface variants are even worse. Custom instructions and project knowledge don't have any invocation mechanism at all. They're either always loaded into context or they're not. You're burning context window on instructions that may or may not be relevant to what you're doing right now, with no way to scope them to specific tasks.The feature isn't broken in some dramatic way. It just doesn't do what people think it does. And that gap between expectation and reality is driving a lot of misplaced effort.The Skill Accumulation ProblemHere's what happens: someone discovers skills, gets excited, and starts building them for everything. "I keep giving the AI the same instructions for code review" → skill. "It doesn't follow our design system" → skill. "I need it to handle deployments" → skill.Before long you've got a .claude/skills/ directory with fifteen markdown files, a personal ~/.claude/skills/ with ten more, and you're browsing GitHub repos for skill packs to install. It feels productive. You're customizing your tools. You're building a workflow.And the dynamic is the same one that gave us left-pad as an npm package: someone solved a problem, packaged it, and now thousands of people are importing it without asking whether they actually have that problem, or whether it's even hard to solve. If the first thing you do when creating a new project is npm install lodash, skill marketplaces are going to feel like home. That's not a compliment.But step back. You now have twenty-five markdown files that the LLM will almost certainly never invoke at the right time. You have to remember which skills exist and when to use them. You have to maintain them as your codebase changes. And the instructions in those files are doing work that should be happening somewhere else entirely.Skills are the junk drawer of AI coding tool configuration. They're the path of least resistance for "I want the AI to do X better," so everything gets thrown in there without asking whether a skill is actually the right solution.The Workflow You're Actually OrchestratingThink about what a skill-heavy workflow looks like in practice:/understand-project
/implement-feature XYZ
/security-review XYZ
※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。