huggingface-paper-publisher について
huggingface-paper-publisherは、AIエンジニアや研究者向けに、Hugging Face Hubで論文を公開、管理、関連付けるツールを提供します。arXivの索引登録、著者確認、モデルやデータセットとの連携、論文テンプレート作成に対応します。
主な機能
- 01arXiv論文の索引登録
- 02著者権利の申請と確認
- 03プロフィールでの論文表示管理
- 04論文とモデルやデータセットの関連付け
- 05研究記事の作成と変換
活用シーン
- 01arXiv論文をHugging Faceに登録
- 02モデルやデータセットに論文引用を追加
- 03著者確認とプロフィール論文の管理
- 04テンプレートから研究記事を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huggingface/ skills --skill huggingface-paper-publisherインストール後、Claude Code で/huggingface-paper-publisherを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/example_usage.mdreferences/quick_reference.mdscripts/paper_manager.pytemplates/arxiv.mdml-report.mdmodern.mdstandard.md詳細
概要
このスキルは、AI エンジニアや研究者が Hugging Face Hub で研究論文を公開、管理、リンクするための包括的なツールを提供します。arXiv との連携、モデル/データセットへのリンク、著者情報の管理など、論文の作成から公開までのワークフローを効率化します。
HF エコシステムとの連携
- 論文ページ:Hugging Face Hub 上の論文をインデックス化して検索できるようにします
- arXiv 連携:arXiv ID から論文を自動的にインデックス化します
- モデル/データセットへのリンク:メタデータを通じて論文を関連する成果物に紐付けます
- 著者情報の確認:論文の著者であることを申請し、確認します
- 研究論文テンプレート:専門的で現代的な科学論文を作成します
バージョン
1.0.0
依存関係
付属のスクリプトでは PEP 723 のインライン依存関係を使用します。手動で環境を設定するよりも
uv run を使用してください。
- huggingface_hub>=0.26.0
- pyyaml>=6.0.3
- requests>=2.32.5
- markdown>=3.5.0
- python-dotenv>=1.2.1
主な機能
1. 論文ページの管理
- 論文のインデックス化:arXiv から Hugging Face に論文を追加します
- 著者資格の申請:公開済み論文の著者であることを確認し、申請します
- 公開範囲の管理:プロフィールに表示する論文を管理します
- 論文の検索:HF エコシステム内の論文を検索して閲覧します
2. 論文と成果物のリンク
- モデルカード:モデルのメタデータに論文の引用を追加します
- データセットカード:README を通じて論文をデータセットにリンクします
- 自動タグ付け:Hub が arxiv:<PAPER_ID> タグを自動生成します
- 引用の管理:適切な著者表記と参考文献を維持します
3. 研究論文の作成
- Markdown テンプレート:専門的な論文の書式を生成します
- モダンなデザイン:見やすく読みやすい研究論文のレイアウトです
- 動的な目次:目次を自動生成します
- セクション構成:標準的な科学論文の構成です
- LaTeX 数式:数式や技術的な表記に対応します
4. メタデータの管理
- YAML フロントマター:モデル/データセットカードに適切なメタデータを設定します
- 引用の追跡:リポジトリ間で論文の参考文献を維持します
- バージョン管理:論文の更新や改訂を追跡します
- 複数論文への対応:複数の論文を単一の成果物にリンクします
使用方法
このスキルには、論文公開用の Python スクリプトが scripts/ に含まれています。
前提条件
uv runを使ってスクリプトを実行します(依存関係はスクリプトヘッダーから解決されます)- Write アクセス権を持つトークンを
HF_TOKEN環境変数に設定します
すべてのパスは、この SKILL.md ファイルを含むディレクトリからの相対パスです。 スクリプトを実行する前に、そのディレクトリに
cdするか、 絶対パスを使用してください。
方法 1:arXiv から論文をインデックス化する
arXiv から Hugging Face Paper Pages に論文を追加します。
基本的な使い方:
uv run scripts/paper_manager.py index \
--arxiv-id "2301.12345"
論文が存在するか確認する:
uv run scripts/paper_manager.py check \
--arxiv-id "2301.12345"
URL に直接アクセスする:
https://huggingface.co/papers/{arxiv-id} に直接アクセスして論文をインデックス化することもできます。
方法 2:論文をモデル/データセットにリンクする
適切な YAML メタデータを使って、モデルまたはデータセットの README に論文の参考文献を追加します。
モデルカードに追加する:
uv run scripts/paper_manager.py link \
--repo-id "username/model-name" \
--repo-type "model" \
--arxiv-id "2301.12345"
データセットカードに追加する:
uv run scripts/paper_manager.py link \
--repo-id "username/dataset-name" \
--repo-type "dataset" \
--arxiv-id "2301.12345"
複数の論文を追加する:
uv run scripts/paper_manager.py link \
--repo-id "username/model-name" \
--repo-type "model" \
--arxiv-ids "2301.12345,2302.67890,2303.11111"
カスタムの引用情報を使用する:
uv run scripts/paper_manager.py link \
--repo-id "username/model-name" \
--repo-type "model" \
--arxiv-id "2301.12345" \
--citation "$(cat citation.txt)"
リンクの仕組み
モデルまたはデータセットの README に arXiv 論文へのリンクを追加すると:
- Hub がリンクから arXiv ID を抽出します
arxiv:<PAPER_ID>タグがリポジトリに自動で追加されます- ユーザーはタグをクリックして Paper Page を表示できます
- Paper Page には、この論文を引用しているすべてのモデル/データセットが表示されます
- 論文はフィルターや検索から見つけられるようになります
方法 3:著者資格を申請する
Hugging Face で公開されている論文の著者であることを確認します。
申請手続きを開始する:
uv run scripts/paper_manager.py claim \
--arxiv-id "2301.12345" \
--email "[email protected]"
手動で手続きする:
- 論文のページに移動します:
https://huggingface.co/papers/{arxiv-id} - 著者一覧から自分の名前を探します
- 自分の名前をクリックし、「Claim authorship」を選択します
- 管理チームによる確認を待ちます
著者資格の状態を確認する:
uv run scripts/paper_manager.py check-authorship \
--arxiv-id "2301.12345"
方法 4:論文の表示を管理する
公開プロフィールに表示する、検証済みの論文を管理します。
自分の論文を一覧表示する:
uv run scripts/paper_manager.py list-my-papers
表示を切り替える:
uv run scripts/paper_manager.py toggle-visibility \
--arxiv-id "2301.12345" \
--show true
設定で管理する: アカウント設定の「Papers」セクションに移動し、各論文の「Show on profile」を切り替えます。
方法 5:研究論文を作成する
最新のテンプレートを使用して、Markdown ベースの専門的な研究論文を生成します。
テンプレートから作成する:
uv run scripts/paper_manager.py create \
--template "standard" \
--title "Your Paper Title" \
--output "paper.md"
利用可能なテンプレート:
standard- 従来型の科学論文の構成modern- Distill に着想を得た、すっきりとしたウェブ向けの形式arxiv- arXiv 形式ml-report- 機械学習の実験レポート
論文全体を生成する:
uv run scripts/paper_manager.py create \
--template "modern" \
--title "Fine-Tuning Large Language Models with LoRA" \
--authors "Jane Doe, John Smith" \
--abstract "$(cat abstract.txt)" \
--output "paper.md"
HTML に変換する:
uv run scripts/paper_manager.py convert \
--input "paper.md" \
--output "paper.html" \
--style "modern"
論文テンプレートの構成
標準的な研究論文のセクション:
---
title: Your Paper Title
authors: Jane Doe, John Smith
affiliations: University X, Lab Y
date: 2025-01-15
arxiv: 2301.12345
tags: [machine-learning, nlp, fine-tuning]
---
# Abstract
Brief summary of the paper...
# 1. Introduction
Background and motivation...
# 2. Related Work
Previous research and context...
# 3. Methodology
Approach and implementation...
# 4. Experiments
Setup, datasets, and procedures...
# 5. Results
Findings and analysis...
# 6. Discussion
Interpretation and implications...
# 7. Conclusion
Summary and future work...
# References
modern テンプレートの機能:
- 動的な目次
- ウェブ表示に対応したレスポンシブデザイン
- コードの構文ハイライト
- インタラクティブな図やグラフ
- 数式のレンダリング(LaTeX)
- 引用文献の管理
- 著者の所属先へのリンク
コマンドリファレンス
論文をインデックスに登録する:
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"
リポジトリにリンクする:
uv run scripts/paper_manager.py link \
--repo-id "username/repo-name" \
--repo-type "model|dataset|space" \
--arxiv-id "2301.12345" \
[--citation "Full citation text"] \
[--create-pr]
著者資格を申請する:
uv run scripts/paper_manager.py claim \
--arxiv-id "2301.12345" \
--email "your.email@edu"
表示を管理する:
uv run scripts/paper_manager.py toggle-visibility \
--arxiv-id "2301.12345" \
--show true|false
研究論文を作成する:
uv run scripts/paper_manager.py create \
--template "standard|modern|arxiv|ml-report" \
--title "Paper Title" \
[--authors "Author1, Author2"] \
[--abstract "Abstract text"] \
[--output "filename.md"]
Markdown を HTML に変換する:
uv run scripts/paper_manager.py convert \
--input "paper.md" \
--output "paper.html" \
[--style "modern|classic"]
論文のステータスを確認する:
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"
自分の論文を一覧表示する:
uv run scripts/paper_manager.py list-my-papers
論文を検索する:
uv run scripts/paper_manager.py search --query "transformer attention"
YAML メタデータ形式
論文をモデルやデータセットにリンクするには、適切な YAML フロントマターが必要です。
モデルカードの例:
---
language:
- en
license: apache-2.0
tags:
- text-generation
- transformers
- llm
library_name: transformers
---
# Model Name
This model is based on the approach described in [Our Paper](https://arxiv.org/abs/2301.12345).
## Citation
```bibtex
@article{doe2023paper,
title={Your Paper Title},
author={Doe, Jane and Smith, John},
journal={arXiv preprint arXiv:2301.12345},
year={2023}
}
**Dataset Card Example:**
```yaml
---
language:
- en
license: cc-by-4.0
task_categories:
- text-generation
- question-answering
size_categories:
- 10K<n<100K
---
# Dataset Name
Dataset introduced in [Our Paper](https://arxiv.org/abs/2301.12345).
For more details, see the [paper page](https://huggingface.co/papers/2301.12345).
Hub はこれらのリンクから arXiv ID を自動的に抽出し、arxiv:2301.12345 タグを作成します。
統合例
ワークフロー 1:新しい研究を公開する
# 1. Create research article
uv run scripts/paper_manager.py create \
--template "modern" \
--title "Novel Fine-Tuning Approach" \
--output "paper.md"
# 2. Edit paper.md with your content
# 3. Submit to arXiv (external process)
# Upload to arxiv.org, get arXiv ID
# 4. Index on Hugging Face
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"
# 5. Link to your model
uv run scripts/paper_manager.py link \
--repo-id "your-username/your-model" \
--repo-type "model" \
--arxiv-id "2301.12345"
# 6. Claim authorship
uv run scripts/paper_manager.py claim \
--arxiv-id "2301.12345" \
--email "your.email@edu"
ワークフロー 2:既存の論文をリンクする
# 1. Check if paper exists
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"
# 2. Index if needed
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"
# 3. Link to multiple repositories
uv run scripts/paper_manager.py link \
--repo-id "username/model-v1" \
--repo-type "model" \
--arxiv-id "2301.12345"
uv run scripts/paper_manager.py link \
--repo-id "username/training-data" \
--repo-type "dataset" \
--arxiv-id "2301.12345"
uv run scripts/paper_manager.py link \
--repo-id "username/demo-space" \
--repo-type "space" \
--arxiv-id "2301.12345"
ワークフロー 3:論文の参照情報を使ってモデルを更新する
# 1. Get current README
hf download username/model-name README.md
# 2. Add paper link
uv run scripts/paper_manager.py link \
--repo-id "username/model-name" \
--repo-type "model" \
--arxiv-id "2301.12345" \
--citation "Full citation for the paper"
# The script will:
# - Add YAML metadata if missing
# - Insert arXiv link in README
# - Add formatted citation
# - Preserve existing content
ベストプラクティス
-
論文のインデックス登録
- arXiv で公開されたら、すぐに論文をインデックスに登録します
- モデルカードやデータセットカードに引用情報をすべて記載します
- 関連するリポジトリ間で論文の参照方法を統一します
-
メタデータの管理
- すべてのモデルカードやデータセットカードに YAML フロントマターを追加します
- 適切なライセンス情報を記載します
- 関連するタスクカテゴリとドメインのタグを付けます
-
著者資格
- 著者として記載されている論文の著者資格を申請します
- 検証には所属機関のメールアドレスを使用します
- 論文の表示設定を最新の状態に保ちます
-
リポジトリへのリンク
- 論文を関連するすべてのモデル、データセット、Spaces にリンクします
- README の説明に論文の内容を記載します
- 参照しやすいように BibTeX の引用情報を追加します
-
研究論文
- プロジェクト内でテンプレートを統一して使用します
- 論文にコードとデータへのリンクを含めます
- 共有用にウェブ向けの HTML 版を生成します
高度な使い方
論文を一括でリンクする:
# Link multiple papers to one repository
for arxiv_id in "2301.12345" "2302.67890" "2303.11111"; do
uv run scripts/paper_manager.py link \
--repo-id "username/model-name" \
--repo-type "model" \
--arxiv-id "$arxiv_id"
done
論文情報を抽出する:
# Get paper metadata from arXiv
uv run scripts/paper_manager.py info \
--arxiv-id "2301.12345" \
--format "json"
引用情報を生成する:
# Create BibTeX citation
uv run scripts/paper_manager.py citation \
--arxiv-id "2301.12345" \
--format "bibtex"
リンクを検証する:
# Check all paper links in a repository
uv run scripts/paper_manager.py validate \
--repo-id "username/model-name" \
--repo-type "model"
エラー処理
- 論文が見つからない:arXiv ID が存在しないか、まだインデックスに登録されていません
- 権限がありません:HF_TOKEN にリポジトリへの書き込み権限がありません
- 無効な YAML:README のフロントマターのメタデータの形式が正しくありません
- 著者資格の申請に失敗しました:メールアドレスが論文の著者記録と一致しません
- 申請済みです:別のユーザーが著者資格を申請しています
- レート制限:短時間に API リクエストを送りすぎています
トラブルシューティング
問題:「Hugging Face で論文が見つかりません」
- 解決策:
hf.co/papers/{arxiv-id}にアクセスして、インデックス登録を開始します
問題:「著者資格の申請が検証されません」
- 解決策:管理者の確認を待つか、証明を添えて HF サポートにお問い合わせください
問題:「arXiv タグが表示されません」
- 解決策:README に適切な形式の arXiv URL が含まれていることを確認します
問題:「リポジトリにリンクできません」
- 解決策:HF_TOKEN に書き込み権限があることを確認します
問題:「テンプレートのレンダリングでエラーが発生します」
- 解決策:Markdown の構文と YAML フロントマターの形式を確認します
リソースと参考資料
- Hugging Face 論文ページ:hf.co/papers
- Model Cards ガイド:hf.co/docs/hub/model-cards
- Dataset Cards ガイド:hf.co/docs/hub/datasets-cards
- 研究論文テンプレート:tfrere/research-article-template
- arXiv 形式ガイド:arxiv.org/help/submit
tfrere の研究テンプレートとの連携
このスキルは、tfrere の研究論文テンプレートを補完し、次の機能を提供します。
- 論文インデックス作成ワークフローの自動化
- リポジトリへのリンク機能
- メタデータ管理ツール
- 引用生成ユーティリティ
tfrere のテンプレートで執筆した後、このスキルを使って論文を公開し、Hugging Face Hub 上でリンクできます。
よく使われるパターン
パターン 1:新しい論文の公開
# Write → Publish → Index → Link
uv run scripts/paper_manager.py create --template modern --output paper.md
# (Submit to arXiv)
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"
uv run scripts/paper_manager.py link --repo-id "user/model" --arxiv-id "2301.12345"
パターン 2:既存の論文の検索
# Search → Check → Link
uv run scripts/paper_manager.py search --query "transformers"
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"
uv run scripts/paper_manager.py link --repo-id "user/model" --arxiv-id "2301.12345"
パターン 3:著者ポートフォリオの管理
# Claim → Verify → Organize
uv run scripts/paper_manager.py claim --arxiv-id "2301.12345"
uv run scripts/paper_manager.py list-my-papers
uv run scripts/paper_manager.py toggle-visibility --arxiv-id "2301.12345" --show true
API 連携
Python スクリプトの例:
from scripts.paper_manager import PaperManager
pm = PaperManager(hf_token="your_token")
# Index paper
pm.index_paper("2301.12345")
# Link to model
pm.link_paper(
repo_id="username/model",
repo_type="model",
arxiv_id="2301.12345",
citation="Full citation text"
)
# Check status
status = pm.check_paper("2301.12345")
print(status)
今後の機能強化
今後のバージョンで予定している機能:
- arXiv 以外の論文(会議録、学術誌)への対応
- DOI からの引用形式の自動生成
- 論文の比較とバージョン管理ツール
- 論文の共同執筆機能
- LaTeX ワークフローとの連携
- 図表の自動抽出
- 論文の指標と影響度の追跡