@@ -9,7 +9,7 @@ Skills for Claude Code, Codex, Cursor, and other coding agents to install, confi
99** npx skills** :
1010
1111``` sh
12- npx skills add coder/skills
12+ npx skills add coder/skills --global
1313```
1414
1515** Claude Code** :
@@ -20,146 +20,8 @@ npx skills add coder/skills
2020/reload-plugins
2121```
2222
23- ** Codex** :
24-
25- ``` sh
26- codex plugin marketplace add coder/skills
27- codex plugin install coder@coder-skills
28- ```
29-
30-
31- ### ` npx skills ` (recommended)
32-
33- # user-global: drops it in ~ /.claude/skills, ~ /.codex/skills, ~ /.cursor/skills, ...
34- npx skills add coder/skills@setup --global
35-
36- # install only for a specific agent
37- npx skills add coder/skills@setup --agent codex
38- npx skills add coder/skills@setup --agent claude-code
39- npx skills add coder/skills@setup --agent cursor
40- ```
41-
42- Once installed, the skill activates automatically when you ask the
43- agent to install or set up Coder. There is no slash command; just
44- say what you want ("set up Coder locally", "deploy Coder behind
45- HTTPS", "stand up Coder on Kubernetes") and the agent picks the
46- skill from its description.
47-
48- ### Claude Code (native plugin marketplace)
49-
50- Claude Code can also load this repo as a [plugin
51- marketplace](https://docs.claude.com/en/docs/claude-code/plugins)
52- directly:
53-
54- ```text
55- /plugin marketplace add coder/skills
56- /plugin install coder@coder-skills
57- ```
58-
59- If the install doesn't take effect immediately, run
60- ` /reload-plugins ` and try again.
61-
62- For local development, point the marketplace at a checkout:
63-
64- ``` text
65- /plugin marketplace add /path/to/skills
66- ```
67-
68- In headless mode (` claude -p ` ), use ` --plugin-dir ` instead:
69-
70- ``` sh
71- claude -p \
72- --plugin-dir /path/to/skills \
73- --permission-mode bypassPermissions \
74- " Use the setup skill to install Coder via Docker compose, \
75- bootstrap an admin user, push the docker starter template, and \
76- create one workspace named demo."
77- ```
78-
79- ` --permission-mode bypassPermissions ` is required because the skill
80- runs ` curl | sh ` , starts background processes, and writes config
81- files. Only use it on a sandboxed host.
82-
83- ### Codex (native plugin marketplace)
84-
85- The Codex CLI has its own plugin marketplace command. Same source:
86-
87- ``` sh
88- codex plugin marketplace add coder/skills
89- ```
90-
91- Codex auto-discovers any skill placed under ` $CODEX_HOME/skills `
92- (default ` ~/.codex/skills ` ), so the `npx skills add coder/skills
93- --agent codex` path above works without any extra step.
94-
95- ## Run a skill headlessly
96-
97- Two test harnesses ship with the repo, one per CLI. Both spin a
98- real Coder server in Docker, drive the skill end-to-end, and verify
99- the result via the Coder REST API.
100-
101- ``` sh
102- ./test/run.sh # Claude Code (claude -p)
103- ./test/run-codex.sh # Codex (codex exec)
104- ```
105-
106- See [ ` test/README.md ` ] ( test/README.md ) for what each harness
107- expects and how to point them at a different port or template.
108-
109- ## Develop a new skill
110-
111- Each skill is a directory under ` skills/<name>/ ` containing a
112- ` SKILL.md ` with YAML frontmatter, plus optional ` references/ ` ,
113- ` scripts/ ` , and ` assets/ ` subdirectories. The frontmatter requires:
114-
115- ``` yaml
116- ---
117- name : kebab-case-skill-name
118- description : One sentence on what it does and exactly when to use it.
119- ---
120- ```
121-
122- Anthropic's skill spec is at
123- < https://github.com/anthropics/skills/tree/main/spec > . Conventions
124- this repo follows on top of that:
125-
126- - ** Keep ` description ` under 1024 characters.** Codex truncates the
127- description at that limit and drops the skill if the truncated
128- YAML is invalid. Claude tolerates longer descriptions but does
129- not benefit from them. Push activation triggers and exclusions
130- into a tight 1000-char block.
131- - ** Keep ` SKILL.md ` lean** (target 1500 to 2500 words). Push
132- detailed matrices, tables, and edge-case lists into
133- ` references/*.md ` and lazy-load them by trigger.
134- - ** Reference files from ` SKILL.md ` with relative paths** so the
135- skill works at the personal, project, or plugin level and across
136- agents.
137- - ** Don't ship secrets, license keys, or auth tokens** in any skill
138- artifact. Skills are public.
139- - ** Add a smoke test under ` test/ ` ** that runs the skill headlessly
140- and verifies the externally observable result. The two existing
141- harnesses (` test/run.sh ` , ` test/run-codex.sh ` ) are good
142- templates.
143-
144- ## Lint and format
145-
146- ``` sh
147- make lint # shellcheck, shfmt --diff, markdownlint, jq, claude plugin validate, no-emdash, SKILL.md description-length
148- make fmt # shfmt -w, markdownlint --fix, jq pretty-print
149- ```
150-
151- ` make lint ` is what runs in CI (` .github/workflows/lint.yml ` ).
152- Lint configuration lives at the repo root: ` .editorconfig ` ,
153- ` .markdownlint-cli2.jsonc ` , ` .shellcheckrc ` . The shfmt flags
154- (` -i 2 -ci ` ) are encoded in ` scripts/lint.sh ` and ` scripts/fmt.sh `
155- rather than a config file because shfmt has no native config
156- format.
157-
158- The SKILL.md description-length check exists because Codex
159- truncates the YAML ` description ` field at 1024 characters and
160- silently drops the skill if truncation breaks the YAML. The
161- lint catches that before it ships.
23+ After installing, the skill activates automatically when you ask an agent to install or set up Coder.
16224
16325## License
16426
165- To be set by the publisher. Until then, treat as "all rights reserved".
27+ [ MIT ] ( LICENSE )
0 commit comments