codeforge-dev 1.12.0 → 1.13.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.
- package/.devcontainer/CHANGELOG.md +37 -0
- package/.devcontainer/CLAUDE.md +21 -13
- package/.devcontainer/README.md +16 -8
- package/.devcontainer/config/defaults/rules/workspace-scope.md +13 -4
- package/.devcontainer/config/defaults/settings.json +5 -3
- package/.devcontainer/devcontainer.json +14 -7
- package/.devcontainer/features/claude-session-dashboard/README.md +40 -0
- package/.devcontainer/features/claude-session-dashboard/devcontainer-feature.json +35 -0
- package/.devcontainer/features/claude-session-dashboard/install.sh +172 -0
- package/.devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json +24 -3
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/.claude-plugin/plugin.json +8 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/AGENT-REDIRECTION.md +7 -12
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/REVIEW-RUBRIC.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/claude-guide.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/debug-logs.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/dependency-analyst.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/explorer.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/generalist.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/git-archaeologist.md +2 -2
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/researcher.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/security-auditor.md +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/agent-system/hooks/hooks.json +29 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/redirect-builtin-agents.py +17 -6
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/.claude-plugin/plugin.json +8 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/session-context/hooks/hooks.json +34 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/.claude-plugin/plugin.json +8 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/hooks/hooks.json +29 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/skill-engine/skills/team/SKILL.md +205 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/.claude-plugin/plugin.json +8 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/hooks/hooks.json +17 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/spec-workflow/skills/spec-init/references/roadmap-template.md +33 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/ticket-workflow/hooks/hooks.json +17 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/workspace-scope-guard/scripts/guard-workspace-scope.py +0 -2
- package/.devcontainer/scripts/setup-projects.sh +1 -1
- package/package.json +1 -1
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/.claude-plugin/plugin.json +0 -8
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/README.md +0 -250
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/hooks/hooks.json +0 -112
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/advisory-test-runner.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/collect-edited-files.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/commit-reminder.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/git-state-injector.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/guard-readonly-bash.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/redirect-builtin-agents.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/skill-suggester.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/syntax-validator.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/ticket-linker.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/todo-harvester.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-no-regression.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/__pycache__/verify-tests-pass.cpython-314.pyc +0 -0
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/collect-edited-files.py +0 -46
- package/.devcontainer/plugins/devs-marketplace/plugins/code-directive/scripts/syntax-validator.py +0 -146
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/.claude-plugin/commands/debug.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/architect.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/bash-exec.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/doc-writer.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/migrator.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/perf-profiler.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/refactorer.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/spec-writer.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/statusline-config.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/agents/test-writer.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/guard-readonly-bash.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/inject-cwd.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-no-regression.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → agent-system}/scripts/verify-tests-pass.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → auto-code-quality}/scripts/advisory-test-runner.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/commit-reminder.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/git-state-injector.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → session-context}/scripts/todo-harvester.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/scripts/skill-suggester.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/error-handling.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/api-design/references/rest-conventions.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/ast-grep-patterns/references/language-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-agent-sdk/references/sdk-typescript-reference.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/cli-flags-and-output.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/claude-code-headless/references/sdk-and-mcp.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/error-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/debugging/references/log-locations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/ecosystem-commands.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/dependency-management/references/license-compliance.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/compose-services.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker/references/dockerfile-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/container-lifecycle.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/docker-py/references/resources-and-security.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/api-doc-templates.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/documentation-patterns/references/docstring-formats.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/middleware-and-lifespan.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/pydantic-models.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/routing-and-dependencies.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/fastapi/references/sse-and-streaming.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/advanced-commands.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/git-forensics/references/investigation-playbooks.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/javascript-migrations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/migration-patterns/references/python-migrations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/interpreting-results.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/performance-profiling/references/tool-commands.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/agents-and-tools.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/pydantic-ai/references/models-and-streaming.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/safe-transformations.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/refactoring-patterns/references/smell-catalog.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/owasp-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/security-checklist/references/secrets-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/cross-vendor-principles.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/patterns-and-antipatterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/skill-building/references/skill-authoring-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/advanced-queries.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/javascript-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/python-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/sqlite/references/schema-and-pragmas.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/ai-sdk-svelte.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/component-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/layercake.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/migration-guide.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/runes-and-reactivity.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/spa-and-routing.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/svelte5/references/svelte-dnd-action.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/fastapi-testing.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → skill-engine}/skills/testing/references/svelte-testing.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/scripts/spec-reminder.py +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-build/references/review-checklist.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-check/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/backlog-template.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-init/references/milestones-template.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-new/references/template.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-refine/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-review/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/spec-update/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/SKILL.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/criteria-patterns.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → spec-workflow}/skills/specification-writing/references/ears-templates.md +0 -0
- /package/.devcontainer/plugins/devs-marketplace/plugins/{code-directive → ticket-workflow}/scripts/ticket-linker.py +0 -0
|
@@ -5,7 +5,7 @@ description: >-
|
|
|
5
5
|
application frameworks, and system services to identify errors, crashes,
|
|
6
6
|
and performance issues. Reports structured findings with root cause assessment.
|
|
7
7
|
tools: Bash, Read, Glob, Grep
|
|
8
|
-
model:
|
|
8
|
+
model: sonnet
|
|
9
9
|
color: red
|
|
10
10
|
skills:
|
|
11
11
|
- debugging
|
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
of this file", "who contributed to this module", "recover lost commit",
|
|
10
10
|
"trace this function's evolution", or needs any git history forensics.
|
|
11
11
|
tools: Read, Grep, Bash
|
|
12
|
-
model:
|
|
12
|
+
model: haiku
|
|
13
13
|
color: blue
|
|
14
14
|
memory:
|
|
15
15
|
scope: project
|
|
@@ -52,7 +52,7 @@ Before starting work, read project-specific instructions:
|
|
|
52
52
|
- **NEVER** change the working tree — no `git checkout`, `git reset`, `git restore`, `git clean`, or `git switch`. Changing the working tree could discard the user's uncommitted work.
|
|
53
53
|
- **NEVER** modify refs — no `git tag`, `git branch -d`, `git branch -m`, or `git update-ref`.
|
|
54
54
|
- **NEVER** modify configuration — no `git config` writes.
|
|
55
|
-
- Your Bash usage is **git-read-only guarded**. Only these git subcommands are permitted: `log`, `blame`, `show`, `diff`, `bisect` (view mode only), `reflog`, `shortlog`, `rev-list`, `rev-parse`, `ls-files`, `ls-tree`, `cat-file`, `name-rev`, `describe`, `merge-base`, `branch -a` / `branch --list`, `remote -v`, `stash list
|
|
55
|
+
- Your Bash usage is **git-read-only guarded**. Only these git subcommands are permitted: `log`, `blame`, `show`, `diff`, `bisect` (view mode only), `reflog`, `shortlog`, `rev-list`, `rev-parse`, `ls-files`, `ls-tree`, `cat-file`, `name-rev`, `describe`, `merge-base`, `branch -a` / `branch --list`, `remote -v`, `stash list`.
|
|
56
56
|
- You may also use `Read`, `Grep`, and non-git Bash commands that are read-only (`wc`, `sort`, `head`, `uniq`).
|
|
57
57
|
|
|
58
58
|
## Investigation Workflow
|
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
technology comparison, or technical deep-dives. Reports structured findings
|
|
10
10
|
with citations without modifying any files.
|
|
11
11
|
tools: Read, Glob, Grep, WebSearch, WebFetch, Bash
|
|
12
|
-
model:
|
|
12
|
+
model: sonnet
|
|
13
13
|
color: cyan
|
|
14
14
|
memory:
|
|
15
15
|
scope: user
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Agent redirection and subagent configuration hooks",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"PreToolUse": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "Task",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/redirect-builtin-agents.py",
|
|
11
|
+
"timeout": 5
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"SubagentStart": [
|
|
17
|
+
{
|
|
18
|
+
"matcher": "",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/inject-cwd.py",
|
|
23
|
+
"timeout": 3
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -3,7 +3,12 @@
|
|
|
3
3
|
Redirect built-in agents - PreToolUse hook for Task tool.
|
|
4
4
|
|
|
5
5
|
Intercepts Task tool calls and transparently redirects built-in agent
|
|
6
|
-
types to enhanced custom agents defined in the
|
|
6
|
+
types to enhanced custom agents defined in the agent-system plugin.
|
|
7
|
+
|
|
8
|
+
Handles three cases:
|
|
9
|
+
- Built-in name (e.g. "claude-code-guide") → qualified custom name
|
|
10
|
+
- Unqualified custom name (e.g. "claude-guide") → qualified custom name
|
|
11
|
+
- Already-qualified name (e.g. "agent-system:claude-guide") → passthrough
|
|
7
12
|
|
|
8
13
|
The redirect preserves the original prompt — only the subagent_type
|
|
9
14
|
is changed. Model selection is left to the custom agent's YAML config.
|
|
@@ -28,7 +33,11 @@ REDIRECT_MAP = {
|
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
# Plugin name prefix for fully-qualified agent references
|
|
31
|
-
PLUGIN_PREFIX = "
|
|
36
|
+
PLUGIN_PREFIX = "agent-system"
|
|
37
|
+
|
|
38
|
+
# Unqualified custom name → fully-qualified custom name
|
|
39
|
+
# Handles cases where the model uses the short name directly
|
|
40
|
+
UNQUALIFIED_MAP = {v: f"{PLUGIN_PREFIX}:{v}" for v in REDIRECT_MAP.values()}
|
|
32
41
|
|
|
33
42
|
LOG_FILE = os.environ.get("AGENT_REDIRECT_LOG", "/tmp/agent-redirect.log")
|
|
34
43
|
|
|
@@ -54,12 +63,14 @@ def main() -> None:
|
|
|
54
63
|
tool_input = input_data.get("tool_input", {})
|
|
55
64
|
subagent_type = tool_input.get("subagent_type", "")
|
|
56
65
|
|
|
57
|
-
if subagent_type
|
|
66
|
+
if subagent_type in REDIRECT_MAP:
|
|
67
|
+
target = REDIRECT_MAP[subagent_type]
|
|
68
|
+
qualified_name = f"{PLUGIN_PREFIX}:{target}"
|
|
69
|
+
elif subagent_type in UNQUALIFIED_MAP:
|
|
70
|
+
qualified_name = UNQUALIFIED_MAP[subagent_type]
|
|
71
|
+
else:
|
|
58
72
|
sys.exit(0)
|
|
59
73
|
|
|
60
|
-
target = REDIRECT_MAP[subagent_type]
|
|
61
|
-
qualified_name = f"{PLUGIN_PREFIX}:{target}"
|
|
62
|
-
|
|
63
74
|
log(f"{subagent_type} → {qualified_name}")
|
|
64
75
|
|
|
65
76
|
# Include all original fields in updatedInput — Claude Code may replace
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Context injection at session boundaries: git state, TODO harvesting, commit reminders",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"SessionStart": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/git-state-injector.py",
|
|
11
|
+
"timeout": 10
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "command",
|
|
15
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/todo-harvester.py",
|
|
16
|
+
"timeout": 8
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"Stop": [
|
|
22
|
+
{
|
|
23
|
+
"matcher": "",
|
|
24
|
+
"hooks": [
|
|
25
|
+
{
|
|
26
|
+
"type": "command",
|
|
27
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/commit-reminder.py",
|
|
28
|
+
"timeout": 8
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Skill auto-suggestion on user prompts and Plan agent starts",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"UserPromptSubmit": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "*",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/skill-suggester.py",
|
|
11
|
+
"timeout": 3
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"SubagentStart": [
|
|
17
|
+
{
|
|
18
|
+
"matcher": "Plan",
|
|
19
|
+
"hooks": [
|
|
20
|
+
{
|
|
21
|
+
"type": "command",
|
|
22
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/skill-suggester.py",
|
|
23
|
+
"timeout": 3
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team
|
|
3
|
+
description: >-
|
|
4
|
+
This skill should be used when the user asks to "spawn a team",
|
|
5
|
+
"create a team of agents", "use a swarm", "work in parallel with agents",
|
|
6
|
+
"team up agents", "coordinate multiple agents", "split this across agents",
|
|
7
|
+
or needs to orchestrate parallel agent work using Claude Code Teams.
|
|
8
|
+
version: 0.1.0
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Agent Team Orchestration
|
|
12
|
+
|
|
13
|
+
## Mental Model
|
|
14
|
+
|
|
15
|
+
A team is a group of specialist agents working in parallel under a lead (you). Each teammate runs independently with its own context — they share a task list but not conversation history. The lead decomposes work into parallel streams, spawns specialists, assigns tasks, and coordinates integration.
|
|
16
|
+
|
|
17
|
+
Teams add value only when work can be parallelized. If every task depends on the previous one, a single agent is faster. The threshold: **3+ independent workstreams** that can run concurrently.
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Lead (you)
|
|
21
|
+
├── TeamCreate → creates the team
|
|
22
|
+
├── TaskCreate (×N) → defines work units
|
|
23
|
+
├── Task (×N) → spawns specialist teammates
|
|
24
|
+
├── TaskUpdate (×N) → assigns tasks to teammates
|
|
25
|
+
├── SendMessage → coordinates during execution
|
|
26
|
+
└── TeamDelete → cleans up after completion
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Two Modes
|
|
32
|
+
|
|
33
|
+
Parse `$ARGUMENTS` for an optional `--now` flag to determine behavior:
|
|
34
|
+
|
|
35
|
+
| Input | Mode | Behavior |
|
|
36
|
+
|-------|------|----------|
|
|
37
|
+
| `/team refactor the auth module` | Guidance | Absorb team knowledge, propose a plan, discuss with user |
|
|
38
|
+
| `/team --now refactor the auth module` | Immediate | Create team, spawn agents, start work without waiting |
|
|
39
|
+
| `/team` | Guidance | Ask the user what the team should accomplish |
|
|
40
|
+
|
|
41
|
+
Strip `--now` from the purpose string before using it. Everything remaining is `<PURPOSE>`.
|
|
42
|
+
|
|
43
|
+
### Guidance Mode (default — no `--now`)
|
|
44
|
+
|
|
45
|
+
Inject the knowledge in this skill into context. **Do not force immediate action.** Analyze the purpose, propose a team composition, and discuss the approach with the user before acting. Use your judgment about when to create the team.
|
|
46
|
+
|
|
47
|
+
### Immediate Mode (`--now` flag present)
|
|
48
|
+
|
|
49
|
+
Act now without waiting for further input:
|
|
50
|
+
|
|
51
|
+
1. **Analyze purpose** — determine workstreams and specialist roles needed
|
|
52
|
+
2. **Create team** — `TeamCreate` with a kebab-case name derived from purpose
|
|
53
|
+
3. **Create tasks** — `TaskCreate` for each work unit with dependencies via `TaskUpdate`
|
|
54
|
+
4. **Spawn teammates** — `Task` with `team_name`, specialist `subagent_type`, descriptive `name`
|
|
55
|
+
5. **Assign tasks** — `TaskUpdate` with `owner` set to each teammate's name
|
|
56
|
+
6. **Coordinate** — monitor via `TaskList`, message via `SendMessage`
|
|
57
|
+
7. **Shutdown** — `shutdown_request` to all teammates, then `TeamDelete`
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Team Lifecycle
|
|
62
|
+
|
|
63
|
+
### 1. Create the Team
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
TeamCreate:
|
|
67
|
+
team_name: "auth-refactor" # kebab-case, descriptive
|
|
68
|
+
description: "Refactor auth module for OAuth2 support"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
One team per lead session. No nested teams.
|
|
72
|
+
|
|
73
|
+
### 2. Create Tasks
|
|
74
|
+
|
|
75
|
+
Each task should be independently completable by one agent:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
TaskCreate:
|
|
79
|
+
subject: "Write unit tests for OAuth2 flow" # imperative
|
|
80
|
+
description: "Full context the assignee needs..." # self-contained
|
|
81
|
+
activeForm: "Writing OAuth2 unit tests" # present continuous
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Set ordering constraints with `TaskUpdate`:
|
|
85
|
+
- `addBlockedBy: ["1"]` — this task waits for task 1
|
|
86
|
+
- `addBlocks: ["3"]` — task 3 waits for this task
|
|
87
|
+
|
|
88
|
+
### 3. Spawn Teammates
|
|
89
|
+
|
|
90
|
+
Each teammate is spawned via the `Task` tool with `team_name`:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Task:
|
|
94
|
+
team_name: "auth-refactor"
|
|
95
|
+
subagent_type: "agent-system:test-writer" # specialist agent type
|
|
96
|
+
name: "test-writer" # used for messaging and assignment
|
|
97
|
+
prompt: "All context needed for the work..." # teammates have NO prior history
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Critical:** Teammates do not inherit your conversation. The spawn `prompt` must include every piece of context the teammate needs — file paths, requirements, constraints, conventions.
|
|
101
|
+
|
|
102
|
+
### 4. Assign Tasks
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
TaskUpdate:
|
|
106
|
+
taskId: "2"
|
|
107
|
+
owner: "test-writer" # matches the teammate's name
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 5. Coordinate
|
|
111
|
+
|
|
112
|
+
- **Check progress:** `TaskList` shows all tasks with status and owner
|
|
113
|
+
- **Direct message:** `SendMessage` with `type: "message"` and `recipient: "test-writer"`
|
|
114
|
+
- **Broadcast:** `SendMessage` with `type: "broadcast"` — use ONLY for critical team-wide issues
|
|
115
|
+
- **Idle is normal:** Teammates go idle after each turn. This is expected. Send a message to wake them.
|
|
116
|
+
|
|
117
|
+
### 6. Shutdown
|
|
118
|
+
|
|
119
|
+
When all tasks are complete:
|
|
120
|
+
|
|
121
|
+
1. Send `shutdown_request` to each teammate via `SendMessage`
|
|
122
|
+
2. Wait for confirmations
|
|
123
|
+
3. `TeamDelete` to remove team and task directories
|
|
124
|
+
4. Report results to the user
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Specialist Agent Types
|
|
129
|
+
|
|
130
|
+
Choose the agent whose domain matches the work. **Generalist is a last resort.**
|
|
131
|
+
|
|
132
|
+
| Agent Type | Domain | Capabilities |
|
|
133
|
+
|-----------|--------|-------------|
|
|
134
|
+
| `researcher` | Codebase & web research | Read-only |
|
|
135
|
+
| `test-writer` | Write test suites | Read + Write + Bash |
|
|
136
|
+
| `refactorer` | Safe code transformations | Read + Write + Bash |
|
|
137
|
+
| `doc-writer` | README, API docs, docstrings | Read + Write |
|
|
138
|
+
| `migrator` | Framework upgrades, version bumps | Read + Write + Bash |
|
|
139
|
+
| `security-auditor` | OWASP audit, secrets scan | Read-only |
|
|
140
|
+
| `git-archaeologist` | Git history investigation | Read-only + Bash |
|
|
141
|
+
| `dependency-analyst` | Outdated/vulnerable deps | Read-only + Bash |
|
|
142
|
+
| `spec-writer` | Requirements & acceptance criteria | Read-only |
|
|
143
|
+
| `perf-profiler` | Profiling & benchmarks | Read-only + Bash |
|
|
144
|
+
| `debug-logs` | Log analysis & diagnostics | Read-only + Bash |
|
|
145
|
+
| `architect` | Implementation planning | Read-only |
|
|
146
|
+
| `explorer` | Fast codebase search | Read-only |
|
|
147
|
+
| `generalist` | Multi-step tasks (last resort) | All tools |
|
|
148
|
+
| `bash-exec` | Command execution | Bash only |
|
|
149
|
+
|
|
150
|
+
Prefix with `agent-system:` when spawning (e.g., `agent-system:test-writer`).
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Team Composition Examples
|
|
155
|
+
|
|
156
|
+
| Purpose | Recommended Team |
|
|
157
|
+
|---------|-----------------|
|
|
158
|
+
| Feature build | `researcher` + `test-writer` + `doc-writer` |
|
|
159
|
+
| Security hardening | `security-auditor` + `dependency-analyst` |
|
|
160
|
+
| Codebase cleanup | `refactorer` + `test-writer` |
|
|
161
|
+
| Migration project | `researcher` + `migrator` |
|
|
162
|
+
| Performance work | `perf-profiler` + `refactorer` |
|
|
163
|
+
| Full-stack feature | `architect` + `generalist` (backend) + `generalist` (frontend) + `test-writer` |
|
|
164
|
+
| Code audit | `security-auditor` + `dependency-analyst` + `perf-profiler` |
|
|
165
|
+
| Documentation sprint | `researcher` + `doc-writer` |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Anti-Patterns
|
|
170
|
+
|
|
171
|
+
| Anti-Pattern | Why It Fails | Instead |
|
|
172
|
+
|-------------|-------------|---------|
|
|
173
|
+
| More than 5 teammates | Coordination overhead outweighs parallelism | Limit to 2–5, matching actual parallel workstreams |
|
|
174
|
+
| Same-file edits by two agents | Merge conflicts are unrecoverable | Assign file ownership — one agent per file |
|
|
175
|
+
| Sequential-only work | Team adds overhead with zero parallel benefit | Use a single agent |
|
|
176
|
+
| Generalist everywhere | Specialists carry domain knowledge and safety hooks | Pick the specialist whose domain matches |
|
|
177
|
+
| Empty spawn prompts | Teammates have no prior context | Include all requirements, file paths, conventions |
|
|
178
|
+
| Skipping shutdown | Orphaned agents consume resources | Always send `shutdown_request` + `TeamDelete` |
|
|
179
|
+
| Broadcasting for routine updates | Each broadcast = N messages (one per teammate) | Use direct `message` to specific teammates |
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Tool Reference
|
|
184
|
+
|
|
185
|
+
| Tool | Purpose | Key Parameters |
|
|
186
|
+
|------|---------|---------------|
|
|
187
|
+
| `TeamCreate` | Create the team | `team_name`, `description` |
|
|
188
|
+
| `Task` | Spawn teammate into team | `team_name`, `subagent_type`, `name`, `prompt` |
|
|
189
|
+
| `TaskCreate` | Add task to shared list | `subject`, `description`, `activeForm` |
|
|
190
|
+
| `TaskUpdate` | Assign, depend, complete | `taskId`, `owner`, `status`, `addBlockedBy` |
|
|
191
|
+
| `TaskList` | View all tasks and status | (none) |
|
|
192
|
+
| `TaskGet` | Read full task details | `taskId` |
|
|
193
|
+
| `SendMessage` | Communicate with teammates | `type`, `recipient`, `content`, `summary` |
|
|
194
|
+
| `TeamDelete` | Clean up after completion | (none) |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Ambiguity Policy
|
|
199
|
+
|
|
200
|
+
- If `$ARGUMENTS` is empty (no purpose provided), ask: "What should the team accomplish?"
|
|
201
|
+
- If the purpose maps to a single workstream with no parallelism, advise against a team and offer to do the work directly.
|
|
202
|
+
- If unsure which specialists to pick, present 2–3 composition options with trade-offs and let the user choose.
|
|
203
|
+
- If the purpose is vague ("make the app better"), ask for specifics before composing a team.
|
|
204
|
+
- If a teammate reports a blocker, attempt to resolve it yourself or reassign the task before escalating to the user.
|
|
205
|
+
- In immediate mode, default to the most natural team composition. If genuinely ambiguous, fall back to guidance mode and ask.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Spec reminder advisory when code is modified but specs are not updated",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"Stop": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/spec-reminder.py",
|
|
11
|
+
"timeout": 8
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
> Features live in the priority-graded backlog until pulled into a version.
|
|
4
|
+
> Versions are scoped and spec'd when ready to build — not pre-assigned.
|
|
5
|
+
> See `BACKLOG.md` for the feature backlog.
|
|
6
|
+
|
|
7
|
+
## How Versioning Works
|
|
8
|
+
|
|
9
|
+
1. **Backlog** — All desired features live in `BACKLOG.md`, graded by priority.
|
|
10
|
+
2. **Version scoping** — When ready to start a new version, pull features from the backlog.
|
|
11
|
+
3. **Spec first** — Each feature in a version gets a spec before implementation begins.
|
|
12
|
+
4. **Ship** — Version is done when all its specs are implemented and verified.
|
|
13
|
+
|
|
14
|
+
Only the **next version** is defined in detail. Everything else is backlog.
|
|
15
|
+
|
|
16
|
+
## Released
|
|
17
|
+
|
|
18
|
+
_None yet._
|
|
19
|
+
|
|
20
|
+
## Current
|
|
21
|
+
|
|
22
|
+
### v0.1.0 — [Name] 🔧
|
|
23
|
+
|
|
24
|
+
- [ ] [Feature pulled from backlog]
|
|
25
|
+
- [ ] [Feature pulled from backlog]
|
|
26
|
+
|
|
27
|
+
## Next
|
|
28
|
+
|
|
29
|
+
> Scoped from `BACKLOG.md` when current version is complete.
|
|
30
|
+
|
|
31
|
+
## Out of Scope
|
|
32
|
+
|
|
33
|
+
- [Items explicitly not planned]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Auto-link GitHub tickets on user prompt submission",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"UserPromptSubmit": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "*",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "python3 ${CLAUDE_PLUGIN_ROOT}/scripts/ticket-linker.py",
|
|
11
|
+
"timeout": 12
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeforge-dev",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Complete development container that sets up Claude Code with modular devcontainer features, modern dev tools, and persistent configurations. Drop it into any project and get a production-ready AI development environment in minutes.",
|
|
5
5
|
"main": "setup.js",
|
|
6
6
|
"bin": {
|