paper-profile について
paper-profileは、研究論文の著者向けに論文の位置づけや執筆の好みを聞き取り、検証済みの`.paper-memory/profile.yml`に保存するスキルです。他の論文スキルが設定を参照するため、同じ質問を繰り返さずに作業を調整できます。
主な機能
- 01論文の位置づけを聞き取るインタビュー
- 02検証済みYAMLプロファイル
- 03執筆スタイルの設定
- 04論文スキル間で共有する設定
- 05ローカルな`.paper-memory/`の設定
活用シーン
- 01新しい論文のコンテキスト設定
- 02投稿先変更後の位置づけ更新
- 03複数スキル間での執筆の好みの共有
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ shaishavmaisuria/ research-paper-lifecycle-skills --skill paper-profileインストール後、Claude Code で/paper-profileを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/downstream-consumption.mdpaper-memory-convention.mdpositioning-axes.mdscripts/profile_io.py詳細
論文プロフィール
著者の論文の位置づけを一度確認して、.paper-memory/profile.yml に保存します。ほかのすべてのスキルがこの情報を読み取ることで、同じ質問を何度も繰り返すのではなく、ツールキット全体が状況を踏まえて動作します。これは「自分の論文について相談する」ための窓口です。選択肢を交えた簡単な聞き取りの後、リポジトリ内のほかの機能が利用する、検証済みの小さな YAML ファイルを作成します。
これはコパイロットであり、予言者ではありません。プロフィールには、あなたが表明した意図(どのような論文なのか、誰を対象にしているのか、どれほど大胆に主張したいのか)を記録します。科学的な質を評価するものではなく、採択を予測することもありません。
使用するタイミング
- 「論文プロフィールを設定して」/「自分の論文について聞いて」/「どの分野?」
- 新しい論文の執筆を始めるにあたり、執筆前にツールキットを調整したいとき。
- 「スキルをまたいで、自分の文体や論文の位置づけを覚えておいて。」
- ほかのスキルで
.paper-memory/profile.ymlが見つからず、そのスキルを個別に調整するために作成したいとき。 - 論文の位置づけが変わったときはいつでも再実行できます(たとえば、投稿先のランクを下げる場合や、システム研究から実証的な枠組みに切り替える場合)。
入力
- ユーザーの論文作業ディレクトリ(
.paper-memory/を置くディレクトリ)。これはユーザーの論文リポジトリであり、このスキルのリポジトリではありません。 - 聞き取りに対するユーザーの回答(質問し、ユーザーが選択します)。ほかに必要なものはありません。ネットワークへのアクセスはなく、ユーザーが事前に作成しておくファイルもありません。
- 任意:新規作成ではなく更新する場合は、既存の
.paper-memory/profile.yml。
手順
-
論文のディレクトリとメモリーディレクトリを確認します。 論文がどこにあるかユーザーに確認します。プロファイルは
<paper-dir>/.paper-memory/に保存します。すでに存在する場合は読み込んで表示し(profile_io.py show)、上書きではなく更新を提案します。 -
オプションメニューを表示してから、聞き取りを行います。 空のテンプレートを表示してユーザーに選択肢を見てもらってから、順に質問します。値を独自に作らないよう、スクリプトから正確な語彙を取得します。
python3 scripts/profile_io.py schema。以下の順に、選択肢とそれぞれの概要を1行で必ず示して質問します(詳しい説明は references/positioning-axes.md にあります)。- vertical / emphasis(必須):
systems|theory|applied|empirical|survey|position。「論文の核心は、構築した成果物、証明、特定分野への応用、測定研究、統合、主張のどれですか?」 - contribution_type(必須):
method|system|theory|dataset|empirical|application|survey|position。 - audience:
specialists|broad-field|practitioners|interdisciplinary。 - venue_tier(必須):
top|specialized|regional|journal|workshop|preprint|undecided。加えて、具体的なtarget_venues(例:sigspatial-2026)を尋ねます。 - risk_appetite(必須):
safe|balanced|ambitious。「小さく確実な差分を堅実に主張しますか。それとも大きな主張を掲げ、評価が分かれることを受け入れますか?」 - writing_preferences:
person(we/I/impersonal/venue-default)、tone、notation(heavy/light)、british_spelling。加えてpreferred_termsとavoid_termsを尋ねます。 - context:
prior_papers(match-style用のパス/ID)、constraints(厳守すべき締め切り、匿名性を維持する必要がある、新たな実験を行わないなど)。
各項目に妥当なデフォルトを提示し、ユーザーがそれを受け入れられるようにします。すべての項目への回答を強制しないでください。必須の4項目だけ設定すれば十分です。
- vertical / emphasis(必須):
-
書き込みと検証を行います。 回答を1回の呼び出しで保存します。スクリプトは限定された語彙に照らして検証し、日付を記録します。語彙にない値は書き込みを拒否するため、誤入力が他のすべてのスキルで信頼されるファイルをひそかに破損することはありません。
python3 scripts/profile_io.py write <paper-dir>/.paper-memory/profile.yml \ --field vertical=systems --field contribution_type=system \ --field venue_tier=top --field risk_appetite=ambitious \ --field audience=broad-field \ --field wp.person=first-person-we --field wp.tone=assertive \ --field target_venues="sigspatial-2026, vldb-2027" \ --field constraints="hard deadline 2026-08-01, no new experiments"--from <existing>を使って既存のプロファイルをその場で更新し、繰り返し指定する--fieldで各回答を設定します。リスト型の項目にはカンマ区切りの値を使い、入れ子になった書き込み設定にはwp.<key>=...を使います。手動で編集したファイルは、python3 scripts/profile_io.py validate <path>で再検証します。 -
.gitignore を設定します(先に確認)。
.paper-memory/はローカルなディレクトリで、著者の非公開の論文の位置付けや蓄積された知見が含まれます。ユーザーが意図的にバージョン管理したい場合(例:共著者と位置付けを共有する場合)を除き、論文リポジトリの.gitignoreに.paper-memory/を追加することを推奨します。選択肢を説明し、ユーザーに決めてもらいます。 -
後続のスキルがどう利用するかを説明します。 プロファイルが作成されたことで具体的に何が変わるか、以下の表と references/downstream-consumption.md を参照してユーザーに説明します。この聞き取りの目的は、同じことを再度尋ねられないようにすることです。
-
.paper-memory/の残りの内容について説明します。 このスキルが管理するのはprofile.ymlです。同じディレクトリにはlessons.md(他のスキルが問題に気付いたときに追記する、重複を除いた日付付きの知見。助言の繰り返しを避けるため、最初に読み込まれます)と、decisions.md(理由を添えた投稿先/トラック/論文の位置付けに関する決定)も蓄積されます。ファイル形式とメモリー管理のルールについては、 共通の.paper-memory/規約 を参照してください。このスキルはこの2つのファイルには書き込みません。ディレクトリを作成し、その内容を説明するだけです。
下流のスキルがプロファイルを利用する方法
| スキル | 読み込む項目 | 効果 |
|---|---|---|
benchmark-paper | vertical、contribution_type | スコアカードの各評価項目の重みを調整します(評価が薄くても theory 論文にはペナルティを課しませんが、system 論文には課します)。 |
simulate-reviewers | vertical、venue_tier、risk_appetite | 査読者のペルソナと厳しさを調整します。top 会場での ambitious な主張には、無条件に承認する査読者ではなく、懐疑的な査読者を割り当てます。 |
polish-prose | writing_preferences、avoid_terms | 著者の人称、文体、綴り、使用禁止語に合わせて、AIらしさを取り除く工程や文体調整を行います。 |
match-style | writing_preferences、prior_papers、preferred_terms | 著者の文体に合致するよう、目標とする文体と用語を設定します。 |
tailor-to-venue / select-venue | venue_tier、target_venues、contribution_type | 明示された目標に沿って、貢献内容を示し、候補を絞り込みます。 |
write-abstract | vertical、key_claim、audience | 適切な読者が関心を持つ主張を冒頭に置きます。 |
これらのスキルは、段階的に機能を縮退できる必要があります。profile.yml がない場合は、現在と同様にユーザーに尋ねるか、会場のデフォルト値を使用します。プロファイルは質問の繰り返しをなくすためのものであり、必須の依存関係ではありません。
出力
<paper-dir>/.paper-memory/profile.yml— 検証済みの小さな YAML ファイル(スキーマ v1)。必須項目:vertical、contribution_type、venue_tier、risk_appetite。それ以外はすべて任意です。- ポジショニングと、ユーザーが次に実行しそうなスキルで具体的に変わる動作をまとめた、短い平易な英語の説明。
分野に合わせて調整する
ポジショニングの軸は CS 寄りです(systems/theory/empirical、会議のランク、ダブルブラインドの制約)。他の分野向けにする場合は、scripts/profile_io.py の冒頭にある語彙を編集します(例:clinical-trial や humanities-essay の分野を追加する、会場のランクを学術誌の四分位に置き換えるなど)。バリデーターと出力処理はデータ駆動型のため、新しい分野に対応するには新しいトークンが必要であり、新しいコードは必要ありません。必須項目を変更する場合は、SCHEMA_VERSION を更新してください。
ガードレール
- 語彙にない値を決して作らないでください。 許可される値は
profile_io.pyのスキーマから取得してください。ライターはそれ以外の値を拒否するため、他のすべてのスキルが信頼するファイルが気づかないうちに破損することはありません。 - ユーザーに代わって決めないでください。 選択肢とデフォルト値を提示し、ポジショニングとリスク許容度は著者自身に選んでもらいます。トピックが面白そうだからといって、「ambitious」だと推測しないでください。
- ローカルで、非公開です。
.paper-memory/がアップロードされることはありません。必ず.gitignoreに追加する行を提示し、バージョン管理に関するユーザーの選択を尊重してください。 - このスキルは設定用であり、執筆用ではありません。 意図を記録します。論文の内容を執筆したり、採択を予測したり、投稿したりすることはありません。
- このファイルは 500 行未満にしてください。
references/は 1 階層までにしてください。