makecindy / makecindy/cindy

fix(agent): enforce Cindy-owned workflow Skills before downstream harness plugins

Open
#1,645 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

## 背景

PR #1215(`fix(agent): 防止下游 harness 能力无感覆盖 Cindy`)已经建立了 Cindy 的 capability routing,覆盖 Feishu 与 Computer Use 等会与 Cindy 能力冲突的下游来源。

但该 PR 明确保留用户本地 Skill、项目 Skill、官方插件和普通 MCP;同时当前路由表只登记具体能力冲突,没有覆盖“Cindy-owned workflow Skill 必须先于下游 harness plugin Skill 执行”的通用 Skill precedence / prerequisite 机制。

## 实际复现

Codex 会加载 OpenAI curated remote GitHub plugin 中的:

```
~/.codex/plugins/cache/openai-curated-remote/github/0.1.8-2841cf9749ae/skills/yeet/SKILL.md
```

来源元数据是 `github` plugin(repository: `openai/plugins`,author: OpenAI),skill 名称为 `yeet`。

在 Cindy 仓库内,`~/.agents/skills/git-workflow/SKILL.md` 才是包含 Cindy canonical PR workflow 的规则来源,包括:

- ready PR 必须绑定 repository-wide heartbeat;
- 必须检查 `reviewDecision`、checks、reviews、comments 和 unresolved threads;
- follow-up 必须自动继续,不能把“要不要跟进”再交回用户;
- 提交前的 DCO、工作区和测试门禁。

`github:yeet` 可以直接驱动 push / 开 PR 流程,而没有声明或触发 Cindy `git-workflow` 的前置约束。因此 downstream plugin skill 可以绕过 Cindy 的收口规则。当前本机 cache 上的手工补丁不是持久修复,插件更新后会被覆盖。

## 期望行为

1. 在 Cindy 会话/工作区内,Cindy-owned Skill 或 workflow policy 应先被解析并绑定;下游 Codex/Claude plugin skill 只能在其后作为补充执行。
2. 该机制应覆盖 Codex 自己安装或 remote-installed 的 plugin skill,也覆盖 Claude 对应的下游 skill 来源,而不只覆盖 Cindy Desktop 生成的能力 overlay。
3. 对与 Cindy-owned policy 不冲突的用户 Skill、项目 Skill、官方插件和普通 MCP 继续保留可用,不做全局禁用。
4. 下游同类能力需要可审计的来源命名空间或显式点名;不能因为 harness 自己的 skill router 先命中就静默绕过 Cindy 规则。
5. 增加至少一个 Codex 回归测试:`github:yeet`(或等价的外部 plugin skill)在 Cindy workdir 中运行时,能证明 `git-workflow` 已先绑定并完成 heartbeat 收口。

## 关联项

- PR #1215:已有 capability routing;本 issue 追踪其未覆盖的 Skill precedence / prerequisite 层。
- Issue #1252:长期会话刷新规则/Skill snapshot,范围不同,不替代本 issue。

## 非目标

不要求禁用所有官方插件,也不要求把 Codex/Claude 的非冲突工具全部替换成 Cindy 实现;目标只是保证 Cindy-owned 规则在冲突或工作流前置场景不会被下游 skill 绕过。

Contributor guide

Open the contributing guide

Research direction

No Cindy implementation files are named; start by reading PR #1215 and the local ~/.agents/skills/git-workflow/SKILL.md rules. Reproduce the github:yeet case in a Cindy workdir, then add the requested Codex regression test. Done means Cindy-owned workflow precedence is observable and the heartbeat checks occur before the downstream skill proceeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, typescript
Domain
ai-infra-agents, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.