Token导航 LogoToken导航TokenDH.com
开发操作浏览器github未标认证来源可访问许可证需确认审计异常

jeo杰奥

Agent Skill

jeo 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

582

周安装

24

GitHub Stars

11

下载量

190
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:jeo(杰奥)
来源仓库:https://github.com/akillness/skills-template
仓库路径:skills/jeo
安装命令:
npx skills add https://github.com/akillness/skills-template --skill jeo
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/akillness/skills-template --skill jeo

简介

jeo 用于端到端多智能体工作流协调,适合在 Codex、Claude、Cursor、Gemini CLI 中运行复杂项目规划与执行时使用。

  • 集成 Serena Memory 实现跨代理状态管理,支持浏览器 UI 反馈循环与长期规则维护。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • jeo 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

JEO — Integrated Agent Orchestration

Keyword: jeo · annotate · UI-review · agentui (deprecated) | Platforms: Claude Code · Codex CLI · Gemini CLI · OpenCode Planning (plannotator) → Development (team/bmad) → QA (agent-browser + agentation) → Cleanup (worktree) with a persistent .jeo project ledger

When to use this skill

  • Run an end-to-end multi-agent workflow with an explicit planning gate
  • Add a browser-backed UI feedback loop with annotate or ui-review
  • Coordinate plan approval, execution, verification, and cleanup in one skill
  • Keep long-term rules, short-term system/test plans, active work items, and history in .jeo/

Rules (always enforced)

  1. Do not reopen the PLAN gate when the current plan hash already has a terminal result
  2. Only a revised plan resets plan_gate_status to pending
  3. Do not process agentation annotations before explicit submit/onSubmit opens the submit gate
  4. NEVER enter EXECUTE without plan_approved: true
  5. NEVER run plannotator or agentation with & (background)
  6. NEVER reopen an unchanged plan after approved, manual_approved, feedback_required, or infrastructure_blocked

Authoritative state: .omc/state/jeo-state.json


State Management

All state operations use one script: scripts/jeo-state-update.py

# Initialize (or resume if state exists)
python3 scripts/jeo-state-update.py init "<task>"

# Record checkpoint at each step
python3 scripts/jeo-state-update.py checkpoint <plan|execute|verify|verify_ui|cleanup>

# Record error (auto-increments retry_count; warns at >= 3)
python3 scripts/jeo-state-update.py error "<message>"

# Check resume point
python3 scripts/jeo-state-update.py resume

# Set any field (supports dot notation for nested keys)
python3 scripts/jeo-state-update.py set phase execute
python3 scripts/jeo-state-update.py set agentation.active true

.jeo Project Ledger

JEO keeps a human-readable project ledger in .jeo/ and a machine-readable state file in .omc/state/jeo-state.json.

PathPurpose
.jeo/long-term.mdDurable product intent, standing rules, validation contract
.jeo/short-term.mdCurrent system slice, unit-test plan, flow-test plan, exit criteria
.jeo/planned.mdPlanned queue and parking-lot items
.jeo/progress.mdCurrent delivery stage and timestamped updates
.jeo/history.mdAppend-only completion summaries
.jeo/tasks/queued/*.mdQueued work-item files
.jeo/tasks/active/*.mdSingle active work-item file (removed on completion after history is written)

Use scripts/jeo-project-sync.py to keep the ledger in sync:

python3 scripts/jeo-project-sync.py init "<task>"
python3 scripts/jeo-project-sync.py queue api-contract "Harden API contract validation"
python3 scripts/jeo-project-sync.py start-next
python3 scripts/jeo-project-sync.py stage <planning|development|qa|done>
python3 scripts/jeo-project-sync.py progress "<message>"
python3 scripts/jeo-project-sync.py complete <slug> "<summary>"
python3 scripts/jeo-project-sync.py status

Phase mapping

JEO phaseDelivery stage.jeo expectation
planplanningReview long-term.md, refine short-term.md, confirm the active work item
executedevelopmentUpdate the active task checklist and append implementation notes to progress.md
verify / verify_uiqaRecord unit/flow/browser verification evidence in short-term.md and progress.md
cleanup / donedoneAppend to history.md, check off planned.md, remove the task file, queue follow-up work if needed

Detailed ledger rules: references/DOT_JEO_LEDGER.md


Instructions

Execute steps in order. Each step only proceeds after the previous one completes.

STEP 0: Bootstrap

mkdir -p .omc/state .omc/plans .omc/logs
python3 scripts/jeo-state-update.py init "<detected task>"
python3 scripts/jeo-project-sync.py init "<detected task>"
python3 scripts/jeo-project-sync.py start-next

Claude Code only — hook self-check (run inline):

Verify the ExitPlanMode hook is using claude-plan-gate.py, not raw plannotator. If misconfigured, auto-repair:

import json, os, subprocess, sys

p = os.path.expanduser("~/.claude/settings.json")
if os.path.exists(p):
    s = json.load(open(p))
    for entry in s.get("hooks", {}).get("PermissionRequest", []):
        if entry.get("matcher") == "ExitPlanMode":
            for h in entry.get("hooks", []):
                cmd = h.get("command", "")
                if (cmd.strip() == "plannotator" or cmd.startswith("plannotator ")) and "claude-plan-gate" not in cmd:
                    print("[JEO][WARN] Hook uses raw plannotator — state tracking disabled. Auto-repairing...", file=sys.stderr)
                    for candidate in [
                        os.path.join(os.getcwd(), ".agent-skills/jeo/scripts/setup-claude.sh"),
                        os.path.expanduser("~/.claude/skills/jeo/scripts/setup-claude.sh"),
                        os.path.expanduser("~/.agent-skills/jeo/scripts/setup-claude.sh"),
                    ]:
                        if os.path.exists(candidate):
                            subprocess.run(["bash", candidate], check=False)
                            print("[JEO] Hook repaired. Restart Claude Code to apply.", file=sys.stderr)
                            break

Notify the user:

"JEO activated. Delivery stage: planning. .jeo ledger initialized. Add the annotate keyword if a UI feedback loop is needed."

STEP 1: PLAN / Planning (never skip)

python3 scripts/jeo-state-update.py checkpoint plan
python3 scripts/jeo-project-sync.py stage planning
python3 scripts/jeo-project-sync.py progress "Entered planning gate."
  1. Review .jeo/long-term.md, .jeo/short-term.md, .jeo/planned.md, .jeo/progress.md, and .jeo/history.md before changing scope.
  2. Write plan.md (include goal, steps, risks, completion criteria, and the current planning/development/QA expectations from .jeo/short-term.md).
  3. Update .jeo/short-term.md with:

- the system slice for this run - the unit-test plan - the flow/browser verification plan

  1. Invoke plannotator (per platform): Claude Code (hook mode — only supported method): Codex / Gemini / OpenCode (blocking CLI): # Skip if same plan hash already has terminal gate status # (check plan_gate_status and last_reviewed_plan_hash in jeo-state.json) # Resolve JEO scripts directory _JEO_SCRIPTS="" for _candidate in \ "${JEO_SKILL_DIR:-}/scripts" \ "$HOME/.agent-skills/jeo/scripts" \ "$HOME/.codex/skills/jeo/scripts" \ "$(pwd)/.agent-skills/jeo/scripts" \ "scripts"; do [-f "${_candidate}/plannotator-plan-loop.sh"] && _JEO_SCRIPTS="$_candidate" && break done # Auto-install plannotator if missing bash "${_JEO_SCRIPTS}/ensure-plannotator.sh" || exit 1 # Run blocking plan gate (no &) FEEDBACK_DIR=$(python3 -c "import hashlib,os; h=hashlib.md5(os.getcwd().encode()).hexdigest()[:8]; d=f'/tmp/jeo-{h}'; os.makedirs(d,exist_ok=True); print(d)") bash "${_JEO_SCRIPTS}/plannotator-plan-loop.sh" plan.md "${FEEDBACK_DIR}/plannotator_feedback.txt" 3

- Call EnterPlanMode → write plan content → call ExitPlanMode - The ExitPlanMode PermissionRequest hook fires plannotator automatically - Wait for the hook result before proceeding - NEVER call plannotator via MCP tool or CLI directly in Claude Code

  1. Check result:

- approved (exit 0) → set phase=execute, plan_approved=trueSTEP 2 - Feedback (exit 10) → read feedback, revise plan.md, repeat step 2 - Infrastructure blocked (exit 32) → Conversation Approval Mode: output plan.md to user, ask "approve" or provide feedback. WAIT for user response - Session exited 3 times (exit 30/31) → ask user whether to abort

  1. When the plan is approved, append a note to .jeo/progress.md describing what is ready to build and what QA must prove.

NEVER: enter EXECUTE without approved: true. NEVER: run with & background.


STEP 2: EXECUTE / Development

python3 scripts/jeo-state-update.py checkpoint execute
python3 scripts/jeo-state-update.py set phase execute
python3 scripts/jeo-project-sync.py stage development
python3 scripts/jeo-project-sync.py progress "Development started from the approved plan."

Auto-detect team availability:

TEAM_AVAILABLE=false
if [[ "${CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS:-}" =~ ^(1|true|yes)$ ]]; then
  TEAM_AVAILABLE=true
fi
python3 scripts/jeo-state-update.py set team_available $TEAM_AVAILABLE

Check next_mode in state (set by claude-plan-gate.py on approval):

ConditionAction
next_mode == "ralphmode"/omc:ralphmode "<task>"
Claude Code + omc + team/omc:team 3:executor "<task>"
Claude Code without teamError — run bash scripts/setup-claude.sh, enable AGENT_TEAMS=1, restart
Codex / Gemini / OpenCodeBMAD fallback: /workflow-init then /workflow-status

While executing, keep the active .jeo/tasks/active/*.md file current using:

# When plan and risks are locked
python3 scripts/jeo-project-sync.py update-checklist planning "Scope captured in plan.md" --done
python3 scripts/jeo-project-sync.py update-checklist planning "Risks and completion criteria written" --done

# As code, docs, and tests are completed
python3 scripts/jeo-project-sync.py update-checklist development "System changes implemented" --done
python3 scripts/jeo-project-sync.py update-checklist development "Unit tests added or updated" --done

NEVER fall back to single-agent execution in Claude Code.


STEP 3: VERIFY / QA

python3 scripts/jeo-state-update.py checkpoint verify
python3 scripts/jeo-state-update.py set phase verify
python3 scripts/jeo-project-sync.py stage qa
python3 scripts/jeo-project-sync.py progress "Entered QA verification."
  1. Browser verification with agent-browser (when browser UI is present): agent-browser snapshot http://localhost:3000
  2. annotate keyword detected → enter STEP 3.1
  3. Otherwise → enter STEP 4
  4. Record QA evidence in .jeo/short-term.md using: python3 scripts/jeo-project-sync.py record-evidence "unit tests: X passing, Y added" python3 scripts/jeo-project-sync.py record-evidence "flow check: <description>" python3 scripts/jeo-project-sync.py record-evidence "browser verification: <outcome>" # Then mark QA checklist items complete python3 scripts/jeo-project-sync.py update-checklist qa "Flow or integration checks recorded" --done python3 scripts/jeo-project-sync.py update-checklist qa "Browser / annotation verification recorded when applicable" --done

STEP 3.1: VERIFY_UI (only when annotate keyword is detected)

Pre-flight check (all platforms):

if ! curl -sf --connect-timeout 2 http://localhost:4747/health >/dev/null 2>&1; then
  echo "agentation-mcp not running — skipping VERIFY_UI, proceeding to CLEANUP"
  python3 scripts/jeo-state-update.py error "agentation-mcp not running; VERIFY_UI skipped"
  # Proceed to STEP 4 (graceful skip, no exit 1)
fi

If server is running:

  1. Set state: phase=verify_ui, agentation.active=true, agentation.submit_gate_status=waiting_for_submit
  2. Wait for explicit human submit — do NOT read /pending before submit

- Claude Code: wait for UserPromptSubmit hook - Others: wait until ANNOTATE_READY (or AGENTUI_READY alias)

  1. After submit → set agentation.submit_gate_status=submitted
  2. Process annotations:

- Claude Code (MCP): agentation_watch_annotations (blocking, batchWindowSeconds:10, timeoutSeconds:120) - Others (HTTP): poll GET http://localhost:4747/pending with timeout

  1. Per-annotation loop:

- acknowledge → navigate code via elementPath (CSS selector) → apply fix → resolve - Dismissed annotations: skip code changes, increment annotations.dismissed

  1. count=0 or timeout → proceed to STEP 4
  2. If QA discovers follow-up work, add it immediately: python3 scripts/jeo-project-sync.py queue follow-up "<new work item>"

NEVER: process draft annotations before submit/onSubmit.


STEP 4: CLEANUP

python3 scripts/jeo-state-update.py checkpoint cleanup
python3 scripts/jeo-state-update.py set phase cleanup
python3 scripts/jeo-project-sync.py stage done
  1. Check for uncommitted changes (warn if present)
  2. Complete the active .jeo task and write the permanent summary: python3 scripts/jeo-project-sync.py complete <slug> "<what shipped, what QA proved, what follow-up remains>"
  3. If more work is needed, queue it before leaving cleanup: python3 scripts/jeo-project-sync.py queue next-step "<follow-up work>"
  4. Run worktree cleanup: bash scripts/worktree-cleanup.sh || git worktree prune
  5. Set phase=done

Quick Start

# Install JEO
npx skills add https://github.com/akillness/oh-my-skills --skill jeo

# Full install (all tools + components)
bash scripts/install.sh --all

# Check status
bash scripts/check-status.sh

# Per-platform setup
bash scripts/setup-claude.sh      # Claude Code hooks
bash scripts/setup-codex.sh       # Codex CLI config
bash scripts/setup-gemini.sh      # Gemini CLI hooks
bash scripts/setup-opencode.sh    # OpenCode plugin

Platform Configuration

Claude Code

Hook config (~/.claude/settings.json):

{
  "hooks": {
    "PermissionRequest": [{
      "matcher": "ExitPlanMode",
      "hooks": [{"type": "command", "command": "python3 ~/.claude/skills/jeo/scripts/claude-plan-gate.py", "timeout": 1800}]
    }],
    "UserPromptSubmit": [{
      "matcher": "*",
      "hooks": [{"type": "command", "command": "python3 ~/.claude/skills/jeo/scripts/claude-agentation-submit-hook.py", "timeout": 300}]
    }]
  },
  "mcpServers": {
    "agentation": {"command": "npx", "args": ["-y", "agentation-mcp", "server"]}
  }
}

Codex CLI

Config (~/.codex/config.toml):

notify = ["python3", "~/.codex/hooks/jeo-notify.py"]
[tui]
notifications = ["agent-turn-complete"]
developer_instructions must be a top-level string (not a [table]), or Codex fails with invalid type: map, expected a string.

Gemini CLI

Instructions in ~/.gemini/GEMINI.md. AfterAgent hook as safety net in ~/.gemini/settings.json. Agent must call plannotator directly in blocking mode to receive feedback in the same turn.

OpenCode

Plugins in opencode.json. Slash commands: /jeo-plan, /jeo-exec, /jeo-annotate, /jeo-cleanup.


State File Reference

Path: {worktree}/.omc/state/jeo-state.json

FieldValuesDescription
phase`plan\execute\verify\verify_ui\cleanup\done`Current workflow phase
delivery_stage`planning\development\qa\done`Human-readable stage mirrored into .jeo/progress.md
plan_approvedboolWhether plan was approved
plan_gate_status`pending\approved\feedback_required\infrastructure_blocked\manual_approved`Plan gate result
plan_current_hashsha256 or nullCurrent plan.md hash
last_reviewed_plan_hashsha256 or nullHash of last reviewed plan
plan_review_method`plannotator\manual\null`How plan was approved
team_availableboolWhether team mode is available
retry_countintError retry count (ask user at >= 3)
last_errorstring or nullMost recent error
checkpointstring or nullLast entered phase (for resume)
jeo.rootpathProject-local planning ledger root
jeo.active_taskstring or nullActive .jeo work item slug
jeo.last_sync_atISO 8601 or nullLast .jeo sync timestamp
agentation.activeboolWhether VERIFY_UI watch loop is running
agentation.submit_gate_status`idle\waiting_for_submit\submitted`Submit gate state
agentation.exit_reason`all_resolved\timeout\user_cancelled\error\null`How watch loop ended

Examples

Example 1: New feature with .jeo ledger

python3 scripts/jeo-project-sync.py init "Build exportable analytics dashboard"
python3 scripts/jeo-project-sync.py start-next
python3 scripts/jeo-project-sync.py stage planning

Then run the normal JEO flow: plan approval → development → QA → cleanup. When done:

python3 scripts/jeo-project-sync.py complete 000-primary "Dashboard shipped with unit tests, flow checks, and browser verification."

Example 2: Add follow-up work discovered during QA

python3 scripts/jeo-project-sync.py queue qa-follow-up "Fix chart legend overlap on small screens"
python3 scripts/jeo-project-sync.py progress "Queued QA follow-up from annotate review."

Best practices

  1. Plan first: always review the plan with ralph+plannotator before executing (catches wrong approaches early)
  2. Team first: omc team mode is most efficient in Claude Code
  3. bmad fallback: use BMAD in environments without team (Codex, Gemini)
  4. Keep .jeo honest: long-term is durable, short-term is current, history is append-only
  5. One active task file: keep only one file under .jeo/tasks/active/ at a time
  6. Complete means summarize + delete task file: write history first, then remove the task file
  7. Worktree cleanup: run worktree-cleanup.sh immediately after work completes (prevents branch pollution)
  8. State persistence: use .omc/state/jeo-state.json and .jeo/ together across sessions
  9. annotate: use the annotate keyword to run the agentation watch loop for complex UI changes (precise code changes via CSS selector). agentui is a backward-compatible alias.

Troubleshooting

IssueSolution
plannotator not runningJEO auto-runs ensure-plannotator.sh; if it fails: bash scripts/check-status.sh
plannotator not opening (Claude Code)It's hook-only. Use EnterPlanModeExitPlanMode. Check: cat ~/.claude/settings.json
Same plan re-reviewed (Codex)Compare last_reviewed_plan_hash with current plan.md hash — skip if match + terminal status
Codex startup failureRe-run bash scripts/setup-codex.shdeveloper_instructions must be a top-level string
team mode not workingRun bash scripts/setup-claude.sh, restart Claude Code, verify AGENT_TEAMS=1
agentation not openingCheck curl http://localhost:4747/health and /sessions
annotation not in codeInclude summary field when calling agentation_resolve_annotation
.jeo not updatingRun python3 scripts/jeo-project-sync.py status and ensure .jeo/ exists at the git root
worktree conflictgit worktree prune && git worktree list

References

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.54%
按下载量换算69

Claude

29.12%
按下载量换算55

Cursor

19.32%
按下载量换算37

Gemini CLI

10.16%
按下载量换算19

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills