autoskills

One command — スタックを検出し、skills.sh 経由でエージェント用スキルを入れる CLI

1 — 概要

autoskills はプロジェクトルートで npx autoskills を実行すると、依存関係や設定ファイルから技術スタックを推定し、skills.sh レジストリにあるスキルのうち、スタックに合うものを選んでインストールする。検出から候補提示まではローカル完結で、ネットワークはインストールフェーズに入ってから。

skills.shレジストリ連携
50+技術の検出ルール
Combo複合スタック向け追加
CLAUDE.mdClaude Code 時に自動
要件: Node.js 22 以上(package.json の engines 準拠)。ライセンスは CC BY-NC 4.0(midudev)。
2 — 実行フロー
走査→ detectTechnologies→ collectSkills→ 対話 or -y→ installAll→ CLAUDE.md?
flowchart TD A["プロジェクト走査"] --> B["技術スタック検出"] B --> C["コンボ検出"] C --> D["collectSkills"] D --> E{"TTY かつ not -y ?"} E -->|Yes| F["マルチセレクト"] E -->|No| G["全候補のまま"] F --> H["installAll 並列"] G --> H H --> I{"claude-code 対象?"} I -->|Yes| J["CLAUDE.md 生成"] I -->|No| K["完了"] J --> K

--dry-run のときは候補一覧とエージェント一覧だけ表示し、インストールは行わない。

3 — 検出の仕組み

lib.ts まわりでは、次のような材料から Technology[] とコンボを組み立てる。

  • Node / JS: package.json、ロックファイル、pnpm-workspace.yaml 由来のワークスペース展開
  • JVM / Android: Gradle(build.gradle(.kts)、settings.gradle からのモジュール列挙など)
  • その他: go.mod、pubspec.yaml、deno.json など、マップされた設定パス
  • フロント単体: 特定フレームワークが無くても、.tsx / .vue など拡張子の実ファイルが浅い深さで見つかれば「Web フロント」としてボーナススキル候補に繋げる

例: Next.js + Supabase、React + shadcn/ui、Tailwind + shadcn など。複数技術の組み合わせが COMBO_SKILLS_MAP に定義されていれば、単体スキルに加えて追加のスキル ID が付く。

4 — skills CLI との連携

各スキルは author/repo または author/repo/skill-name 形式。installer.ts はグローバルの skills コマンドがあれば直接呼び、なければ npx -y skills add … でフォールバックする。

# 概念的な引数(内部で組み立て)
skills add <repo> [--skill <name>] -y [-a cursor claude-code ...]

複数スキルは並列インストールされ、成功・失敗がサマリに集約される。-v / --verbose でエラー時にコマンドや stderr の抜粋を増やせる。

5 — エージェントとフォルダ

CLI に -a / --agent で対象を絞る。省略時は detectAgents() がプロジェクト内の隠しディレクトリから推測する。

フォルダエージェント ID
.claudeclaude-code
.cursorcursor
.codexcodex
.opencodeopencode
.copilotgithub-copilot
.geminigemini-cli
.antigravityantigravity
.cline → cline .augment → augment .continue → continue .kiro → kiro-cli .supermaven → supermaven …

Claude Code が対象に含まれるとき、インストール後に .claude/skills 配下の Markdown を要約した CLAUDE.md をルートに生成する(claude.ts)。

6 — CLI オプション
フラグ説明
-y / --yes確認をスキップし、検出された候補をすべてインストール
--dry-run候補とエージェントだけ表示。ネットワークを使わない
-v / --verbose失敗時に詳細なエラー行・コマンドを表示
-a / --agent続く引数をエージェント ID として渡す(例: cursor claude-code)
-h / --helpヘルプ表示
npx autoskills
npx autoskills -y
npx autoskills --dry-run
npx autoskills -a cursor claude-code