aiblueprint-cli 1.4.58 → 1.4.60

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 (180) hide show
  1. package/README.md +19 -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/commands/prompts/create-vitejs-app.md +272 -0
  24. package/agents-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
  25. package/agents-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
  26. package/agents-config/commands/prompts/nextjs-setup-project.md +200 -0
  27. package/agents-config/commands/prompts/prompt.md +55 -0
  28. package/agents-config/commands/prompts/saas-challenge-idea.md +135 -0
  29. package/agents-config/commands/prompts/saas-create-architecture.md +242 -0
  30. package/agents-config/commands/prompts/saas-create-headline.md +132 -0
  31. package/agents-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
  32. package/agents-config/commands/prompts/saas-create-legals-docs.md +176 -0
  33. package/agents-config/commands/prompts/saas-create-logos.md +240 -0
  34. package/agents-config/commands/prompts/saas-create-prd.md +195 -0
  35. package/agents-config/commands/prompts/saas-create-tasks.md +240 -0
  36. package/agents-config/commands/prompts/saas-define-pricing.md +293 -0
  37. package/agents-config/commands/prompts/saas-find-domain-name.md +190 -0
  38. package/agents-config/commands/prompts/saas-implement-landing-page.md +257 -0
  39. package/agents-config/commands/prompts/setup-tmux.md +160 -0
  40. package/agents-config/commands/prompts/tools.md +148 -0
  41. package/agents-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
  42. package/agents-config/scripts/CLAUDE.md +37 -0
  43. package/agents-config/scripts/biome.json +37 -0
  44. package/agents-config/scripts/bun.lockb +0 -0
  45. package/agents-config/scripts/package.json +24 -0
  46. package/agents-config/scripts/statusline/CLAUDE.md +87 -0
  47. package/agents-config/scripts/statusline/README.md +117 -0
  48. package/agents-config/scripts/statusline/__tests__/context.test.ts +229 -0
  49. package/agents-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
  50. package/agents-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
  51. package/agents-config/scripts/statusline/defaults.json +82 -0
  52. package/agents-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
  53. package/agents-config/scripts/statusline/fixtures/test-input.json +35 -0
  54. package/agents-config/scripts/statusline/src/commands/interactive-config.ts +403 -0
  55. package/agents-config/scripts/statusline/src/index.ts +141 -0
  56. package/agents-config/scripts/statusline/src/lib/config-types.ts +110 -0
  57. package/agents-config/scripts/statusline/src/lib/config.ts +21 -0
  58. package/agents-config/scripts/statusline/src/lib/context.ts +103 -0
  59. package/agents-config/scripts/statusline/src/lib/formatters.ts +426 -0
  60. package/agents-config/scripts/statusline/src/lib/git.ts +100 -0
  61. package/agents-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
  62. package/agents-config/scripts/statusline/src/lib/presets.ts +177 -0
  63. package/agents-config/scripts/statusline/src/lib/render-pure.ts +516 -0
  64. package/agents-config/scripts/statusline/src/lib/types.ts +36 -0
  65. package/agents-config/scripts/statusline/src/lib/utils.ts +15 -0
  66. package/agents-config/scripts/statusline/statusline.config.free.json +79 -0
  67. package/agents-config/scripts/statusline/statusline.config.json +79 -0
  68. package/agents-config/scripts/statusline/test-with-fixtures.ts +37 -0
  69. package/agents-config/scripts/statusline/test.ts +20 -0
  70. package/agents-config/scripts/statusline/tsconfig.json +27 -0
  71. package/agents-config/scripts/tsconfig.json +27 -0
  72. package/agents-config/skills/{subagent-creator → agents-managers}/SKILL.md +47 -47
  73. package/agents-config/skills/{subagent-creator/references/subagents.md → agents-managers/references/agents.md} +45 -45
  74. package/agents-config/skills/{subagent-creator → agents-managers}/references/context-management.md +20 -20
  75. package/agents-config/skills/{subagent-creator → agents-managers}/references/debugging-agents.md +27 -27
  76. package/agents-config/skills/{subagent-creator → agents-managers}/references/error-handling-and-recovery.md +19 -19
  77. package/agents-config/skills/{subagent-creator → agents-managers}/references/evaluation-and-testing.md +29 -29
  78. package/agents-config/skills/{subagent-creator → agents-managers}/references/orchestration-patterns.md +5 -5
  79. package/agents-config/skills/{subagent-creator/references/writing-subagent-prompts.md → agents-managers/references/writing-agent-prompts.md} +23 -23
  80. package/agents-config/skills/codex-environment/SKILL.md +2 -0
  81. package/agents-config/skills/commit/SKILL.md +2 -0
  82. package/agents-config/skills/create-pr/SKILL.md +2 -0
  83. package/agents-config/skills/environments-manager/SKILL.md +271 -0
  84. package/agents-config/skills/environments-manager/examples/claude/.worktreeinclude +3 -0
  85. package/agents-config/skills/environments-manager/examples/claude/commands/dev.md +5 -0
  86. package/agents-config/skills/environments-manager/examples/claude/commands/lint.md +5 -0
  87. package/agents-config/skills/environments-manager/examples/claude/commands/test.md +5 -0
  88. package/agents-config/skills/environments-manager/examples/claude/commands/typecheck.md +5 -0
  89. package/agents-config/skills/environments-manager/examples/claude/settings.json +24 -0
  90. package/agents-config/skills/environments-manager/examples/codex/environments/environment.toml +29 -0
  91. package/agents-config/skills/environments-manager/examples/cursor/worktrees.json +3 -0
  92. package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-create.sh +96 -0
  93. package/agents-config/skills/environments-manager/examples/scripts/claude-worktree-remove.sh +66 -0
  94. package/agents-config/skills/environments-manager/examples/scripts/dev.sh +15 -0
  95. package/agents-config/skills/environments-manager/examples/scripts/worktree-down.sh +22 -0
  96. package/agents-config/skills/environments-manager/examples/scripts/worktree-up.sh +50 -0
  97. package/agents-config/skills/environments-manager/references/claude.md +156 -0
  98. package/agents-config/skills/environments-manager/references/codex.md +97 -0
  99. package/agents-config/skills/environments-manager/references/cursor.md +88 -0
  100. package/agents-config/skills/fix-pr-comments/SKILL.md +2 -0
  101. package/agents-config/skills/grill-me/SKILL.md +10 -0
  102. package/agents-config/skills/merge/SKILL.md +2 -0
  103. package/agents-config/skills/rules-manager/SKILL.md +191 -0
  104. package/agents-config/skills/rules-manager/references/agents-vs-claude.md +66 -0
  105. package/agents-config/skills/rules-manager/references/examples.md +117 -0
  106. package/agents-config/skills/skill-manager/SKILL.md +83 -0
  107. package/agents-config/skills/skill-manager/references/claude-code.md +81 -0
  108. package/agents-config/skills/skill-manager/references/codex.md +288 -0
  109. package/agents-config/skills/skill-manager/references/cursor.md +125 -0
  110. package/agents-config/skills/ultrathink/SKILL.md +2 -0
  111. package/dist/cli.js +618 -182
  112. package/package.json +1 -1
  113. package/agents-config/claude-config/scripts/statusline/data/.gitignore +0 -8
  114. package/agents-config/claude-config/scripts/statusline/data/.gitkeep +0 -0
  115. package/agents-config/claude-config/scripts/statusline/docs/ARCHITECTURE.md +0 -166
  116. package/agents-config/claude-config/scripts/statusline/src/tests/spend-v2.test.ts +0 -306
  117. package/agents-config/skills/apex/SKILL.md +0 -261
  118. package/agents-config/skills/apex/scripts/setup-templates.sh +0 -100
  119. package/agents-config/skills/apex/scripts/update-progress.sh +0 -80
  120. package/agents-config/skills/apex/steps/step-00-init.md +0 -267
  121. package/agents-config/skills/apex/steps/step-00b-branch.md +0 -126
  122. package/agents-config/skills/apex/steps/step-00b-economy.md +0 -244
  123. package/agents-config/skills/apex/steps/step-00b-interactive.md +0 -153
  124. package/agents-config/skills/apex/steps/step-01-analyze.md +0 -361
  125. package/agents-config/skills/apex/steps/step-02-plan.md +0 -264
  126. package/agents-config/skills/apex/steps/step-03-execute.md +0 -239
  127. package/agents-config/skills/apex/steps/step-04-validate.md +0 -251
  128. package/agents-config/skills/apex/templates/00-context.md +0 -43
  129. package/agents-config/skills/apex/templates/01-analyze.md +0 -10
  130. package/agents-config/skills/apex/templates/02-plan.md +0 -10
  131. package/agents-config/skills/apex/templates/03-execute.md +0 -10
  132. package/agents-config/skills/apex/templates/04-validate.md +0 -10
  133. package/agents-config/skills/apex/templates/README.md +0 -176
  134. package/agents-config/skills/apex/templates/step-complete.md +0 -7
  135. package/agents-config/skills/claude-memory/SKILL.md +0 -293
  136. package/agents-config/skills/claude-memory/references/comprehensive-example.md +0 -175
  137. package/agents-config/skills/claude-memory/references/optimize-guide.md +0 -300
  138. package/agents-config/skills/claude-memory/references/project-patterns.md +0 -334
  139. package/agents-config/skills/claude-memory/references/prompting-techniques.md +0 -411
  140. package/agents-config/skills/claude-memory/references/rules-directory-guide.md +0 -298
  141. package/agents-config/skills/claude-memory/references/section-templates.md +0 -347
  142. package/agents-config/skills/fix-errors/SKILL.md +0 -61
  143. package/agents-config/skills/fix-grammar/SKILL.md +0 -59
  144. package/agents-config/skills/ralph-loop/SKILL.md +0 -117
  145. package/agents-config/skills/ralph-loop/scripts/setup.sh +0 -278
  146. package/agents-config/skills/ralph-loop/steps/step-00-init.md +0 -215
  147. package/agents-config/skills/ralph-loop/steps/step-01-interactive-prd.md +0 -366
  148. package/agents-config/skills/ralph-loop/steps/step-02-create-stories.md +0 -273
  149. package/agents-config/skills/ralph-loop/steps/step-03-finish.md +0 -245
  150. package/agents-config/skills/skill-creator/LICENSE.txt +0 -202
  151. package/agents-config/skills/skill-creator/SKILL.md +0 -421
  152. package/agents-config/skills/skill-creator/package.json +0 -5
  153. package/agents-config/skills/skill-creator/references/output-patterns.md +0 -82
  154. package/agents-config/skills/skill-creator/references/progressive-disclosure-patterns.md +0 -374
  155. package/agents-config/skills/skill-creator/references/prompting-integration.md +0 -363
  156. package/agents-config/skills/skill-creator/references/real-world-examples.md +0 -513
  157. package/agents-config/skills/skill-creator/references/script-patterns.md +0 -385
  158. package/agents-config/skills/skill-creator/references/workflows.md +0 -28
  159. package/agents-config/skills/skill-creator/references/xml-tag-guide.md +0 -606
  160. package/agents-config/skills/skill-creator/scripts/init-skill.ts +0 -214
  161. package/agents-config/skills/skill-creator/scripts/package-skill.ts +0 -146
  162. package/agents-config/skills/skill-creator/scripts/validate.ts +0 -138
  163. package/agents-config/skills/workflow-apex-free/SKILL.md +0 -261
  164. package/agents-config/skills/workflow-apex-free/scripts/setup-templates.sh +0 -100
  165. package/agents-config/skills/workflow-apex-free/scripts/update-progress.sh +0 -80
  166. package/agents-config/skills/workflow-apex-free/steps/step-00-init.md +0 -267
  167. package/agents-config/skills/workflow-apex-free/steps/step-00b-branch.md +0 -126
  168. package/agents-config/skills/workflow-apex-free/steps/step-00b-economy.md +0 -244
  169. package/agents-config/skills/workflow-apex-free/steps/step-00b-interactive.md +0 -153
  170. package/agents-config/skills/workflow-apex-free/steps/step-01-analyze.md +0 -361
  171. package/agents-config/skills/workflow-apex-free/steps/step-02-plan.md +0 -264
  172. package/agents-config/skills/workflow-apex-free/steps/step-03-execute.md +0 -239
  173. package/agents-config/skills/workflow-apex-free/steps/step-04-validate.md +0 -251
  174. package/agents-config/skills/workflow-apex-free/templates/00-context.md +0 -43
  175. package/agents-config/skills/workflow-apex-free/templates/01-analyze.md +0 -10
  176. package/agents-config/skills/workflow-apex-free/templates/02-plan.md +0 -10
  177. package/agents-config/skills/workflow-apex-free/templates/03-execute.md +0 -10
  178. package/agents-config/skills/workflow-apex-free/templates/04-validate.md +0 -10
  179. package/agents-config/skills/workflow-apex-free/templates/README.md +0 -176
  180. 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.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: ultrathink
3
3
  description: Deep thinking mode - approach problems like a craftsman, obsess over details, and create elegant solutions
4
+ disable-model-invocation: true
5
+ allow_implicit_invocation: false
4
6
  ---
5
7
 
6
8
  # Ultrathink