Skip to content
Research
Skill

/manage-project

Use when managing a manuscript project over time. Scaffolds the project structure, tracks writing progress across phases, maintains project memory files, and generates submission checklists and backwards timelines (commands init, status, sync-memory, checklist, timeline).

BOOST
From plugin
medsci-skills
34462 skills
Install
$ npx -y skills add Aperivue/medsci-skills --skill manage-project --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/manage-project

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when managing a manuscript project over time. Scaffolds the project structure, tracks writing progress across phases, maintains project memory files, and generates submission checklists and backwards timelines (commands init, status, sync-memory, checklist, timeline).

SKILL.md

manage-project.SKILL.md
name: manage-project
description: Use when managing a manuscript project over time. Scaffolds the project structure, tracks writing progress across phases, maintains project memory files, and generates submission checklists and backwards timelines (commands init, status, sync-memory, checklist, timeline).
metadata:
  triggers: "manage project, project init, project status, submission checklist, project scaffold, create project, new paper project"

Manage-Project Skill -- Research Project Management

Commands

`/manage-project init {name} --type {type} --journal {journal} [--ssot] [--zotero-collection NAME]`

**Parameters:**

  • `{name}` -- Project identifier (e.g., `nnunet-skull-fracture`, `rfa-meta-analysis`)
  • `--type` -- Paper type: `original | meta | case | animal | technical | ai_validation | letter`
  • `--journal` -- Target journal: `RYAI | AJR | Radiology | European_Radiology | KJR | INSI | AJNR | generic`
  • `--ssot` -- Emit `SSOT.yaml` (schema v1) from `templates/SSOT.yaml.template` instead of legacy `project.yaml`. Required, but not sufficient, for Phase 1C auto-enforce (the PostToolUse verify-refs hook blocks instead of warns): enforce also needs `qc/migration_complete`, which init does not write. After init, run `migrate_project_to_ssot.py --project-root {target_dir} --mark-complete` to validate the SSOT.yaml and write the marker. New projects should pass `--ssot`; legacy in-flight projects stay on `project.yaml` until `/manage-project migrate-ssot` is run.
  • `--zotero-collection NAME` -- Optional. Create a Zotero collection via pyzotero and populate `library_id` + `collection_key` in the contract. Requires `ZOTERO_API_KEY` + `ZOTERO_LIBRARY_ID` (optionally `ZOTERO_LIBRARY_TYPE`, default `user`). With pyzotero or the credentials missing, the contract is scaffolded with `library_id: null` / `collection_key: null` and a WARN is printed.

**SSOT template substitutions:** `{{PROJECT_ID}}` → `{name}`; `{{PROJECT_TYPE}}` → the SSOT `project_type` enum mapped from `--type` (`original → original_research`, `meta → meta_analysis`, `case → case_report`, `ai_validation → ai_validation`, else `other`). Without `--zotero-collection`, `library_id` / `collection_key` stay `null` until the owner links an existing collection.

Run `scripts/init_project.py`:

python3 "${CLAUDE_SKILL_DIR}/scripts/init_project.py" \
    --name {name} --type {type} --journal {journal} [--ssot] \
    --project-root {target_dir}

It writes the contract file (`SSOT.yaml` with `--ssot`, else legacy `project.yaml`), the directory scaffold, the minimal stubs `scripts/validate_project_contract.py` requires (`manuscript/index.qmd`, `artifact_manifest.json`, `qc/status.json`), the memory-file stubs, and `project_state.json`. **`qc/migration_complete` is NOT written by init** — that marker belongs to the migrate script. For an `--ssot` project, run it with `--mark-complete` (no project.yaml needed): it validates the existing SSOT.yaml and writes the marker only on PASS. Until then the reference hook stays in warn mode.

**Do not hand-build the scaffold.** The script is the source of truth for the tree and for `project_state.json`; a hand-built one drifts from what the contract validator expects. Read `${CLAUDE_SKILL_DIR}/references/init_scaffold.md` only when you need to know where a scaffolded file lands or what a `project_state.json` field means.

After the script, copy the matching reporting-guideline checklist from `${CLAUDE_SKILL_DIR}/../check-reporting/references/checklists/` into `references/checklist_{GUIDELINE}.md`.

`/manage-project migrate-ssot [--no-mark-complete]`

Converts a legacy `project.yaml` project into SSOT.yaml form and, by default, touches `qc/migration_complete` so Phase 1C `auto` mode switches from `warn` to `enforce`. On an SSOT-native project (SSOT.yaml present, no project.yaml — e.g. `init --ssot`) there is nothing to convert: `--mark-complete` validates the existing SSOT.yaml and writes the marker on PASS; SSOT.yaml is not rewritten.

python3 "${CLAUDE_SKILL_DIR}/scripts/migrate_project_to_ssot.py" \
    --project-root . --write --mark-complete
  • `--no-mark-complete`: run with `--write` only. Use it when the project still has open QC failures — enforcement is deferred until the migration is validated.
  • The migrate script refuses to touch `qc/migration_complete` unless the generated SSOT.yaml passes `validate_project_contract.py` AND `contract_mode=ssot`. Do not `touch qc/migration_complete` manually.

Re-run after resolving failures; the script is idempotent.

`/manage-project status`

Report current progress: read `project_state.json`, scan the existing files, and check whether the project memory files are present and aligned. Take word-count limits from the target journal's profile, `${CLAUDE_SKILL_DIR}/../write-paper/references/journal_profiles/{JOURNAL}.md`, not from memory. Lay the report out as in `${CLAUDE_SKILL_DIR}/references/status_output_format.md`.

`/manage-project sync-memory`

Audit and refresh the project memory files:

  • check for `PROJECT.md`, `STATUS.md`, `CLAIMS.md`, `DATA_DICTIONARY.md`, `ANALYSIS_PLAN.md`, `REVIEW_LOG.md`
  • identify stale or contradictory project metadata
  • propose the minimum files to create or update; create them from `${CLAUDE_SKILL_DIR}/references/scaffold_templates.md`
  • align `project_state.json` with the current manuscript phase

`/manage-project checklist`

Read the pre-submission checklist from `${CLAUDE_SKILL_DIR}/references/pre_submission_checklist.md` and write it to `submission/pre_submission_checklist.md`. Then recommend `/self-review` (manuscript quality gate), `/verify-refs` (citation verification) and AI pattern removal (`/write-paper` Phase 7).

`/manage-project timeline {submission_date}`

Generate a backwards timeline from the submission date, in the layout of `${CLAUDE_SKILL_DIR}/references/timeline_example.md`.

---

Project State Conventions

**Phase numbers:**

  • 0 = Init (
Read more
Ships withmedsci-skills

Created & maintained by Yoojin Nam, MD Department of Radiology and Research Institute of Radiology, University of Ulsan College of Medicine, Asan Medical Center, Seoul, Republic of Korea MedSci Skills is a set of Agent Skills for clinical research: literature

Get the whole plugin

Other skills on medsci-skills.