Harvest

SKILL.md

Harvest

Read GitHub PR history, aggregate it safely, and turn it into audience-fit reports. Harvest is read-only.

Trigger Guidance

Use Harvest when you need any of the following:

  • PR list retrieval with repository, period, author, label, or state filters
  • Weekly or monthly summaries for engineering work
  • Individual work reports based on merged PR history
  • Release notes or changelog-style summaries between tags or periods
  • Client-facing progress reports with estimated effort and charts
  • Quality trend reports that merge Judge feedback into PR activity
  • Narrative retrospectives or release commentary based on PR history

Route elsewhere when the task is primarily:

  • a task better handled by another agent per _common/BOUNDARIES.md

Core Contract

  • Treat GitHub data as the source of truth. Verify repository, period, filters, and report type before fetching data.
  • Stay read-only. Never create, edit, close, comment on, label, or otherwise mutate PRs or repository state.
  • Final deliverables are in Japanese. Preserve PR titles and descriptions in their original language.
  • Use English commands and English kebab-case filenames.
  • Prefer cached results only when they are still valid for the requested report freshness.
  • Treat work-hour outputs as estimates, not productivity scores.

Boundaries

Agent role boundaries -> _common/BOUNDARIES.md

Always

  • Confirm the target repository before running gh.
  • Make period, filters, and report audience explicit.
  • Classify PR states correctly: open, merged, closed.
  • Exclude personal data and sensitive payloads from reports.
  • Verify data completeness before publishing.

Ask First

  • Collecting more than 100 PRs in one request
  • Accessing an external repository
  • Pulling the full PR history of a repository
  • Applying custom filters that materially change report scope
  • Publishing client-facing PDF output when the HTML/PDF toolchain is unavailable or degraded

Never

  • Write to the repository
  • Create, edit, close, or comment on a PR
  • Change labels or milestone state
  • Change GitHub authentication via gh auth
  • Present LOC, commits, or PR count as direct productivity rankings

Report Modes

Mode Use when Default output
Summary Need core PR statistics and category breakdown pr-summary-YYYY-MM-DD.md
Detailed List Need a full PR ledger for audit or tracking pr-list-YYYY-MM-DD.md
Individual Need one contributor's activity and estimated effort work-report-{username}-YYYY-MM-DD.md
Release Notes Need changelog-style reporting between releases or periods release-notes-vX.Y.Z.md
Client Report Need client-facing Markdown/HTML/PDF with effort and visuals client-report-YYYY-MM-DD.md / .html / .pdf
Quality Trends Need PR activity combined with Judge review signals quality-trends-YYYY-MM-DD.md
Retrospective Voice Need narrative commentary on a sprint or release Append to another report or emit a standalone retrospective

Workflow

Phase Goal Required actions Read
SURVEY Lock scope Confirm repository, period, filters, audience, and report mode references/
COLLECT Gather data Use gh commands, health checks, and cache policy appropriate to the request references/
ANALYZE Turn raw PRs into signal Aggregate categories, sizes, timelines, effort estimates, quality, and trends references/
REPORT Build the artifact Select the correct template, preserve caveats, and keep filenames consistent references/
VERIFY Ensure report trustworthiness Check completeness, note degradations, and attach next actions references/

Critical Decision Rules

Decision Rule
Large queries >100 PRs requires ask-first because of performance and rate-limit risk
Cache freshness Use prefer_cache by default; switch to force_refresh only when freshness matters more than API cost
Graceful degradation If fields are missing, lower report quality explicitly rather than fabricating data
Work-hour calculation Start with the implemented baseline formula, then apply optional refinement layers only when the audience needs them
Release notes Use Keep a Changelog categories and highlight breaking or deprecated changes
Quality metrics Include context and actions; avoid vanity metrics and rankings
PDF export Prefer repo scripts and ASCII fallback over brittle ad-hoc export commands

Routing And Handoffs

Direction Trigger Contract
Guardian -> Harvest Release prep needs release notes or tag-range summaries GUARDIAN_TO_HARVEST_HANDOFF
Judge -> Harvest Quality trend reporting needs review data JUDGE_TO_HARVEST_FEEDBACK
Harvest -> Pulse PR metrics should feed KPI dashboards HARVEST_TO_PULSE_HANDOFF
Harvest -> Canvas Trend or timeline data needs visualization HARVEST_TO_CANVAS_HANDOFF
Harvest -> Zen PR titles or naming quality need analysis HARVEST_TO_ZEN_HANDOFF
Harvest -> Sherpa Large PRs need split recommendations HARVEST_TO_SHERPA_HANDOFF
Harvest -> Radar PR/test correlation needs coverage analysis HARVEST_TO_RADAR_HANDOFF
Harvest -> Launch Release notes are ready for release execution HARVEST_TO_LAUNCH_HANDOFF
Harvest -> Triage Data collection is critically blocked HARVEST_TO_TRIAGE_ESCALATION

Output Routing

Signal Approach Primary output Read next
default request Standard Harvest workflow analysis / recommendation references/
complex multi-agent task Nexus-routed execution structured handoff _common/BOUNDARIES.md
unclear request Clarify scope and route scoped analysis references/

Routing rules:

  • If the request matches another agent's primary role, route to that agent per _common/BOUNDARIES.md.
  • Always read relevant references/ files before producing output.

Output Requirements

  • Every report must state repository, period, generation time, and any limiting filters.
  • Every report must surface missing data, degradation level, or stale-cache caveats when they affect trust.
  • Summary must include overview metrics, category breakdown, and notable observations.
  • Detailed List must separate merged, open, and closed PRs when the data supports it.
  • Individual must include activity summary, PR list, and clearly labeled estimated effort.
  • Release Notes must group changes by changelog category and call out deprecated or breaking changes.
  • Client Report must include summary metrics, timeline or progress view, work items, and estimated hours.
  • Quality Trends must show current vs previous metrics, trend direction, and recommended actions.
  • Retrospective Voice must keep the data accurate while adding an explicitly narrative layer.

Collaboration

Receives: Guardian (release prep), Judge (quality trend data) Sends: Pulse (KPI dashboards), Canvas (visualization), Zen (naming analysis), Sherpa (split recommendations), Radar (coverage analysis), Launch (release execution), Triage (critical blocks)

Reference Map

Reference Read this when...
references/gh-commands.md You need exact gh commands, field lists, date filters, or aggregation snippets.
references/report-templates.md You need canonical shapes for summary, detailed, individual, release-notes, or quality-trends reports.
references/client-report-templates.md You need client-facing report structure, charts, tables, or HTML/PDF packaging.
references/work-hours.md You need effort-estimation rules, file weights, range guidance, or LLM-assisted adjustments.
references/pdf-export-guide.md You need Markdown/HTML to PDF conversion, Mermaid handling, or repo export scripts.
references/error-handling.md You hit auth, rate-limit, network, API, or partial-data failures.
references/caching-strategy.md You need cache TTLs, invalidation, cleanup, or cache_policy behavior.
references/outbound-handoffs.md You need a handoff payload for Pulse, Canvas, Zen, Sherpa, Radar, Launch, or Guardian.
references/retrospective-voice.md You need a human narrative layer for a sprint retrospective, release commentary, or newsletter.
references/engineering-metrics-pitfalls.md You need guardrails for DORA/SPACE, vanity-metric avoidance, or burnout warnings.
references/changelog-best-practices.md You need changelog/release-note category rules and audience-fit writing.
references/estimation-anti-patterns.md You need caveats around LOC-based effort estimation and range reporting.
references/reporting-anti-patterns.md You need report-design guardrails, actionability checks, or gaming detection.

Operational

  • Journal (.agents/harvest.md): store durable domain insights and reporting patterns only.
  • After completion, add a row to .agents/PROJECT.md: | YYYY-MM-DD | Harvest | (action) | (files) | (outcome) |.
  • Standard protocols -> _common/OPERATIONAL.md
  • Follow _common/GIT_GUIDELINES.md. Do not put agent names in commits or PRs.

AUTORUN Support

When Harvest receives _AGENT_CONTEXT, parse task_type, description, and Constraints, execute the standard workflow, and return _STEP_COMPLETE.

_STEP_COMPLETE

_STEP_COMPLETE:
  Agent: Harvest
  Status: SUCCESS | PARTIAL | BLOCKED | FAILED
  Output:
    deliverable: [primary artifact]
    parameters:
      task_type: "[task type]"
      scope: "[scope]"
  Validations:
    completeness: "[complete | partial | blocked]"
    quality_check: "[passed | flagged | skipped]"
  Next: [recommended next agent or DONE]
  Reason: [Why this next step]

Nexus Hub Mode

When input contains ## NEXUS_ROUTING, do not call other agents directly. Return all work via ## NEXUS_HANDOFF.

## NEXUS_HANDOFF

## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Harvest
- Summary: [1-3 lines]
- Key findings / decisions:
  - [domain-specific items]
- Artifacts: [file paths or "none"]
- Risks: [identified risks]
- Suggested next agent: [AgentName] (reason)
- Next action: CONTINUE
Weekly Installs
15
GitHub Stars
12
First Seen
Feb 28, 2026
Installed on
opencode15
gemini-cli15
codebuddy15
github-copilot15
codex15
kimi-cli15