Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ Legend: ✅ supported | ⚠️ non-standard | ❌ blocked | ➖ not applicable

| Feature | Claude Code | Codex | Cursor | Open Code | Pi |
| --- | --- | --- | --- | --- | --- |
| **AGENTS.md** | ⚠️ [issue](https://github.com/anthropics/claude-code/issues/6235) - `CLAUDE.md` (symlink) | ✅ [docs](https://developers.openai.com/codex/guides/agents-md) | ✅ [docs](https://cursor.com/docs/rules) | ✅ [docs](https://opencode.ai/docs/rules/) | ✅ [docs](https://pi.dev/docs/latest/usage#context-files) |
| **AGENTS.md** | ✅ [release](https://github.com/anthropics/claude-code/releases/tag/v2.1.277) - 2.1.277+ | ✅ [docs](https://developers.openai.com/codex/guides/agents-md) | ✅ [docs](https://cursor.com/docs/rules) | ✅ [docs](https://opencode.ai/docs/rules/) | ✅ [docs](https://pi.dev/docs/latest/usage#context-files) |
| **.agents/skills** | ⚠️ [issue](https://github.com/anthropics/claude-code/issues/31005) - `.claude/skills` (symlink) | ✅ [docs](https://developers.openai.com/codex/skills) | ✅ [docs](https://cursor.com/docs/skills) | ✅ [docs](https://opencode.ai/docs/skills) | ✅ [docs](https://pi.dev/docs/latest/skills) |
| **.agents/mcp.json** | ⚠️ [docs](https://code.claude.com/docs/en/mcp) - `.mcp.json` (symlink) | ⚠️ [docs](https://developers.openai.com/codex/mcp) - `.codex/config.toml` | ⚠️ [docs](https://cursor.com/docs/mcp) - `.cursor/mcp.json` (symlink) | ✅ [extension](https://opencode.ai/docs/plugins/) | ✅ [extension](https://pi.dev/docs/latest/extensions) |
| **.agents/hooks.json** | ⚠️ [docs](https://code.claude.com/docs/en/hooks) - `.claude/settings.json` | ⚠️ [docs](https://developers.openai.com/codex/hooks) - `.codex/hooks.json` (symlink) | ⚠️ [docs](https://cursor.com/docs/hooks) - `.cursor/hooks.json` | ✅ [extension](https://opencode.ai/docs/plugins/) | ✅ [extension](https://pi.dev/docs/latest/extensions) |
| **Language Server Protocol** | [docs](https://code.claude.com/docs/en/tools-reference#lsp-tool-behavior) | ❌ [issue](https://github.com/openai/codex/issues/8745) | ✅ [docs](https://docs.cursor.com/context/) | ✅ [docs](https://opencode.ai/docs/lsp/) | ✅ [extension](https://pi.dev/docs/latest/extensions) |
| **MCP Apps/UI** | ✅ [docs](https://claude.com/docs/connectors/building/mcp-apps/getting-started) (desktop) | ❌ [issue](https://github.com/openai/codex/issues/21019) | ✅ [docs](https://cursor.com/changelog/2-6) | ➖ cli | ➖ cli |
| **Language Server Protocol** | ⚠️ [docs](https://code.claude.com/docs/en/tools-reference#lsp-tool-behavior) - plugin required; unavailable in cloud sessions | ❌ [issue](https://github.com/openai/codex/issues/8745) | ✅ [docs](https://docs.cursor.com/context/) | ✅ [docs](https://opencode.ai/docs/lsp/) | ✅ [extension](https://pi.dev/docs/latest/extensions) |
| **MCP Apps/UI** | ✅ [docs](https://claude.com/docs/connectors/building/mcp-apps/getting-started) (desktop) | ⚠️ [docs](https://learn.chatgpt.com/docs/plugins) - desktop only | ✅ [docs](https://cursor.com/changelog/2-6) | ➖ cli | ➖ cli |

## Hook Events

Expand All @@ -23,7 +23,7 @@ All platforms call the same hook scripts. Event names and tool filters differ by
| --- | --- | --- | --- | --- |
| Session setup | `.agents/hooks/session-start.sh` | `SessionStart` + `startup` | `SessionStart` + `^startup$` | `sessionStart` |
| Shell guard | `.agents/hooks/pre-tool-use-bash.sh` | `PreToolUse` + `Bash` | `PreToolUse` + `^Bash$` | `preToolUse` + `Shell` |
| Write guard | `.agents/hooks/pre-tool-use-edit-write.sh` | `PreToolUse` + `Edit\|Write` | `PreToolUse` + `Edit\|Write` | `preToolUse` + `Write\|Edit` |
| Write guard | `.agents/hooks/pre-tool-use-edit-write.sh` | `PreToolUse` + `Edit\|Write` | `PreToolUse` + `Edit\|Write` | `preToolUse` + `Write` |
| Format and lint | `.agents/hooks/post-tool-use-edit-write.sh` | `PostToolUse` + `Edit\|Write` | `PostToolUse` + `Edit\|Write` | `postToolUse` + `Write\|Edit` |
| End-of-turn checks | `.agents/hooks/stop.sh` | `Stop` | `Stop` | `stop` |

Expand Down
16 changes: 10 additions & 6 deletions .agents/skills/agent-availability-report/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: agent-availability-report
description: Generate a production availability report for NVIDIA Elements packages and documentation.
description: Generate a production availability report for NVIDIA Elements packages, skill registry, and documentation.
---

# Agent Availability Report
Expand All @@ -9,7 +9,7 @@ You are an Elements package availability verification agent.

## Goal

Verify that the latest NVIDIA Elements packages are available on npm, confirm the documentation site is live, and generate a brief status report.
Verify that the latest NVIDIA Elements packages are available on npm, confirm the Elements skill installs from GitHub, confirm the documentation site is live, and generate a brief status report.

## Prepare the Run

Expand All @@ -32,6 +32,7 @@ The script is the source of truth for:
- npm metadata checks
- npm install checks
- Node package resolution checks
- Elements skill installation through the public `skills` CLI
- docs URL checks
- package version comparison
- temporary project creation and cleanup
Expand All @@ -42,7 +43,7 @@ Do not repeat those lists or the report format in this skill. Update `scripts/ge

## Script Behavior

The CLI prints the formatted report to standard output. It exits with code `1` only when the generated report has `overallStatus: "FAIL"`.
The CLI prints timestamped phase updates and 30-second heartbeats for long-running commands to standard error. Concurrent checks can finish in any order. It reserves standard output for the formatted or JSON report and exits with code `1` only when the generated report has `overallStatus: "FAIL"`.

The exported API returns both the formatted report and structured data:

Expand All @@ -52,18 +53,21 @@ const { formattedReport, report } = await generateReport();

Return or surface `formattedReport` as the generated report.

The script creates a temporary npm project with:
The script creates temporary projects with:

- `mkdtemp(path.join(os.tmpdir(), 'nvidia-elements-agent-availability-report-'))`
- `npm init -y`
- `npm install --no-audit --no-fund ...`
- `mkdtemp(path.join(os.tmpdir(), 'nvidia-elements-agent-skill-availability-'))`
- `npx skills@1.7.0 add https://github.com/nvidia/elements --skill elements`
- verification that `.agents/skills/elements/SKILL.md` declares the `elements` skill

It removes the temporary project before returning the report.
It removes the temporary projects before returning the report.

## Report Workflow

1. Run the deterministic script from the repository root.
2. Return or surface the exact formatted report produced by the script.
2. Return or surface the formatted report produced by the script.
3. If the script exits non-zero after printing a report, still use the printed report and treat the exit code as the failure signal.

Do not rewrite, summarize, or recompute the generated report.
Expand Down
Loading
Loading