feat(cli): add minimal one-cli skill and installer - #36
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
🔵 Needs a closer look
Five unresolved moderate findings affect offline behavior, documentation consistency, and agent detection.
Pull request overview
Adds a bundled one-cli skill and one skills install command with workspace guidance, agent detection, documentation, and tests.
Changes:
- Adds skill embedding, syncing, and user-level installation.
- Generates
AGENTS.mdworkspace guidance. - Updates CLI help, errors, localization, documentation, and tests.
Open findings: Five moderate findings (1 vote each) remain regarding update-check side effects, conflicting documentation, legacy agent paths, Kilo detection, and Gemini/Antigravity detection.
File summaries
| File | Change |
|---|---|
Taskfile.yml |
Includes skills in verification and bundling. |
skills/one-cli/SKILL.md |
Defines minimal workspace guidance. |
README.md |
Documents skill installation and source location. |
packages/cli/tools/verify-cli-references/main.go |
Verifies skill references. |
packages/cli/tools/sync-resources/main.go |
Bundles the supported skill. |
packages/cli/tools/sync-resources/main_test.go |
Tests resource filtering. |
packages/cli/tools/gen-error-codes/main.go |
Generates skill error documentation. |
packages/cli/tests/e2e/snapshot_e2e_ux_test.go |
Tests skills command visibility. |
packages/cli/tests/e2e/snapshot_e2e_create_test.go |
Tests generated workspace guidance. |
packages/cli/tests/e2e/snapshot_e2e_create_preset_test.go |
Tests preset guidance. |
packages/cli/tests/e2e/snapshot_e2e_add_test.go |
Tests guidance preservation. |
packages/cli/tests/e2e/skills_test.go |
Covers installation workflows and errors. |
packages/cli/tests/e2e/e2e_helpers_test.go |
Isolates agent configuration environments. |
packages/cli/testdata/reference/help/skills.txt |
Adds skills help snapshot. |
packages/cli/testdata/reference/help/skills_install.txt |
Adds installer help snapshot. |
packages/cli/internal/transport/cobra/skills/cmd.go |
Registers skills commands and flags. |
packages/cli/internal/resources/bundled/bundled.go |
Embeds the bundled skill. |
packages/cli/internal/resources/bundled/bundled_test.go |
Verifies embedded resource parity. |
packages/cli/internal/platform/i18n/locales/zh-CN.json |
Adds Chinese translations. |
packages/cli/internal/platform/i18n/locales/en-US.json |
Adds English translations. |
packages/cli/internal/platform/errors/codes.go |
Adds the installation error code. |
packages/cli/internal/platform/errors/codes_test.go |
Tests error-code registration. |
packages/cli/internal/modules/skills/skills_test.go |
Tests target resolution and installation. |
packages/cli/internal/modules/skills/install.go |
Implements staged skill installation. |
packages/cli/internal/modules/skills/agents.go |
Defines agent paths and detection. |
packages/cli/internal/modules/creation/workspace_files.go |
Generates root AGENTS.md. |
packages/cli/internal/modules/creation/workspace_files_test.go |
Tests generated guidance. |
packages/cli/internal/modules/creation/workspace_content.go |
Defines guidance content. |
packages/cli/internal/bootstrap/cli/root.go |
Registers the skills command. |
packages/cli/internal/bootstrap/cli/root_test.go |
Updates command registration tests. |
CHANGELOG.md |
Documents the feature. |
ARCHITECTURE.md |
Documents skills architecture and resources. |
apps/docs/content/docs/zh/skills.md |
Adds Chinese skill documentation. |
apps/docs/content/docs/zh/meta.json |
Adds Chinese navigation entry. |
apps/docs/content/docs/zh/installation.md |
Links installation guidance. |
apps/docs/content/docs/zh/error-codes.md |
Documents installation errors. |
apps/docs/content/docs/zh/create.md |
Documents generated guidance. |
apps/docs/content/docs/zh/cli-overview.md |
Documents the command. |
apps/docs/content/docs/zh/ai-native.md |
Updates Chinese AI workflow guidance. |
apps/docs/content/docs/en/skills.md |
Adds English skill documentation. |
apps/docs/content/docs/en/meta.json |
Adds English navigation entry. |
apps/docs/content/docs/en/installation.md |
Links installation guidance. |
apps/docs/content/docs/en/error-codes.md |
Documents installation errors. |
apps/docs/content/docs/en/create.md |
Documents generated guidance. |
apps/docs/content/docs/en/cli-overview.md |
Documents the command. |
apps/docs/content/docs/en/ai-native.md |
Updates English AI workflow guidance. |
apps/docs/content/blog/zh/agent-skill-context.md |
Updates Chinese skill context. |
apps/docs/content/blog/en/agent-skill-context.md |
Updates English skill context. |
.gitignore |
Ignores generated skill bundles. |
Review details
Suppressed comments (5)
README.md:109
- This command is documented as offline and as writing only the selected agents' skill directories, but a normal release-build TTY invocation still goes through
cli.Execute's global update-check. On a first or stale cache it performs a GitHub request and writes$XDG_CACHE_HOME/one/update-check.json, so the stated side-effect/offline contract is false. Skip the update-check for this command or revise the contract and add coverage for the default text/TTY path.
Use `--agent <id>` to choose an agent directly, or `--yes` to install into every detected agent. Installation works offline and only writes the selected agents' user skills directories.
apps/docs/content/docs/en/ai-native.md:100
- This new statement conflicts with the public home page, whose English and Chinese copies still say that creating a workspace never generates
AGENTS.md(apps/docs/src/app/(home)/home-page.tsx:287and:628). Since this PR now generates that file, update those user-facing strings as part of the change so the documented behavior is consistent.
New workspaces include a short root `AGENTS.md` requiring the `one-cli` skill. If it is missing, agents are directed to run `one skills install`. Ordinary and preset creation use the same instructions; subsequent `one add` calls preserve team edits.
packages/cli/internal/modules/skills/agents.go:37
- The referenced agent registry handles OpenClaw's legacy
~/.clawdbotand~/.moltbotroots, falling back to~/.openclaw. Hard-coding.openclawhere means users with either existing legacy root are neither auto-detected nor written where the running agent looks, so installation silently has no effect for those installs. Resolve the existing legacy root for detection and destination (and add a regression test).
{"openclaw", "OpenClaw", ".openclaw/skills", ".openclaw"},
packages/cli/internal/modules/skills/agents.go:61
- The referenced agent registry treats
~/.kilocodeas a legacy Kilo installation when detecting agents. This entry only detects.kilo, soone skills install --yesreports no target for users who still have the legacy configuration unless they explicitly know to pass--agent kilo; include the legacy marker in detection and cover it with a test.
{"kilo", "Kilo Code", ".kilo/skills", ".kilo"},
packages/cli/internal/modules/skills/agents.go:56
- Auto-detection treats
~/.geminias a Gemini CLI marker while Antigravity is detected from~/.gemini/antigravity. Creating only the Antigravity directory necessarily creates the parent~/.gemini, so a default/non-interactive install will incorrectly select Gemini CLI too and write an extra~/.gemini/skills/one-cli. Use an unambiguous Gemini CLI marker (or exclude the Antigravity-only case) and add a regression test for a home containing only.gemini/antigravity.
{"gemini-cli", "Gemini CLI", ".gemini/skills", ".gemini"},
- Files reviewed: 48/49 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
No description provided.