cue-ai 0.5.0 → 0.7.0

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 (154) hide show
  1. package/README.md +757 -110
  2. package/package.json +5 -5
  3. package/profiles/README.md +12 -12
  4. package/profiles/SCHEMA.md +31 -3
  5. package/profiles/_cache/README.md +1 -1
  6. package/profiles/_types.ts +26 -1
  7. package/profiles/backend/profile.yaml +1 -0
  8. package/profiles/career/profile.yaml +13 -0
  9. package/profiles/core/profile.yaml +76 -9
  10. package/profiles/creative-media/README.md +1 -1
  11. package/profiles/cybersecurity/profile.yaml +779 -756
  12. package/profiles/ecc/profile.yaml +39 -0
  13. package/profiles/event-design/profile.yaml +10 -0
  14. package/profiles/fleet-control/README.md +1 -1
  15. package/profiles/frontend/profile.yaml +14 -0
  16. package/profiles/full/README.md +1 -1
  17. package/profiles/go-api/profile.yaml +1 -0
  18. package/profiles/marketing/profile.yaml +12 -1
  19. package/profiles/predict-everything/profile.yaml +9 -0
  20. package/profiles/rust/profile.yaml +22 -3
  21. package/profiles/rust-cli/profile.yaml +14 -0
  22. package/profiles/rust-core/profile.yaml +35 -0
  23. package/profiles/rust-embedded/profile.yaml +11 -0
  24. package/profiles/rust-ffi/profile.yaml +13 -0
  25. package/profiles/rust-game/profile.yaml +11 -0
  26. package/profiles/rust-wasm/profile.yaml +11 -0
  27. package/profiles/rust-web/profile.yaml +17 -0
  28. package/profiles/schema.json +44 -4
  29. package/profiles/trendradar/profile.yaml +11 -0
  30. package/resources/mcps/README.md +39 -164
  31. package/resources/mcps/configs/claude.sanitized.json +55 -0
  32. package/resources/mcps/configs/claude_runtime.sanitized.json +47 -0
  33. package/resources/skills/README.md +70 -113
  34. package/resources/skills/skills/event-design/wedding-invitations/SKILL.md +43 -0
  35. package/resources/skills/skills/meta/acpx/SKILL.md +78 -0
  36. package/resources/skills/skills/meta/cue-usage/SKILL.md +24 -0
  37. package/resources/skills/skills/meta/profile-fit-monitor/SKILL.md +24 -0
  38. package/resources/skills/skills/predict-everything/mirofish/SKILL.md +75 -0
  39. package/resources/skills/skills/research/trendradar/SKILL.md +88 -0
  40. package/resources/skills/skills/rust/async-tokio/SKILL.md +27 -0
  41. package/resources/skills/skills/rust/axum-api/SKILL.md +38 -0
  42. package/resources/skills/skills/rust/bacon-watch/SKILL.md +24 -0
  43. package/resources/skills/skills/rust/bevy/SKILL.md +43 -0
  44. package/resources/skills/skills/rust/bindgen/SKILL.md +39 -0
  45. package/resources/skills/skills/rust/cargo-audit/SKILL.md +26 -0
  46. package/resources/skills/skills/rust/cargo-basics/SKILL.md +28 -0
  47. package/resources/skills/skills/rust/cargo-chef/SKILL.md +43 -0
  48. package/resources/skills/skills/rust/cargo-edit/SKILL.md +26 -0
  49. package/resources/skills/skills/rust/cargo-expand/SKILL.md +24 -0
  50. package/resources/skills/skills/rust/cargo-flamegraph/SKILL.md +26 -0
  51. package/resources/skills/skills/rust/cargo-fuzz/SKILL.md +34 -0
  52. package/resources/skills/skills/rust/cargo-hack/SKILL.md +26 -0
  53. package/resources/skills/skills/rust/cargo-msrv/SKILL.md +30 -0
  54. package/resources/skills/skills/rust/cargo-mutants/SKILL.md +26 -0
  55. package/resources/skills/skills/rust/cargo-nextest/SKILL.md +24 -0
  56. package/resources/skills/skills/rust/cargo-readme/SKILL.md +36 -0
  57. package/resources/skills/skills/rust/cbindgen/SKILL.md +41 -0
  58. package/resources/skills/skills/rust/chisel-tool/SKILL.md +32 -0
  59. package/resources/skills/skills/rust/clap-cli/SKILL.md +44 -0
  60. package/resources/skills/skills/rust/clippy-and-fmt/SKILL.md +25 -0
  61. package/resources/skills/skills/rust/cross-compile/SKILL.md +26 -0
  62. package/resources/skills/skills/rust/embedded/SKILL.md +33 -0
  63. package/resources/skills/skills/rust/error-handling/SKILL.md +32 -0
  64. package/resources/skills/skills/rust/just-runner/SKILL.md +26 -0
  65. package/resources/skills/skills/rust/mdbook/SKILL.md +25 -0
  66. package/resources/skills/skills/rust/napi-rs/SKILL.md +32 -0
  67. package/resources/skills/skills/rust/no-std/SKILL.md +42 -0
  68. package/resources/skills/skills/rust/property-testing/SKILL.md +35 -0
  69. package/resources/skills/skills/rust/pyo3/SKILL.md +40 -0
  70. package/resources/skills/skills/rust/ratatui-tui/SKILL.md +36 -0
  71. package/resources/skills/skills/rust/release-plz/SKILL.md +27 -0
  72. package/resources/skills/skills/rust/reqwest/SKILL.md +37 -0
  73. package/resources/skills/skills/rust/sccache/SKILL.md +28 -0
  74. package/resources/skills/skills/rust/serde/SKILL.md +30 -0
  75. package/resources/skills/skills/rust/snapshot-testing/SKILL.md +30 -0
  76. package/resources/skills/skills/rust/sqlx-cli/SKILL.md +33 -0
  77. package/resources/skills/skills/rust/tracing/SKILL.md +36 -0
  78. package/resources/skills/skills/rust/typos-spellcheck/SKILL.md +31 -0
  79. package/resources/skills/skills/rust/uniffi/SKILL.md +38 -0
  80. package/resources/skills/skills/rust/wasm-rust/SKILL.md +27 -0
  81. package/resources/skills/skills/security/agentshield/SKILL.md +119 -0
  82. package/src/commands/_index.ts +47 -3
  83. package/src/commands/cli.test.ts +192 -0
  84. package/src/commands/cli.ts +303 -0
  85. package/src/commands/current.ts +1 -1
  86. package/src/commands/debug.test.ts +62 -0
  87. package/src/commands/debug.ts +212 -0
  88. package/src/commands/discover.scoring.test.ts +216 -0
  89. package/src/commands/discover.test.ts +145 -0
  90. package/src/commands/discover.ts +2618 -0
  91. package/src/commands/eval-behavior.test.ts +56 -0
  92. package/src/commands/eval-behavior.ts +189 -0
  93. package/src/commands/eval.test.ts +102 -0
  94. package/src/commands/eval.ts +348 -0
  95. package/src/commands/evolve.ts +291 -0
  96. package/src/commands/failures.test.ts +78 -0
  97. package/src/commands/failures.ts +393 -0
  98. package/src/commands/feedback.ts +219 -0
  99. package/src/commands/init.ts +26 -0
  100. package/src/commands/launch.e2e.test.ts +9 -1
  101. package/src/commands/launch.ts +174 -11
  102. package/src/commands/lint-skill.ts +157 -0
  103. package/src/commands/marketplace.ts +763 -2
  104. package/src/commands/new.ts +1 -1
  105. package/src/commands/optimizer.ts +92 -28
  106. package/src/commands/profile-draft-skill.test.ts +96 -0
  107. package/src/commands/profile-draft-skill.ts +287 -0
  108. package/src/commands/profile-evolve.test.ts +126 -0
  109. package/src/commands/profile-evolve.ts +0 -0
  110. package/src/commands/profile-suggest.ts +223 -0
  111. package/src/commands/profile.ts +41 -0
  112. package/src/commands/quick.ts +2 -17
  113. package/src/commands/scan.ts +2 -2
  114. package/src/commands/score.ts +1 -1
  115. package/src/commands/share.ts +1 -1
  116. package/src/commands/sources.ts +2 -2
  117. package/src/commands/submit-profile.ts +262 -0
  118. package/src/commands/upgrade.ts +1 -1
  119. package/src/commands/use.ts +35 -5
  120. package/src/commands/validate.ts +1 -1
  121. package/src/index.ts +66 -0
  122. package/src/lib/analytics.ts +48 -2
  123. package/src/lib/claude-binary.ts +39 -0
  124. package/src/lib/cli-extractor.ts +77 -0
  125. package/src/lib/cluster-skills.test.ts +268 -0
  126. package/src/lib/cluster-skills.ts +290 -0
  127. package/src/lib/credentials-sync.test.ts +208 -0
  128. package/src/lib/credentials-sync.ts +205 -0
  129. package/src/lib/mcp-materializer.test.ts +1 -1
  130. package/src/lib/persona-playbooks.test.ts +111 -0
  131. package/src/lib/pr-poster.test.ts +243 -0
  132. package/src/lib/pr-poster.ts +285 -0
  133. package/src/lib/pr-throttle.test.ts +148 -0
  134. package/src/lib/pr-throttle.ts +209 -0
  135. package/src/lib/profile-generator.test.ts +1 -1
  136. package/src/lib/profile-generator.ts +2 -2
  137. package/src/lib/profile-linter.test.ts +6 -3
  138. package/src/lib/profile-linter.ts +71 -8
  139. package/src/lib/profile-loader.test.ts +1 -1
  140. package/src/lib/profile-loader.ts +16 -0
  141. package/src/lib/resolver-local.test.ts +1 -1
  142. package/src/lib/resolver-npx.test.ts +76 -1
  143. package/src/lib/resolver-npx.ts +35 -3
  144. package/src/lib/resolver-plugins.test.ts +1 -1
  145. package/src/lib/runtime-materializer.test.ts +191 -7
  146. package/src/lib/runtime-materializer.ts +310 -42
  147. package/src/lib/scan-plugins.test.ts +1 -1
  148. package/src/lib/skill-linter.test.ts +174 -0
  149. package/src/lib/skill-linter.ts +507 -0
  150. package/src/lib/skill-subset.test.ts +95 -0
  151. package/src/lib/skill-subset.ts +166 -0
  152. package/src/lib/star-prompt.ts +1 -1
  153. package/src/lib/uvx-installer.test.ts +229 -0
  154. package/src/lib/uvx-installer.ts +278 -0
@@ -0,0 +1,39 @@
1
+ name: ecc
2
+ icon: "🦅"
3
+ description: Everything Claude Code patterns — code review, dev workflow, language-specific rules
4
+ persona: |
5
+ You're a senior code reviewer who has seen every common failure mode in
6
+ TypeScript, Python, and Bash. Your job is to catch what the author missed,
7
+ not to praise the parts that work.
8
+
9
+ - **Default to security review.** Every diff gets scanned for injection,
10
+ secrets-in-logs, missing input validation, unsafe shell quoting.
11
+ - **Spec-compliance over taste.** Anthropic's SKILL.md spec is the source
12
+ of truth, not your stylistic preferences. Reference the spec when you
13
+ push back.
14
+ - **Suggest the smallest fix that works.** Avoid "you should refactor this
15
+ whole module" feedback when a 3-line change is enough.
16
+ - **Format: rule citation → one-line explanation → exact replacement.**
17
+ Maintainers should be able to apply your suggestion without thinking.
18
+ inherits: core
19
+ skills:
20
+ local: []
21
+ rules:
22
+ - common/code-review
23
+ - common/coding-style
24
+ - common/development-workflow
25
+ - common/git-workflow
26
+ - common/security
27
+ - common/testing
28
+ - typescript/coding-style
29
+ - typescript/patterns
30
+ - typescript/security
31
+ - typescript/testing
32
+ commands:
33
+ - code-review
34
+ - checkpoint
35
+ - feature-dev
36
+ - build-fix
37
+ - cost-report
38
+ - aside
39
+ # hooks: inherited from core — bash-quality-preflight + session-summary
@@ -0,0 +1,10 @@
1
+ name: event-design
2
+ icon: "💌"
3
+ description: Event collateral design — wedding invitations, save-the-dates, programs, menus, place cards. Bespoke HTML → print-ready PNG, multilingual, fully local
4
+ inherits: core
5
+ skills:
6
+ local:
7
+ - event-design/wedding-invitations # pointer to wyx-sg/wedding-invitation-skill
8
+ - design/high-end-visual-design # generic aesthetic / composition guidance
9
+ - design/brandkit # palette / typography decisions
10
+ mcps: []
@@ -26,7 +26,7 @@ Fleet Control is for coordinated agent runs, Colony state, OMX workflows, guarde
26
26
 
27
27
  - `claude-mem`
28
28
  - `colony`
29
- - `soul-skills`
29
+ - `cue-skills`
30
30
 
31
31
  ## Sample Tasks
32
32
 
@@ -2,6 +2,20 @@ name: frontend
2
2
  icon: "🦋"
3
3
  description: Frontend UI implementation, redesign, screenshots, testing, and visual polish
4
4
  inherits: core
5
+ persona: |
6
+ You're a senior frontend engineer with a designer's eye. You write React /
7
+ Next.js / Svelte without copy-pasting from old projects; every component
8
+ ships with explicit prop types, no `any`, no unhandled loading/error states.
9
+
10
+ - **Verify visually, not just structurally.** A passing build doesn't mean
11
+ the UI works. Open the page in a browser (or screenshot via the screenshot
12
+ skill) and confirm the change renders as intended.
13
+ - **Accessibility is a correctness bar.** Every interactive element gets a
14
+ proper role, label, and keyboard path. WCAG AA is the minimum.
15
+ - **Hydration mismatch is the silent killer.** Anything that depends on
16
+ `window`, `Date.now()`, or `Math.random()` at render time is suspect.
17
+ - **CSS scope or pay the tax.** Default to CSS Modules / Tailwind utility
18
+ classes; global styles need an explicit reason.
5
19
  skills:
6
20
  local:
7
21
  - design/design-taste-frontend
@@ -22,7 +22,7 @@ Full is a diagnostic / fallback only profile. It is intentionally expensive beca
22
22
  - `polymarket-live`
23
23
  - `recodee`
24
24
  - `ruflo`
25
- - `soul-skills`
25
+ - `cue-skills`
26
26
 
27
27
  ## Sample Tasks
28
28
 
@@ -5,4 +5,5 @@ inherits: core
5
5
  skills:
6
6
  local:
7
7
  - review/code-review
8
+ - rust/chisel-tool # Chisel — agent precision file edits (recipe + pointer guide)
8
9
  mcps: []
@@ -1,6 +1,6 @@
1
1
  name: marketing
2
2
  icon: "🦜"
3
- description: Marketing — copywriting, SEO, CRO, growth, channels, brand, awesome-list outreach, X/Twitter
3
+ description: Marketing — copywriting, SEO, CRO, growth, channels, brand, awesome-list outreach, X/Twitter, Reddit, paid ads audit, AI video
4
4
  inherits: core
5
5
  skills:
6
6
  local:
@@ -9,7 +9,18 @@ skills:
9
9
  - design/high-end-visual-design
10
10
  - design/imagegen-frontend-web
11
11
  - meta/awesome-list-submit
12
+ - higgsfield/higgsfield-generate
13
+ - higgsfield/higgsfield-product-photoshoot
14
+ - higgsfield/higgsfield-marketplace-cards
15
+ npx:
16
+ - repo: AgriciDaniel/claude-ads
17
+ skills: [claude-ads]
12
18
  mcps:
13
19
  - x-api
20
+ - reddit
21
+ - google-ads-mcp
22
+ - meta-ads
23
+ - mapi-devdocs
24
+ - Higgsfield
14
25
  plugins:
15
26
  - marketing-skills@claude-code-skills
@@ -0,0 +1,9 @@
1
+ name: predict-everything
2
+ icon: "🔮"
3
+ description: Multi-agent prediction & simulation — digital sandbox rehearsals, swarm intelligence, "what if" scenarios via MiroFish / OASIS-style engines
4
+ inherits: core
5
+ skills:
6
+ local:
7
+ - predict-everything/mirofish # 666ghj/MiroFish — prediction engine on top of OASIS
8
+ - research/awesome-rust-search # general discovery (useful for finding adjacent sim libs)
9
+ mcps: []
@@ -1,8 +1,27 @@
1
1
  name: rust
2
2
  icon: "🦀"
3
- description: Rust development — cargo, async, traits, error handling, CLI tools, systems programming
4
- inherits: core
3
+ description: General Rust development — async, serde, tracing, perf, docs, testing, releases
4
+ inherits: rust-core
5
5
  skills:
6
6
  local:
7
- - review/code-review
7
+ # Runtime + serialization stack (everything non-trivial pulls these in)
8
+ - rust/async-tokio
9
+ - rust/serde
10
+ - rust/tracing
11
+ # Docs
12
+ - rust/mdbook
13
+ - rust/cargo-readme
14
+ # Perf
15
+ - rust/cargo-flamegraph
16
+ # Quality (beyond the gates in rust-core)
17
+ - rust/cargo-hack
18
+ - rust/cargo-mutants
19
+ - rust/cargo-fuzz
20
+ - rust/snapshot-testing
21
+ - rust/property-testing
22
+ - rust/typos-spellcheck
23
+ # Releases + version mgmt
24
+ - rust/release-plz
25
+ - rust/cargo-msrv
26
+ - rust/cross-compile
8
27
  mcps: []
@@ -0,0 +1,14 @@
1
+ name: rust-cli
2
+ icon: "⌨️"
3
+ description: Rust command-line tools — clap, ratatui TUIs, snapshot testing, cross-platform releases
4
+ inherits: rust-core
5
+ skills:
6
+ local:
7
+ - rust/clap-cli
8
+ - rust/ratatui-tui
9
+ - rust/snapshot-testing # the killer feature for CLI output tests
10
+ - rust/cross-compile # ship binaries for every target
11
+ - rust/serde
12
+ - rust/release-plz # tagged releases + crates.io
13
+ - rust/typos-spellcheck
14
+ mcps: []
@@ -0,0 +1,35 @@
1
+ name: rust-core
2
+ icon: "🦀"
3
+ description: Foundation shared by every rust sub-profile — toolchain essentials, gates, discovery
4
+ inherits: core
5
+ skills:
6
+ local:
7
+ - review/code-review
8
+ - research/awesome-rust-search # crate discovery against awesome-rust catalog
9
+ # Toolchain essentials — everyone needs these
10
+ - rust/cargo-basics
11
+ - rust/clippy-and-fmt
12
+ - rust/cargo-nextest
13
+ - rust/bacon-watch
14
+ - rust/cargo-edit
15
+ - rust/cargo-expand
16
+ - rust/sccache
17
+ # Always-on safety + ergonomics
18
+ - rust/cargo-audit
19
+ - rust/error-handling
20
+ - rust/just-runner
21
+ - rust/chisel-tool # Chisel — agent precision file edits (recipe + pointer guide)
22
+ rules:
23
+ - rust/coding-style
24
+ - rust/patterns
25
+ - rust/security
26
+ - rust/testing
27
+ - rust/hooks
28
+ commands:
29
+ - rust-preflight # /rust-preflight — fmt + clippy + test + audit aggregator
30
+ - rust-build # /rust-build — fix build errors incrementally
31
+ - rust-review # /rust-review — deep code review
32
+ - rust-test # /rust-test — TDD enforcement
33
+ hooks:
34
+ - cargo-publish-guard.json # block `cargo publish` without explicit user OK
35
+ mcps: []
@@ -0,0 +1,11 @@
1
+ name: rust-embedded
2
+ icon: "📟"
3
+ description: Rust on microcontrollers — probe-rs, embassy async, no_std patterns, cross-compile to ARM/RISC-V
4
+ inherits: rust-core
5
+ skills:
6
+ local:
7
+ - rust/embedded # probe-rs + cargo-embed + defmt
8
+ - rust/no-std # std-free patterns
9
+ - rust/async-tokio # transferable concepts for embassy
10
+ - rust/cross-compile
11
+ mcps: []
@@ -0,0 +1,13 @@
1
+ name: rust-ffi
2
+ icon: "🔗"
3
+ description: Rust foreign-function interface — Python (pyo3), Node (napi-rs), Kotlin/Swift (uniffi), C (bindgen/cbindgen)
4
+ inherits: rust-core
5
+ skills:
6
+ local:
7
+ - rust/pyo3
8
+ - rust/napi-rs
9
+ - rust/uniffi
10
+ - rust/bindgen # C → Rust
11
+ - rust/cbindgen # Rust → C
12
+ - rust/cross-compile # FFI almost always means multi-platform
13
+ mcps: []
@@ -0,0 +1,11 @@
1
+ name: rust-game
2
+ icon: "🎮"
3
+ description: Rust game / simulation development — Bevy ECS, perf profiling, asset pipelines
4
+ inherits: rust-core
5
+ skills:
6
+ local:
7
+ - rust/bevy
8
+ - rust/cargo-flamegraph # perf is the whole game
9
+ - rust/cross-compile # ship for win/mac/linux + wasm
10
+ - rust/wasm-rust # browser builds via wasm-bindgen
11
+ mcps: []
@@ -0,0 +1,11 @@
1
+ name: rust-wasm
2
+ icon: "🕸️"
3
+ description: Rust → WebAssembly — wasm-pack libraries, Trunk/Dioxus SPAs, no_std considerations
4
+ inherits: rust-core
5
+ skills:
6
+ local:
7
+ - rust/wasm-rust # wasm-pack + trunk + dioxus
8
+ - rust/no-std # wasm32-unknown-unknown is effectively std-free
9
+ - rust/serde
10
+ - rust/typos-spellcheck
11
+ mcps: []
@@ -0,0 +1,17 @@
1
+ name: rust-web
2
+ icon: "🕸️"
3
+ description: Rust web services — axum HTTP APIs, reqwest, sqlx, serde, tracing, container deploys
4
+ inherits: rust-core
5
+ skills:
6
+ local:
7
+ - rust/axum-api
8
+ - rust/reqwest
9
+ - rust/serde
10
+ - rust/tracing
11
+ - rust/sqlx-cli
12
+ - rust/snapshot-testing # API response snapshots
13
+ - rust/release-plz
14
+ - rust/cargo-chef # Docker layer caching
15
+ - rust/typos-spellcheck
16
+ - rust/async-tokio
17
+ mcps: []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://github.com/recodeee/soul/profiles/schema.json",
3
+ "$id": "https://github.com/opencue/cue/profiles/schema.json",
4
4
  "title": "Soul Profile",
5
5
  "description": "Schema for profiles/<name>/profile.yaml — bundles skills, MCPs, and env for a Claude Code or Codex session.",
6
6
  "type": "object",
@@ -16,7 +16,7 @@
16
16
  "type": "string",
17
17
  "minLength": 1,
18
18
  "maxLength": 200,
19
- "description": "One-line description shown in `soul list` and embedded in the materialized CLAUDE.md stamp."
19
+ "description": "One-line description shown in `cue list` and embedded in the materialized CLAUDE.md stamp."
20
20
  },
21
21
  "icon": {
22
22
  "type": "string",
@@ -50,7 +50,7 @@
50
50
  { "$ref": "#/$defs/AgentScopedRef" }
51
51
  ]
52
52
  },
53
- "description": "Paths relative to soul/skills/ (e.g. 'medusa/building-with-medusa')."
53
+ "description": "Paths relative to cue/skills/ (e.g. 'medusa/building-with-medusa')."
54
54
  },
55
55
  "npx": {
56
56
  "type": "array",
@@ -67,7 +67,7 @@
67
67
  ]
68
68
  },
69
69
  "default": [],
70
- "description": "MCP server IDs that must exist in soul/mcps/configs/. Accepts plain string or {id, agents} object."
70
+ "description": "MCP server IDs that must exist in cue/mcps/configs/. Accepts plain string or {id, agents} object."
71
71
  },
72
72
  "plugins": {
73
73
  "type": "array",
@@ -87,6 +87,46 @@
87
87
  "type": "object",
88
88
  "additionalProperties": { "type": "string" },
89
89
  "description": "Env vars set when this profile is materialized; values may contain ${VAR} placeholders."
90
+ },
91
+ "rules": {
92
+ "type": "array",
93
+ "items": { "type": "string", "minLength": 1 },
94
+ "default": [],
95
+ "description": "Rule files (relative to resources/rules/ or absolute) loaded into the session. Enforce coding standards, security policies, etc."
96
+ },
97
+ "commands": {
98
+ "type": "array",
99
+ "items": { "type": "string", "minLength": 1 },
100
+ "default": [],
101
+ "description": "Slash command files (relative to resources/commands/) scoped to this profile."
102
+ },
103
+ "hooks": {
104
+ "type": "array",
105
+ "items": { "type": "string", "minLength": 1 },
106
+ "default": [],
107
+ "description": "Hook scripts (relative to resources/hooks/) activated for this profile. Lifecycle: PreToolUse, PostToolUse, SessionStart, SessionEnd, Stop."
108
+ },
109
+ "persona": {
110
+ "type": "string",
111
+ "description": "Phase 1: multi-line role-priming text injected at the top of CLAUDE.md. Defines who the agent IS (a senior Rust engineer who defaults to safety), not just what tools it has."
112
+ },
113
+ "playbooks": {
114
+ "type": "array",
115
+ "items": { "type": "string", "minLength": 1 },
116
+ "default": [],
117
+ "description": "Phase 2: markdown playbooks (relative to resources/playbooks/) — proven step-by-step protocols for common tasks (ship-feature, triage-bug). Symlinked into runtime, indexed in CLAUDE.md."
118
+ },
119
+ "qualityGates": {
120
+ "type": "array",
121
+ "items": { "type": "string", "minLength": 1 },
122
+ "default": [],
123
+ "description": "Phase 3: Stop-hook validator scripts (relative to resources/quality-gates/) that veto 'done' if work doesn't meet the profile's bar (tests pass, lint clean, etc.)."
124
+ },
125
+ "evals": {
126
+ "type": "array",
127
+ "items": { "type": "string", "minLength": 1 },
128
+ "default": [],
129
+ "description": "Phase 4: eval scenario refs (relative to resources/evals/) declaring 'for task X this profile should be able to handle it'. `cue eval-behavior` runs structural checks."
90
130
  }
91
131
  },
92
132
  "$defs": {
@@ -0,0 +1,11 @@
1
+ name: trendradar
2
+ icon: "📡"
3
+ description: TrendRadar — news aggregation, trend analysis, AI-powered filtering, and notification dispatch via MCP
4
+ inherits: core
5
+ skills:
6
+ local:
7
+ - research/trendradar
8
+ - research/keyword-research
9
+ mcps:
10
+ - trendradar
11
+ plugins: []
@@ -1,181 +1,56 @@
1
- ```
2
- ┌───────────────────────────────────────────────────────────────┐
3
- │ │
4
- │ r e c o d e e e / m c p s │
5
- │ ─────────────────────────── │
6
- │ 13 MCP servers · linked skills · sanitized configs │
7
- │ │
8
- └───────────────────────────────────────────────────────────────┘
9
- ```
10
-
11
- > **My laptop's MCP registry.** This repo tracks the MCP servers used by
12
- > Codex, Claude, and VS Code without committing raw settings or credentials.
13
- > It also maps each MCP to the skills that depend on it.
14
-
15
- ---
16
-
17
- ## Why this exists
18
-
19
- MCP config drifts even faster than skills: one agent has a server enabled,
20
- another points at a local binary, VS Code has a separate entry, and the source
21
- repo link gets forgotten. This repo is the audit layer.
22
-
23
- It records:
24
-
25
- - which MCP servers are configured
26
- - where they come from
27
- - which commands or hosted endpoints launch them
28
- - which environment variable names they expect
29
- - which agent skills are related to each server
30
-
31
- It does **not** try to be the live secret store. Tokens stay in local config,
32
- environment variables, password managers, or service-specific credential files.
33
-
34
- ---
35
-
36
- ## Layout
37
-
38
- ```text
39
- configs/
40
- codex.sanitized.json # ~/.codex/config.toml MCP block, redacted
41
- claude.sanitized.json # ~/.claude/settings.json MCP block, redacted
42
- vscode.sanitized.json # VS Code mcp.json, redacted
43
- mcp-skill-rules.json # explicit source links and skill matching rules
44
- mcp-skill-map.json # generated machine-readable MCP -> skills map
45
- docs/
46
- health.md # generated local health summary
47
- inventory.md # generated human inventory
48
- mcp-skill-map.md # generated human MCP -> skills map
49
- mcps/
50
- <mcp-name>/README.md # per-MCP install and health notes
51
- <mcp-name>/skills.md # per-MCP related skills and source link
52
- omx/ # OMX MCP family grouped under one tree
53
- scripts/
54
- check-no-secrets.sh # fail if tracked docs/configs leak secret-shaped data
55
- check-mcp-health.py # generate docs/health.md without network checks
56
- refresh-all.sh # snapshot configs, map skills, health, scan, diff
57
- install-codex-mcps.py # install placeholder MCP blocks into Codex config
58
- install-claude-mcps.py # install placeholder MCP blocks into Claude settings
59
- snapshot-mcps.py # refresh sanitized MCP config inventory
60
- snapshot-mcp-skills.py # refresh MCP -> skills pages from recodeee/skills
61
- templates/
62
- codex.mcp.toml # placeholder-only Codex MCP config block
63
- claude.mcp.json # placeholder-only Claude MCP config block
64
- ```
65
-
66
- ---
67
-
68
- ## MCP Inventory
69
-
70
- | MCP | Source | Runtime surface |
71
- | --- | --- | --- |
72
- | `Higgsfield` | `https://mcp.higgsfield.ai/mcp` | hosted MCP endpoint |
73
- | `MedusaDocs` | `https://docs.medusajs.com/mcp` | hosted docs MCP endpoint |
74
- | `colony` | `https://github.com/recodeee/colony` | local CLI MCP |
75
- | `coolify` | `https://github.com/StuMason/coolify-mcp` | local npm MCP |
76
- | `gitea` | `https://github.com/seepine/gitea-mcp` | local binary MCP |
77
- | `hostinger-api` | `https://github.com/hostinger/api-mcp-server` | local npm MCP |
78
- | `letsfg` | `https://github.com/LetsFG/LetsFG` | local npm MCP |
79
- | `react-grab-mcp` | `https://www.npmjs.com/package/@react-grab/mcp` | npm MCP |
80
- | `omx/*` | `https://github.com/NagyVikt/oh-my-codex` | local Node MCP family |
81
-
82
- OMX servers are grouped under:
83
-
84
- ```text
85
- mcps/omx/
86
- code-intel/
87
- memory/
88
- state/
89
- trace/
90
- wiki/
91
- ```
92
-
93
- ---
1
+ # cue/mcps — MCP Server Registry
94
2
 
95
- ## Refresh
3
+ > The MCP server configurations used by [cue](https://github.com/opencue/cue). Each profile references servers from this registry by ID.
96
4
 
97
- Refresh sanitized MCP config snapshots:
5
+ ## What's here
98
6
 
99
- ```sh
100
- ./scripts/snapshot-mcps.py
101
7
  ```
102
-
103
- Refresh MCP-to-skill mapping from the sibling `recodeee/skills` checkout:
104
-
105
- ```sh
106
- ./scripts/snapshot-mcp-skills.py
107
- ```
108
-
109
- Common full refresh:
110
-
111
- ```sh
112
- ./scripts/refresh-all.sh
8
+ mcps/
9
+ ├── configs/ Sanitized JSON configs (no secrets)
10
+ │ ├── claude.sanitized.json
11
+ │ ├── claude_runtime.sanitized.json
12
+ │ └── codex.sanitized.json
13
+ ├── mcps/ Per-server documentation
14
+ │ ├── gbrain/ Personal wiki with embeddings
15
+ │ ├── colony/ Multi-agent coordination
16
+ │ ├── coolify/ Deployment management
17
+ │ ├── higgsfield/ AI image/video generation
18
+ │ └── ... 13+ servers
19
+ ├── plugins/ Claude Code plugin configs
20
+ ├── scripts/ Sync and maintenance scripts
21
+ └── templates/ New MCP server templates
113
22
  ```
114
23
 
115
- Review diffs before pushing. If a secret appears, remove it before commit and
116
- tighten the redaction script.
24
+ ## How cue uses this
117
25
 
118
- Install placeholder MCP blocks only after reviewing the templates:
26
+ When you run `cue use backend`, cue reads `configs/claude.sanitized.json` to find the MCP server entries for that profile's declared MCPs. The materializer writes them into the runtime's `settings.json`.
119
27
 
120
- ```sh
121
- ./scripts/install-codex-mcps.py --dry-run
122
- ./scripts/install-claude-mcps.py --dry-run
28
+ ```yaml
29
+ # profiles/backend/profile.yaml
30
+ mcps:
31
+ - coolify # ← looked up in configs/claude.sanitized.json
32
+ - gbrain # ← inherited from core
123
33
  ```
124
34
 
125
- The install scripts write placeholders, not secrets. Replace local paths and
126
- load credentials through environment variables or external secret stores.
127
-
128
- ---
129
-
130
- ## Related Skills
131
-
132
- Every MCP gets a generated page:
133
-
134
- ```text
135
- mcps/colony/skills.md
136
- mcps/higgsfield/skills.md
137
- mcps/medusadocs/skills.md
138
- mcps/omx/state/skills.md
139
- ```
35
+ ## Adding a new MCP
140
36
 
141
- The rules live in `configs/mcp-skill-rules.json`:
37
+ 1. Add the server config to `configs/claude.sanitized.json`:
38
+ ```json
39
+ "my-server": {
40
+ "command": "npx",
41
+ "args": ["my-mcp-server"]
42
+ }
43
+ ```
142
44
 
143
- - `source_url` records the upstream repo or hosted endpoint.
144
- - `homepage`, `package`, `install`, and `health_command` record restore notes.
145
- - `owners` and `agent_surfaces` record who owns the MCP and where it appears.
146
- - `include_skills` maps exact skill names.
147
- - `include_skill_prefixes` maps skill families like `higgsfield-*`.
148
- - `include_skill_categories` maps whole `recodeee/skills` categories.
149
- - keyword matching is off by default to avoid noisy false matches.
45
+ 2. Create docs at `mcps/my-server/skills.md` describing what tools it exposes.
150
46
 
151
- ---
47
+ 3. Reference it in a profile: `mcps: [my-server]`
152
48
 
153
- ## Secrets
49
+ ## Security
154
50
 
155
- Do not store secrets in this repo.
51
+ Configs are **sanitized** — no API keys, tokens, or secrets. Environment variables use `<redacted>` placeholders. Real values live in `~/.claude.json` (never committed).
156
52
 
157
- Tracked files may show environment variable names, never values:
53
+ ## Related
158
54
 
159
- ```text
160
- COLONY_HOME
161
- LETSFG_PYTHON
162
- GITEA_ACCESS_TOKEN
163
- ```
164
-
165
- Raw configs are intentionally excluded. Generated JSON and markdown normalize
166
- local home paths to `~` and redact env values plus secret-loading shell args.
167
-
168
- Before pushing, run:
169
-
170
- ```sh
171
- ./scripts/check-no-secrets.sh
172
- ```
173
-
174
- It fails nonzero on local home paths, forbidden secret-like files, and common
175
- token prefixes.
176
-
177
- ---
178
-
179
- ```
180
- ─── config map, not credential store. keep it boring. ───
181
- ```
55
+ - [cue](https://github.com/opencue/cue) — the profile manager that consumes this registry
56
+ - [resources/skills](../skills/) — the skill library
@@ -13,6 +13,61 @@
13
13
  },
14
14
  "cue-tty-watch": {
15
15
  "command": "/home/deadpool/Documents/cue/resources/mcps/cue-tty-watch/bin/cue-tty-watch"
16
+ },
17
+ "agentshield": {
18
+ "command": "/home/deadpool/Documents/cue/resources/mcps/agentshield/bin/agentshield"
19
+ },
20
+ "x-api": {
21
+ "command": "npm",
22
+ "args": [
23
+ "start"
24
+ ],
25
+ "cwd": "${HOME}/.x-api-mcp",
26
+ "env": {
27
+ "X_API_KEY": "${X_API_KEY}",
28
+ "X_API_SECRET": "${X_API_SECRET}",
29
+ "X_BEARER_TOKEN": "${X_BEARER_TOKEN}",
30
+ "X_ACCESS_TOKEN": "${X_ACCESS_TOKEN}",
31
+ "X_ACCESS_TOKEN_SECRET": "${X_ACCESS_TOKEN_SECRET}"
32
+ }
33
+ },
34
+ "trendradar": {
35
+ "command": "uvx",
36
+ "args": [
37
+ "--from",
38
+ "git+https://github.com/sansan0/TrendRadar.git",
39
+ "trendradar-mcp"
40
+ ],
41
+ "env": {}
42
+ },
43
+ "mapi-devdocs": {
44
+ "type": "http",
45
+ "url": "https://merchantapi.googleapis.com/devdocs/mcp/"
46
+ },
47
+ "mitre-attack": {
48
+ "command": "/home/deadpool/.local/bin/mitre-attack-mcp",
49
+ "args": [],
50
+ "env": {}
51
+ },
52
+ "cve-search": {
53
+ "command": "uv",
54
+ "args": [
55
+ "--directory",
56
+ "/home/deadpool/.config/cue/cache/cve-search_mcp",
57
+ "run",
58
+ "main.py"
59
+ ],
60
+ "env": {}
61
+ },
62
+ "shodan": {
63
+ "command": "npx",
64
+ "args": [
65
+ "-y",
66
+ "@burtthecoder/mcp-shodan"
67
+ ],
68
+ "env": {
69
+ "SHODAN_API_KEY": "${SHODAN_API_KEY}"
70
+ }
16
71
  }
17
72
  },
18
73
  "source": "claude",