List codeaf in npx skills (vercel-labs/skills) once #1277 ships
维护者通常 1 天内回复
@AbirAbbas 已经在做这个了。
开始于 2026年9月23日。
评估
这个 Issue 还没有评估数据。
描述
What is asked
Get codeaf listed in npx skills, the CLI that installs Agent Skills (SKILL.md folders) into 78 coding agents. The upstream change is small: one entry in src/agents.ts, 'codeaf' in the AgentType union in src/types.ts, then their validate-agents.ts and sync-agents.ts scripts (which regenerate the README table and the package keywords).
Blocked on #1277 reaching a release
A listing claims that codeaf picks up what npx skills installs. On dev, and in every released build (v0.4.1 and earlier), that is false: nothing in internal/session reads a SKILL.md.
The reader is #1277 (Santosh). It is on santos/dev2: #1365 and #1382 merged there, and #1396 is open. internal/skills scans .codeaf/skills, .agents/skills, .claude/skills, .codex/skills, .cursor/skills and .gemini/skills in both the project and the home directory. That covers both places npx skills writes for an agent like codeaf:
- a project install:
<project>/.agents/skills/<name> - a global install:
~/.agents/skills/<name>
For an agent whose project folder is .agents/skills ("universal" upstream), installer.ts writes global installs to the shared ~/.agents/skills and never links them into the agent's own globalSkillsDir.
So this issue does not build a loader. It opens the upstream pull request once #1277 is on dev and in a release.
The entry, and why its global folder is ~/.agents/skills
// src/agents.ts, beside the other *Home constants
const codeafHome = process.env.CODEAF_HOME?.trim() || join(home, '.codeaf');
codeaf: {
name: 'codeaf',
displayName: 'codeaf',
skillsDir: '.agents/skills',
globalSkillsDir: join(home, '.agents/skills'),
detectInstalled: async () => existsSync(codeafHome),
},
The first draft had globalSkillsDir: join(codeafHome, 'skills'), which is codeaf's own skills folder in #1277. Two reasons to declare ~/.agents/skills instead:
- It is where a global install actually goes. The README table and
skills list -gwould otherwise show~/.codeaf/skills/, a foldernpx skillsnever writes to for codeaf. npx skills remove -gdeletes inside the declared folder without checking it. For every agent it targets,remove.tsrunsrm -rf <globalSkillsDir>/<name>without checking that the path is a skill. With no-a, it targets every agent in its table, installed or not.~/.codeaf/skillsis also the resident's promoted-commands shelf (store.SkillsRoot), andinternal/execputs itsbin/onPATH. So once codeaf is listed with that folder, anyone removing a skill namedbin, or one that shares a name with a promoted command, deletes that folder under~/.codeaf, even if they installed the skill for a different agent. Declaring~/.agents/skillskeepsnpx skillsout of~/.codeafentirely. Cline and Dexto declare the same folder.
skills add -g -a codeaf then shows ~/.agents/skills, and #1277's scan reads it.
Acceptance, end to end, on a codeaf release that carries #1277
- In a project,
npx skills add <a public skill repo> -a codeaf -ywrites.agents/skills/<name>/SKILL.md. Thencodeafin that project offers the skill: it is in the/skillpicker, and a turn can use it. - The same works with
-g: the skill lands in~/.agents/skills/<name>, and codeaf opened in any folder offers it. - Neither install nor
npx skills remove -gtouches anything under~/.codeaf. - Upstream's own gates are green:
validate-agents.ts,sync-agents.ts(README table, agent count, discovery paths, package keyword),pnpm format:check,pnpm type-checkandpnpm test.
Notes
- Upstream has about 83 "add agent" pull requests open. The ones that merged recently (fx, Sarvam Code, Posit Assistant) took days to weeks, so the pull request can be opened as soon as the release exists.
skills use <pkg>@<skill>launches onlyclaude,codexandsarvam-code(USE_AGENT_CONFIGSinsrc/use.ts). codeaf can be added there later, once a skill prompt can be handed tocodeafon its command line the same way.
- 主要语言
- Go
- 星标
- 115
- 派生
- 14
- 平均合并
- 9 小时 37 分钟
- 30 天内合并 PR
- 755
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Agent-Field/CodeAF 的其他 Issue
-
area:chat bug sev:papercut
难度 2/5 1-3 小时 新手友好度 86/100
Agent-Field/CodeAF#1592 ·
维护者通常 1 天内回复
-
area:headless bug sev:critical
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1566 · 已指派 1 人 ·
维护者通常 1 天内回复
-
area:chat feature
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1510 ·
维护者通常 1 天内回复
-
area:tests bug
难度 2/5 1-3 小时 新手友好度 82/100
Agent-Field/CodeAF#1489 ·
维护者通常 1 天内回复
-
area:chat bug good first issue sev:papercut
难度 2/5 1-3 小时 新手友好度 78/100
Agent-Field/CodeAF#1470 ·
维护者通常 1 天内回复
查看 Agent-Field/CodeAF 的全部 Issue
相似的 Issue
-
priority: low 🌱 type: enhancement 💅🏼
难度 2/5 半天 新手友好度 84/100
nebari-dev/llm-serving-pack#199 ·
维护者通常 3 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
-
area/helm kind/bug priority/backlog triage/accepted
难度 2/5 1-3 小时 新手友好度 84/100
lexfrei/cloudflare-tunnel-gateway-controller#889 ·
维护者通常 1 天内回复
-
bug difficulty: beginner documentation good first issue help wanted localization
难度 1/5 1 小时以内 新手友好度 90/100
wavefnd/wave-platform#140 ·
-
compiler/runtime
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复