Frontier
Build with AI: Developer Experience Dashboard
Reproduce and customise the developer demo with an AI coding agent, or assess real GitHub query inputs without assuming an export schema.
Build with AI: Developer Experience and Copilot
← Back to Prompt Library · View dashboard examples
Purpose
Reproduce and customise the synthetic developer dashboard with its existing R implementation, and assess real GitHub query inputs without guessing their contract.
Audience
Engineering managers and people analytics practitioners studying working conditions alongside GitHub and Microsoft 365 Copilot use.
When to use
Choose this journey for the Developer Experience reference report, not direct GitHub API analytics or an evaluation of developer productivity.
Required inputs
- A local sample-code checkout containing the shared dashboard runner.
- R and the dependencies listed by the runner; Pandoc for demo rendering.
- Demo: no customer files; the copied helper creates synthetic data.
- Real readiness assessment: approved local CSVs and available documentation for grain, identity, metrics, eligibility and coverage.
Assumptions
The demo uses synthetic values in confirmed export headers. Weekly M365
eligibility uses enabled days; completeness requires independent evidence.
GitHub row presence is observation, not provisioning, and GitHub activity coverage
is resolved separately from GitHub credit coverage: the credit export is sparse, so
sparse credit rows must never void an observed activity week. Breakdown equality and
model attribution are synthetic-only, and breakdown category membership is a
persistent cohort property rather than a per-day draw. PeopleHistoricalId is
opaque: read the activity-file crosswalk instead of reconstructing it from
PersonId. M365 and GitHub credits remain separate units.
Real GitHub data can be inspected, but v1 has no verified real build adapter.
Recommended output
Demo mode produces a self-contained HTML report, copied source and provenance. Real mode produces an input-readiness assessment and missing-evidence list; it does not promise a complete report.
Quick prompt (short version)
Help me reproduce or customise the Developer Experience and Copilot dashboard.
Recover choices already supplied, then ask only for missing checkout, demo versus real mode, output folder and intended changes.
Read frontier-analytics/skills/viva-insights-copilot-dashboards/SKILL.md in that checkout as workflow instructions, without requiring skill installation.
Use its GitHub manifest and shared R runner; preserve coverage, privacy and synthetic labels.
For real GitHub files, inspect only and explain the missing contract evidence; v1 has no verified real build adapter.
Do not infer productivity, code quality, burnout, licensing or non-use from activity alone.
Use max(the organisational requirement, 10 distinct people), protect complementary
cells and embedded data, and never publish individual rankings. Read configured cadence
and measurement windows, not date spacing. Within a supplied complete query's configured
scope, absent activity is zero. Unresolved GitHub nulls, failed joins, out-of-scope
periods and known coverage failures stay unknown. Licensed-only M365 Copilot null
semantics do not establish GitHub licensing. This does not enable the missing real build adapter.
Prompt
Use the Developer Experience and Copilot reference in my local sample-code checkout.
Recover choices already supplied, then use prompt mode for checkout/output locations,
demo or real, audience, available files, period, grouping, privacy policy and intended changes.
Read frontier-analytics/skills/viva-insights-copilot-dashboards/SKILL.md, its selected mode
and GitHub manifest, and the shared analytical contract. Use the shared runner README
at frontier-analytics/starter-kits/copilot-query-dashboard/ for exact commands/config.
In demo mode, reproduce the copied Rmd/helper in an isolated workspace. Keep the seed,
synthetic window, full developer baseline, eligibility and coverage distinctions.
In real mode, run bounded local inspection. Identify source grain, join keys, units,
coverage, licence evidence and model/language allocation periods. Headers alone do not
verify semantics. Return supported observations and missing evidence for a future adapter.
Read configured grouping and measurement windows; spacing is diagnostic only.
GitHub eligibility requires its own product-specific evidence.
Inside a supplied complete query's configured scope, absent activity contributes zero;
unresolved GitHub nulls, failed joins, unavailable sources, out-of-scope periods and
known coverage failures remain unknown with reasons. For any Person Query companion,
apply the documented native M365 Copilot licence semantics only to licensed-only
M365 metrics, never to GitHub fields. The historical synthetic demo retains its own explicit
coverage states; do not mistake it for a real-data adapter.
Do not source the synthetic helper on real inputs or bypass the unsupported-build gate.
For customisation, edit the copied source, not bundled HTML or the canonical example.
Presentation changes should preserve aggregate values. Population or metric changes
require renewed inspection and my approval. No arbitrary duplicate removal, fuzzy
employee joins, individual rankings or converting unresolved coverage to zero.
Keep at least 10 distinct people per published group or a stricter organisational rule,
including embedded data and complementary-cell disclosure checks.
Do not interpret acceptance as quality, available time as coding, or after-hours as burnout.
Record revision, inputs and configuration. Avoid loading whole CSVs or generated HTML
into model context. After two unsuccessful repairs of one failure, report the blocker.
Return the report or readiness assessment, rerun command and limitations; do not publish.
<!-- analysis-policy:start -->
Use product-specific licence evidence. For documented native licensed-only M365 Copilot metrics, null means unlicensed and zero activity means licensed but inactive. Prefer Copilot Enabled User or Total Copilot enabled days. Do not extend these semantics to unlicensed Copilot Chat or Consumption credits.
Investigate conflicting licence evidence. Keep affected eligibility or activity unresolved, and withhold affected rates or estimates until resolved.
Within a supplied complete query's configured scope, absent activity rows contribute zero. Keep failed joins, unavailable sources, out-of-scope periods and known coverage failures unresolved with reasons.
Use configured grouping, week start and metric windows; date gaps do not establish cadence. State grain, units and estimand. Count distinct people; do not sum stocks or overlapping windows.
Use max(organisation requirement, workflow floor): 5 distinct people for general analysis and 10 for joined-query, dashboard, causal or process workflows. Protect complementary cells and embedded data; never publish individual rankings.
Use only HR attributes present in the export. If none suit a requested breakdown, omit it, explain why, and continue with supported overall results.
Treat low-activity flags as review candidates, not verified holidays, employment status or job classifications. Value scenarios require explicit conversion and realisation assumptions.
Default to association. Make causal claims only with a supported design and compatible estimators. Record unavailable checks and label synthetic data.
Check installed API versions, signatures and return types. Separate executed results from expectations and do not silently fork upstream bugs.
<!-- analysis-policy:end -->
Adaptation notes
Try changing the panel order or explanatory language on the synthetic demo first. Real-data support needs a source contract and a separately reviewed adapter. Do not rename public GitHub API fields into an assumed Viva contract.
Common failure modes
- Missingness is flattened: distinguish in-scope omitted activity from unresolved GitHub nulls and known coverage failures. Verify GitHub eligibility separately from M365 Copilot licensing.
- Only Copilot users form the baseline: retain the full developer population.
- Full-window mixes become weekly trends: preserve their actual period.
- Demo runs over customer data: use distinct modes and output workspaces.
Resources
- Joining Viva Insights queries for export setup and person-week integration. A verified real GitHub dashboard adapter is still required.
- Starter kit
- Shared runner
- Optional skill installation
- Synthetic schema manifest
Responsible use & data privacy
- Suppress small groups. Apply the stricter of your organisation's minimum group size and the selected workflow's privacy floor to every breakdown, segment and chart.
- Never expose individuals. Do not print raw UPNs or email addresses. Hash, truncate or report only aggregates. Person Query
PersonIdis already de-identified, but PurviewUserIdis not. - Report group patterns. Use these outputs to understand cohorts and trends. Do not evaluate, rank or monitor named employees.
- Keep data in approved environments. Follow your organisation's policies when choosing an agent and deciding which data it may access. Validate every agent output before sharing.