* Prepare for archiving of copilot-sdk-java repo in favor of java directory in copilot-sdk
* Update README
* Update with latest `java` from `copilot-sdk`.
### 16:37 Prompt
I have added `copilot-sdk-00` to this VS Code workspace. The `copilot-sdk-00/java` directory **is** the Copilot SDK for which this `copilot-sdk-java.instructions.md` is the instructions.
Do a deep read of the source code in `copilot-sdk-00/java`.
Do a deep read of the existing `copilot-sdk-java.instructions.md`.
Suggest any updates based on what should be changed in `copilot-sdk-java.instructions.md`, based on your findings.
### 16:51 Response
Now I have a comprehensive picture. Let me summarize the findings and suggest updates:
---
Based on my deep read of the Java SDK source code and the current copilot-sdk-java.instructions.md, here are the updates I'd suggest:
## Issues Found
### 1. Incorrect: `session.setModel()` documentation is slightly wrong
The instructions show `session.setModel(modelId)` — this is actually correct (it exists on CopilotSession), but the full signatures should be documented:
- `setModel(String model)`
- `setModel(String model, String reasoningEffort)`
- `setModel(String model, String reasoningEffort, ModelCapabilitiesOverride modelCapabilities)` *(since 1.3.0)*
### 2. Incorrect: `PreToolUseHookOutput` API
The instructions show:
```java
var decision = new PreToolUseHookOutput().setKind("allow");
```
But actually `PreToolUseHookOutput` is a **record** with static factory methods:
- `PreToolUseHookOutput.allow()`
- `PreToolUseHookOutput.deny()`
- `PreToolUseHookOutput.deny(String reason)`
- `PreToolUseHookOutput.ask()`
### 3. Missing: `CopilotClientOptions` fields not documented
These are in the source but not in the instructions:
- `setRemote(boolean)` — Mission Control integration
- `setTelemetry(TelemetryConfig)` — OpenTelemetry export *(since 1.2.0)*
- `setSessionIdleTimeoutSeconds(int)` — Idle timeout *(since 1.3.0)*
- `setExecutor(Executor)` — Custom thread pool
- `setTcpConnectionToken(String)` — TCP security token
### 4. Missing: `ToolDefinition.createSkipPermission()`
A third factory method exists *(since 1.2.0)* that skips the CLI permission request entirely. The instructions only mention `create()` and `createOverride()`.
### 5. Missing: Session listing with filters
The instructions show `client.listSessions()` but don't mention the overload with `SessionListFilter` that can filter by `cwd`, `gitRoot`, `repository`, and `branch`.
### 6. Missing: `session.log()` with URL
The instructions show `log(message, level, ephemeral)` but there's also a 4-param overload:
```java
session.log(String message, String level, Boolean ephemeral, String url)
```
### 7. Missing: MCP Server Configuration
The instructions mention `setMcpServers()` in the SessionConfig options list but don't show how to configure them. There are two types:
- `McpStdioServerConfig` — Local/stdio-based servers
- `McpHttpServerConfig` — HTTP/SSE remote servers
### 8. Missing: Cloud Sessions / Remote features
The `setRemote(boolean)` option on client options and per-session GitHub token support for cloud/content-exclusion scenarios.
### 9. Missing: `ModelCapabilitiesOverride`
Vision/image support can be controlled via model capabilities override, but this isn't documented.
### 10. Missing: `EventErrorPolicy` enum values
The instructions mention `EventErrorPolicy.SUPPRESS_AND_LOG_ERRORS` but don't list the other value: `PROPAGATE_AND_LOG_ERRORS` (which is the default).
### 11. Missing: `onLifecycle()` typed overload
There's also `onLifecycle(String eventType, SessionLifecycleHandler handler)` for filtering specific lifecycle events.
### 12. Minor: `send()` return type
`session.send()` returns `CompletableFuture<String>` (the message ID), which is worth mentioning since it can be used for correlation.
---
## Recommended Priority
**High priority** (incorrect info):
- Fix#2 (`PreToolUseHookOutput` API)
**Medium priority** (missing important features):
- Add #4 (`createSkipPermission`)
- Add #7 (MCP server configuration examples)
- Add #3 (missing client options)
- Add #5 (session list filters)
**Low priority** (nice-to-have completeness):
- Expand #1 (setModel overloads)
- Add #6 (log with URL)
- Add #9-12 (minor additions)
Would you like me to apply any or all of these updates to the file?
### 16:52 Prompt
Yes. Apply all of these.
### 16:54 Response
Created 12 todos
Now I have the full file. Let me apply all the changes:
Starting: *Fix PreToolUseHookOutput API (incorrect)* (1/12)
Replacing 84 lines with 199 lines in [](file:///e%3A/workareas/awesome-copilot-00/instructions/copilot-sdk-java.instructions.md)
```
```
Completed: *Fix PreToolUseHookOutput API (incorrect)* (1/12)
All 12 updates have been applied to copilot-sdk-java.instructions.md:
1. **Fixed** `PreToolUseHookOutput` — now uses correct static factory methods (`allow()`, `deny()`, `ask()`) instead of the incorrect `new PreToolUseHookOutput().setKind("allow")`
2. **Added** `ToolDefinition.createSkipPermission()` section (since 1.2.0)
3. **Added** 5 missing `CopilotClientOptions` fields: `remote`, `telemetry`, `sessionIdleTimeoutSeconds`, `executor`, `tcpConnectionToken`
4. **Added** `SessionListFilter` with `setRepository()`, `setBranch()`, `setCwd()`, `setGitRoot()`
5. **Expanded** `setModel()` to show all 3 overloads (model, reasoning effort, capabilities)
6. **Added** `log(message, level, ephemeral, url)` overload
7. **Added** full MCP server configuration section with `McpStdioServerConfig` and `McpHttpServerConfig` examples
8. **Added** `EventErrorPolicy` enum values with explanations
9. **Added** `onLifecycle(String eventType, handler)` filtered overload
10. **Added** note that `send()` returns `CompletableFuture<String>` (message ID for correlation)
11. **Added** `ModelCapabilitiesOverride` section with vision/limits configuration (since 1.3.0)
12. **Added** `remote` option for Mission Control / cloud session integration
13. **Bonus:** Expanded `SessionHooks` example to include all 5 hook types (`onPreToolUse`, `onPostToolUse`, `onUserPromptSubmitted`, `onSessionStart`, `onSessionEnd`)
Made changes.
### 16:54 Prompt
In the "## Core Principles" section. Add a bullet point that describes how `Optional` is used in the API.
### 16:58 Response
Searched for text `Optional` (`copilot-sdk-00` · `java/src/main/java/com/github/copilot/sdk/json/*.java`), 10 results
Searched for text `Optional` (`copilot-sdk-00` · `java/src/main/java/com/github/copilot/sdk/json/InfiniteSessionConfig.java`), 13 results
Replacing 7 lines with 8 lines in [](file:///e%3A/workareas/awesome-copilot-00/instructions/copilot-sdk-java.instructions.md)
```
```
Added the bullet point describing how `Optional<T>`, `OptionalInt`, and `OptionalDouble` are used on config class getters to distinguish "not set" from explicit values, while setters accept raw types and return `this` for fluent chaining.
Made changes.
### 16:58 Prompt
Consider this code from the Java README.
```java
public class CopilotSDK {
public static void main(String[] args) throws Exception {
var lastMessage = new String[]{null};
// Create and start client
try (var client = new CopilotClient()) { // JDK 25+: comment out this line
// JDK 25+: uncomment the following 3 lines for virtual thread support
// var options = new CopilotClientOptions()
// .setExecutor(Executors.newVirtualThreadPerTaskExecutor());
// try (var client = new CopilotClient(options)) {
client.start().get();
// Create a session
var session = client.createSession(
new SessionConfig().setOnPermissionRequest(PermissionHandler.APPROVE_ALL).setModel("claude-sonnet-4.5")).get();
// Handle assistant message events
session.on(AssistantMessageEvent.class, msg -> {
lastMessage[0] = msg.getData().content();
System.out.println(lastMessage[0]);
});
// Handle session usage info events
session.on(SessionUsageInfoEvent.class, usage -> {
var data = usage.getData();
System.out.println("\n--- Usage Metrics ---");
System.out.println("Current tokens: " + data.currentTokens().intValue());
System.out.println("Token limit: " + data.tokenLimit().intValue());
System.out.println("Messages count: " + data.messagesLength().intValue());
});
// Send a message
var completable = session.sendAndWait(new MessageOptions().setPrompt("What is 2+2?"));
// and wait for completion
completable.get();
}
boolean success = lastMessage[0] != null && lastMessage[0].contains("4");
System.exit(success ? 0 : -1);
}
}
```
I want to get across the very important JDK 25 comment. What's the best place to encode that knowledge in the instructions?
* Apply review suggestions
* Add visual-pr plugin: screenshot capture, annotation, PR embedding, and screen recording
Four skills that teach Copilot to capture UI screenshots (Playwright + PIL),
annotate them with algorithmic label placement, embed before/after images
in PR descriptions, and record animated GIF demos.
Includes demo images showing the annotation engine on GitHub Issues.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update generated README tables and marketplace.json
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Embed annotate.py module in image-annotations skill
The full working module (annotate_image, grid_image, diff_images) is now
included as a code block so users can save it as annotate.py and import
directly. Scrubbed project-specific labels from examples.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review feedback: mss.mss() context manager, fix RECT struct, consistent placeholder
- Use mss.mss() context manager instead of mss.MSS() (ui-screenshots, screen-recording)
- Fix broken RECT struct in window+GIF combining example (screen-recording)
- Consistent projectId placeholder in AzDO upload example (pr-screenshots)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fresh pull of updated stage with 2 skills and updated README only
* adjusted skills after feedback and used skill analyser to review
---------
Co-authored-by: Mark Heynes <mutl3y@heynes.biz>
* fix(analyzer): update CWE mappings and terminology to official MITRE standards
* feat(analyzer): integrate CWE 4.20 AI/ML security weaknesses and modern Top 25 view
* fix(analyzer): normalize agent name to match filename and pass validation
Adds a new custom agent that guides Azure Verified Modules (AVM) owners through a structured, repeatable workflow to triage open issues across the AVM repos they maintain. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.
Adds a skill that lets users generate images (icons, sprites, textures,
mockups) directly from their coding workflow using OpenAI gpt-image-2 or
Google Gemini. BYO API key — the skill guides users through setup on
first use.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The winui plugin from microsoft/win-dev-skills now provides equal-or-better coverage of WinUI 3 development through the winui-dev agent and 7 specialized skills (winui-design, winui-code-review, winui-dev-workflow, winui-packaging, winui-ui-testing, winui-setup, winui-wpf-migration). UWP-to-WinUI 3 API rules are now codified as build-time diagnostics via the Microsoft.WindowsAppSDK.Analyzers Roslyn analyzer.
Co-authored-by: Nikola Metulev <711864+nmetulev@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add prompt-optimizer skill for enhancing prompt quality in chat interfaces
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix: update prompt handling to include clarifying questions for incomplete requests
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: add explicit assumption rule and confidence metric to agent documentation
- Add `confidence` field (0‑1) to the output schema in `agents/gem-browser-tester.agent.md`
- Include `confidence` in the `extra` object of `agents/gem-devops.agent.md`
- Append the guideline “State assumptions explicitly; never guess silently” to all agent docs
- Update the “Bisect (Complex Only)” heading to reflect its gate condition
- Minor wording and formatting adjustments across the affected agent documents
* chore: update readme
* chore(release): Streamline agent documentation sections (remove self‑critique steps, renumber Handle Failure/Output)
Remove all bundled polyglot-test-agent content (8 agents, 1 skill,
plugin metadata) and add dotnet-test as an external plugin from
dotnet/skills. The external plugin is a superset (11 agents, 22 skills).
Marketplace and doc indexes regenerated via npm run build.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add complete skill for Slang shader language
- Included the full Offical Slang LLM documentation.
- Included sections on language features, interfaces, generics, automatic differentiation, modules, capabilities system, compiling code, reflection API, compilation targets, and FAQs.
- Allows agents to write comprehensive slang code for graphics and compute shaders.
* Fix for conflicting description matches established skill conventions
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Rebuilds branch from upstream/staged (was previously merged from
upstream/main, which brought in materialized plugin files that
fail Check Plugin Structure on PRs targeting staged).
Changes vs. staged:
- Update skills/quality-playbook/ to v1.5.6 (31 bundled assets:
SKILL.md + LICENSE.txt + 16 references/ + 9 phase_prompts/ +
3 agents/ + bin/citation_verifier.py + quality_gate.py).
- Add agents/quality-playbook.agent.md (top-level orchestrator).
name: quality-playbook (validator-compliant).
- Update docs/README.skills.md quality-playbook row description
+ bundled-assets list to v1.5.6.
- Fix 'unparseable' → 'unparsable' in quality_gate.py (5 instances;
codespell preference, both spellings valid).
Closes the v1.4.0 → v1.5.6 update in a single clean commit on top of
upstream/staged. The preserved backup branch backup-bedbe84-pre-rebuild
(SHA bedbe848fa3c0f0eda8e653c42b599a17dd2e354) holds the prior history for reference.
* feat(flowstudio): align Power Automate skills with MCP server v1.1.6
Foundation skill (flowstudio-power-automate-mcp) rewritten to use the
server's new tool_search and list_skills meta-tools (v1.1.5+) for
discovery instead of cataloging every tool by hand. Cut from 519 to
295 lines. New "Which Skill to Use When" intent-keyed decision tree
points at the four specialized skills.
Build/debug/governance/monitoring updated for use-case framing. Tools
that genuinely cross tiers (e.g. debug skill borrowing
get_store_flow_summary) are correct when the workflow needs them — the
split between skills is by use-case intent, not by tool partition.
Build skill: new Step 3a Resolving Dynamic Connector Values covers
get_live_dynamic_options outer-parameter auto-bridge (v1.1.6+) and the
AadGraph user-picker fallback via shared_office365users.SearchUserV2
(replaces broken builtInOperation:AadGraph.GetUsers).
Debug skill: Outlook user-picker failure note pointing at the fallback.
Monitoring skill description disambiguates from the server's monitor-flow
tool bundle (runtime control of a single flow) — this skill is
tenant-wide health analytics over the cached store.
All 5 skills validate via npm run skill:validate; line endings LF only;
codespell clean; auto-regenerated docs/README.skills.md included.
* fix(flowstudio): remove deprecated tool references
The v1.1.5 MCP server release marked 5 tools [DEPRECATED] but the
previous alignment commit missed them. Replacements per server source:
- get_live_flow_http_schema → read trigger.inputs.schema from get_live_flow
- get_live_flow_trigger_url → read trigger.metadata.callbackUrl from get_live_flow
- get_store_flow_trigger_url → get_store_flow.triggerUrl field
- get_store_flow_errors → get_store_flow_runs(status=["Failed"])
- set_store_flow_state → set_live_flow_state
Touches build, debug, governance, monitoring SKILL.md and the
foundation skill's tool-reference.md. Remaining mentions of the
deprecated names are intentional — they live in deprecation notices
naming the obsolete wrapper alongside its replacement.
* Update FlowStudio Power Automate skills
* Cover latest FlowStudio MCP actions
* Trim FlowStudio Power Automate skills
* Number FlowStudio build workflow steps
* feat(skills): add dotnet-mcp-builder, deprecate csharp-mcp-server-generator
Adds a comprehensive skill for building MCP (Model Context Protocol)
servers in C#/.NET against the official ModelContextProtocol 1.x NuGet
packages. Covers both transports (STDIO, Streamable HTTP — SSE is
deprecated) and every primitive in the current MCP spec (2025-11-25):
tools, prompts, resources, elicitation (form + URL mode), sampling,
roots, completions, logging, and MCP Apps. Includes a thin .NET MCP
client reference and testing guidance (MCP Inspector + in-memory
transport for unit tests).
Steers the model toward the current stable 1.x packages instead of the
0.x previews it tends to pin by default, and enforces the STDIO
stdout/stderr trap.
Also deprecates the existing csharp-mcp-server-generator skill, which
predates ModelContextProtocol 1.0 and only covered a subset of the
current spec. Its SKILL.md now redirects users to dotnet-mcp-builder so
existing install URLs keep working without surprises.
* fix: address PR review from aaronpowell
- Delete csharp-mcp-server-generator skill (rather than deprecating it)
- Update mcp-apps.md pitfalls section to reference .NET Tool.Meta type
instead of the serialized _meta JSON property names
- Rebuild docs/README.skills.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: remove C# MCP development plugin files
* chore: remove csharp-mcp-development plugin entry from marketplace
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add Azure resource naming conventions based on Microsoft CAF
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* docs: update Azure naming conventions with additional resource type patterns and constraints
Co-authored-by: Copilot <copilot@github.com>
* docs: add CAF acronym to ignore-words-list in codespell configuration
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
* feat: move to xml top tags for ebtter llm parsing and structure
- Orchestrator is now purely an orchestrator
- Added new calrify phase for immediate user erequest understanding and task parsing before workflow
- Enforce review/ critic to plan instea dof 3x plan generation retries for better error handling and self-correction
- Add hins to all agents
- Optimize defitons for simplicity/ conciseness while maintaining clarity
* feat(critic): add holistic review and final review enhancements
* chore: bump marketplace version to 1.10.0
- Updated `.github/plugin/marketplace.json` to version 1.10.0.
- Revised `agents/gem-browser-tester.agent.md` to improve the BROWSER TESTER role documentation with a clearer structure, explicit role header, and organized knowledge sources section.
* refactor: streamline verification and self‑critique steps across browser‑tester, code‑simplifier, critic, and debugger agents
* feat(researcher): improve mode selection workflow and research implementation details
- Refine **Clarify** mode description to emphasize minimal research for detecting ambiguities.
- Reorder steps and clarify intent detection (`continue_plan`, `modify_plan`, `new_task`).
- Add explicit sub‑steps for presenting architectural and task‑specific clarifications.
- Update **Research** mode section with clearer initialization workflow.
- Simplify and reformat the confidence calculation comments for readability.
- Minor formatting tweaks and added blank lines for visual separation.
* Update gem-orchestrator.agent.md
* docs(gem-browser-tester): enhance BROWSER TESTER role description and clarify workflow steps- Expanded the BROWSER TESTER role with explicit responsibilities and constraints
- Reformatted the Knowledge Sources list using consistent numbered items for readability- Updated the Workflow section to detail initialization, execution, and teardown steps more clearly- Refined the Output Format and Research Format Guide structures to use proper markdown syntax
- Improved overall formatting and consistency of documentation for better maintainability
* docs: fix typo in delegation description
* feat(metadata): bump marketplace version to 1.15.0 and enrich agent documentation
The marketplace plugin metadata has been updated to reflect the newer
self‑learning multi‑agent orchestration description and the version hasbeen upgraded from 1.13.0 to 1.15.0.
Documentation for the following agents has been expanded with new
sections:
- **gem-browser-tester.agent.md** – added an “Output” section outlining
strict JSON output rules and a new “I/O Optimization” section covering
parallel batch operations, read efficiency, and scoping techniques.
- **gem-code-simplifier.agent.md** – similarly added “Output” and
“I/O Optimization” sections describing concisely formatted JSON,
parallel I/O, and batch processing best practices.
- **gem-reviewer.agent.md** – updated its output format and added
detailed guidance on review scope, anti‑patterns, and I/O strategies.
These changes provide clearer usage instructions and performance‑focused
recommendations for the agents while aligning the marketplace metadata
with the updated version.
* feat(plugin): add agents list and README for gem-team plugin
* docs: update readme
* chore: match version with gem-team
* docs: standardize execution order and output format sections in agent documentation
* docs: fix typo in agent documentation files
* refactor: replace "framework" with "harness" in gem‑team marketplace, plugin, and README descriptions
* Add acreadiness-cockpit plugin
Adds a new plugin that drives Microsoft AgentRC from Copilot chat,
framing every interaction inside AgentRC's Measure -> Generate ->
Maintain loop.
Custom agent (agents/ai-readiness-reporter.agent.md):
Runs `agentrc readiness --json`, interprets every result against
the 9-pillar / 5-level maturity model, then renders a self-contained
reports/index.html from a fixed HTML/CSS template (bundled with the
acreadiness-assess skill) so every user gets an identically styled
dashboard. Honours policies (disabled criteria, overrides, pass-rate
thresholds) and surfaces extras separately.
Skills:
- acreadiness-assess: Measure step. Wraps `agentrc readiness --json`
and hands off to the @ai-readiness-reporter agent. Bundles the
canonical report-template.html.
- acreadiness-generate-instructions: Generate step. Wraps
`agentrc instructions`. Defaults to .github/copilot-instructions.md
(Copilot-native). Asks flat vs nested. For monorepos, emits per-area
.github/instructions/<area>.instructions.md files with applyTo
globs taken from agentrc.config.json.
- acreadiness-policy: Maintain step. Helps pick, scaffold, or apply an
AgentRC policy (criteria.disable, criteria.override, extras,
thresholds) and wire it into CI via --fail-level.
Plugin (plugins/acreadiness-cockpit/):
Declarative plugin.json referencing the agent and three skills.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR review feedback
- Align documented slash-command names with plugin manifest:
/acreadiness-assess, /acreadiness-generate-instructions,
/acreadiness-policy (was /assess, /generate-instructions, /policy
inside SKILL bodies and argument-hints).
- Move the literal % from the report template into the substituted
values for {{passRate}} and {{threshold}} so an N/A value of '—'
no longer renders as '—%'. Updated the agent placeholder contract
accordingly.
- Point the report footer at the canonical plugin folder under
github/awesome-copilot instead of the personal source fork.
- Add explicit HTML-escaping rules to the agent: HTML-escape every
{{placeholder}} substitution, and replace </script with <\/script
inside the embedded JSON block so untrusted repo content cannot
break the markup or inject scripts.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update winapp CLI skill
* Updated skill for winapp cli based on review
* Updates to tighten up skill for winappcli
* Tighten skill to reduce token use
* Update to use steps
* Updates from review comments
* Fix spellcheck in build
* feat: Add Project Documenter Plugin with agents and skills
- Auto-discovers technology stack and project structure
- Generates architecture diagrams with draw.io
- Creates professional Word (.docx) output with embedded PNG images
- Includes agents for orchestration and skills for functionality
* chore: moved agents, skills and scripts to respective folders
* chore: ran npm run build for readme updates
* Update plugins/project-documenter/.github/plugin/plugin.json
Co-authored-by: Aaron Powell <me@aaron-powell.com>
* fix: readme.agent.md file
* fix: added the missing agent file and updated readme for the same
---------
Co-authored-by: Aaron Powell <me@aaron-powell.com>
* Add eyeball plugin: document analysis with inline source screenshots
Eyeball generates Word documents where every factual claim includes a
highlighted screenshot from the source material. Supports PDFs, Word
docs, and web URLs. Designed for verifying AI-generated document
analysis against the original source.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review feedback: soft imports, Windows Word support, doc fixes
- Make PyMuPDF/Pillow/python-docx imports soft so setup-check runs
without dependencies installed
- Add _check_core_deps() guard at CLI command entry points
- Add Windows Word detection in setup-check
- Remove references to setup.sh (not included in plugin)
- Fix usage docstring to show inline JSON instead of filename
- Use consistent <path-to>/eyeball.py paths in SKILL.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update eyeball plugin with bug fixes and Windows support
- Fix resource leaks (pdf_doc closed in finally blocks)
- Fix Windows Word COM automation (DispatchEx, proper cleanup)
- Fix converter order (Word before LibreOffice on Windows)
- Add source file existence checks with clear errors
- Fix Playwright cache detection for all platforms
- Fix setup.sh error handling (pipefail)
- Fix AppleScript path injection
- Fix highlight padding scaling with DPI
- Add pywin32 as Windows dependency
- Update README with Windows setup instructions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address Copilot code review feedback
- Fix browser leak in render_url_to_pdf (try/finally around Playwright)
- Remove setup.sh references from SKILL.md (not bundled in plugin)
- Use consistent <path-to>/eyeball.py paths in SKILL.md
- Update plugin README install instructions for awesome-copilot
- Add Windows pywin32 install step to SKILL.md
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: update _img_to_bytes docstring to reflect BytesIO return type
Agent-Logs-Url: https://github.com/github/awesome-copilot/sessions/048d704a-d78a-4a46-80d9-a155ff1e0d85
Co-authored-by: dvelton <48307985+dvelton@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Foundation skill (flowstudio-power-automate-mcp) rewritten to use the
server's new tool_search and list_skills meta-tools (v1.1.5+) for
discovery instead of cataloging every tool by hand. Cut from 519 to
295 lines. New "Which Skill to Use When" intent-keyed decision tree
points at the four specialized skills.
Build/debug/governance/monitoring updated for use-case framing. Tools
that genuinely cross tiers (e.g. debug skill borrowing
get_store_flow_summary) are correct when the workflow needs them — the
split between skills is by use-case intent, not by tool partition.
Build skill: new Step 3a Resolving Dynamic Connector Values covers
get_live_dynamic_options outer-parameter auto-bridge (v1.1.6+) and the
AadGraph user-picker fallback via shared_office365users.SearchUserV2
(replaces broken builtInOperation:AadGraph.GetUsers).
Debug skill: Outlook user-picker failure note pointing at the fallback.
Monitoring skill description disambiguates from the server's monitor-flow
tool bundle (runtime control of a single flow) — this skill is
tenant-wide health analytics over the cached store.
All 5 skills validate via npm run skill:validate; line endings LF only;
codespell clean; auto-regenerated docs/README.skills.md included.