feat: add whatidid cross-agent AI work digest instructions 🤖🤖🤖#1902
Open
th0mps0nty wants to merge 21 commits into
Open
feat: add whatidid cross-agent AI work digest instructions 🤖🤖🤖#1902th0mps0nty wants to merge 21 commits into
th0mps0nty wants to merge 21 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR adds a new Canvas Extensions section to the website and repository, while also expanding the external plugin intake pipeline with automated quality gates and new intake states/commands.
Changes:
- Add an Extensions landing page + client-side sorting/rendering and include Extensions counts/navigation in the website.
- Introduce multiple example canvas extensions under
extensions/(e.g., diagram viewer, kanban, feedback themes, color orb). - Enhance external plugin intake automation with quality-gate execution, new labels/state, and a maintainer override command.
Reviewed changes
Copilot reviewed 62 out of 66 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| website/src/scripts/pages/index.ts | Adds extensions count key to homepage counts manifest. |
| website/src/scripts/pages/extensions.ts | New client-side behavior for extensions listing (sort, copy install URL, URL sync). |
| website/src/scripts/pages/extensions-render.ts | New HTML renderer + sorting for extensions listing. |
| website/src/pages/index.astro | Adds a new homepage card for Canvas Extensions and adjusts animation delays. |
| website/src/pages/extensions.astro | New Astro page for extensions listing, bootstrap data + scripts. |
| website/data/tools.yml | Adds a new tool entry (Ivy Tendril). |
| website/astro.config.mjs | Adds “Canvas Extensions” to site navigation. |
| skills/rhino3d-scripts/references/macros-and-loading.md | Documents rhinocode CLI behavior and limitations. |
| skills/rhino3d-scripts/SKILL.md | Adds Rhino 8 troubleshooting notes and pitfalls. |
| skills/md-to-docx/scripts/md-to-docx.mjs | Adjusts HTML entity decoding order/formatting. |
| plugins/project-documenter/skills/md-to-docx/scripts/md-to-docx.mjs | Mirrors entity-decoding change in plugin copy. |
| plugins/external.json | Updates a plugin version and normalizes a ref value. |
| plugins/ember/skills/from-the-other-side-wiggins/SKILL.md | Adds Wiggins skill content under Ember plugin. |
| plugins/ember/skills/from-the-other-side-quinn/SKILL.md | Adds Quinn skill content under Ember plugin. |
| plugins/ember/skills/from-the-other-side-anitta/SKILL.md | Adds Anitta skill content under Ember plugin. |
| plugins/ember/README.md | Documents the newly added “From the Other Side” skills. |
| plugins/ember/.github/plugin/plugin.json | Registers the new Ember skills in plugin manifest. |
| skills/from-the-other-side-wiggins/SKILL.md | Adds Wiggins skill to top-level skills. |
| skills/from-the-other-side-quinn/SKILL.md | Adds Quinn skill to top-level skills. |
| skills/from-the-other-side-anitta/SKILL.md | Adds Anitta skill to top-level skills. |
| skills/conventional-branch/SKILL.md | Adds a new skill describing Conventional Branch naming. |
| skills/adobe-illustrator-scripting/SKILL.md | Adds external invocation guidance and common automation patterns. |
| instructions/whatidid.instructions.md | Adds new cross-agent work digest instructions. |
| instructions/use-cliche-data-in-docs.instructions.md | Enhances placeholder guidance to match context/platform. |
| instructions/qa-engineering-best-practices.instructions.md | Adds a QA best-practices instruction set. |
| instructions/powershell-pester-5.instructions.md | Clarifies Set-ItResult behavior and unreachable code. |
| instructions/exclude-prompt-data.instructions.md | Adds instruction to prevent prompt metadata from leaking into files. |
| instructions/dotnet-framework.instructions.md | Clarifies legacy vs SDK-style .NET Framework project guidance. |
| hooks/secrets-scanner/scan-secrets.sh | Broadens GitHub App token detection pattern. |
| extensions/gesture-review/package.json | Adds a new extension package scaffold. |
| extensions/feedback-themes/package.json | Adds a new extension package scaffold. |
| extensions/feedback-themes/public/index.html | Adds the Feedback Themes canvas UI (static HTML/CSS/JS). |
| extensions/feedback-themes/extension.mjs | Implements Feedback Themes extension backend and canvas actions. |
| extensions/feedback-themes/data/signals.json | Adds synthetic fixture data for feedback theme exploration. |
| extensions/diagram-viewer/package.json | Adds a new extension package scaffold. |
| extensions/diagram-viewer/public/index.html | Adds the Diagram Explorer canvas UI (interactive SVG). |
| extensions/diagram-viewer/extension.mjs | Implements Diagram Explorer backend with per-instance state + canvas actions. |
| extensions/color-orb/package.json | Adds a new extension package scaffold. |
| extensions/color-orb/extension.mjs | Implements Color Orb extension backend + SSE UI served from memory. |
| extensions/accessibility-kanban/package.json | Adds a new extension package scaffold. |
| extensions/accessibility-kanban/public/index.html | Adds the Accessibility Kanban canvas UI. |
| extensions/accessibility-kanban/extension.mjs | Implements Kanban backend with persistence and agent-triggered planning prompts. |
| eng/update-readme.mjs | Uses locale-aware sorting when generating README sections. |
| eng/generate-website-data.mjs | Generates extensions.json + extensions count and metadata (incl. commit ref + lastUpdated). |
| eng/constants.mjs | Adds EXTENSIONS_DIR constant for repository layout. |
| eng/external-plugin-quality-gates.mjs | Adds a script to run skill-validator + Copilot install smoke tests for external plugins. |
| eng/external-plugin-intake.mjs | Merges intake evaluation with quality-gate results; adds maintainer override command parsing. |
| eng/external-plugin-intake-state.mjs | Adds new intake label/state mapping for requires-submitter-fixes. |
| docs/README.skills.md | Adds new skills to generated skills README. |
| docs/README.plugins.md | Updates Ember plugin item count. |
| docs/README.instructions.md | Adds new instructions to generated instructions README. |
| CONTRIBUTING.md | Documents external plugin quality gates and new intake state flow. |
| AGENTS.md | Updates external plugin intake lifecycle documentation. |
| .github/workflows/skill-check.yml | Improves changed-skill/agent detection (null-safe, whitespace-safe) and argument passing. |
| .github/workflows/external-plugin-rerun-intake-command.yml | Refactors rerun intake to include quality gates and merged evaluation application. |
| .github/workflows/external-plugin-quality-gates.yml | Adds a reusable workflow to run quality gates for external plugins. |
| .github/workflows/external-plugin-mark-ready-command.yml | Adds /mark-ready-for-review maintainer override command workflow. |
| .github/workflows/external-plugin-intake.yml | Adds quality-gates job and merges results into synced intake evaluation. |
| .github/workflows/external-plugin-approval-command.yml | Adds post-merge PR label normalization job and new label support. |
| .github/plugin/marketplace.json | Mirrors external plugin metadata updates in generated marketplace output. |
Files not reviewed (4)
- extensions/color-orb/package-lock.json: Language not supported
- extensions/diagram-viewer/package-lock.json: Language not supported
- extensions/feedback-themes/package-lock.json: Language not supported
- extensions/gesture-review/package-lock.json: Language not supported
Comments suppressed due to low confidence (2)
website/src/scripts/pages/extensions-render.ts:1
new Date(...).getTime()returnsNaNfor invalid/unsupported date strings;dateB - dateAwill then becomeNaN, producing unstable or incorrect sorting. Consider normalizingNaNto0(or treating invalid dates as “oldest”) before subtracting so sorting stays deterministic.
website/src/scripts/pages/extensions-render.ts:1- The install URL is constructed with a hard-coded repository (
github/awesome-copilot) while the adjacent “GitHub” link usesgetGitHubUrl(item.path). This creates a single-point-of-breakage if the site is deployed for forks, different orgs, or alternative base URLs; consider centralizing URL construction (e.g., via a shared helper that derives repo owner/name/base) so both links stay consistent.
Comment on lines
+9
to
+11
| concurrency: | ||
| group: external-plugin-intake-${{ github.event.issue.number }} | ||
| cancel-in-progress: false |
Comment on lines
+6
to
+8
| "dependencies": { | ||
| "@github/copilot-sdk": "latest" | ||
| } |
Comment on lines
+36
to
+37
| - name: Install GitHub Copilot CLI | ||
| run: npm install -g @github/copilot |
Comment on lines
+102
to
+119
| if (req.method === "POST" && url.pathname === "/api/explore-theme") { | ||
| const { themeId } = await readJson(req); | ||
| const theme = computeThemeGroups().find((t) => t.id === themeId); | ||
| if (!theme) { | ||
| json(res, 404, { error: "Theme not found" }); | ||
| return; | ||
| } | ||
| // Trigger the agent to start a session exploring this theme | ||
| session.send({ | ||
| prompt: `The user wants to explore the "${theme.label}" feedback theme in depth. This theme has ${theme.signalCount} signals across customers: ${theme.customers.join(", ")}. Maximum impact: ${theme.maxImpact}. | ||
|
|
||
| Theme description: ${theme.description} | ||
|
|
||
| Signals in this theme: | ||
| ${theme.signals.map((s) => `- [${s.impact.toUpperCase()}] "${s.title}" (${s.customer}): ${s.description}`).join("\n")} | ||
|
|
||
| Please help the user explore this theme. Summarize the key patterns, identify what product changes would address these signals, and suggest next steps. Ask the user what aspect they'd like to dig into.`, | ||
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds instructions for whatidid, a cross-agent AI work digest that reads sessions from Hermes, OpenAI Codex CLI, Claude Code, GitHub Copilot CLI, and Continue, then outputs a value report with effort estimates, project groupings, and ROI in Markdown, JSON, and HTML formats.
Install:
pip install whatididRepo: https://github.com/th0mps0nty/whatidid