---
name: deeper-signals-development
description: >
  Use this skill whenever a user wants to turn assessment results into a deep,
  evidence-based development plan or team coaching guide for an individual or a team.
  Triggers include: "build a development plan", "turn this assessment into a development
  plan", "create a coaching plan", "executive coaching plan", "team coaching guide",
  "team facilitation guide", "team development session", "what should this person work
  on", "development activities from this profile", "90 day development plan", "facilitate
  a team offsite from our assessment", "help my team work better together", or any request
  to translate one or more assessment profiles plus context into sequenced development
  activities, coaching sessions, manager and coach support, milestones, or a team
  facilitation guide. Also triggers when a user wants a branded development or team
  coaching document. Always use this skill when the user wants a structured development or
  coaching plan from assessment results, even if they do not say "development plan".
---

# Development Plan and Team Coaching Guide

This skill turns one or more assessment profiles, plus the context the user supplies, into
a deep, evidence-based **practitioner working tool** for executive coaches and team
facilitators, delivered as a Deeper Signals branded Word document (target 8 to 10 pages). It
operates in two modes: an individual development and coaching plan, and a team coaching
guide. The booklet generator is vendored inside this skill (`booklet/`), so the skill is
fully self-contained and can be published online with no dependency on any other skill.

The reader is the coach or facilitator, not the coachee. The document is a tool they use to
prepare and run sessions: it is grounded in academic coaching science, with citations, and
balances depth between rich per-priority coaching modules and a session-by-session arc.

The skill does not score, rank, or evaluate anyone for a personnel decision. It builds
development, not judgment.

---

## Operating principles (non-negotiable)

1. **Mode selection is mandatory and comes first.** Before anything else, ask whether this
   is an individual plan or a team guide. Everything downstream branches on the answer.
2. **Always run the guided intake and always push for more context.** A targeted, deep plan
   needs rich context. Prompt for goals, role, level, function, organizational priorities,
   history, and time horizon (individual), and team composition, purpose, and challenges
   (team). Ask for the assessment profile(s); requested but optional. If context is thin,
   ask for more before building.
3. **Ground it in the evidence, with provenance.** Use `references/coaching_evidence_base.md`.
   Include a short evidence note near the front with author-year citations. Translate effect
   sizes into plain meaning. Never overclaim; coaching effects are real and moderate, not
   guaranteed.
4. **Separate what the assessment shows from what is inferred.** The Profile Summary always
   contains an explicit, visually marked split: "What the profile shows" (data only) and
   "What we infer" (interpretation). Each priority module repeats the discipline with a
   "Shows / Explore" split. Maintain it throughout with light signposting.
5. **Strengths-based throughout. No deficit language.** Anchor every priority in a strength
   to build on or extend. Never frame a person or team as weak, lacking, or failing.
6. **Activities must be specific and behavioral**, each with a single composite framework
   tag ("Channel, practice type", e.g. "On the job, behavioral experiment"), and where
   useful an if-then implementation intention and a feedback loop. Aim for roughly two
   activities per priority: rich but ruthless, depth without bloat. Each priority leads with
   at least one on-the-job activity. See `references/development_frameworks.md` and
   `references/activity_tag_conventions.md`.
7. **Use the coaching models and questions deliberately.** Structure sessions with GROW or
   CLEAR; generate movement with solution-focused technique; for a goal that keeps stalling,
   use the Immunity to Change lens (competing commitment, big assumption, safe test) as
   hypotheses the coach explores WITH the client, never conclusions handed to them.
   See `references/coaching_models.md`, `references/powerful_questions_bank.md`,
   `references/session_arc_templates.md`. Immunity to Change is appropriate here because the
   reader is a professional coach; the document offers competing commitments and big
   assumptions only as hypotheses to surface through the client's own questioning, never as
   a diagnosis to present.
8. **Never recommend anything that puts anyone at risk.** Do not recommend terminating,
   firing, reassigning, demoting, managing out, or ranking anyone, in either mode, under any
   framing. Enforced in the content builder.
9. **Team mode protects individuals.** Individuals may be named, but only in respectful,
   strengths-based, non-judgmental terms. Never surface an individual judgment, never name a
   person as the cause of a friction point, and never produce anything that could be
   perceived as biased, discriminatory, or prejudiced. Friction is a property of the team's
   collective makeup. Pairings are always mutual. Build psychological safety first. See
   `references/team_mode_guardrails.md` and `references/team_coaching_frameworks.md`.
10. **The disclaimer is verbatim and always present** (AI-generated by Deeper Signals from
    user data, not a definitive evaluation, no liability). Stored as `STANDARD_DISCLAIMER`
    in `scripts/build_plan_content.py`, emitted as the final block.

---

## Document structure (fixed; do not deviate)

See `references/document_structure.md` for the full skeleton. Expanded edition:

**Individual mode:** How to Use This Guide, The Evidence Behind This Plan, Profile Summary
(show/infer split + coaching stance), Development Priorities (2-3 deep coaching modules),
Session-by-Session Arc, Manager and Coach Involvement, Milestones and Review Points,
About Deeper Signals (call to action), Disclaimer.

**Team mode:** How to Use This Guide, The Evidence Behind This Plan, Team Profile Summary
(show/infer split + coaching stance), Collective Strengths, Friction Points and
Complementary Pairings, Team Capability Modules, Facilitation Arc (Hawkins' Five
Disciplines, psychological safety first), Measurement and Check-ins, About Deeper Signals
(call to action), Disclaimer.

Each **priority module** (individual) contains: strength to build on; a development goal with
a goal-design note (goal-setting theory, including the learning-vs-outcome and complexity
caveats); a Shows/Explore split; tailored powerful questions; an "if this priority stalls"
section offering Immunity to Change hypotheses for the coach to explore with the client
(possible competing commitment, an assumption the client might test, a safe experiment the
client could design); roughly two sequenced activities with composite tags, if-then plans,
and feedback loops; obstacles and how to coach through them; and signals of progress.

The **session arc** front-loads contracting and the working alliance (the strongest
predictor of outcome), moves through GROW/CLEAR working sessions and an Immunity-to-Change
session where needed, and ends with consolidation and relapse prevention. Adapt session
count to the time horizon.

---

## Workflow

### Step 1: Select mode, then run the guided intake
Ask the mandatory mode question first. Then run the matching intake, always pushing for
richer context. Both modes: profile(s) (optional but encouraged), development goal/focus,
time horizon. Individual: role, level, function, priorities, history. Team: composition,
purpose, challenges. Read and interpret any uploaded profiles; if none, build from context
and make the inference basis explicit.

### Step 2: Author the plan JSON
From the intake, the profile(s), and the reference files, author a deep `plan.json` (schema
below). This is where the coaching thinking happens: the evidence note, the coaching stance,
2-3 full priority modules, the session arc, and (team) capability modules and the
facilitation arc. Keep all framing strengths-based and guardrail-compliant. Draw questions
and structures from the reference files; tailor them to the specific profile.

### Step 3: Build the booklet content
```bash
python3 scripts/build_plan_content.py /tmp/plan.json /tmp/content.json
```
The builder enforces the structure, the show/infer split, composite tags, the 2-or-3
priorities rule, the on-the-job lead rule, mutual pairings, the safety guardrails, and the
verbatim disclaimer. On any failure it exits with a clear message; fix the plan and rerun.

### Step 4: Generate the Word document
```bash
node booklet/scripts/generate_booklet.js \
  /tmp/content.json /mnt/user-data/outputs/development_plan.docx booklet/assets

# Charts: ONLY when the user supplied actual numeric scores. Write the chart specs
# (the plan's "charts" array) to a JSON file and inject native, editable Word charts.
# Skip this step entirely when there is no numeric data; the document omits charts.
python3 scripts/add_charts.py \
  /mnt/user-data/outputs/development_plan.docx /tmp/charts.json

python3 booklet/scripts/embed_fonts.py \
  /mnt/user-data/outputs/development_plan.docx booklet/assets/fonts
```
Self-contained bundle (no node_modules). Run the chart step only if the plan has a valid
`charts` array; otherwise skip it. Always run the font-embed step last, before delivery.

### Step 5: QA and deliver
```bash
python3 /mnt/skills/public/docx/scripts/office/validate.py /mnt/user-data/outputs/development_plan.docx
python3 /mnt/skills/public/docx/scripts/office/soffice.py --headless --convert-to pdf /mnt/user-data/outputs/development_plan.docx --outdir /tmp
pdfinfo /tmp/development_plan.pdf | grep Pages   # target 8 to 10 pages; a 3rd priority or 6-session arc may reach ~12
```
Confirm: the evidence note carries citations; the Profile Summary shows the explicit
show/infer split; each priority module is complete (goal, questions, blockers, tagged
activities, obstacles, signals); the session arc is present; team friction is framed at team
level with mutual pairings; no prohibited language; verbatim disclaimer is the final block.
Then call `present_files` on the .docx.

---

## plan.json schema (summary)

Common: `mode` ("individual"|"team"), `meta` {title, subheading, date, tagline}, `how_to_use`
[..], `evidence_note` [paragraphs with citations], `profile_shows` [..], `profile_infers`
[..], `coaching_stance` [..].

Individual: `priorities` [PriorityModule x2-3], `session_arc` [SessionSpec], `manager_support`
[..], `coach_support` [..], `milestones` [{when, review}].
- PriorityModule: {title, strength_basis, development_goal, goal_note, shows[], explore[],
  questions[], hidden_blockers[{competing_commitment, big_assumption, test}],
  activities[{channel, practice, text, if_then, feedback}], obstacles[{obstacle,
  coach_through}], progress_signals[]}.
- SessionSpec: {n, title, model, objectives[], structure[], between[]}.

Team: `collective_strengths` [..], `friction_points` [..], `pairings` [{a, b,
mutual_benefit}], `capability_modules` [TeamModule], `facilitation_arc` [PhaseSpec],
`measurement` [..].
- TeamModule: {title, strength_basis, shows[], explore[], questions[], activities[...],
  progress_signals[]}.
- PhaseSpec: {phase, title, objectives[], structure[]}. (Phase/session titles are kept
  simple: no bracketed model or discipline tags in the heading. The underlying model still
  guides how you author the content; it is just not printed as noise.)

Activity channel must be one of: On the job, Social learning, Formal learning. Practice must
be one of: deliberate practice, behavioral experiment, reflection, stretch assignment,
coaching, mentoring, peer feedback, shadowing, applied learning.

### Charts (only with real numeric data)

Include charts ONLY when the user has provided actual numeric scores. Never fabricate or
approximate data to make a chart. Add a `charts` array to the plan; the builder emits a
placeholder where the chart belongs, and `scripts/add_charts.py` injects a native, editable
Word chart. If `charts` is absent or a chart fails validation, the document simply omits it.

- Individual: `{ "id": "individual_scores", "type": "individual_bars", "title": "...",
  "categories": [dimension names], "series": [ {"name": "Score", "values": [numbers]} ],
  "midpoint": 50 }` renders score-vs-norm horizontal bars.
- Team: `{ "id": "team_spread", "type": "team_distribution", "title": "...",
  "categories": [dimension names], "series": [ {"name":"Lowest","values":[..]},
  {"name":"Average","values":[..]}, {"name":"Highest","values":[..]} ] }` renders the
  team's range and average per dimension, showing where the team is similar and where it is
  diverse. Frame it explicitly as a team-level view, never an individual scorecard.

The builder recognizes the ids `individual_scores` (individual mode) and `team_spread` (team
mode) and places them after the relevant profile summary. Every series must have one numeric
value per category, or the chart is rejected.

### Layout simplicity (v3)

Keep the layout clean and low-noise: simple session and phase titles (no bracketed tags),
objectives as plain bullets under a short "Aim" subheading (no repeated "Objective:" label),
and single subheadings ("What the assessment shows", "What to explore") instead of repeating
a label on every bullet. The content builder already does this; do not reintroduce per-item
labels that repeat down a list.

## The disclaimer (verbatim)
Used verbatim, never summarized. States the report is AI-generated by Deeper Signals from
user-provided information and assessment data, is intended to support development and is not
a definitive evaluation of any individual, that Deeper Signals accepts no responsibility or
liability, and that users are responsible for fair, lawful, and appropriate use. Stored as
`STANDARD_DISCLAIMER`; always the final block.

## No-profile case
If the user provides no profile, still produce the plan from context and make the basis
explicit: the "What the profile shows" sub-block notes no profile was provided and the plan
rests on context, captured under "What we infer". Do not fabricate scores.

## Reference files
- `references/coaching_evidence_base.md`: cited findings (effect sizes, working alliance,
  goal-setting, implementation intentions, Immunity to Change, psychological safety) with
  boundary conditions and how to use them in the document.
- `references/coaching_models.md`: GROW, CLEAR, solution-focused, Immunity to Change, step by
  step, and how to choose among them.
- `references/powerful_questions_bank.md`: questions by GROW stage and by purpose.
- `references/session_arc_templates.md`: the individual program arc and the team
  facilitation arc, with adaptation by time horizon.
- `references/team_coaching_frameworks.md`: Hawkins' Five Disciplines, psychological safety,
  team-level interpretation discipline, team measurement.
- `references/development_frameworks.md`: 70/20/10, deliberate practice, behavioral
  experiments, reflection, strengths-based framing; rules for specific, behavioral activities.
- `references/activity_tag_conventions.md`: the composite framework tag format and rules.
- `references/team_mode_guardrails.md`: confidentiality and framing rules for team output.
- `references/document_structure.md`: the fixed skeleton for both modes.
- `scripts/build_plan_content.py`: assembles the authored plan into branded booklet content,
  enforces structure and guardrails, appends the verbatim disclaimer, and emits chart
  placeholders when valid numeric chart data is supplied.
- `scripts/add_charts.py`: post-processes the generated .docx to inject native, editable Word
  charts in the Deeper Signals palette, replacing the placeholders. Runs after the generator
  and before font embedding. Only acts when real numeric data is present.
- `booklet/`: the vendored Deeper Signals booklet generator (self-contained bundle, brand
  fonts, logo, cover gradient).
- `evals/`: test scenarios.

This skill is self-contained: the booklet generator and all brand assets are vendored under
`booklet/`. Host requirements: Python 3 and Node.js. The optional QA step uses host tools.
