aiblueprint-cli 1.4.59 → 1.4.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +16 -36
  2. package/agents-config/agents/action.md +1 -1
  3. package/agents-config/agents/explore-codebase.md +53 -53
  4. package/agents-config/agents/explore-docs.md +50 -69
  5. package/agents-config/agents/websearch.md +36 -40
  6. package/agents-config/claude-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
  7. package/agents-config/claude-config/scripts/CLAUDE.md +10 -4
  8. package/agents-config/claude-config/scripts/bun.lockb +0 -0
  9. package/agents-config/claude-config/scripts/package.json +22 -30
  10. package/agents-config/claude-config/scripts/statusline/CLAUDE.md +37 -155
  11. package/agents-config/claude-config/scripts/statusline/README.md +18 -94
  12. package/agents-config/claude-config/scripts/statusline/defaults.json +13 -10
  13. package/agents-config/claude-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -4
  14. package/agents-config/claude-config/scripts/statusline/fixtures/test-input.json +4 -4
  15. package/agents-config/claude-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
  16. package/agents-config/claude-config/scripts/statusline/src/index.ts +33 -82
  17. package/agents-config/claude-config/scripts/statusline/src/lib/config-types.ts +7 -1
  18. package/agents-config/claude-config/scripts/statusline/src/lib/formatters.ts +40 -0
  19. package/agents-config/claude-config/scripts/statusline/src/lib/presets.ts +13 -13
  20. package/agents-config/claude-config/scripts/statusline/src/lib/render-pure.ts +24 -5
  21. package/agents-config/claude-config/scripts/statusline/statusline.config.free.json +79 -0
  22. package/agents-config/claude-config/scripts/statusline/statusline.config.json +77 -77
  23. package/agents-config/codex-config/config.toml +9 -0
  24. package/agents-config/codex-config/hooks/command-deny-list.ts +203 -0
  25. package/agents-config/commands/prompts/create-vitejs-app.md +272 -0
  26. package/agents-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
  27. package/agents-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
  28. package/agents-config/commands/prompts/nextjs-setup-project.md +200 -0
  29. package/agents-config/commands/prompts/prompt.md +55 -0
  30. package/agents-config/commands/prompts/saas-challenge-idea.md +135 -0
  31. package/agents-config/commands/prompts/saas-create-architecture.md +242 -0
  32. package/agents-config/commands/prompts/saas-create-headline.md +132 -0
  33. package/agents-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
  34. package/agents-config/commands/prompts/saas-create-legals-docs.md +176 -0
  35. package/agents-config/commands/prompts/saas-create-logos.md +240 -0
  36. package/agents-config/commands/prompts/saas-create-prd.md +195 -0
  37. package/agents-config/commands/prompts/saas-create-tasks.md +240 -0
  38. package/agents-config/commands/prompts/saas-define-pricing.md +293 -0
  39. package/agents-config/commands/prompts/saas-find-domain-name.md +190 -0
  40. package/agents-config/commands/prompts/saas-implement-landing-page.md +257 -0
  41. package/agents-config/commands/prompts/setup-tmux.md +160 -0
  42. package/agents-config/commands/prompts/tools.md +148 -0
  43. package/agents-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
  44. package/agents-config/scripts/CLAUDE.md +37 -0
  45. package/agents-config/scripts/biome.json +37 -0
  46. package/agents-config/scripts/bun.lockb +0 -0
  47. package/agents-config/scripts/package.json +24 -0
  48. package/agents-config/scripts/statusline/CLAUDE.md +87 -0
  49. package/agents-config/scripts/statusline/README.md +117 -0
  50. package/agents-config/scripts/statusline/__tests__/context.test.ts +229 -0
  51. package/agents-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
  52. package/agents-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
  53. package/agents-config/scripts/statusline/defaults.json +82 -0
  54. package/agents-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
  55. package/agents-config/scripts/statusline/fixtures/test-input.json +35 -0
  56. package/agents-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
  57. package/agents-config/scripts/statusline/src/index.ts +141 -0
  58. package/agents-config/scripts/statusline/src/lib/config-types.ts +110 -0
  59. package/agents-config/scripts/statusline/src/lib/config.ts +21 -0
  60. package/agents-config/scripts/statusline/src/lib/context.ts +103 -0
  61. package/agents-config/scripts/statusline/src/lib/formatters.ts +426 -0
  62. package/agents-config/scripts/statusline/src/lib/git.ts +100 -0
  63. package/agents-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
  64. package/agents-config/scripts/statusline/src/lib/presets.ts +177 -0
  65. package/agents-config/scripts/statusline/src/lib/render-pure.ts +516 -0
  66. package/agents-config/scripts/statusline/src/lib/types.ts +36 -0
  67. package/agents-config/scripts/statusline/src/lib/utils.ts +15 -0
  68. package/agents-config/scripts/statusline/statusline.config.free.json +79 -0
  69. package/agents-config/scripts/statusline/statusline.config.json +79 -0
  70. package/agents-config/scripts/statusline/test-with-fixtures.ts +37 -0
  71. package/agents-config/scripts/statusline/test.ts +20 -0
  72. package/agents-config/scripts/statusline/tsconfig.json +27 -0
  73. package/agents-config/scripts/tsconfig.json +27 -0
  74. package/agents-config/skills/{subagent-creator → agents-managers}/SKILL.md +47 -47
  75. package/agents-config/skills/{subagent-creator/references/subagents.md → agents-managers/references/agents.md} +45 -45
  76. package/agents-config/skills/{subagent-creator → agents-managers}/references/context-management.md +20 -20
  77. package/agents-config/skills/{subagent-creator → agents-managers}/references/debugging-agents.md +27 -27
  78. package/agents-config/skills/{subagent-creator → agents-managers}/references/error-handling-and-recovery.md +19 -19
  79. package/agents-config/skills/{subagent-creator → agents-managers}/references/evaluation-and-testing.md +29 -29
  80. package/agents-config/skills/{subagent-creator → agents-managers}/references/orchestration-patterns.md +5 -5
  81. package/agents-config/skills/{subagent-creator/references/writing-subagent-prompts.md → agents-managers/references/writing-agent-prompts.md} +23 -23
  82. package/agents-config/skills/codex-environment/SKILL.md +2 -0
  83. package/agents-config/skills/commit/SKILL.md +2 -0
  84. package/agents-config/skills/create-pr/SKILL.md +2 -0
  85. package/agents-config/skills/environments-manager/SKILL.md +271 -0
  86. package/agents-config/skills/environments-manager/examples/claude/.worktreeinclude +3 -0
  87. package/agents-config/skills/environments-manager/examples/claude/commands/dev.md +5 -0
  88. package/agents-config/skills/environments-manager/examples/claude/commands/lint.md +5 -0
  89. package/agents-config/skills/environments-manager/examples/claude/commands/test.md +5 -0
  90. package/agents-config/skills/environments-manager/examples/claude/commands/typecheck.md +5 -0
  91. package/agents-config/skills/environments-manager/examples/claude/settings.json +24 -0
  92. package/agents-config/skills/environments-manager/examples/codex/environments/environment.toml +29 -0
  93. package/agents-config/skills/environments-manager/examples/cursor/worktrees.json +3 -0
  94. package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-create.sh +96 -0
  95. package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-remove.sh +66 -0
  96. package/agents-config/skills/environments-manager/examples/scripts/dev.sh +15 -0
  97. package/agents-config/skills/environments-manager/examples/scripts/worktree-down.sh +22 -0
  98. package/agents-config/skills/environments-manager/examples/scripts/worktree-up.sh +50 -0
  99. package/agents-config/skills/environments-manager/references/claude.md +156 -0
  100. package/agents-config/skills/environments-manager/references/codex.md +97 -0
  101. package/agents-config/skills/environments-manager/references/cursor.md +88 -0
  102. package/agents-config/skills/fix-pr-comments/SKILL.md +2 -0
  103. package/agents-config/skills/grill-me/SKILL.md +10 -0
  104. package/agents-config/skills/merge/SKILL.md +2 -0
  105. package/agents-config/skills/rules-manager/SKILL.md +191 -0
  106. package/agents-config/skills/rules-manager/references/agents-vs-claude.md +66 -0
  107. package/agents-config/skills/rules-manager/references/examples.md +117 -0
  108. package/agents-config/skills/skill-manager/SKILL.md +101 -0
  109. package/agents-config/skills/skill-manager/references/claude-code.md +81 -0
  110. package/agents-config/skills/skill-manager/references/codex.md +288 -0
  111. package/agents-config/skills/skill-manager/references/cursor.md +125 -0
  112. package/agents-config/skills/skill-manager/references/description-recommandation.md +97 -0
  113. package/agents-config/skills/skill-manager/scripts/inspect-description.ts +743 -0
  114. package/agents-config/skills/ultrathink/SKILL.md +2 -0
  115. package/dist/cli.js +581 -299
  116. package/package.json +1 -1
  117. package/agents-config/claude-config/scripts/statusline/data/.gitignore +0 -8
  118. package/agents-config/claude-config/scripts/statusline/data/.gitkeep +0 -0
  119. package/agents-config/claude-config/scripts/statusline/docs/ARCHITECTURE.md +0 -166
  120. package/agents-config/claude-config/scripts/statusline/src/tests/spend-v2.test.ts +0 -306
  121. package/agents-config/skills/apex/SKILL.md +0 -261
  122. package/agents-config/skills/apex/scripts/setup-templates.sh +0 -100
  123. package/agents-config/skills/apex/scripts/update-progress.sh +0 -80
  124. package/agents-config/skills/apex/steps/step-00-init.md +0 -267
  125. package/agents-config/skills/apex/steps/step-00b-branch.md +0 -126
  126. package/agents-config/skills/apex/steps/step-00b-economy.md +0 -244
  127. package/agents-config/skills/apex/steps/step-00b-interactive.md +0 -153
  128. package/agents-config/skills/apex/steps/step-01-analyze.md +0 -361
  129. package/agents-config/skills/apex/steps/step-02-plan.md +0 -264
  130. package/agents-config/skills/apex/steps/step-03-execute.md +0 -239
  131. package/agents-config/skills/apex/steps/step-04-validate.md +0 -251
  132. package/agents-config/skills/apex/templates/00-context.md +0 -43
  133. package/agents-config/skills/apex/templates/01-analyze.md +0 -10
  134. package/agents-config/skills/apex/templates/02-plan.md +0 -10
  135. package/agents-config/skills/apex/templates/03-execute.md +0 -10
  136. package/agents-config/skills/apex/templates/04-validate.md +0 -10
  137. package/agents-config/skills/apex/templates/README.md +0 -176
  138. package/agents-config/skills/apex/templates/step-complete.md +0 -7
  139. package/agents-config/skills/claude-memory/SKILL.md +0 -293
  140. package/agents-config/skills/claude-memory/references/comprehensive-example.md +0 -175
  141. package/agents-config/skills/claude-memory/references/optimize-guide.md +0 -300
  142. package/agents-config/skills/claude-memory/references/project-patterns.md +0 -334
  143. package/agents-config/skills/claude-memory/references/prompting-techniques.md +0 -411
  144. package/agents-config/skills/claude-memory/references/rules-directory-guide.md +0 -298
  145. package/agents-config/skills/claude-memory/references/section-templates.md +0 -347
  146. package/agents-config/skills/fix-errors/SKILL.md +0 -61
  147. package/agents-config/skills/fix-grammar/SKILL.md +0 -59
  148. package/agents-config/skills/ralph-loop/SKILL.md +0 -117
  149. package/agents-config/skills/ralph-loop/scripts/setup.sh +0 -278
  150. package/agents-config/skills/ralph-loop/steps/step-00-init.md +0 -215
  151. package/agents-config/skills/ralph-loop/steps/step-01-interactive-prd.md +0 -366
  152. package/agents-config/skills/ralph-loop/steps/step-02-create-stories.md +0 -273
  153. package/agents-config/skills/ralph-loop/steps/step-03-finish.md +0 -245
  154. package/agents-config/skills/skill-creator/LICENSE.txt +0 -202
  155. package/agents-config/skills/skill-creator/SKILL.md +0 -421
  156. package/agents-config/skills/skill-creator/package.json +0 -5
  157. package/agents-config/skills/skill-creator/references/output-patterns.md +0 -82
  158. package/agents-config/skills/skill-creator/references/progressive-disclosure-patterns.md +0 -374
  159. package/agents-config/skills/skill-creator/references/prompting-integration.md +0 -363
  160. package/agents-config/skills/skill-creator/references/real-world-examples.md +0 -513
  161. package/agents-config/skills/skill-creator/references/script-patterns.md +0 -385
  162. package/agents-config/skills/skill-creator/references/workflows.md +0 -28
  163. package/agents-config/skills/skill-creator/references/xml-tag-guide.md +0 -606
  164. package/agents-config/skills/skill-creator/scripts/init-skill.ts +0 -214
  165. package/agents-config/skills/skill-creator/scripts/package-skill.ts +0 -146
  166. package/agents-config/skills/skill-creator/scripts/validate.ts +0 -138
  167. package/agents-config/skills/workflow-apex-free/SKILL.md +0 -261
  168. package/agents-config/skills/workflow-apex-free/scripts/setup-templates.sh +0 -100
  169. package/agents-config/skills/workflow-apex-free/scripts/update-progress.sh +0 -80
  170. package/agents-config/skills/workflow-apex-free/steps/step-00-init.md +0 -267
  171. package/agents-config/skills/workflow-apex-free/steps/step-00b-branch.md +0 -126
  172. package/agents-config/skills/workflow-apex-free/steps/step-00b-economy.md +0 -244
  173. package/agents-config/skills/workflow-apex-free/steps/step-00b-interactive.md +0 -153
  174. package/agents-config/skills/workflow-apex-free/steps/step-01-analyze.md +0 -361
  175. package/agents-config/skills/workflow-apex-free/steps/step-02-plan.md +0 -264
  176. package/agents-config/skills/workflow-apex-free/steps/step-03-execute.md +0 -239
  177. package/agents-config/skills/workflow-apex-free/steps/step-04-validate.md +0 -251
  178. package/agents-config/skills/workflow-apex-free/templates/00-context.md +0 -43
  179. package/agents-config/skills/workflow-apex-free/templates/01-analyze.md +0 -10
  180. package/agents-config/skills/workflow-apex-free/templates/02-plan.md +0 -10
  181. package/agents-config/skills/workflow-apex-free/templates/03-execute.md +0 -10
  182. package/agents-config/skills/workflow-apex-free/templates/04-validate.md +0 -10
  183. package/agents-config/skills/workflow-apex-free/templates/README.md +0 -176
  184. package/agents-config/skills/workflow-apex-free/templates/step-complete.md +0 -7
@@ -0,0 +1,288 @@
1
+ # OpenAI Codex Skills
2
+
3
+ Official docs: https://developers.openai.com/codex/skills
4
+ Examples: https://github.com/openai/skills
5
+
6
+ ## Layout
7
+
8
+ ```
9
+ skill-name/
10
+ ├── SKILL.md # required
11
+ ├── agents/
12
+ │ └── openai.yaml # optional: UI metadata, MCP deps, default prompt
13
+ ├── assets/ # icons referenced by openai.yaml, output templates
14
+ ├── references/ # loaded on demand
15
+ └── scripts/ # executable code
16
+ ```
17
+
18
+ ## Storage locations (scan order)
19
+
20
+ | Scope | Path | Use |
21
+ | :------- | :------------------------------ | :----------------------------------- |
22
+ | REPO | `$CWD/.agents/skills` | Skill scoped to working folder |
23
+ | REPO | `$CWD/../.agents/skills` | Shared across nested module |
24
+ | REPO | `$REPO_ROOT/.agents/skills` | Repo-wide for everyone |
25
+ | USER | `~/.agents/skills` | Personal, any repo |
26
+ | ADMIN | `/etc/codex/skills` | Machine/container-wide |
27
+ | SYSTEM | bundled with Codex | Built-ins |
28
+
29
+ Codex walks CWD up to repo root collecting `.agents/skills` at each level. Symlinks are followed. Same `name` in two scopes is NOT merged - both appear in the selector.
30
+
31
+ ## SKILL.md (required, minimal)
32
+
33
+ ```markdown
34
+ ---
35
+ name: skill-name
36
+ description: Explain exactly when this skill should and should not trigger.
37
+ ---
38
+
39
+ Imperative instructions for Codex.
40
+ ```
41
+
42
+ Only `name` and `description` are required. The description is what triggers implicit invocation - front-load the use case and trigger words. Codex caps the initial skill list at ~2% of context (or ~8000 chars); descriptions get shortened first, so the important phrases must come first.
43
+
44
+ ## Invocation
45
+
46
+ - **Explicit**: user types `$skill-name` in CLI/IDE, or `/skills` to browse.
47
+ - **Implicit**: Codex picks the skill when the user's prompt matches the description.
48
+
49
+ To block implicit picking (e.g., for side-effecting skills), set `policy.allow_implicit_invocation: false` in `openai.yaml`. `$skill-name` still works.
50
+
51
+ ---
52
+
53
+ # `agents/openai.yaml` - the optional UX layer
54
+
55
+ `openai.yaml` is product-specific config the **harness** reads, not the model. It controls how the skill appears in the Codex app/IDE (icon, name, color, blurb), how it can be invoked, and what MCP servers it needs to function. The skill still works without it - this layer makes it feel native.
56
+
57
+ ## When to add it
58
+
59
+ - **Skip** for a personal, instruction-only skill in your own repo. SKILL.md alone is fine.
60
+ - **Add it** when you want the skill to look polished in the Codex app skill picker (real icon, brand color, friendly name).
61
+ - **Required** if the skill needs an MCP server (Figma, Notion, Linear, GitHub, etc.) to function - that's how Codex knows to connect.
62
+ - **Required** if you want to disable implicit invocation for safety.
63
+
64
+ ## Full schema with constraints
65
+
66
+ ```yaml
67
+ interface:
68
+ display_name: "Optional user-facing name"
69
+ short_description: "Optional user-facing description"
70
+ icon_small: "./assets/small-400px.png"
71
+ icon_large: "./assets/large-logo.svg"
72
+ brand_color: "#3B82F6"
73
+ default_prompt: "Use $skill-name to draft a concise weekly status update."
74
+
75
+ policy:
76
+ allow_implicit_invocation: false
77
+
78
+ dependencies:
79
+ tools:
80
+ - type: "mcp"
81
+ value: "github"
82
+ description: "GitHub MCP server"
83
+ transport: "streamable_http"
84
+ url: "https://api.githubcopilot.com/mcp/"
85
+ ```
86
+
87
+ **Top-level rules**
88
+
89
+ - Quote every string value. Leave keys unquoted.
90
+ - Paths in `icon_small` / `icon_large` are relative to the skill directory. Convention: put icons under `./assets/`.
91
+
92
+ ### `interface` fields (UI metadata)
93
+
94
+ | Field | Purpose | Notes |
95
+ | :------------------ | :-------------------------------------------- | :----------------------------------------------------------------------------------- |
96
+ | `display_name` | Human-facing title in skill lists/chips | Keep short. Don't repeat the `name` slug. |
97
+ | `short_description` | One-line blurb for skill picker | **25-64 chars**. Skim-readable. |
98
+ | `icon_small` | Small icon path | Use `./assets/<file>`. PNG or SVG. Used in chips/lists. |
99
+ | `icon_large` | Large logo path | Used on the skill detail card. |
100
+ | `brand_color` | Hex color for UI accents | Format `"#RRGGBB"`. Picks badge / pill color. |
101
+ | `default_prompt` | Example prompt inserted when invoking | **Must mention the skill as `$skill-name`** (e.g., "Use `$weekly-status` to draft…") |
102
+
103
+ ### `policy` field
104
+
105
+ - `allow_implicit_invocation` (default: `true`). Set to `false` for skills with side effects (deploy, post, write). Users can still trigger with `$skill-name`.
106
+
107
+ ### `dependencies.tools` (MCP)
108
+
109
+ Only `type: "mcp"` is supported today. Each entry:
110
+
111
+ | Field | Required | Description |
112
+ | :------------ | :------- | :----------------------------------------------------------------------- |
113
+ | `type` | yes | Always `"mcp"` for now |
114
+ | `value` | yes | Server identifier. Must match `[mcp_servers.<value>]` in `config.toml` |
115
+ | `description` | yes | Human-readable purpose |
116
+ | `transport` | yes | Always `"streamable_http"` for remote MCP servers |
117
+ | `url` | yes | HTTPS endpoint of the MCP server |
118
+
119
+ ---
120
+
121
+ ## Wiring an MCP-backed skill end-to-end
122
+
123
+ Two files have to agree:
124
+
125
+ **1. Skill declares the dependency** (`<skill>/agents/openai.yaml`)
126
+
127
+ ```yaml
128
+ dependencies:
129
+ tools:
130
+ - type: "mcp"
131
+ value: "figma"
132
+ description: "Figma MCP server for design-to-code"
133
+ transport: "streamable_http"
134
+ url: "https://mcp.figma.com/mcp"
135
+ ```
136
+
137
+ **2. User configures the server** (`~/.codex/config.toml`)
138
+
139
+ ```toml
140
+ rmcp_client = true # required feature flag for remote MCP
141
+
142
+ [mcp_servers.figma]
143
+ url = "https://mcp.figma.com/mcp"
144
+ bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
145
+ # optional:
146
+ # http_headers = { "X-Figma-Region" = "us" }
147
+ # startup_timeout_sec = 10
148
+ # tool_timeout_sec = 30
149
+ ```
150
+
151
+ The token itself lives in the environment:
152
+
153
+ ```bash
154
+ export FIGMA_OAUTH_TOKEN="…"
155
+ ```
156
+
157
+ Restart Codex after editing `config.toml` or the env var.
158
+
159
+ **Real-world reference table**
160
+
161
+ | Skill | MCP `value` | URL | Env var |
162
+ | :----------------------------- | :---------- | :--------------------------- | :-------------------- |
163
+ | `figma` | `figma` | `https://mcp.figma.com/mcp` | `FIGMA_OAUTH_TOKEN` |
164
+ | `notion-knowledge-capture` | `notion` | `https://mcp.notion.com/mcp` | `NOTION_OAUTH_TOKEN` |
165
+ | `notion-meeting-intelligence` | `notion` | `https://mcp.notion.com/mcp` | `NOTION_OAUTH_TOKEN` |
166
+ | `notion-spec-to-implementation`| `notion` | `https://mcp.notion.com/mcp` | `NOTION_OAUTH_TOKEN` |
167
+
168
+ ---
169
+
170
+ ## Enable/disable a skill without deleting
171
+
172
+ `~/.codex/config.toml`:
173
+
174
+ ```toml
175
+ [[skills.config]]
176
+ path = "/absolute/path/to/skill/SKILL.md"
177
+ enabled = false
178
+ ```
179
+
180
+ Restart Codex after editing.
181
+
182
+ ## Distribution
183
+
184
+ For sharing beyond one repo, bundle as a **plugin**. Plugins can hold one or more skills plus MCP server config and app mappings. `.agents/skills/` is for local authoring; plugins are for distribution. `$skill-installer <name>` pulls curated skills locally.
185
+
186
+ ---
187
+
188
+ ## Recipes
189
+
190
+ ### Pure instruction-only skill (no UI polish, no MCP)
191
+
192
+ ```
193
+ weekly-status/
194
+ └── SKILL.md
195
+ ```
196
+
197
+ ```markdown
198
+ ---
199
+ name: weekly-status
200
+ description: Draft a concise weekly status update. Use when the user asks to "write my weekly status", "summarize the week", or "draft a standup update".
201
+ ---
202
+
203
+ Draft a 4-bullet status:
204
+ 1. Shipped this week (link PRs)
205
+ 2. In progress with current blockers
206
+ 3. Coming next week
207
+ 4. Asks / decisions needed
208
+
209
+ Keep each bullet under 20 words. No emoji. No filler.
210
+ ```
211
+
212
+ ### Polished skill with branded UI
213
+
214
+ ```
215
+ weekly-status/
216
+ ├── SKILL.md
217
+ ├── agents/openai.yaml
218
+ └── assets/
219
+ ├── small-400px.png
220
+ └── large-logo.svg
221
+ ```
222
+
223
+ ```yaml
224
+ interface:
225
+ display_name: "Weekly Status"
226
+ short_description: "Draft a concise weekly status update"
227
+ icon_small: "./assets/small-400px.png"
228
+ icon_large: "./assets/large-logo.svg"
229
+ brand_color: "#7C3AED"
230
+ default_prompt: "Use $weekly-status to draft this week's update from my recent PRs."
231
+ ```
232
+
233
+ ### Side-effecting skill (block implicit)
234
+
235
+ ```yaml
236
+ interface:
237
+ display_name: "Deploy Production"
238
+ short_description: "Ship the current branch to prod"
239
+ brand_color: "#DC2626"
240
+ default_prompt: "Use $deploy-prod to release the current branch."
241
+
242
+ policy:
243
+ allow_implicit_invocation: false # user must type $deploy-prod
244
+ ```
245
+
246
+ ### MCP-backed skill (Figma example)
247
+
248
+ ```yaml
249
+ interface:
250
+ display_name: "Figma"
251
+ short_description: "Implement designs from Figma nodes"
252
+ icon_small: "./assets/figma-small.svg"
253
+ icon_large: "./assets/figma.png"
254
+ brand_color: "#F24E1E"
255
+ default_prompt: "Use $figma to implement the selected node."
256
+
257
+ dependencies:
258
+ tools:
259
+ - type: "mcp"
260
+ value: "figma"
261
+ description: "Figma design context"
262
+ transport: "streamable_http"
263
+ url: "https://mcp.figma.com/mcp"
264
+ ```
265
+
266
+ Skill body then calls the MCP tools in a deterministic sequence (e.g., for Figma: `get_design_context` → `get_metadata` if truncated → `get_screenshot` for parity).
267
+
268
+ ---
269
+
270
+ ## Common mistakes
271
+
272
+ - **Description is a label, not a trigger.** "Figma helper" → "Use when the user asks to implement a Figma design, build UI from a Figma node, or convert a Figma URL to code."
273
+ - **Forgot to quote string values** in YAML. Unquoted hex colors / URLs blow up parsing.
274
+ - **`default_prompt` doesn't reference `$skill-name`**. Per the schema constraint, it must.
275
+ - **MCP `value` mismatch.** The string in `openai.yaml` must match the `[mcp_servers.<value>]` block in `config.toml` exactly.
276
+ - **Forgot `rmcp_client = true`** in `config.toml` - MCP connections silently fail.
277
+ - **Bearer token has quotes.** `bearer_token_env_var` resolves to the raw env value; if you wrap it in quotes when exporting, OAuth errors out.
278
+ - **Adding `openai.yaml` for a personal skill that nobody else sees.** It's overhead. Skip it.
279
+ - **Putting README/CHANGELOG/INSTALL files next to SKILL.md.** Codex doesn't read them, they're clutter.
280
+
281
+ ## Best practices
282
+
283
+ - One job per skill. Split rather than bloat.
284
+ - Instructions over scripts unless determinism matters.
285
+ - Imperative steps with explicit inputs and outputs.
286
+ - Re-read the `description`: would it actually match the prompts you have in mind? Test against 3 real phrasings.
287
+ - Keep `short_description` skim-readable (25-64 chars).
288
+ - Pre-size icons before shipping: small ~400px, large ~1024px square. Match `brand_color` to the icon for cohesion.
@@ -0,0 +1,125 @@
1
+ # Cursor Rules
2
+
3
+ Official docs: https://cursor.com/docs/rules.md
4
+
5
+ Cursor calls them "rules", not skills. Same idea: persistent instructions injected into the model context. Four kinds:
6
+
7
+ | Kind | Location | Notes |
8
+ | :------------ | :------------------------- | :--------------------------------- |
9
+ | Project Rules | `.cursor/rules/*.md(c)` | Version-controlled, scoped to repo |
10
+ | User Rules | Cursor Settings → Rules | Global, chat-only |
11
+ | Team Rules | Cursor dashboard | Team/Enterprise plans |
12
+ | AGENTS.md | project root + subdirs | Plain markdown, no frontmatter |
13
+
14
+ Precedence when merging: **Team Rules → Project Rules → User Rules**. Earlier source wins on conflict.
15
+
16
+ ## Project rule file: `.cursor/rules/<name>.mdc`
17
+
18
+ Use `.mdc` when you need frontmatter, `.md` for content-only. Frontmatter has three fields:
19
+
20
+ | `alwaysApply` | `description` | `globs` | Behavior |
21
+ | :------------ | :------------ | :-------- | :------------------------------------------------------ |
22
+ | `true` | - | - | Always included. `description`/`globs` ignored. |
23
+ | `false` | - | provided | Auto-attached when a matching file is in context. |
24
+ | `false` | provided | omitted | Agent reads description, pulls in when relevant. |
25
+ | `false` | omitted | omitted | Manual only - included when `@`-mentioned in chat. |
26
+
27
+ ### Four templates
28
+
29
+ **Always applied**
30
+
31
+ ```md
32
+ ---
33
+ alwaysApply: true
34
+ ---
35
+
36
+ - All source files must include the company copyright header
37
+ - Never modify generated files in `dist/` or `build/`
38
+ ```
39
+
40
+ **Auto-attached by file pattern**
41
+
42
+ ```md
43
+ ---
44
+ globs: src/components/**/*.tsx
45
+ alwaysApply: false
46
+ ---
47
+
48
+ - Use named exports, not default exports
49
+ - Co-locate styles in a CSS module next to the component
50
+ - Keep components under 200 lines
51
+ ```
52
+
53
+ **Agent-selected by description**
54
+
55
+ ```md
56
+ ---
57
+ description: RPC service conventions and patterns for the backend
58
+ alwaysApply: false
59
+ ---
60
+
61
+ - Define each service in its own file under `src/services/`
62
+ - Validate inputs at the service boundary
63
+ - Reference `@service-template.ts` for boilerplate
64
+ ```
65
+
66
+ **Manual via @-mention**
67
+
68
+ ```md
69
+ ---
70
+ alwaysApply: false
71
+ ---
72
+
73
+ - Every database migration must have `up` and `down`
74
+ - Never alter a column type in-place
75
+
76
+ @migration-template.sql
77
+ ```
78
+
79
+ ### Glob examples
80
+
81
+ | Pattern | Matches |
82
+ | :------------------------------- | :----------------------------------- |
83
+ | `*.ts` | `.ts` files at root |
84
+ | `**/*.ts` | `.ts` files anywhere |
85
+ | `src/**` | everything under `src/` |
86
+ | `src/**/*.tsx` | `.tsx` files anywhere under `src/` |
87
+ | `docs/**/*.md, docs/**/*.mdx` | comma-separate multiple patterns |
88
+ | `tailwind.config.*` | any extension |
89
+
90
+ ### Referencing files
91
+
92
+ `@filename.ts` inside a rule attaches that file to the context when the rule fires. Use this to point at canonical templates instead of copying code.
93
+
94
+ ## AGENTS.md (no frontmatter)
95
+
96
+ Plain markdown in project root or subdirectories. No fields, no globs - just instructions.
97
+
98
+ ```markdown
99
+ # Project Instructions
100
+
101
+ ## Code Style
102
+ - Use TypeScript for all new files
103
+ - Prefer functional components in React
104
+ ```
105
+
106
+ Nested support: `frontend/AGENTS.md` applies inside `frontend/`, combined with the root file. More specific wins.
107
+
108
+ ## User Rules
109
+
110
+ Free-form global preferences set in Cursor Settings. Chat-only (not Inline Edit / Cmd-K).
111
+
112
+ ## Best practices
113
+
114
+ - Keep rules under 500 lines; split into composable rules instead.
115
+ - Concrete examples beat vague guidance.
116
+ - Reference files with `@name.ts` rather than copying code (stays in sync).
117
+ - Skip style guides Cursor already knows. Add a rule when you see the same mistake twice.
118
+ - Check rules into git so the team benefits.
119
+
120
+ ## Common mistakes
121
+
122
+ - Using `alwaysApply: true` for rules that only matter in one directory - use `globs` instead.
123
+ - Description that's a label, not a trigger ("Backend stuff" → "RPC service conventions and patterns for the backend").
124
+ - Copying entire style guides instead of using a linter.
125
+ - Manual rule (no globs, no description, `alwaysApply: false`) without telling the user it must be `@`-mentioned.
@@ -0,0 +1,97 @@
1
+ # Description Recommendations
2
+
3
+ Use this when writing or refining the `description` field for Claude Code skills, OpenAI Codex skills, or Cursor intelligent rules.
4
+
5
+ ## Sources
6
+
7
+ - OpenAI Codex Agent Skills: https://developers.openai.com/codex/skills
8
+ - Anthropic Agent Skills best practices: https://console.anthropic.com/docs/en/agents-and-tools/agent-skills/best-practices
9
+ - Anthropic Agent Skills overview: https://console.anthropic.com/docs/en/agents-and-tools/agent-skills/overview
10
+ - Claude Code skills docs: https://docs.anthropic.com/en/docs/claude-code/skills
11
+ - Cursor rules docs: https://cursor.com/help/customization/rules
12
+
13
+ ## Hard Rules
14
+
15
+ - Keep every description between 50 and 300 characters.
16
+ - Make the first clause useful on its own; skill lists may shorten descriptions.
17
+ - Include both what the skill does and when it should be used.
18
+ - Use third person. Do not write "I can..." or "You can...".
19
+ - Do not include XML tags, markdown tables, long examples, or implementation steps.
20
+ - Do not duplicate the full SKILL.md body. The description is only discovery metadata.
21
+
22
+ ## What Good Descriptions Do
23
+
24
+ A good description helps the model decide whether to load the skill before it has read the skill body. It should answer three questions:
25
+
26
+ 1. What capability does this skill provide?
27
+ 2. Which user requests, file names, commands, or domain terms should trigger it?
28
+ 3. What boundary keeps it from triggering on adjacent but wrong tasks?
29
+
30
+ Prefer concrete nouns, verbs, and file names over generic labels. Use terms a user would actually type: `SKILL.md`, `.cursor/rules`, `commit message`, `invoice`, `wrangler`, `Netlify deploy`, `DOCX`, `.xlsx`.
31
+
32
+ ## Recommended Shape
33
+
34
+ Use one or two compact sentences:
35
+
36
+ ```yaml
37
+ description: <Primary capability>. Use when <trigger phrases, file types, commands, or task context>.
38
+ ```
39
+
40
+ For reference-only skills:
41
+
42
+ ```yaml
43
+ description: <Domain conventions or reference material>. Use when working on <specific files, modules, APIs, or workflows>.
44
+ ```
45
+
46
+ For side-effecting workflows, be narrower:
47
+
48
+ ```yaml
49
+ description: Prepare and verify production deploys. Use only when the user explicitly asks to deploy, release, publish, or check deployment status.
50
+ ```
51
+
52
+ ## Examples
53
+
54
+ Good:
55
+
56
+ ```yaml
57
+ description: Create or edit Claude, Codex, and Cursor skills/rules. Use for SKILL.md, .cursor/rules, AGENTS.md, frontmatter, references, scripts, and discovery rules.
58
+ ```
59
+
60
+ Good:
61
+
62
+ ```yaml
63
+ description: Review GitHub pull request feedback and implement requested changes. Use when the user asks to address PR comments, review threads, or requested changes.
64
+ ```
65
+
66
+ Too vague:
67
+
68
+ ```yaml
69
+ description: Helps with skills.
70
+ ```
71
+
72
+ Too broad:
73
+
74
+ ```yaml
75
+ description: Manage all developer workflow tasks, docs, rules, automation, repository work, deployment, testing, and issue handling.
76
+ ```
77
+
78
+ Wrong point of view:
79
+
80
+ ```yaml
81
+ description: I can help you write better skill descriptions.
82
+ ```
83
+
84
+ ## Checklist
85
+
86
+ - [ ] 50-300 characters.
87
+ - [ ] First words contain the primary trigger.
88
+ - [ ] Mentions the key files, commands, domains, or user phrases.
89
+ - [ ] Says when to use it, not only what it is.
90
+ - [ ] Specific enough to avoid accidental invocation.
91
+ - [ ] No body-level instructions, setup steps, or long examples.
92
+
93
+ Run the local inspector after editing:
94
+
95
+ ```bash
96
+ bun scripts/inspect-description.ts
97
+ ```