Getting Started: Summit for Leadership

Summit treats a team as a system, not a collection of individuals. It aggregates skill matrices into capability coverage, structural risks, and what-if staffing scenarios. Core Summit is fully local and deterministic — it reads your Map framework data plus a team roster, and runs instantly with no network calls.

Two optional flags unlock the activity layer: --evidenced compares derived coverage against practice patterns from evidence rows, and --outcomes weights growth recommendations by GetDX driver scores. Without those flags Summit needs nothing beyond framework data and a roster.

Prerequisites

Install

npm install @forwardimpact/summit

Create a roster

Summit reads team composition from a summit.yaml file (or, if you've set up Map's activity layer, from the organization_people table directly). A roster file is the fastest way to try Summit — every discipline, level, and track it references must exist in your Map framework data.

Save this as summit.yaml next to your data/pathway/ directory:

teams:
  platform:
    - name: Alice
      email: alice@example.com
      job:
        discipline: software_engineering
        level: J060
        track: platform
    - name: Bob
      email: bob@example.com
      job:
        discipline: software_engineering
        level: J040

  delivery:
    - name: Carol
      email: carol@example.com
      job:
        discipline: software_engineering
        level: J060
    - name: Dan
      email: dan@example.com
      job:
        discipline: software_engineering
        level: J040
        track: forward_deployed

projects:
  migration-q2:
    - email: alice@example.com
      allocation: 0.6
    - email: carol@example.com
      allocation: 0.4
    - name: External Consultant
      job:
        discipline: software_engineering
        level: J060
        track: platform
      allocation: 1.0

teams: are reporting teams — the people who roll up to a manager. projects: are allocation-weighted project teams that can either reference existing reporting-team members by email (inheriting their job profile) or declare new members inline. Allocation is a fraction between 0 and 1.

Summit does not auto-discover a roster — pass --roster ./path/to/summit.yaml explicitly to every command. All the commands below accept the flag. (If you've set up Map's activity layer, you can omit --roster and Summit will read the team from the organization_people table instead.)

Summit automatically looks for Map framework data in data/pathway/ relative to the current working directory. If your framework data lives elsewhere, pass --data ./path/to/data/pathway to any command.

Validate the roster

Before running analysis, check that every discipline, level, and track your roster references actually exists in your framework:

npx fit-summit validate --roster ./summit.yaml

A successful run prints the total member count across all teams. Any validation errors point at the offending row so you can fix the YAML before aggregating.

Show the roster

Dump what Summit sees — useful for confirming the right file is being picked up and for sharing the team layout with a collaborator:

npx fit-summit roster --roster ./summit.yaml

View capability coverage

See your team's collective proficiency across all skills:

npx fit-summit coverage platform --roster ./summit.yaml

The report groups skills by capability and shows, for each skill, the headcount depth at working+ proficiency. A blank bar signals a gap — nobody on the team holds the skill at the working level or above.

Project teams carry allocation weights, so coverage reports effective depth instead of raw headcount:

npx fit-summit coverage --project migration-q2 --roster ./summit.yaml

Identify structural risks

Find single points of failure, critical gaps, and concentration risks:

npx fit-summit risks platform --roster ./summit.yaml

Summit reports three kinds of risk. Single points of failure are skills where exactly one person holds working+ proficiency — losing them leaves the team unable to execute. Critical gaps are skills the discipline or track expects but nobody on the team holds at working level or above. Concentration risks are clusters where three or more people overlap on the same (level, capability, proficiency) bucket — a structural imbalance that suggests room for cross-training.

Run what-if scenarios

Simulate roster changes and see their impact before making a decision. Summit supports four kinds of mutation — --add, --remove, --move, and --promote — and reports which capabilities and risks change as a result:

# Hypothetical new hire
npx fit-summit what-if platform --roster ./summit.yaml \
  --add "{ discipline: software_engineering, level: J060, track: platform }"

# Departure
npx fit-summit what-if platform --roster ./summit.yaml \
  --remove bob@example.com

# Internal move
npx fit-summit what-if platform --roster ./summit.yaml \
  --move carol@example.com --to delivery

# Promotion
npx fit-summit what-if platform --roster ./summit.yaml \
  --promote bob@example.com

Add --focus <capability> to filter the diff to a single capability when you want to see the impact of a change on one area of the team.

Align growth with team needs

Growth opportunities highlight where individual development would have the most leverage for the team as a whole:

npx fit-summit growth platform --roster ./summit.yaml

Add --outcomes to weight recommendations by GetDX driver scores (requires Map's activity layer):

npx fit-summit growth platform --roster ./summit.yaml --outcomes

Compare two teams

Diff two teams' coverage and risks side by side — useful when considering a structural reorganization or understanding why two similarly-sized teams feel different:

npx fit-summit compare platform delivery --roster ./summit.yaml

Track trajectory over time

Summit can reconstruct the history of your roster from git — if summit.yaml is checked into a repository, trajectory walks the git log to rebuild the roster at each quarter boundary and charts how capability has evolved:

npx fit-summit trajectory platform --roster ./summit.yaml --quarters 4

Prerequisites: The roster file passed to --roster must be tracked in a git repository with multiple commits over time. trajectory reads the git history of that file to reconstruct past roster states at quarter boundaries. If the file is not committed, has no history, or lives outside a git repository, the command cannot produce results.

This turns "is the team getting stronger?" from a felt sense into a structural answer.

Combine with the activity layer

When Map's activity layer is populated (see the Map guide), Summit can overlay evidence of practiced capability onto its structural view. The --evidenced flag reads practice patterns from activity.evidence and compares them to what the roster predicts — flagging skills the framework says the team should have that aren't showing up in real work:

npx fit-summit coverage platform --roster ./summit.yaml --evidenced
npx fit-summit risks platform --roster ./summit.yaml --evidenced

Set --lookback-months (default 12) to control the practice window.

Match the audience to the conversation

Summit has a built-in privacy model. The --audience flag adjusts what individual-level detail is shown:

  • manager (the default) and engineer — individual holders are visible by name; appropriate for 1:1s and for engineers reviewing their own team
  • director — holder names are stripped; only aggregated counts remain, appropriate for cross-team planning artifacts

Use --audience director when sharing a view across teams or publishing a planning artifact beyond the team manager.

npx fit-summit coverage platform --roster ./summit.yaml --audience director

Next steps