docs(agenteye): say where the agenteye-cli skill comes from#561
Conversation
The CLI-skill page explained how to install the skill but never said where to get it. It claimed Failproof AI 'delivers the agenteye-cli/ folder to you on its own' and told readers to ask their Failproof AI contact if they did not have it - while the skill has been published in the public FailproofAI/skills collection all along, synced there from the CLI source. Add a 'Where to get it' section linking the repo and the skill folder, and lead the install with the skills CLI (npx skills add FailproofAI/skills --skill agenteye-cli), covering Claude Code project/global scope and Codex. The copy-the-folder instructions stay as the manual fallback. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe documentation identifies the public source of the ChangesAgenteye CLI documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested labels: Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Automated code review started - full review. Results will be posted here. |
|
✅ Build & test complete. Results:
|
🔍 Automated Code Review📋 Executive SummaryThis is a clean, well-executed docs PR that fixes a critical user-journey gap: the 📊 Change Architecturegraph TD
A["docs/agenteye/cli-skill.mdx<br/>Where to get it + npx skills install"] -->|"replaces"| B["Old: ask-your-contact pattern"]
A --> C["CHANGELOG.md<br/>0.0.14-beta.1 Docs entry"]
style A fill:#90EE90
style B fill:#FFB6C1
style C fill:#87CEEB
Legend: 🟢 New section | 🔵 Modified metadata | 🟡 Replaced content 🔴 Breaking Changes✅ No breaking changes detected. This is a docs-only PR — no code, no API, no schema, no config changes.
|
hermes-exosphere
left a comment
There was a problem hiding this comment.
Automated review: Approved. ✅
Docs-only PR with 2 files, 34 insertions. All external references verified — FailproofAI/skills is public, agenteye-cli/ exists there, npx skills CLI works. MDX validates clean (645 pages). Tests pass (2092/2092). One minor suggestion: consider adding --yes/-y flag note for scripted installs. No blockers.
VERDICT: APPROVED
hermes-exosphere
left a comment
There was a problem hiding this comment.
Automated review: Approved. ✅
…-locating launcher (#564) * fix(dev-hooks): route dogfood configs through a bun-locating launcher All 75 hook commands across the 8 project-level agent-CLI configs fired `bun bin/failproofai.mjs --hook <Event>` directly. Whenever the agent CLI was handed a PATH without bun the hooks died with exit 127 and the session ran with zero policy enforcement, silently. That is not exotic: installing bun through a version-managed node puts it in a single version's bin dir, so switching node versions drops it; a macOS GUI launch inherits a launchd PATH built without ~/.zshrc. docker-hook-sync/Dockerfile already carried a dedicated bun layer to work around exactly this. The configs now call scripts/dev-hook.mjs, a dev-only launcher that locates bun across PATH, $BUN_INSTALL/bin, ~/.bun/bin, the node execPath sibling, Homebrew, /usr/local and every ~/.nvm/versions/node/*/bin; vendors it via npm if genuinely absent; builds dist/index.js when missing so .failproofai/policies/*.mjs can resolve `import ... from 'failproofai'`; then delegates with stdio:"inherit" and propagates the exit code verbatim. node fronts a bun-only binary because bin/failproofai.mjs cannot run under node (bare package.json import plus an extensionless TypeScript specifier), while node is present whenever a node-based CLI is running at all. A `command -v node` pre-check fronts each command for the CLIs that are not node-based. It is a pre-check, never a `|| fallback`: exit 2 is the deny signal, so a reactive chain would re-fire on every legitimate denial. Stop-class events guard with exit 1 rather than 2 — exit 2 there means "retry", and a shell guard cannot read stop_hook_active to know it is already retrying, so it would loop forever. The launcher never writes to stdout: most CLIs' deny contracts are JSON there, and Claude's own permissionDecision arrives that way, so a stray byte would turn a denial into a silent allow. Subprocesses we run for our own purposes get their stdout discarded rather than inherited. Also fixes the opencode dev shim reporting a never-run hook as `exitCode: 0` (a silent fail-open), and corrects CONTRIBUTING's claim that Node alone suffices — `prepare` shells out to `bun build`, so it does not. Adds __tests__/hooks/dogfood-configs.test.ts, which reads every committed dogfood config and asserts the launcher form, guard, exit-code split and per-file command counts. These configs are generated by nothing and were read by nothing, which is how #337's opencode shim drifted and silently no-op'd block-read-outside-cwd repo-wide. Production users on `npx -y failproofai` are unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(changelog): correct the PR reference to #564 The entry cited #561 — the folder name this branch was cut in — but that number belongs to an already-merged agenteye docs PR. This work is #564. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…nt skill (#567) * docs(agenteye): document the agenteye-evaluator agent skill The evaluator skill was published to the public FailproofAI/skills collection (skills submodule d4930e2) but the docs never mentioned it, so the only way to find it was to browse the skills repo directly. Its sibling agenteye-cli has had a page since #507/#561; this gives the evaluator the same treatment. The page leads with the part that actually matters: the SDK surface is a decorator and two models, so the skill's value is the design loop it runs before any code exists — interview, read real sessions, propose 2-4 dimensions that are computable from the events and discriminating between a good and a bad run. It also carries the one thing a reader must know before letting an agent near it: agenteye-evaluator is NOT on public PyPI and the name is unclaimed, so a bare `pip install agenteye-evaluator` can pull a stranger's package into the service that reads production transcripts. The skill works down an install ladder instead; a bare pip install is the tell that the skill never loaded. Cross-links both directions so the page is reachable from the docs it belongs with: cli-skill (build vs read), evaluations, evaluation-suite. Only the English nav entry is added — the daily translate-docs cron picks up the new source and --update-nav regenerates the 14 localized navs from the English tabs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018GtpF2uFAcGw83gUTciNUm * docs: changelog entry for the agenteye-evaluator skill page (#567) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018GtpF2uFAcGw83gUTciNUm --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* docs(agenteye): document the agenteye-python-sdk agent skill Adds /agenteye/python-sdk-skill, completing the set: agenteye-cli has had a page since #561 and agenteye-evaluator since #567, but the skill that gets an agent emitting events in the first place had none — and it is the one the other two depend on. There is nothing to score and nothing to read until a session exists. The page leads with the silences rather than the API. The SDK's thirteen methods are easy to call and easy to get quietly wrong: no agent_start means every event lands and zero sessions appear; an unset environment files production runs under dev; outcome="failure" reads as success because only failed/error/timeout/rejected count; a typo'd field is accepted as a new field; events from a thread pool are dropped. None of them raise. So the page's weight sits on the skill's third step — verifying against the event files the SDK writes, which needs no server, no API key, and no network. Also fixes /agenteye/python-sdk, which told every reader to `pip install agenteye`. That name on public PyPI is the CLI — a different product sharing the distribution name — so the documented command installed the wrong thing and left `import agenteye` failing. The SDK is distributed privately, so the page now says that and points at onboarding rather than naming a command that cannot work. Cross-linked from cli-skill and evaluator-skill. English nav entry only; the daily translate-docs cron regenerates the 14 localized navs from the English tabs. * docs(agenteye): reference PR number in the changelog entry
The
/agenteye/cli-skillpage explained how to install the skill but never said where to get it.It claimed Failproof AI "delivers the
agenteye-cli/folder to you on its own" and told readers to "ask your Failproof AI contact if you don't have it" — while the skill has been published in the publicFailproofAI/skillscollection all along, synced there from the CLI source. So the page sent readers to a human for something they couldnpxin five seconds.What changed
FailproofAI/skills→skills/agenteye-cli/, and making the "nothing is gated" point concrete: the repo is public, no credential, nobody to ask.skillsCLI —npx skills add FailproofAI/skills --skill agenteye-cli -a claude-code— plus global scope and Codex variants, and thelist/update/removelifecycle.Everything above is taken from the skills repo's own README rather than invented.
Checks
FailproofAI/skillsis public (visibility: PUBLIC) before linking it from world-readable docs, and thatskills/agenteye-cli/exists there.bun run validate:mdx→ 645 pages parse cleanly.docs.jsonuntouched; the page was already registered in theObservability→SDK and CLInav. Verified all 630 nav entries still resolve (mintlify validatecould not finish locally — its npx install timed out — so this ran by hand; CI runs the real thing).## 0.0.14-beta.1 — 2026-07-17→### Docs.🤖 Generated with Claude Code
Summary by CodeRabbit
agenteye-cliskill.