manage-project について
manage-project は、論文作業を含む研究プロジェクトを整理・管理するスキルです。プロジェクトファイルの初期化、SSOT への契約移行、状況やメモリの確認、投稿チェックリストとタイムラインの作成を行います。
主な機能
- 01研究プロジェクトの構成を初期化
- 02プロジェクト契約を SSOT.yaml に移行
- 03プロジェクト状況の報告
- 04プロジェクトメモリファイルの監査と更新
- 05投稿チェックリストとタイムラインの作成
活用シーン
- 01新しい論文プロジェクトの立ち上げ
- 02旧 project.yaml を SSOT.yaml に変換
- 03進捗とメタデータの確認
- 04投稿日から逆算したタスク計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aperivue/ medsci-skills --skill manage-projectインストール後、Claude Code で/manage-projectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
skill.ymlreferences/init_scaffold.mdpre_submission_checklist.mdproject_state_template.jsonscaffold_templates.mdstatus_output_format.mdtimeline_example.mdscripts/init_project.pymigrate_project_to_ssot.pyvalidate_project_contract.pytemplates/SSOT.yaml.templatetests/test_ssot_mark_complete.sh詳細
Manage-Project スキル -- 研究プロジェクトの管理
コマンド
/manage-project init {name} --type {type} --journal {journal} [--ssot] [--zotero-collection NAME]
パラメーター:
{name}-- プロジェクト識別子(例:nnunet-skull-fracture、rfa-meta-analysis)--type-- 論文の種類:original | meta | case | animal | technical | ai_validation | letter--journal-- 投稿先ジャーナル:RYAI | AJR | Radiology | European_Radiology | KJR | INSI | AJNR | generic--ssot--templates/SSOT.yaml.templateからスキーマ v1 のSSOT.yamlを出力します。従来のproject.yamlの代わりに使用します。Phase 1C の自動強制(PostToolUse verify-refs フックが警告ではなくブロックする機能)に必要ですが、これだけでは不十分です。強制にはqc/migration_completeも必要ですが、initでは書き込まれません。initの後、migrate_project_to_ssot.py --project-root {target_dir} --mark-completeを実行して、SSOT.yamlを検証し、マーカーを書き込んでください。新規プロジェクトでは--ssotを指定してください。進行中のレガシープロジェクトは、/manage-project migrate-ssotを実行するまでproject.yamlを使用します。--zotero-collection NAME-- 省略可能です。pyzotero経由でZoteroコレクションを作成し、契約ファイルのlibrary_idとcollection_keyに値を設定します。ZOTERO_API_KEYとZOTERO_LIBRARY_IDが必要です(ZOTERO_LIBRARY_TYPEは任意で、既定値はuserです)。pyzoteroまたは認証情報がない場合は、契約ファイルにlibrary_id: null/collection_key: nullを含むひな形が作成され、WARNが表示されます。
SSOTテンプレートの置換: {{PROJECT_ID}} → {name};{{PROJECT_TYPE}} → --typeから対応付けられるSSOTの
project_type列挙値(original → original_research、meta → meta_analysis、
case → case_report、ai_validation → ai_validation、それ以外 → other)。--zotero-collectionを
指定しない場合、所有者が既存のコレクションをリンクするまで、library_id / collection_keyは
nullのままです。
scripts/init_project.pyを実行します:
python3 "${CLAUDE_SKILL_DIR}/scripts/init_project.py" \
--name {name} --type {type} --journal {journal} [--ssot] \
--project-root {target_dir}
契約ファイル(--ssot指定時はSSOT.yaml、それ以外は従来のproject.yaml)、ディレクトリのひな形、scripts/validate_project_contract.pyが必要とする最小限のスタブ(manuscript/index.qmd、artifact_manifest.json、qc/status.json)、メモリーファイルのスタブ、およびproject_state.jsonが書き込まれます。qc/migration_completeはinitでは書き込まれません。このマーカーはmigrateスクリプトが担当します。--ssotプロジェクトでは、--mark-completeを指定して実行してください(project.yamlは不要です)。既存のSSOT.yamlを検証し、PASSの場合にのみマーカーを書き込みます。それまでは参照フックは警告モードのままです。
ひな形を手作業で作成しないでください。 スクリプトがディレクトリ構成と
project_state.jsonの正となる情報源です。手作業で作成すると、契約バリデーターが想定する内容と
ずれてしまいます。ひな形ファイルの配置場所やproject_state.jsonのフィールドの意味を確認する必要がある場合に限り、
${CLAUDE_SKILL_DIR}/references/init_scaffold.mdを読んでください。
スクリプトの実行後、該当する報告ガイドラインのチェックリストを
${CLAUDE_SKILL_DIR}/../check-reporting/references/checklists/から
references/checklist_{GUIDELINE}.mdにコピーしてください。
/manage-project migrate-ssot [--no-mark-complete]
レガシーなproject.yaml形式のプロジェクトをSSOT.yaml形式に変換し、既定ではqc/migration_completeにマーカーを書き込んで、Phase 1Cのautoモードをwarnからenforceに切り替えます。
SSOTネイティブのプロジェクト(SSOT.yamlが存在し、project.yamlがない場合。例:init --ssot)では変換は不要です。--mark-completeを指定すると、既存のSSOT.yamlを検証し、PASSの場合にマーカーを書き込みます。
SSOT.yamlは書き換えられません。
python3 "${CLAUDE_SKILL_DIR}/scripts/migrate_project_to_ssot.py" \
--project-root . --write --mark-complete
--no-mark-complete:--writeのみを指定して実行します。プロジェクトに未解決のQCエラーがある場合に使用してください。移行の検証が完了するまで、強制は保留されます。- 生成されたSSOT.yamlが
validate_project_contract.pyに合格し、かつcontract_mode=ssotの場合を除き、migrateスクリプトはqc/migration_completeに書き込みません。qc/migration_completeを手動でtouchしないでください。
エラーを解決した後に再実行してください。スクリプトは冪等です。
/manage-project status
現在の進捗を報告します。project_state.json を読み込み、既存ファイルをスキャンし、プロジェクトのメモリファイルが存在し、整合しているかを確認します。語数の上限はメモリではなく、投稿先ジャーナルのプロファイル ${CLAUDE_SKILL_DIR}/../write-paper/references/journal_profiles/{JOURNAL}.md を参照してください。${CLAUDE_SKILL_DIR}/references/status_output_format.md の形式でレポートを作成します。
/manage-project sync-memory
プロジェクトのメモリファイルを監査し、更新します。
PROJECT.md、STATUS.md、CLAIMS.md、DATA_DICTIONARY.md、ANALYSIS_PLAN.md、REVIEW_LOG.mdがあるか確認します- 古くなっている、または矛盾するプロジェクトのメタデータを特定します
- 作成または更新が必要な最小限のファイルを提案し、
${CLAUDE_SKILL_DIR}/references/scaffold_templates.mdから作成します project_state.jsonを現在の原稿フェーズに合わせます
/manage-project checklist
${CLAUDE_SKILL_DIR}/references/pre_submission_checklist.md から投稿前チェックリストを読み込み、submission/pre_submission_checklist.md に書き込みます。その後、/self-review(原稿の品質ゲート)、/verify-refs(引用の検証)、AI パターンの除去(/write-paper Phase 7)を推奨します。
/manage-project timeline {submission_date}
投稿日から逆算したタイムラインを、${CLAUDE_SKILL_DIR}/references/timeline_example.md の形式で作成します。
Project State Conventions
フェーズ番号:
- 0 = 初期化(スキャフォールド作成済み)
- 1 = アウトライン承認済み
- 2 = 表/図のひな形承認済み
- 3 = 方法(批評スコア >= 85)
- 4 = 結果(批評スコア >= 85)
- 5 = 考察(批評スコア >= 85)
- 6 = 序論+要旨(批評スコア >= 85)
- 7 = 推敲完了(AI パターン除去+チェックリスト+セルフレビュー >= 80)
フェーズのステータス値: pending | in_progress | complete | blocked