Skip to content
Back to skills

Aevatar Codex Exec Workflow Sample

ASecurity

Mount and run harmless Aevatar workflows that prove codex_exec works through either the operator-managed chrono-sandbox/gVisor target or a private NyxID node-backed SSH target. Use after managed eligibility and required NyxID UserServices are ready, or after configuring a personal SSH node; also use when diagnosing typed managed or private-route failures before real tasks.

  • 37 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 2, 2026
ai-agentsgoshellnoderailsgitapi

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add ChronoAIProject/NyxID --skill aevatar-codex-exec-workflow-sample --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aevatar Codex Exec Workflow Sample?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aevatar Codex Exec Workflow Sample
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chronoaiproject-aevatar-codex-exec-workflow-sample/badge)](https://www.skillsdirectory.com/skills/chronoaiproject-aevatar-codex-exec-workflow-sample)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aevatar-codex-exec-workflow-sample
description: Mount and run harmless Aevatar workflows that prove codex_exec works through either the operator-managed chrono-sandbox/gVisor target or a private NyxID node-backed SSH target. Use after managed eligibility and required NyxID UserServices are ready, or after configuring a personal SSH node; also use when diagnosing typed managed or private-route failures before real tasks.
version: "3.1"
metadata:
  category: mixed
  output-type: text
  runtime:
    - aevatar-workflow
  tool-list:
    - aevatar_start_workflow
    - codex_exec
  tag:
    - aevatar
    - codex-exec
    - nyxid
    - chrono-sandbox
    - verification
    - workflow
---

# Verify Aevatar codex_exec

## Choose exactly one proof

Mount this skill from Ornn and run one bundled workflow for the configured target:

- `codex-exec-check`: canonical managed chrono-sandbox/gVisor proof with no caller routing.
- `codex-exec-private-ssh-check`: private NyxID node-backed SSH proof with only service and principal routing.

Configuration, health, UserService, node-online, and direct SDK/SSH checks are prerequisites, not completion evidence. Report `codex_exec` as usable only after the selected Aevatar workflow returns exact `CODEX_EXEC_READY` under that target's result contract.

## Guardrails

- Fetch the public skill from Ornn. Do not validate only a local workflow copy.
- Keep the fixed probe prompt. Do not replace it with a real task.
- Never place tokens, keys, `auth.json`, `CODEX_HOME`, local paths, model flags, images, providers, or sandbox flags in workflow input.
- Do not mix target fields. Managed requires `target.kind=managed_sandbox` plus `workspace.kind=empty_git`; private requires nested `target.private_ssh` and no workspace.
- Managed callers cannot choose a repository, workspace path, image, model, provider, credential, shell, Codex profile, approval policy, or sandbox flags.
- Run through Aevatar as the native NyxID account being verified. Never pass a raw token. Before
  the managed proof, use the explicit authenticated credential lifecycle: `POST
  /api/managed-codex/credential`, then `GET /api/managed-codex/credential`. Continue only when
  `execution_ready=true` and `execution_readiness_reason=ready`; `status=active` alone is
  insufficient.
- Normal `codex_exec` execution is credential-read-only. It never provisions, reconciles, rotates,
  repairs, or retries credentials.

## Mount

Call `use_skill` with workflow mounting enabled:

```json
{
  "skill": "aevatar-codex-exec-workflow-sample",
  "mount_workflows": true
}
```

Wait for the mount command to be accepted. Read-model visibility can propagate asynchronously. If mounting is unavailable, fetch this exact public Ornn version and submit the corresponding YAML under `assets/` as explicit inline draft-run input; state clearly that it was an inline run.

## Managed proof

Prepare and prove in this order:

1. Authenticated `POST /api/managed-codex/credential` idempotently provisions or reconciles the
   committed credential descriptor.
2. `GET /api/managed-codex/credential` reads projected status. Stop unless
   `execution_ready=true` and `execution_readiness_reason=ready`, even when `status=active`.
3. Mount and run the canary below. Do not loop ordinary `codex_exec` calls as a repair mechanism.

Start the canonical workflow without caller-controlled routing:

```json
{
  "workflow_id": "codex-exec-check",
  "inputs": {
    "prompt": ""
  },
  "wait": "stream"
}
```

The workflow owns this exact `codex_exec` payload:

```json
{
  "target": { "kind": "managed_sandbox" },
  "workspace": { "kind": "empty_git" },
  "prompt": "Reply with exactly CODEX_EXEC_READY",
  "timeout_secs": 180
}
```

Success requires all of:

- `status` equal to `succeeded`;
- `target` equal to `managed_sandbox`;
- `output` equal to `CODEX_EXEC_READY` after trimming;
- `exit_code` equal to `0`;
- a non-empty sanitized `diagnostic_id`.

`elapsed_ms` may be present but is not required for success. Treat a missing required field, extra model text, or any typed failure as a failed verification.

Keep the complete deadline chain ordered so each outer layer can observe the inner timeout:

- chrono-sandbox/Codex execution: `timeout_secs=180`;
- Aevatar managed request: `300` seconds;
- NyxID/ingress: at least `315` seconds;
- NyxID client: `330` seconds;
- workflow canary step: at least `360` seconds (`timeout_ms=360000` in the bundled workflow).

In short: `180s < 300s < >=315s < 330s < >=360s`. Do not shrink the workflow canary to the old
200-second budget.

## Private SSH proof

Start the private workflow with exactly the environment-owned service and Unix principal:

```json
{
  "workflow_id": "codex-exec-private-ssh-check",
  "inputs": {
    "prompt": "{\"service\":\"your-service-slug\",\"principal\":\"your-unix-user\"}"
  },
  "wait": "stream"
}
```

The workflow owns this target shape and deliberately has no `workspace`:

```json
{
  "target": {
    "kind": "private_ssh",
    "private_ssh": {
      "service": "your-service-slug",
      "principal": "your-unix-user"
    }
  },
  "prompt": "Reply with exactly CODEX_EXEC_READY",
  "timeout_secs": 300
}
```

Pass the SSH UserService slug or UUID, never a node ID. Success requires the NyxID SSH response to have `exit_code=0`, `timed_out=false`, and stdout equal to `CODEX_EXEC_READY` after trimming. Private SSH output is returned as the original NyxID SSH response; it is not converted into the managed `status/target/diagnostic_id` JSON shape.

## Diagnose by boundary

Preserve the exact typed error and sanitized `diagnostic_id`, if present. Do not request raw tokens, raw upstream bodies, `auth.json`, agent-key values, or an unredacted runner environment.

- `target_not_configured` or `managed_target_disabled`: the Aevatar host does not expose the selected managed target; repair host configuration.
- `managed_feature_not_enabled`: the native NyxID subject is outside the current managed rollout; repair eligibility, not a sandbox.
- `managed_user_services_unavailable`: the user does not have the required directly owned active `chrono-sandbox` and usable `chrono-llm-public` UserServices; repair NyxID service readiness.
- `managed_credential_unavailable`: Aevatar could not resolve its per-user managed invocation
  credential. Re-run the explicit authenticated credential `POST`, read `GET`, and continue only
  when execution readiness is true; ordinary execution does not repair it. Inspect descriptor and
  secret-vault readiness without exposing the secret.
- `managed_proxy_authorization_denied`: NyxID denied the exact proxy request; inspect user/service ownership and the current internal delegation scope.
- `managed_proxy_target_unavailable`: the exact `chrono-sandbox` UserService or `/codex/execute` route is unavailable.
- `managed_proxy_timeout`: the NyxID proxy/chrono-sandbox request timed out. Preserve the diagnostic evidence and inspect that transport boundary first.
- `managed_proxy_unavailable`: the proxy/chrono service is temporarily unavailable or capacity-limited.
- `managed_response_invalid` or `managed_response_too_large`: chrono-sandbox violated the bounded terminal-response contract.
- `managed_execution_nonzero_exit`: the one-shot Codex runner reached a terminal non-zero exit; inspect sanitized runner diagnostics.
- Private `node_offline`, service, target, principal, key, or host-key errors belong to the user's NyxID SSH route.
- Private Codex PATH, login, Git-root, wrapper, or timeout errors belong to the selected host and fixed runner wrapper.

The managed workload runs under gVisor, which is the current isolation boundary. Codex runs inside it with the fixed runtime profile. Landlock, Bubblewrap, sandbox-side Credential Vault substitution, and a TLS credential proxy are not deployed in this runtime and are not repair paths for these failures.

Use `aevatar-codex-exec-node-setup` for detailed setup or repair after locating the boundary. Never declare readiness from configuration inspection alone.

Files in this skill

  • SKILL.md7.9 KB
  • assets/codex-exec-check.yaml542 B
  • assets/codex-exec-private-ssh-check.yaml1.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.