概要
Slavingia Skillsは、GitHubプロフィール上に自分のスキルを動的に可視化するツールです。開発者が獲得したスキルバッジをREADMEやプロフィールに自動で表示し、技術スタックを一目で把握できる仕組みを提供します。背景には、開発者の成長を可視化するプラットフォームの不足と、スキルの自動更新を手動管理する煩雑さへの対処があります。GitHubアクションと連携することで、リポジトリの活動情報からスキルを自動検出し、定期的にプロフィールを更新する仕組みが実現されました。
主な機能
- 自動スキル検出:リポジトリで使用されている言語やフレームワークをスキャンして、利用技術を自動認識します。
- プロフィール自動更新:検出したスキルをGitHubプロフィールのREADMEに自動で反映し、手動編集の負担を削減します。
- スキルバッジ生成:Markdown形式やSVG形式のバッジを自動生成し、プロフィールページに埋め込める状態で提供します。
- 複数リポジトリ対応:ユーザーの全リポジトリを横断して分析し、総合的なスキルプロフィールを構築できます。
- GitHub Actions統合:ワークフロー設定によって定期実行が可能で、スキル情報の常時更新が実現します。
- カスタマイズ設定:表示するスキルの選別やバッジスタイルの変更など、個人の好みに応じた調整が可能です。
技術スタック
- 実装言語:TypeScript / JavaScript
- 実行環境:Node.js
- GitHub連携:GitHub API、GitHub Actions
- ファイル形式:Markdown、SVG
- バージョン管理:Git
- 依存ツール:npm / yarn(パッケージ管理)
- リポジトリ言語検出:GitHub REST APIのリポジトリ情報エンドポイント
導入方法
最も簡単な導入方法はGitHubアクションを使用することです。リポジトリにワークフローファイルを追加します。
ステップ1:.github/workflows/ディレクトリを作成し、以下の内容でskills.ymlファイルを新規作成します。
name: Update Skills
on:
schedule:
- cron: '0 0 * * 0' # 毎週日曜の深夜0時に実行
workflow_dispatch:
jobs:
update-skills:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: slavingia/skills@master
with:
githubToken: $
ステップ2:プロフィールREADMEに以下のマーカーを挿入します。このコメント内のスキル情報が自動更新されます。
<!--START_SECTION:skills-->
<!--END_SECTION:skills-->
ステップ3:リポジトリのシークレット設定を確認し、GITHUB_TOKENが有効であることを確認します(通常は自動設定)。
ステップ4:ワークフローをトリガーするか、スケジュール実行を待つと、自動的にスキル情報がREADMEに挿入されます。
競合比較
| 項目 | Slavingia Skills | GitHub Readme Stats | Daily.dev |
|---|---|---|---|
| 機能フォーカス | スキル自動検出・表示 | アクティビティ統計表示 | スキル管理・コミュニティ |
| 設定難度 | 低(アクション連携のみ) | 低(バッジ埋め込み) | 中(登録・連携必要) |
| 検出範囲 | 自リポジトリの言語・フレームワーク | コミット・プルリク・イシュー統計 | ユーザー登録による自己申告 |
| 更新頻度 | カスタマイズ可能(スケジュール設定) | リアルタイム(バッジ表示) | 手動更新 |
| 外部サービス依存 | GitHub APIのみ | GitHub API + 独自サービス | Daily.dev登録必須 |
Slavingia Skillsの最大の差別化点は、開発実績(コード)を直接スキャンして自動認識する点にあります。GitHub Readme Statsはアクティビティの可視化に特化しており、Daily.devはスキルを自己申告で管理するため、これら三者のアプローチは根本的に異なります。Slavingia Skillsは「実装した技術が自動で反映される」という手間のなさが利点です。
こんな人におすすめ
- プロフィールを常に最新に保ちたい開発者:使用技術が増えるたびにREADMEを手動編集する必要がなく、自動更新により常に最新の技術スタックを反映できます。
- 複数のリポジトリで多様な言語を使う人:全リポジトリを横断スキャンするため、フロントエンド・バックエンド・インフラなど異なる領域で使う技術を一元管理できます。
- スキルの可視化をシンプルに実現したい層:追加の登録やサービス連携が最小限で、GitHub Actions一つで完結するため、複雑な設定なしに導入可能です。
- 採用面接や案件営業で技術スタックをアピールしたい人:取得スキルが客観的なコード実績から自動生成されるため、プロフィール信頼度が向上し、機会創出につながります。
- オープンソース貢献者やデベロッパーアドボケート:技術発信をする際、自らのスキルレンジをREADMEで可視化することで、コミュニティ内での信頼構築とネットワーク拡大を促進できます。