Skip to content

Latest commit

 

History

History
184 lines (118 loc) · 8.64 KB

File metadata and controls

184 lines (118 loc) · 8.64 KB

Generate a professional mid-year progress report covering achievements, growth, and future direction. Intended for performance reviews, skip-manager 1:1s, and personal tracking.

Instructions

Follow the phases below in order. Do not skip any phase.


Phase 1 — Load Settings and Confirm Period

Read ~/.config/reporting/settings.yaml.

If the file does not exist, tell the user: "Settings not found at ~/.config/reporting/settings.yaml. Please run bash install.sh from the reporting repo and edit settings.yaml." Then stop.

Parse from the settings file:

  • author.emails: list of git author emails. If empty or absent, detect via git config --global user.email.
  • repo_paths: list of root paths or specific repo paths to search.
  • output.reports_dir: base directory for saving reports.

Determine the report period. Default: January 1 to June 30 of the current year. If the user specified a period when invoking (e.g. "for H1 2026"), use that.

Confirm with the user:

"Mid-year report for: [start_date] to [end_date]. Correct? (Y/n)"


Phase 2 — Repo Discovery

Step A — Discover all repos:

Recursively walk each path in repo_paths. For each directory:

  • If it contains a .git/ subdirectory → it is a git repo, add it to the list.
  • If it does not → continue recursing into its subdirectories.

Present the complete list in a numbered table. Ask user to exclude irrelevant repos.

Step B — Filter by author and date:

For each included repo, run:

git -C <repo_path> log --author="<email>" --since="<start_date>" --until="<end_date>" --oneline

Repeat per email; combine. Repos with no commits → ask if user wants to include anyway.


Phase 3 — Section Selection

Present candidate sections. User confirms which to include. Default: all selected.

Select sections to include in this mid-year report:

  [1]  High-Level Project Achievements                              ← default ON
  [2]  Impacts — Group/Organization Level                          ← default ON
  [3]  Impacts — Science/Research Community                        ← default ON
  [4]  Technical Capability Growth                                 ← default ON
  [5]  Responsibility & Leadership Growth                          ← default ON
  [6]  Potential Future Responsibilities                           ← default ON
  [7]  Goals from Last Mid-Year Report: Addressed / Not Addressed  ← default ON if prior report found
  [8]  Interests, Goals & Vision for H2                            ← default ON
  [9]  Questions for Skip Manager                                  ← default ON

Enter indices to REMOVE (comma-separated), or type "ok" to keep all defaults:

Phase 4 — Prior Report Input

Prior mid-year report: Scan <reports_dir>/midyear/ for a file from approximately one year ago. If found, offer to include it for goal tracking.

Prior sub-period reports (supplemental): Scan <reports_dir>/quarterly/ and <reports_dir>/monthly/ for files whose dates fall within the current period.

If supplemental reports are found, ask:

"Found [N] quarterly/monthly report(s) for this period: [filenames]. Include them as supplemental context? (Y/n)"

Supplemental reports enrich sections [2], [3], [4], [5] — they capture synthesized impacts and growth observations that may not be directly visible in git.

If no prior mid-year report is found and section [7] is selected, ask the user to provide a path or skip.


Phase 5 — Parallel Git Analysis

For each active repo, run:

git -C <repo_path> log --author="<email>" --since="<start_date>" --until="<end_date>" --patch --no-merges

Analysis focus for mid-year reports — project and capability level:

At this scope, the analysis is about arcs of work and their outcomes, not individual features or commits.

  1. Identify the major projects or initiatives you contributed to across the six-month period.
  2. For each project: what problem does it solve? What did you build, decide, or deliver? What is its current state and significance?
  3. Look for evidence of technical growth: new systems, languages, frameworks, or domains you worked in that you hadn't before; increased scale or complexity of problems tackled.
  4. Look for evidence of expanded responsibility: leading a project, driving a design, collaborating across teams, mentoring, or producing external artifacts (papers, talks, open-source work).
  5. For significant architectural decisions: capture the decision and its rationale as "[What was decided] to [why / what it enables or avoids]."
  6. Synthesize into 3–6 initiative-level achievements — not a commit history.

Phase 6 — Clarifying Questions

Ask about information git cannot provide:

  • Major conferences, workshops, or invited talks attended or given
  • Collaborations with external groups or industry partners and their outcomes
  • Papers published, submitted, or under review; citations or recognition received
  • Proposal reviews, committee memberships, or other community service
  • Mentoring relationships (postdocs, students, peers)
  • Key technical challenges faced and how they were resolved at a high level
  • Any significant scope expansion or new responsibilities taken on this half-year
  • Personal reflections: areas of notable growth, skills developed, confidence gained
  • Interests and what you want to do more of in the second half of the year
  • Concerns, gaps, or open questions to discuss with skip manager

Always append:

"Is there anything else significant from this half-year not captured in the repositories above?"


Phase 7 — Report Generation

Compose the report using selected sections, git analysis, supplemental reports (if included), user answers, and prior mid-year report (if provided).

Goal Tracking section (if prior mid-year report included and section [7] selected):

For each goal, commitment, or vision from the prior mid-year report:

  • Addressed: [goal] → [concrete achievement with evidence]
  • ⚠️ Partially addressed: [goal] → [progress made, what remains]
  • Not yet addressed: [goal] → [honest reason + revised plan for H2]

High-Level Project Achievements:

3–5 paragraphs or bullets, each covering one major initiative. For each: the problem addressed, the approach taken, the outcome delivered, and the current state. Emphasize what was shipped or decided, not what was attempted.

Impacts — Group/Organization Level:

Concrete outcomes for your immediate team and broader organization: systems deployed and used, processes improved, capabilities your work enabled for others, cross-team collaborations that unblocked work.

Impacts — Science/Research Community:

Papers, talks, open-source releases, standards contributions, external collaborations, or other outputs that extend beyond your organization into the research community.

Technical Capability Growth:

3–4 sentences describing new technical domains, tools, or systems you became proficient in this period. Frame in terms of what problems you can now solve that you couldn't before.

Responsibility & Leadership Growth:

3–4 sentences on expanded ownership, decision-making authority, team influence, cross-team coordination, or mentoring you took on. Be specific about what you led or drove.

Potential Future Responsibilities:

2–3 areas where your growth this period positions you to take on more ownership or leadership in H2 or beyond. Frame as capability + opportunity.

Interests, Goals & Vision for H2:

3–5 specific goals for the second half of the year. At least one should be technical, one should be impact-oriented, and one should be personal/professional growth. Make them concrete enough to evaluate at year-end.

Questions for Manager/Skip Manager:

3–6 discussion points: strategic direction questions, career development topics, resource or support needs, or areas where you want explicit alignment.

Writing style:

  • Keep sentences short and direct. One idea per sentence.
  • Keep paragraphs short — 2 to 3 sentences maximum, then break.
  • Prefer active voice and concrete verbs ("deployed", "resolved", "redesigned") over abstract or passive constructions.
  • Use bullet points for lists of 3 or more items rather than embedding them in prose.
  • Use bold or sub-headings to separate distinct topics within a section, so the reader can scan.
  • Avoid filler phrases ("In order to", "It is worth noting that", "We were able to"). Cut them.
  • When in doubt, cut the sentence in half.

Format:

Print the full report to the terminal.

Then ask:

"Save to <reports_dir>/midyear/<YYYY>-midyear.md? (Y/n) Or enter a different path:"

If confirmed, save the file. Create the midyear/ subdirectory if it does not exist.