Skip to content

Tracking issue for PR #886: Agent Skill authoring and validation platform (OSPP task 26d8e0076) #934

Open

Description

@zjncs

Summary

PR #886 implements the Agent Skill creation and validation platform for OSPP 2026 task 26d8e0076 (面向 SkillHub 的 Agent Skill 创建与验证平台). It closes the gap named in the task brief: users currently author skills by hand — this adds a unified draft → validate → fix → publish loop on top of SkillHub.

What the PR delivers

  • Draft authoring: draft CRUD with scaffolded SKILL.md, file editor with optimistic concurrency (expectedRevision), resource files
  • Runtime binding: local-script and OpenAI-compatible agents, tool allowlists; MCP server declarations (http/sse/stdio) with server-side probing during validation
  • Three-layer validation: structure (SKILL.md rules) / config (binding, MCP reachability) / behavior (script + prompt tasks with assertions)
  • Fix loop: findings with locations and suggested patches, diff preview, one-click apply (revision bump), re-validation history
  • Publish integration: validated drafts submit into the existing pipeline (security scan → review → publish)
  • Security: SSRF policy on OpenAI/MCP endpoints (cloud-metadata always blocked), stdio MCP off by default with docker isolation, envRefs allowlist; docker execution-mode default with startup guard
  • RISC-V64: repeatable real-board CI on physical VisionFive 2 hardware (task requirement field: 支持架构 RISC-V64)

Verification evidence

  • Backend: 1085 tests, 0 failures; live smoke 39/39 (scripts/authoring-smoke-test.sh); publish-pipeline E2E 16/16 (scripts/authoring-publish-e2e.sh)
  • Real-board RISC-V64 CI (free board runners, fork-guarded workflow): authoring flow green 7 consecutive runs; full backend suite on the board BUILD SUCCESS — 1081 tests, 0 failures (green run)
  • DCO ✅ / CLA ✅, MERGEABLE, rebased on the latest main; design doc docs/26-skill-authoring-platform.md, example skill in examples/skill-authoring/

Scale

19 commits, 150 files changed (+17.9k / −971) — larger than the usual PR here, we split it into 15 reviewable commits by layer.

Ask

The PR has been Ready with all checks green for several days. Could a maintainer take a look and advise on the review path? Happy to split it, — the mentor is cc'd (ylhu16@iflytek.com) in case the OSPP timeline needs it landed sooner.

Activity

  1. added
    triage/core交由 core maintainer 结合 AI 协同处理 / Issue should be handled by a core maintainer with AI support.
    priority/p1高优先级 / High priority triage bucket.
    effort/m中等改动,存在一定协同成本 / Medium change with noticeable coordination cost.
    risk/high涉及安全、鉴权、迁移或公共契约 / Touches security, auth, migrations, or public contracts.
    on Oct 9, 2026
  2. github-actions commented on Oct 9, 2026

    @github-actions
    Contributor

    Issue Triage

    • Route: triage/core
    • Priority: priority/p1 (3.7/5)
    • Effort: effort/m (3/5)
    • Confidence: 3/5
    • Risk: high
    • Analysis Mode: rules-only

    Why

    • Touches core SkillHub workflows (publish, review, auth).
    • Contains urgency signals (failure, security).
    • Text suggests a bounded change (docs).

    High-Risk Signals

    • Mentions sensitive areas (auth).

    Maintainer Brief

    Summary: PR #886 implements the Agent Skill creation and validation platform for OSPP 2026 task 26d8e0076 (面向 SkillHub 的 Agent Skill 创建与验证平台). It closes the gap named in the task brief: users currently author skills by hand — this adds a unified draft → validate → fix → publish loop on top of SkillHub.
    Why core:

    • Touches a higher-risk area where automated fixes should not be trusted without maintainer review.
    • The issue is important, but a maintainer still needs to tighten scope before implementation.
    • Mentions sensitive areas (auth).
      Reproduction or operator path:
    • Recreate the operator flow described in the issue and confirm the current failure mode.
      Suspected areas:
    • CLI publish command option parsing and namespace-aware publish flow
    • Authentication, session, and identity integration
      Risks to watch:
    • Mentions sensitive areas (auth).
    • Namespace-scoped behavior can regress default publish/install flows if fallback routing is not preserved.
      Validation checklist:
    • Validate the primary reported workflow end-to-end after the fix.
    • Verify both namespace-scoped behavior and the default non-namespace flow.

    Next Action

    • Hand the issue to a core maintainer and use a local programming agent for reproduction, scoping, and validation.

    问题分流结果

    • 路由: triage/core
    • 优先级: priority/p1 (3.7/5)
    • 修复投入: effort/m (3/5)
    • 信息完整度: 3/5
    • 风险: 高
    • 分析模式: rules-only

    原因

    • 涉及 SkillHub 核心流程(publish, review, auth)
    • 包含紧急信号(failure, security)
    • 文本显示改动范围较可控(docs)

    高风险信号

    • 提到敏感区域(auth)

    维护者交接摘要

    概要: PR #886 implements the Agent Skill creation and validation platform for OSPP 2026 task 26d8e0076 (面向 SkillHub 的 Agent Skill 创建与验证平台). It closes the gap named in the task brief: users currently author skills by hand — this adds a unified draft → validate → fix → publish loop on top of SkillHub.
    为何进入 core:

    • 触及高风险区域,未经 maintainer 审查不应直接信任自动修复
    • 问题本身重要,但仍需要 maintainer 先收敛范围再实施
    • 提到敏感区域(auth)
      复现路径或操作路径:
    • 按 issue 中描述的操作路径复现,并确认当前失败模式
      怀疑影响区域:
    • CLI 发布命令参数解析与 namespace 感知发布流程
    • 认证、会话与身份集成
      重点风险:
    • 提到敏感区域(auth)
    • namespace 范围行为如果没有保留 fallback routing,可能回归默认 publish/install 流程
      验证清单:
    • 修复后端到端验证主报告流程
    • 同时验证 namespace 范围行为与默认非 namespace 流程

    下一步

    • 交给 core maintainer,并结合本地编程Agent协助完成复现、收敛范围与验证闭环
  3. FenjuFu commented on Oct 10, 2026

    @FenjuFu
    Member

    Thanks for the detailed write-up and the RISC-V evidence. Given the size and the security-sensitive surface (endpoint probing, stdio MCP, docker execution), we'd like to review this in layers rather than as one 18k-line PR. Suggested path:

    1. Rebase on main and renumber the migration: main now has V66__promotion_update.sql and V67__promotion_revocation_request.sql, so yours should become V68__authoring_platform.sql (that's the current conflict).
    2. Split into stacked PRs, each green on its own: (a) domain model + migration + draft CRUD + structure-layer validation; (b) runtime binding, MCP probing and the endpoint/stdio/env security policies (we'll do a dedicated security review here); (c) fix loop + publish integration; (d) web UI + e2e; (e) docs and example skill.
    3. Keep riscv64-native.yml in your fork. It can't run upstream since it needs the board runners, and linking the green runs from the docs is enough evidence for the RISC-V64 requirement.

    We'll start reviewing as soon as (a) is up. Keep #934 as the tracking issue and link each PR there.

  4. zjncs commented on Oct 10, 2026

    @zjncs
    ContributorAuthor

    Thanks @FenjuFu — that path works for us. Plan of record:

    1. Rebase on main and renumber the migration to V68__authoring_platform.sql (noted the promotion migrations took V66/V67).
    2. Split into the stacked PRs (a)–(e) exactly as suggested, each green on its own; (b) will carry the endpoint/stdio/env security policies for the dedicated security review.
    3. riscv64-native.yml stays fork-only; the docs link the green board runs (7× authoring flow + full suite BUILD SUCCESS) as the RISC-V64 evidence.

    We'll link PR (a) here as soon as it's up. Thanks again for taking a look!

  5. zjncs commented on Oct 10, 2026

    @zjncs
    ContributorAuthor

    Layer (a) is up: #935 — draft domain model + V68 migration + draft CRUD (scaffolded SKILL.md) + structure-layer validation with fix suggestions. 54 files, +4.0k lines; domain 609 tests green, draft-flow integration test (broken frontmatter → fixable finding → repair → SUCCEEDED) green, full suite running on the branch now.

    Remaining layers (b)–(e) will stack on top of (a) and link here as they go.

  6. zjncs commented on Oct 10, 2026

    @zjncs
    ContributorAuthor

    Layer (b) — runtime bindings, MCP probing and the security policies — is stacked and ready for review: zjncs#1 (diff is the (b)-only slice, +5.7k lines on top of #935).

    Since the stacked base branch lives on the fork until (a) merges, the PR is opened against the fork branch; it will be retargeted to upstream main as soon as #935 lands. Happy to move things around if you'd prefer a different arrangement.

    Layers (c)–(e) coming up the same way.

  7. zjncs commented on Oct 10, 2026

    @zjncs
    ContributorAuthor

    The full stack is up. Layers and their diffs (each green on its own; the fork PRs will be retargeted to upstream main as #935 lands):

    Layer Scope PR Size
    (a) draft domain model + V68 migration + draft CRUD (scaffolded SKILL.md) + structure validation #935 (upstream) 54 files, +4.0k
    (b) runtime bindings, MCP probing, endpoint/stdio/env security policies zjncs#1 (fork, stacked) 58 files, +5.7k
    (c) fix loop (apply/dismiss suggested patches) + publish-pipeline submission zjncs#2 (fork, stacked) 9 files, +0.7k
    (d) web workbench (editor, binding form, live run console, fix preview, submit) + Playwright e2e zjncs#3 (fork, stacked) 26 files, +6.0k
    (e) design doc, example skill, live verification + RISC-V64 re-verify scripts zjncs#4 (fork, stacked) 11 files, +1.7k

    Verification per layer: (a) full suite 1049 tests 0 failures; (b) security/MCP/adapter unit tests + runtime-flow integration test (full suite re-run in progress, will report); (c) full suite 1105 tests 0 failures incl. the complete authoring flow; (d) typecheck + 922 web unit tests (only the two pre-existing upstream theme tests fail, identically on plain main); (e) docs/scripts only, scripts syntax-checked.

    #886 (the monolithic PR) is superseded by this stack — closing it in favor of the layers above.

  8. zjncs commented on Oct 14, 2026

    @zjncs
    ContributorAuthor

    Status update:

    Heads-up on V69: with #935 merged, V69__authoring_platform.sql now occupies V69 on main, so #947's V69__skill_avatars.sql will need the renumber-and-rerun per the coordination plan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort/m中等改动,存在一定协同成本 / Medium change with noticeable coordination cost.priority/p1高优先级 / High priority triage bucket.risk/high涉及安全、鉴权、迁移或公共契约 / Touches security, auth, migrations, or public contracts.triage/core交由 core maintainer 结合 AI 协同处理 / Issue should be handled by a core maintainer with AI support.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions