AgentSkillsCN

init-project

为飞行控制初始化项目。创建 .flightops 目录,内置方法论参考与工件配置。在新项目上使用其他飞行控制技能之前,务必先行运行此步骤。

SKILL.md
--- frontmatter
name: init-project
description: Initialize a project for Flight Control. Creates .flightops directory with methodology reference and artifact configuration. Run before using other Flight Control skills on a new project.

Project Initialization

Prepare a project for Flight Control by creating the .flightops/ directory with methodology references and artifact configuration.

When to Use

Run /init-project when:

  • Starting to use Flight Control on a new project
  • You suspect the .flightops reference may be outdated
  • Another skill indicates the reference needs to be synced

Workflow

1. Identify Target Project

  1. Read projects.md to find the project's path, remote, and description
  2. If the project isn't listed, ask the user for:
    • Project name/slug
    • Filesystem path
    • Brief description
  3. Optionally offer to add the project to projects.md

2. Check and Apply Migrations

Check for legacy directory layouts and offer to migrate them.

  1. Read migrations.md from the skill directory (${SKILL_DIR}/migrations.md)
  2. Run detection checks for each migration in order (001, 002, ...)
  3. If no migrations are needed, proceed silently to the next step
  4. If any migrations are needed, present a summary to the user:

    "Detected legacy directory layout in {project}. The following migrations are available:"

    • Each applicable migration's user message

    "Apply these migrations?"

  5. On confirmation, apply the actions for each applicable migration in order
  6. On decline, warn the user that some skills may not work correctly with the old layout, but continue using whatever directory structure exists

3. Check Sync Status

Run the hash comparison script to determine sync status:

bash
bash "${SKILL_DIR}/check-sync.sh" \
  "${SKILL_DIR}" \
  "{target-project}/.flightops"

The script outputs one of:

  • missing - Directory doesn't exist in target project
  • outdated - Directory exists but files differ from source
  • current - All files are up-to-date

4. Prompt and Sync Methodology Files

Based on the status:

If missing:

"Flight operations directory not found. Create {project}/.flightops/ with methodology references?"

If outdated:

"Flight operations references in {project} are outdated. Update?"

If current:

"Flight operations references are up-to-date in {project}."

If the user confirms, create/update the directory:

bash
mkdir -p "{target-project}/.flightops"
cp "${SKILL_DIR}/FLIGHT_OPERATIONS.md" "{target-project}/.flightops/"
cp "${SKILL_DIR}/README.md" "{target-project}/.flightops/"

5. Configure Artifact System (New Projects Only)

Only if ARTIFACTS.md doesn't exist, ask the user to select an artifact system:

"How should mission, flight, and leg artifacts be stored?"

Available templates:

  • files — Markdown files in the repository (templates/ARTIFACTS-files.md)
  • jira — Jira issues: Epics, Stories, Sub-tasks (templates/ARTIFACTS-jira.md)

5a. Check for Setup Questions

After the user selects a template, read the template file and check if it contains a ## Setup Questions section with a table of questions.

If setup questions exist:

  1. Parse the questions from the table (first column contains the questions)
  2. Ask the user each question interactively
  3. Replace the placeholder answers in the table with the user's responses

5b. Copy and Populate Template

Copy the selected template, with answers populated if setup questions were asked:

bash
cp "${SKILL_DIR}/templates/ARTIFACTS-{selection}.md" \
   "{target-project}/.flightops/ARTIFACTS.md"

If setup questions were answered, update the ARTIFACTS.md file to replace the placeholder answers with the user's responses.

If ARTIFACTS.md already exists, do not modify it — it's project-specific and may have been customized.

6. Configure Project Crew

Set up phase-specific crew definitions that control how Mission Control interacts with project-side agents.

  1. Check if .flightops/agent-crews/ exists

    If missing (first run):

    • Copy all defaults from ${SKILL_DIR}/defaults/agent-crews/ to {target-project}/.flightops/agent-crews/
    • Brief the user:

      "Default crew has been set up for all phases. Your agent crews define who Mission Control (Flight Director) works with during each phase — which agents exist, their roles, models, and prompts."

    • Ask about customization:

      "Want to customize any agent crew? (Most projects work fine with defaults)"

    • If yes: ask which crew → show current definitions → walk through changes (add/remove/modify roles, adjust prompts, change interaction protocol)
    • If no: proceed with defaults

    If exists (re-run):

    • Copy any missing crew files from defaults (new crews added to the methodology)
    • Ask the user:

      "Agent crew files already exist. Default crew definitions may have been updated since your project was initialized. Want to review and update any crew files to the latest defaults?"

    • If yes: for each file, show what changed between their version and the current default, ask whether to overwrite or keep their version
    • If no: leave all existing files untouched

7. Update CLAUDE.md

Check if the project's CLAUDE.md file references the flight operations directory:

  1. If CLAUDE.md doesn't exist, create it with a Flight Operations section
  2. If CLAUDE.md exists but lacks a Flight Operations section, append one
  3. If CLAUDE.md already has a Flight Operations section, leave it unchanged

7a. Fix Stale Path References

If migrations were applied in Step 2, scan the project's CLAUDE.md for stale path references within the Flight Operations section and fix them:

  • Replace .flight-ops/.flightops/
  • Replace phases/agent-crews/ (only within Flight Operations context)

This ensures the CLAUDE.md instructions point to the correct post-migration paths.

Add this section:

markdown
## Flight Operations

This project uses [Flight Control](https://github.com/flight-control/mission-control).

**Before any mission/flight/leg work, read these files in order:**
1. `.flightops/README.md` — What the flightops directory contains
2. `.flightops/FLIGHT_OPERATIONS.md` — **The workflow you MUST follow**
3. `.flightops/ARTIFACTS.md` — Where all artifacts are stored
4. `.flightops/agent-crews/` — Project crew definitions for each phase (read the relevant crew file)

8. Post-Sync Instructions

After creating or updating the directory, inform the user:

"If you have Claude Code running in {project}, restart it to pick up the new flight operations references."

This ensures Claude Code loads the new files into its context when working in the target project.

Output

This skill creates/updates the following at project root:

code
{project}/
├── CLAUDE.md                  # Updated with Flight Operations section
└── .flightops/               # Hidden directory for Flight Control
    ├── README.md              # Explains the directory purpose
    ├── FLIGHT_OPERATIONS.md   # Quick reference for implementation (synced)
    ├── ARTIFACTS.md           # Artifact system configuration (project-specific)
    └── agent-crews/           # Project crew definitions (project-specific)
        ├── mission-design.md
        ├── flight-design.md
        ├── leg-execution.md
        ├── flight-debrief.md
        └── mission-debrief.md

File Sync Behavior

FileSynced on update?Notes
CLAUDE.mdAppend onlyAdds Flight Operations section if missing
README.mdYesMethodology reference
FLIGHT_OPERATIONS.mdYesMethodology reference
ARTIFACTS.mdNoCreated once from template, then project-specific
agent-crews/*.mdAsk on re-runCreated from defaults; on re-run, user can choose to update to latest defaults

Guidelines

Don't Over-Prompt

If everything is current, just inform the user briefly and move on. No confirmation needed.

Respect ARTIFACTS.md

Never overwrite ARTIFACTS.md — it may contain project-specific customizations. Only create it if missing.

Keep It Quick

This is a setup step, not the main work. Complete it efficiently so the user can proceed to their actual task.