Skip to content

feat(skill): V1.21.0-alpha SkillRunner 基础设施 + pentest-coordinator 首 skill LLM-driven#78

Merged
Wool-xing merged 1 commit into
mainfrom
feat/v1.21-skill-runner-infra
May 15, 2026
Merged

feat(skill): V1.21.0-alpha SkillRunner 基础设施 + pentest-coordinator 首 skill LLM-driven#78
Wool-xing merged 1 commit into
mainfrom
feat/v1.21-skill-runner-infra

Conversation

@Wool-xing
Copy link
Copy Markdown
Owner

Summary

skill rollout 起点 — V1.x rollout 收尾后下个里程碑。新加 SkillRunner 基础设施 (与 AgentRunner 平行) + pentest-coordinator 首 skill 落地, 解锁 14 rollout skill 后续流水线。

  • skill 15/32 active (8 production + 7 script + 15 rollout + 2 vision) — V1.20 14 → V1.21 15
  • 基础设施一次落地, 后续每 PR ≈ 1 skill 推进
  • 选 pentest-coordinator 作首 skill 理由: 编排型价值清晰 (LLM 读 PRD + 决定 5 子 skill 顺序 + 授权检查), 与 V1.19 pentest-tester expert 配对复用上下文

基础设施变更

  • runtime/orchestrator/agents/base.pySKILL_RUNNERS dict + register_skill deco + get_skill_runner (镜像 AGENT_RUNNERS pattern)
  • SkillRunner 复用 AgentRunner 抽象 (接口 100% 同), 仅 registry 独立避免 expert/skill 同名冲突
  • runtime/orchestrator/skills/__init__.py 新建 (镜像 agents/init.py)
  • runtime/orchestrator/skills/pentest_coordinator.py 新建首 skill
  • runtime/orchestrator/adapters/experts.py kind=="skill" 分支接 skill runner lookup
    • 路径优先级: catalog hard-block (rollout/vision/unknown) → expert runner → skill runner (新) → SCRIPT_MAP fallback

pentest-coordinator schema

LLM 读 PRD + 上游 pentest-tester expert 产物 → 5 阶段并发编排计划:

  1. recon (单线 20min) → pentest-recon skill
  2. vuln_assessment (5 攻击域并发 45min) → pentest-vuln skill
  3. exploit (5 攻击域并发 120min) → pentest-exploit skill
  4. post_exploit (optional 60min)
  5. report (单线 15min) → pentest-report skill

authorization_check (tagent.yml pentest.authorized + scope 必须显式) + subagent_pool (max=5 + aux_client 隔离) + refuse_conditions (4 条) + Shannon 哲学过滤 (仅 working PoC 入报告)。

变更

  • runtime/orchestrator/agents/base.py SKILL_RUNNERS 基础设施
  • runtime/orchestrator/skills/__init__.py + pentest_coordinator.py 新建
  • runtime/orchestrator/adapters/experts.py kind=skill 接 runner
  • 03-技能定义/pentest-coordinator.md SKILL_IMPL_STATUS rollout → production
  • runtime/tests/test_skill_runners.py 新建 (照 test_agent_runners.py pattern)
  • runtime/tests/test_impl_status_filter.py skill 数字 sync (8/7/15/2) + rollout 测试改 pentest-recon
  • README + ROADMAP 数字 + V1.21 Changelog

Test plan

  • pytest test_agent_runners.py — 34/34 PASS (expert layer 无 regression)
  • pytest test_skill_runners.py — 4/4 PASS (1 skill × 3 维度 + 1 sync 锚)
  • pytest test_impl_status_filter.py — 13/13 PASS (X4 防 mock 闭环不退化)
  • sanity import: from runtime.orchestrator.skills import get_skill_runner → 'pentest-coordinator' registered, mock_output schema OK, summary "渗透编排 5 阶段 / 并发上限 5 / 拒绝条件 4"
  • pre-commit (ruff / detect-secrets / 路径守 / agents-skills-utils 数量校验 / markdownlint) PASS
  • CI 13 jobs 待 PR 触发

下一步

继续 skill rollout 流水线 (V1.22+):

  • V1.22 candidate: mobile-testsystem-test (跟对应 expert 配对的细分用例 skill)
  • 或: pentest-recon / pentest-vuln / pentest-exploit / pentest-report (复用 pentest-coordinator 上下文)

…kill LLM-driven

skill rollout 起点 — 解锁 14 rollout skill 后续流水线。

基础设施 (runtime/orchestrator/agents/base.py + skills/):
- 新加 SKILL_RUNNERS dict + register_skill deco + get_skill_runner (与 AGENT_RUNNERS 平行)
- SkillRunner 复用 AgentRunner 抽象接口 (system_prompt / user_prompt / mock_output
  / summary / output_file / run), 仅 registry 独立避免 expert/skill 同名冲突
- runtime/orchestrator/skills/__init__.py 新建 (镜像 agents/__init__.py pattern)
- experts.py kind=="skill" 分支接 skill runner lookup (放在 SCRIPT_MAP fallback 前,
  路径优先级:catalog hard-block → expert runner → skill runner → SCRIPT_MAP fallback)

首 skill 落地 (pentest_coordinator.py):
- LLM 读 PRD + 授权 + 上游 pentest-tester expert 产物 → 5 阶段并发编排计划 JSON
- 字段:project_name / run_id / authorization_check / phases (5 阶段) / subagent_pool
  / outputs / refuse_conditions / risks / confidence
- Shannon 哲学 + 主宪章 §22 § 24 safe-by-default + subagent pool aux_client 隔离
- 仅输出编排计划文本,不调子 skill,不执行不可逆操作
- 法律责任在操作者侧 (SECURITY.md L84)

变更:
- runtime/orchestrator/agents/base.py 加 SKILL_RUNNERS + register_skill + get_skill_runner
- runtime/orchestrator/skills/__init__.py 新建
- runtime/orchestrator/skills/pentest_coordinator.py 新建
- runtime/orchestrator/adapters/experts.py kind="skill" 分支接 skill runner
- 03-技能定义/pentest-coordinator.md frontmatter SKILL_IMPL_STATUS rollout → production
- runtime/tests/test_skill_runners.py 新建 (照 test_agent_runners.py pattern;
  3 维度 × 1 skill = 3 case + 1 sync 锚 = 4 case)
- runtime/tests/test_impl_status_filter.py 数字 sync:skill 8 production + 7 script
  + 15 rollout + 2 vision;rollout 测试改 pentest-recon (仍 rollout)
- README.md 数字 catch-up
- ROADMAP.md V1.21 标 done + 当前状态 V1.21.0-alpha + skill rollout 起点说明
  + pentest-coordinator 行 done + Changelog
@Wool-xing Wool-xing merged commit 9094f48 into main May 15, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant