Communitygithub.com

YaoApp/yao

✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.

¿Qué es yao?

yao is a Claude Code agent skill that ✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add YaoApp/yao

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Secret Management

Agents can read user-configured secrets at runtime using the tai tool CLI. Secrets are encrypted at rest (AES-256-GCM) and decrypted only when read.

Available Tools

ToolDescription
secret_listList secret names and descriptions (no values)
secret_readRead a single secret value by name

Usage

Bash

# List available secrets
tai tool secret_list

# Read a secret
TOKEN=$(tai tool secret_read '{"name": "GITHUB_TOKEN"}' | jq -r '.value')
git clone "https://${TOKEN}@github.com/org/repo.git"

Node.js

const { execSync } = require("child_process");

function readSecret(name) {
  const raw = execSync(
    `tai tool secret_read '${JSON.stringify({ name })}'`,
    { encoding: "utf-8" }
  );
  return JSON.parse(raw).value;
}

const token = readSecret("GITHUB_TOKEN");

Python

import json
import subprocess

def read_secret(name: str) -> str:
    result = subprocess.run(
        ["tai", "tool", "secret_read", json.dumps({"name": name})],
        capture_output=True, text=True, check=True,
    )
    return json.loads(result.stdout)["value"]

token = read_secret("GITHUB_TOKEN")

PowerShell

function Read-Secret {
    param([string]$Name)
    $json = @{ name = $Name } | ConvertTo-Json -Compress
    $result = tai tool secret_read $json | ConvertFrom-Json
    return $result.value
}

$token = Read-Secret -Name "GITHUB_TOKEN"

Security Rules

  1. Never print or log secret values — Do not write secrets to stdout, stderr, or any log file.
  2. Never write secrets to files — Exception: SSH keys may be written to ~/.ssh/ with chmod 600 permissions.
  3. Never send secrets to the LLM — Secret values must not appear in prompt content, system messages, or tool call results that are forwarded to the model.
  4. Scope isolation — Secrets are scoped per user per agent. An agent can only access secrets configured for it.
  5. Audit trail — Every secret_read call is logged in the audit trail with the caller's identity.

Skills relacionados