codeforge-dev 1.13.0 → 1.14.2
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.
- package/.devcontainer/CHANGELOG.md +146 -4
- package/.devcontainer/CLAUDE.md +61 -276
- package/.devcontainer/README.md +1 -1
- package/.devcontainer/config/defaults/ccstatusline-settings.json +147 -0
- package/.devcontainer/config/defaults/main-system-prompt.md +6 -1
- package/.devcontainer/config/defaults/rules/spec-workflow.md +1 -55
- package/.devcontainer/config/file-manifest.json +14 -0
- package/.devcontainer/devcontainer.json +19 -1
- package/.devcontainer/docs/optional-features.md +0 -65
- package/.devcontainer/docs/plugins.md +38 -23
- package/.devcontainer/features/ast-grep/devcontainer-feature.json +0 -1
- package/.devcontainer/features/biome/install.sh +13 -0
- package/.devcontainer/features/ccburn/devcontainer-feature.json +0 -6
- package/.devcontainer/features/ccms/devcontainer-feature.json +0 -1
- package/.devcontainer/features/ccms/install.sh +1 -1
- package/.devcontainer/features/ccstatusline/devcontainer-feature.json +0 -1
- package/.devcontainer/features/ccstatusline/install.sh +17 -115
- package/.devcontainer/features/ccusage/devcontainer-feature.json +0 -6
- package/.devcontainer/features/chromaterm/README.md +42 -0
- package/.devcontainer/features/chromaterm/chromaterm.yml +35 -0
- package/.devcontainer/features/chromaterm/devcontainer-feature.json +22 -0
- package/.devcontainer/features/chromaterm/install.sh +113 -0
- package/.devcontainer/features/claude-monitor/devcontainer-feature.json +0 -6
- package/.devcontainer/features/claude-session-dashboard/README.md +2 -2
- package/.devcontainer/features/claude-session-dashboard/devcontainer-feature.json +2 -4
- package/.devcontainer/features/claude-session-dashboard/install.sh +2 -2
- package/.devcontainer/features/kitty-terminfo/README.md +32 -0
- package/.devcontainer/features/kitty-terminfo/devcontainer-feature.json +13 -0
- package/.devcontainer/features/kitty-terminfo/install.sh +72 -0
- package/.devcontainer/features/lsp-servers/devcontainer-feature.json +0 -1
- package/.devcontainer/features/mcp-qdrant/devcontainer-feature.json +0 -7
- package/.devcontainer/features/shellcheck/install.sh +6 -2
- package/.devcontainer/features/tree-sitter/devcontainer-feature.json +0 -7
- package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +37 -69
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/.claude-plugin/plugin.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/README.md +197 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/architect.md +3 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/bash-exec.md +3 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/claude-guide.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/debug-logs.md +6 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/dependency-analyst.md +5 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/doc-writer.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/explorer.md +3 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/generalist.md +9 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/git-archaeologist.md +3 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/migrator.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/perf-profiler.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/refactorer.md +5 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/researcher.md +5 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/security-auditor.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/spec-writer.md +3 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/statusline-config.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/agents/test-writer.md +4 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/hooks/hooks.json +23 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/guard-readonly-bash.py +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/inject-cwd.py +7 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/task-completed-check.py +166 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/teammate-idle-check.py +81 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/verify-no-regression.py +14 -10
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/scripts/verify-tests-pass.py +2 -14
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/README.md +17 -31
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/hooks/hooks.json +5 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-code-quality/scripts/advisory-test-runner.py +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/codeforge-lsp/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/block-dangerous.py +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/notify-hook/hooks/hooks.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected-bash.py +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/guard-protected.py +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/.claude-plugin/plugin.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/README.md +140 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/hooks/hooks.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/scripts/commit-reminder.py +3 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/scripts/git-state-injector.py +18 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/scripts/todo-harvester.py +9 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/.claude-plugin/plugin.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/README.md +158 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/hooks/hooks.json +1 -14
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/scripts/skill-suggester.py +189 -100
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/api-design/SKILL.md +9 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/ast-grep-patterns/SKILL.md +7 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/claude-agent-sdk/SKILL.md +8 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/claude-code-headless/SKILL.md +8 -9
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/debugging/SKILL.md +11 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/dependency-management/SKILL.md +10 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/docker/SKILL.md +8 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/docker-py/SKILL.md +9 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/documentation-patterns/SKILL.md +7 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/fastapi/SKILL.md +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/git-forensics/SKILL.md +11 -9
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/migration-patterns/SKILL.md +7 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/performance-profiling/SKILL.md +10 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/pydantic-ai/SKILL.md +8 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/refactoring-patterns/SKILL.md +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/security-checklist/SKILL.md +9 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/skill-building/SKILL.md +7 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/sqlite/SKILL.md +9 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/svelte5/SKILL.md +7 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/team/SKILL.md +71 -5
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/testing/SKILL.md +10 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/.claude-plugin/plugin.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/README.md +192 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/hooks/hooks.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/scripts/spec-reminder.py +3 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-build/SKILL.md +9 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-check/SKILL.md +10 -5
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-init/SKILL.md +8 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-new/SKILL.md +8 -4
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-refine/SKILL.md +10 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-review/SKILL.md +10 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-update/SKILL.md +10 -5
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/specification-writing/SKILL.md +9 -9
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/plugin.json +1 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/README.md +28 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/hooks/hooks.json +0 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/scripts/ticket-linker.py +9 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/README.md +104 -32
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/hooks/hooks.json +49 -3
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +269 -56
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/inject-workspace-cwd.py +44 -0
- package/.devcontainer/scripts/setup-aliases.sh +13 -5
- package/.devcontainer/scripts/setup-config.sh +1 -0
- package/README.md +5 -5
- package/package.json +6 -2
- package/setup.js +3 -2
- package/.devcontainer/.env +0 -33
- package/.devcontainer/features/README.md +0 -126
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/.claude-plugin/plugin.json +0 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/README.md +0 -81
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/hooks/hooks.json +0 -17
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/__pycache__/format-on-stop.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-formatter/scripts/format-on-stop.py +0 -297
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/.claude-plugin/plugin.json +0 -7
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/README.md +0 -92
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/hooks/hooks.json +0 -17
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/__pycache__/lint-file.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/auto-linter/scripts/lint-file.py +0 -536
- package/.devcontainer/plugins/devs-marketplace/plugins/dangerous-command-blocker/scripts/__pycache__/block-dangerous.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/protected-files-guard/scripts/__pycache__/guard-protected.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/.claude-plugin/system-prompt.md +0 -184
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/__pycache__/guard-workspace-scope.cpython-314.pyc +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/{.claude-plugin/commands/debug.md → skills/debug/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272create-pr.md" → skills/ticketcreate-pr/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272new.md" → skills/ticketnew/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272review-commit.md" → skills/ticketreview-commit/SKILL.md} +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/{.claude-plugin/commands/ticket/357/200/272work.md" → skills/ticketwork/SKILL.md} +0 -0
package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/scripts/skill-suggester.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"""Skill suggester hook for UserPromptSubmit and SubagentStart events.
|
|
3
3
|
|
|
4
4
|
Detects which hook event called it via input JSON shape:
|
|
5
|
-
- UserPromptSubmit: {"prompt": "..."} -> {"
|
|
5
|
+
- UserPromptSubmit: {"prompt": "..."} -> {"additionalContext": "..."}
|
|
6
6
|
- SubagentStart: {"subagent_type": "Plan", "prompt": "..."} -> {"additionalContext": "..."}
|
|
7
7
|
|
|
8
8
|
Matches user prompts against skill keyword maps (phrases + terms) and suggests
|
|
@@ -16,30 +16,33 @@ import sys
|
|
|
16
16
|
SKILLS = {
|
|
17
17
|
"fastapi": {
|
|
18
18
|
"phrases": [
|
|
19
|
-
"
|
|
19
|
+
"build a fastapi app",
|
|
20
|
+
"rest api with fastapi",
|
|
20
21
|
"fastapi",
|
|
21
22
|
"fast api",
|
|
23
|
+
"add sse streaming",
|
|
24
|
+
"dependency injection in fastapi",
|
|
25
|
+
"define pydantic models",
|
|
26
|
+
"stream llm responses",
|
|
27
|
+
"add middleware to fastapi",
|
|
22
28
|
"pydantic model",
|
|
23
|
-
"sse streaming",
|
|
24
|
-
"server-sent event",
|
|
25
|
-
"dependency injection",
|
|
26
|
-
"asgi middleware",
|
|
27
|
-
"api endpoint",
|
|
28
|
-
"api route",
|
|
29
29
|
],
|
|
30
|
-
"terms": ["fastapi", "pydantic", "uvicorn", "starlette"],
|
|
30
|
+
"terms": ["fastapi", "pydantic", "uvicorn", "starlette", "sse-starlette"],
|
|
31
31
|
},
|
|
32
32
|
"sqlite": {
|
|
33
33
|
"phrases": [
|
|
34
34
|
"sqlite",
|
|
35
|
+
"set up a sqlite database",
|
|
35
36
|
"wal mode",
|
|
36
37
|
"fts5",
|
|
37
38
|
"full-text search",
|
|
38
39
|
"better-sqlite3",
|
|
39
40
|
"cloudflare d1",
|
|
40
|
-
"
|
|
41
|
+
"store json in sqlite",
|
|
42
|
+
"write ctes",
|
|
43
|
+
"window functions",
|
|
41
44
|
],
|
|
42
|
-
"terms": ["aiosqlite"],
|
|
45
|
+
"terms": ["aiosqlite", "better-sqlite3"],
|
|
43
46
|
},
|
|
44
47
|
"claude-code-headless": {
|
|
45
48
|
"phrases": [
|
|
@@ -49,31 +52,39 @@ SKILLS = {
|
|
|
49
52
|
"claude code headless",
|
|
50
53
|
"run claude in ci",
|
|
51
54
|
"claude in pipeline",
|
|
55
|
+
"parse stream-json output",
|
|
56
|
+
"track costs programmatically",
|
|
57
|
+
"permissions for scripts",
|
|
52
58
|
],
|
|
53
|
-
"terms": [],
|
|
59
|
+
"terms": ["--output-format stream-json", "--permission-mode"],
|
|
54
60
|
},
|
|
55
61
|
"claude-agent-sdk": {
|
|
56
62
|
"phrases": [
|
|
57
63
|
"agent sdk",
|
|
58
64
|
"claude agent sdk",
|
|
59
|
-
"build an agent",
|
|
60
|
-
"create an agent",
|
|
65
|
+
"build an agent with the claude agent sdk",
|
|
61
66
|
"canusetool",
|
|
62
67
|
"sdk permissions",
|
|
68
|
+
"create mcp tools",
|
|
69
|
+
"define subagents",
|
|
70
|
+
"configure sdk hooks",
|
|
71
|
+
"stream sdk messages",
|
|
63
72
|
],
|
|
64
|
-
"terms": ["claude-agent-sdk", "claude_agent_sdk"],
|
|
73
|
+
"terms": ["claude-agent-sdk", "claude_agent_sdk", "createSdkMcpServer"],
|
|
65
74
|
},
|
|
66
75
|
"pydantic-ai": {
|
|
67
76
|
"phrases": [
|
|
68
77
|
"pydantic ai",
|
|
69
78
|
"pydantic-ai",
|
|
70
79
|
"pydanticai",
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
80
|
+
"build a pydanticai agent",
|
|
81
|
+
"add tools to an agent",
|
|
82
|
+
"stream responses with pydanticai",
|
|
83
|
+
"test a pydanticai agent",
|
|
84
|
+
"connect pydanticai to svelte",
|
|
85
|
+
"configure model fallbacks",
|
|
75
86
|
],
|
|
76
|
-
"terms": ["pydanticai"],
|
|
87
|
+
"terms": ["pydanticai", "RunContext", "VercelAIAdapter", "FallbackModel"],
|
|
77
88
|
},
|
|
78
89
|
"testing": {
|
|
79
90
|
"phrases": [
|
|
@@ -87,12 +98,11 @@ SKILLS = {
|
|
|
87
98
|
"mock dependencies",
|
|
88
99
|
"test endpoint",
|
|
89
100
|
"test component",
|
|
101
|
+
"test sse streaming",
|
|
90
102
|
"unit test",
|
|
91
103
|
"integration test",
|
|
92
|
-
"run tests",
|
|
93
|
-
"run the tests",
|
|
94
104
|
],
|
|
95
|
-
"terms": ["pytest", "vitest"],
|
|
105
|
+
"terms": ["pytest", "vitest", "pytest-anyio", "httpx AsyncClient"],
|
|
96
106
|
},
|
|
97
107
|
"docker-py": {
|
|
98
108
|
"phrases": [
|
|
@@ -102,8 +112,12 @@ SKILLS = {
|
|
|
102
112
|
"docker engine api",
|
|
103
113
|
"docker from python",
|
|
104
114
|
"docker api",
|
|
115
|
+
"manage docker containers from python",
|
|
116
|
+
"create containers programmatically",
|
|
117
|
+
"stream container logs",
|
|
118
|
+
"monitor container health from python",
|
|
105
119
|
],
|
|
106
|
-
"terms": ["aiodocker"],
|
|
120
|
+
"terms": ["aiodocker", "DockerClient"],
|
|
107
121
|
},
|
|
108
122
|
"svelte5": {
|
|
109
123
|
"phrases": [
|
|
@@ -113,12 +127,11 @@ SKILLS = {
|
|
|
113
127
|
"svelte rune",
|
|
114
128
|
"svelte 5",
|
|
115
129
|
"svelte5",
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"svelte
|
|
119
|
-
"svelte dnd",
|
|
130
|
+
"migrate from svelte 4",
|
|
131
|
+
"manage state with $state",
|
|
132
|
+
"drag and drop to svelte",
|
|
120
133
|
],
|
|
121
|
-
"terms": ["sveltekit", "svelte"],
|
|
134
|
+
"terms": ["sveltekit", "svelte", "svelte-dnd-action", "@ai-sdk/svelte"],
|
|
122
135
|
},
|
|
123
136
|
"docker": {
|
|
124
137
|
"phrases": [
|
|
@@ -129,11 +142,10 @@ SKILLS = {
|
|
|
129
142
|
"multi-stage build",
|
|
130
143
|
"health check",
|
|
131
144
|
"healthcheck",
|
|
132
|
-
"docker
|
|
133
|
-
"docker
|
|
134
|
-
"docker image",
|
|
145
|
+
"docker compose watch",
|
|
146
|
+
"optimize docker image",
|
|
135
147
|
],
|
|
136
|
-
"terms": ["dockerfile", "compose"],
|
|
148
|
+
"terms": ["dockerfile", "compose.yaml", "BuildKit"],
|
|
137
149
|
},
|
|
138
150
|
"skill-building": {
|
|
139
151
|
"phrases": [
|
|
@@ -144,6 +156,8 @@ SKILLS = {
|
|
|
144
156
|
"skill instructions",
|
|
145
157
|
"skill authoring",
|
|
146
158
|
"design a skill",
|
|
159
|
+
"improve a skill description",
|
|
160
|
+
"optimize skill content",
|
|
147
161
|
],
|
|
148
162
|
"terms": [],
|
|
149
163
|
},
|
|
@@ -151,49 +165,46 @@ SKILLS = {
|
|
|
151
165
|
"phrases": [
|
|
152
166
|
"debug logs",
|
|
153
167
|
"check logs",
|
|
168
|
+
"check container logs",
|
|
154
169
|
"find error",
|
|
155
170
|
"investigate failure",
|
|
156
|
-
"container logs",
|
|
157
171
|
"what went wrong",
|
|
158
172
|
"why did this crash",
|
|
159
173
|
"diagnose the issue",
|
|
160
174
|
"look at the logs",
|
|
161
175
|
"read the logs",
|
|
176
|
+
"read docker logs",
|
|
162
177
|
"analyze error",
|
|
163
178
|
],
|
|
164
|
-
"terms": ["diagnose", "troubleshoot"],
|
|
179
|
+
"terms": ["diagnose", "troubleshoot", "OOMKilled", "ECONNREFUSED"],
|
|
165
180
|
},
|
|
166
181
|
"refactoring-patterns": {
|
|
167
182
|
"phrases": [
|
|
168
183
|
"refactor this",
|
|
169
184
|
"clean up code",
|
|
170
|
-
"
|
|
171
|
-
"
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"code
|
|
177
|
-
"extract function",
|
|
178
|
-
"dead code",
|
|
185
|
+
"clean up this function",
|
|
186
|
+
"extract a method",
|
|
187
|
+
"fix code smells",
|
|
188
|
+
"reduce code duplication",
|
|
189
|
+
"simplify this class",
|
|
190
|
+
"break up this large function",
|
|
191
|
+
"remove dead code",
|
|
179
192
|
],
|
|
193
|
+
"terms": ["refactor", "refactoring", "code smell", "feature envy", "god class"],
|
|
180
194
|
},
|
|
181
195
|
"security-checklist": {
|
|
182
196
|
"phrases": [
|
|
183
197
|
"security review",
|
|
198
|
+
"security issues",
|
|
199
|
+
"security vulnerabilities",
|
|
184
200
|
"check for vulnerabilities",
|
|
201
|
+
"scan for secrets",
|
|
185
202
|
"audit security",
|
|
186
|
-
"
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
"security",
|
|
190
|
-
"vulnerability",
|
|
191
|
-
"owasp",
|
|
192
|
-
"injection",
|
|
193
|
-
"xss",
|
|
194
|
-
"secrets",
|
|
195
|
-
"cve",
|
|
203
|
+
"review for injection",
|
|
204
|
+
"owasp compliance",
|
|
205
|
+
"hardcoded credentials",
|
|
196
206
|
],
|
|
207
|
+
"terms": ["owasp", "injection", "xss", "cve", "trivy", "gitleaks"],
|
|
197
208
|
},
|
|
198
209
|
"git-forensics": {
|
|
199
210
|
"phrases": [
|
|
@@ -201,62 +212,67 @@ SKILLS = {
|
|
|
201
212
|
"who changed this",
|
|
202
213
|
"when did this break",
|
|
203
214
|
"git blame",
|
|
215
|
+
"bisect a regression",
|
|
216
|
+
"recover a lost commit",
|
|
217
|
+
"search git history",
|
|
218
|
+
"find when code was removed",
|
|
219
|
+
"trace the history",
|
|
220
|
+
"use git reflog",
|
|
204
221
|
],
|
|
205
|
-
"terms": ["bisect", "blame", "
|
|
222
|
+
"terms": ["bisect", "blame", "pickaxe", "reflog", "git log -S"],
|
|
206
223
|
},
|
|
207
224
|
"specification-writing": {
|
|
208
225
|
"phrases": [
|
|
209
226
|
"write a spec",
|
|
227
|
+
"write requirements",
|
|
210
228
|
"define requirements",
|
|
211
229
|
"acceptance criteria",
|
|
212
230
|
"user stories",
|
|
231
|
+
"use ears format",
|
|
232
|
+
"given/when/then",
|
|
233
|
+
"write given/when/then scenarios",
|
|
234
|
+
"structure requirements",
|
|
213
235
|
],
|
|
214
|
-
"terms": [
|
|
215
|
-
"specification",
|
|
216
|
-
"requirements",
|
|
217
|
-
"ears",
|
|
218
|
-
"gherkin",
|
|
219
|
-
"given when then",
|
|
220
|
-
],
|
|
236
|
+
"terms": ["specification", "ears", "gherkin", "given when then"],
|
|
221
237
|
},
|
|
222
238
|
"performance-profiling": {
|
|
223
239
|
"phrases": [
|
|
240
|
+
"profile this code",
|
|
224
241
|
"profile performance",
|
|
225
242
|
"find bottleneck",
|
|
243
|
+
"find the bottleneck",
|
|
226
244
|
"benchmark this",
|
|
245
|
+
"create a flamegraph",
|
|
246
|
+
"find memory leaks",
|
|
227
247
|
"why is this slow",
|
|
248
|
+
"measure execution time",
|
|
249
|
+
"reduce latency",
|
|
228
250
|
],
|
|
229
|
-
"terms": [
|
|
230
|
-
"profiling",
|
|
231
|
-
"benchmark",
|
|
232
|
-
"flamegraph",
|
|
233
|
-
"bottleneck",
|
|
234
|
-
"latency",
|
|
235
|
-
"throughput",
|
|
236
|
-
],
|
|
251
|
+
"terms": ["cProfile", "py-spy", "scalene", "flamegraph", "hyperfine"],
|
|
237
252
|
},
|
|
238
253
|
"api-design": {
|
|
239
254
|
"phrases": [
|
|
240
255
|
"api design",
|
|
241
256
|
"rest api design",
|
|
242
257
|
"design an api",
|
|
243
|
-
"design
|
|
244
|
-
"api convention",
|
|
245
|
-
"endpoint design",
|
|
258
|
+
"design rest endpoints",
|
|
246
259
|
"api versioning",
|
|
247
|
-
"pagination
|
|
248
|
-
"error
|
|
260
|
+
"pagination strategy",
|
|
261
|
+
"design error responses",
|
|
262
|
+
"rate limiting",
|
|
263
|
+
"openapi documentation",
|
|
249
264
|
],
|
|
250
|
-
"terms": ["openapi", "swagger", "rfc7807"],
|
|
265
|
+
"terms": ["openapi", "swagger", "rfc7807", "rfc 7807"],
|
|
251
266
|
},
|
|
252
267
|
"ast-grep-patterns": {
|
|
253
268
|
"phrases": [
|
|
254
269
|
"ast-grep",
|
|
255
270
|
"ast grep",
|
|
256
271
|
"structural search",
|
|
257
|
-
"structural code search",
|
|
258
272
|
"syntax-aware search",
|
|
259
|
-
"
|
|
273
|
+
"find code patterns",
|
|
274
|
+
"search with ast-grep",
|
|
275
|
+
"use tree-sitter",
|
|
260
276
|
],
|
|
261
277
|
"terms": ["sg run", "ast-grep", "tree-sitter"],
|
|
262
278
|
},
|
|
@@ -269,6 +285,7 @@ SKILLS = {
|
|
|
269
285
|
"license check",
|
|
270
286
|
"unused dependencies",
|
|
271
287
|
"vulnerability scan",
|
|
288
|
+
"find unused dependencies",
|
|
272
289
|
],
|
|
273
290
|
"terms": ["pip-audit", "npm audit", "cargo audit", "govulncheck"],
|
|
274
291
|
},
|
|
@@ -279,10 +296,10 @@ SKILLS = {
|
|
|
279
296
|
"add docstrings",
|
|
280
297
|
"add jsdoc",
|
|
281
298
|
"document the api",
|
|
282
|
-
"
|
|
299
|
+
"create architecture docs",
|
|
283
300
|
"update the docs",
|
|
284
301
|
],
|
|
285
|
-
"terms": ["docstring", "jsdoc", "tsdoc", "
|
|
302
|
+
"terms": ["docstring", "jsdoc", "tsdoc", "rustdoc", "Sphinx"],
|
|
286
303
|
},
|
|
287
304
|
"migration-patterns": {
|
|
288
305
|
"phrases": [
|
|
@@ -293,8 +310,10 @@ SKILLS = {
|
|
|
293
310
|
"bump python",
|
|
294
311
|
"upgrade pydantic",
|
|
295
312
|
"migrate express",
|
|
313
|
+
"modernize the codebase",
|
|
314
|
+
"commonjs to esm",
|
|
296
315
|
],
|
|
297
|
-
"terms": ["migrate", "migration"
|
|
316
|
+
"terms": ["migrate", "migration"],
|
|
298
317
|
},
|
|
299
318
|
"spec-build": {
|
|
300
319
|
"phrases": [
|
|
@@ -302,10 +321,9 @@ SKILLS = {
|
|
|
302
321
|
"build from spec",
|
|
303
322
|
"start building",
|
|
304
323
|
"spec-build",
|
|
305
|
-
"implement this feature
|
|
324
|
+
"implement this feature",
|
|
306
325
|
"build what the spec describes",
|
|
307
|
-
"
|
|
308
|
-
"build the feature",
|
|
326
|
+
"run spec-build",
|
|
309
327
|
],
|
|
310
328
|
"terms": ["spec-build"],
|
|
311
329
|
},
|
|
@@ -317,9 +335,86 @@ SKILLS = {
|
|
|
317
335
|
"spec-review",
|
|
318
336
|
"does code match spec",
|
|
319
337
|
"audit implementation",
|
|
338
|
+
"run spec-review",
|
|
339
|
+
"regression check",
|
|
320
340
|
],
|
|
321
341
|
"terms": ["spec-review"],
|
|
322
342
|
},
|
|
343
|
+
"spec-check": {
|
|
344
|
+
"phrases": [
|
|
345
|
+
"check spec health",
|
|
346
|
+
"audit specs",
|
|
347
|
+
"which specs are stale",
|
|
348
|
+
"find missing specs",
|
|
349
|
+
"review spec quality",
|
|
350
|
+
"run spec-check",
|
|
351
|
+
"are my specs up to date",
|
|
352
|
+
],
|
|
353
|
+
"terms": ["spec-check"],
|
|
354
|
+
},
|
|
355
|
+
"spec-init": {
|
|
356
|
+
"phrases": [
|
|
357
|
+
"initialize specs",
|
|
358
|
+
"specs directory",
|
|
359
|
+
"set up specs",
|
|
360
|
+
"bootstrap specs",
|
|
361
|
+
"start using specs",
|
|
362
|
+
"create spec directory",
|
|
363
|
+
"init specs",
|
|
364
|
+
"set up .specs",
|
|
365
|
+
],
|
|
366
|
+
"terms": ["spec-init"],
|
|
367
|
+
},
|
|
368
|
+
"spec-new": {
|
|
369
|
+
"phrases": [
|
|
370
|
+
"create a spec",
|
|
371
|
+
"new spec",
|
|
372
|
+
"new feature spec",
|
|
373
|
+
"write a spec for",
|
|
374
|
+
"spec this feature",
|
|
375
|
+
"start a new spec",
|
|
376
|
+
"plan a feature",
|
|
377
|
+
"add a spec",
|
|
378
|
+
],
|
|
379
|
+
"terms": ["spec-new"],
|
|
380
|
+
},
|
|
381
|
+
"spec-refine": {
|
|
382
|
+
"phrases": [
|
|
383
|
+
"refine the spec",
|
|
384
|
+
"review spec assumptions",
|
|
385
|
+
"validate spec decisions",
|
|
386
|
+
"approve the spec",
|
|
387
|
+
"walk me through the spec",
|
|
388
|
+
"check spec for assumptions",
|
|
389
|
+
"iterate on the spec",
|
|
390
|
+
],
|
|
391
|
+
"terms": ["spec-refine"],
|
|
392
|
+
},
|
|
393
|
+
"spec-update": {
|
|
394
|
+
"phrases": [
|
|
395
|
+
"update the spec",
|
|
396
|
+
"mark spec as implemented",
|
|
397
|
+
"as-built update",
|
|
398
|
+
"finish the spec",
|
|
399
|
+
"close the spec",
|
|
400
|
+
"update spec status",
|
|
401
|
+
"sync spec with code",
|
|
402
|
+
],
|
|
403
|
+
"terms": ["spec-update"],
|
|
404
|
+
},
|
|
405
|
+
"team": {
|
|
406
|
+
"phrases": [
|
|
407
|
+
"spawn a team",
|
|
408
|
+
"create a team",
|
|
409
|
+
"team of agents",
|
|
410
|
+
"use a swarm",
|
|
411
|
+
"work in parallel",
|
|
412
|
+
"coordinate multiple agents",
|
|
413
|
+
"split this across agents",
|
|
414
|
+
"team up",
|
|
415
|
+
],
|
|
416
|
+
"terms": ["TeamCreate", "SendMessage"],
|
|
417
|
+
},
|
|
323
418
|
}
|
|
324
419
|
|
|
325
420
|
# Pre-compile term patterns for whole-word matching
|
|
@@ -370,25 +465,19 @@ def main() -> None:
|
|
|
370
465
|
return
|
|
371
466
|
|
|
372
467
|
skill_list = ", ".join(f'"{s}"' for s in skills)
|
|
373
|
-
is_subagent = "subagent_type" in data
|
|
374
468
|
|
|
375
|
-
|
|
376
|
-
|
|
469
|
+
output = {
|
|
470
|
+
"hookSpecificOutput": {
|
|
471
|
+
"hookEventName": "UserPromptSubmit",
|
|
377
472
|
"additionalContext": (
|
|
378
|
-
f"
|
|
379
|
-
"
|
|
380
|
-
"
|
|
381
|
-
"the
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
else:
|
|
385
|
-
output = {
|
|
386
|
-
"systemMessage": (
|
|
387
|
-
f"<system-reminder>The user's prompt matches available skill(s): "
|
|
388
|
-
f"{skill_list}. Load the relevant skill(s) using the Skill tool "
|
|
389
|
-
f"before responding.</system-reminder>"
|
|
390
|
-
)
|
|
473
|
+
f"MANDATORY — Skill activation required. The user's prompt matches: {skill_list}. "
|
|
474
|
+
f"Before responding, evaluate each matched skill: is it relevant to this specific request? "
|
|
475
|
+
f"For each relevant skill, activate it using the Skill tool NOW. "
|
|
476
|
+
f"Skip any that are not relevant to the user's actual intent. "
|
|
477
|
+
f"Do not proceed with implementation until relevant skills are loaded."
|
|
478
|
+
),
|
|
391
479
|
}
|
|
480
|
+
}
|
|
392
481
|
|
|
393
482
|
json.dump(output, sys.stdout)
|
|
394
483
|
|
package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/api-design/SKILL.md
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-design
|
|
3
3
|
description: >-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"design
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
Provides REST API design guidance covering resource naming, pagination
|
|
5
|
+
strategies, error responses, versioning, and authentication patterns. USE
|
|
6
|
+
WHEN the user asks to "design an API", "design REST endpoints", "plan API
|
|
7
|
+
versioning", "choose a pagination strategy", "design error responses",
|
|
8
|
+
"set up rate limiting", "create OpenAPI documentation", or works with REST
|
|
9
|
+
conventions, HTTP method semantics, cursor pagination, RFC 7807, JWT auth,
|
|
10
|
+
status codes. DO NOT USE for API implementation code — use the fastapi skill
|
|
11
|
+
for building endpoints.
|
|
12
|
+
version: 0.2.0
|
|
10
13
|
---
|
|
11
14
|
|
|
12
15
|
# API Design
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ast-grep-patterns
|
|
3
3
|
description: >-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
tree-sitter
|
|
9
|
-
|
|
4
|
+
Teaches syntax-aware code search using ast-grep (sg) and tree-sitter with
|
|
5
|
+
meta-variable patterns for functions, imports, and classes. USE WHEN the
|
|
6
|
+
user asks to "use ast-grep", "structural search", "find code patterns",
|
|
7
|
+
"search with ast-grep", "use tree-sitter", "syntax-aware search", or works
|
|
8
|
+
with sg run, $$$ARGS meta-variables, tree-sitter tags. DO NOT USE for
|
|
9
|
+
simple text searches where Grep suffices.
|
|
10
|
+
version: 0.2.0
|
|
10
11
|
---
|
|
11
12
|
|
|
12
13
|
# AST-Grep Patterns
|
package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/claude-agent-sdk/SKILL.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: claude-agent-sdk
|
|
3
3
|
description: >-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
version: 0.
|
|
4
|
+
Provides Claude Agent SDK patterns in TypeScript covering query function,
|
|
5
|
+
permissions, MCP tools, subagents, and hooks. USE WHEN the user asks to
|
|
6
|
+
"build an agent with the Claude Agent SDK", "use canUseTool callback",
|
|
7
|
+
"create MCP tools with createSdkMcpServer", "define subagents", "configure
|
|
8
|
+
SDK hooks", "stream SDK messages", or works with @anthropic-ai/claude-agent-sdk,
|
|
9
|
+
query(), PermissionResult, AgentDefinition. DO NOT USE for PydanticAI Python
|
|
10
|
+
agents or Claude Code CLI headless mode.
|
|
11
|
+
version: 0.2.0
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# Claude Agent SDK (TypeScript)
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: claude-code-headless
|
|
3
3
|
description: >-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
"set up
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
version: 0.1.0
|
|
4
|
+
Guides non-interactive Claude Code usage via the -p flag, stream-json output
|
|
5
|
+
parsing, and CI/CD pipeline integration. USE WHEN the user asks to "run
|
|
6
|
+
Claude Code in headless mode", "use claude -p for automation", "parse
|
|
7
|
+
stream-json output", "run Claude Code in CI/CD", "track costs
|
|
8
|
+
programmatically", "set up permissions for scripts", or works with
|
|
9
|
+
--output-format stream-json, --permission-mode, --json-schema, --resume.
|
|
10
|
+
DO NOT USE for the TypeScript SDK API — use claude-agent-sdk instead.
|
|
11
|
+
version: 0.2.0
|
|
13
12
|
---
|
|
14
13
|
|
|
15
14
|
# Claude Code Headless
|
package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/debugging/SKILL.md
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: debugging
|
|
3
3
|
description: >-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"why did this crash", "
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
Guides systematic log analysis and error diagnosis across Docker, systemd,
|
|
5
|
+
and application environments using forensic investigation methodology.
|
|
6
|
+
USE WHEN the user asks to "debug logs", "check container logs",
|
|
7
|
+
"why did this crash", "investigate failure", "find error in logs",
|
|
8
|
+
"read docker logs", "diagnose the issue", or "analyze error output",
|
|
9
|
+
or works with Docker exit codes, Python tracebacks, ECONNREFUSED,
|
|
10
|
+
OOMKilled, or journalctl. DO NOT USE for performance profiling,
|
|
11
|
+
security auditing, or dependency vulnerability scanning.
|
|
12
|
+
version: 0.2.0
|
|
13
|
+
allowed-tools: Bash, Read, Glob, Grep
|
|
14
|
+
argument-hint: "[service or log-path]"
|
|
11
15
|
---
|
|
12
16
|
|
|
13
17
|
# Debugging & Log Analysis
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dependency-management
|
|
3
3
|
description: >-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
Provides a five-phase dependency health analysis covering outdated packages,
|
|
5
|
+
security vulnerabilities, unused deps, version conflicts, and license
|
|
6
|
+
compliance across npm, pip, cargo, and Go modules. USE WHEN the user asks
|
|
7
|
+
to "audit dependencies", "find outdated packages", "find unused
|
|
8
|
+
dependencies", "check dependency health", "license check", "npm audit",
|
|
9
|
+
"pip-audit", or "cargo audit", or works with supply chain security, CVSS
|
|
10
|
+
scores, or SPDX identifiers. DO NOT USE for general security code review
|
|
11
|
+
or application-level vulnerability scanning.
|
|
12
|
+
version: 0.2.0
|
|
13
|
+
allowed-tools: Bash, Read, Glob, Grep
|
|
10
14
|
---
|
|
11
15
|
|
|
12
16
|
# Dependency Management
|