oh-my-customcode 0.12.0 → 0.12.1
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/dist/cli/index.js +326 -53
- package/package.json +1 -1
- package/templates/.codex/agents/arch-documenter.md +1 -1
- package/templates/.codex/agents/arch-speckit-agent.md +2 -2
- package/templates/.codex/agents/be-express-expert.md +1 -1
- package/templates/.codex/agents/be-fastapi-expert.md +1 -1
- package/templates/.codex/agents/be-go-backend-expert.md +1 -1
- package/templates/.codex/agents/be-nestjs-expert.md +1 -1
- package/templates/.codex/agents/be-springboot-expert.md +1 -1
- package/templates/.codex/agents/db-postgres-expert.md +1 -1
- package/templates/.codex/agents/db-redis-expert.md +1 -1
- package/templates/.codex/agents/db-supabase-expert.md +1 -1
- package/templates/.codex/agents/de-airflow-expert.md +1 -1
- package/templates/.codex/agents/de-dbt-expert.md +1 -1
- package/templates/.codex/agents/de-kafka-expert.md +1 -1
- package/templates/.codex/agents/de-pipeline-expert.md +1 -1
- package/templates/.codex/agents/de-snowflake-expert.md +1 -1
- package/templates/.codex/agents/de-spark-expert.md +1 -1
- package/templates/.codex/agents/fe-svelte-agent.md +1 -1
- package/templates/.codex/agents/fe-vercel-agent.md +1 -1
- package/templates/.codex/agents/fe-vuejs-agent.md +1 -1
- package/templates/.codex/agents/infra-aws-expert.md +2 -2
- package/templates/.codex/agents/infra-docker-expert.md +2 -2
- package/templates/.codex/agents/lang-golang-expert.md +1 -1
- package/templates/.codex/agents/lang-java21-expert.md +1 -1
- package/templates/.codex/agents/lang-kotlin-expert.md +1 -1
- package/templates/.codex/agents/lang-python-expert.md +1 -1
- package/templates/.codex/agents/lang-rust-expert.md +1 -1
- package/templates/.codex/agents/lang-typescript-expert.md +1 -1
- package/templates/.codex/agents/mgr-claude-code-bible.md +25 -28
- package/templates/.codex/agents/mgr-creator.md +3 -3
- package/templates/.codex/agents/mgr-gitnerd.md +1 -1
- package/templates/.codex/agents/mgr-sauron.md +11 -11
- package/templates/.codex/agents/mgr-supplier.md +1 -1
- package/templates/.codex/agents/mgr-sync-checker.md +4 -4
- package/templates/.codex/agents/mgr-updater.md +2 -2
- package/templates/.codex/agents/qa-engineer.md +1 -1
- package/templates/.codex/agents/qa-planner.md +1 -1
- package/templates/.codex/agents/qa-writer.md +1 -1
- package/templates/.codex/agents/sys-memory-keeper.md +2 -2
- package/templates/.codex/agents/sys-naggy.md +1 -1
- package/templates/.codex/agents/tool-bun-expert.md +1 -1
- package/templates/.codex/agents/tool-npm-expert.md +1 -1
- package/templates/.codex/agents/tool-optimizer.md +1 -1
- package/templates/.codex/codex-native-hash.txt +1 -1
- package/templates/.codex/contexts/index.yaml +2 -2
- package/templates/.codex/hooks/hooks.json +3 -4
- package/templates/.codex/install-hooks.sh +16 -16
- package/templates/.codex/rules/MUST-agent-design.md +7 -7
- package/templates/.codex/rules/MUST-agent-identification.md +2 -2
- package/templates/.codex/rules/MUST-intent-transparency.md +1 -1
- package/templates/.codex/rules/MUST-orchestrator-coordination.md +12 -12
- package/templates/.codex/rules/MUST-parallel-execution.md +4 -4
- package/templates/.codex/rules/MUST-sync-verification.md +18 -18
- package/templates/.codex/rules/MUST-tool-identification.md +15 -15
- package/templates/.codex/rules/SHOULD-hud-statusline.md +3 -3
- package/templates/.codex/rules/SHOULD-memory-integration.md +4 -4
- package/templates/.codex/skills/claude-code-bible/SKILL.md +63 -143
- package/templates/.codex/skills/claude-code-bible/scripts/fetch-docs.js +182 -154
- package/templates/.codex/skills/de-lead-routing/SKILL.md +19 -19
- package/templates/.codex/skills/dev-lead-routing/SKILL.md +3 -3
- package/templates/.codex/skills/intent-detection/patterns/agent-triggers.yaml +1 -1
- package/templates/.codex/skills/monitoring-setup/SKILL.md +3 -3
- package/templates/.codex/skills/qa-lead-routing/SKILL.md +21 -21
- package/templates/.codex/skills/secretary-routing/SKILL.md +22 -22
- package/templates/.codex/uninstall-hooks.sh +9 -9
- package/templates/.codex/skills/go-best-practices/CLAUDE.md +0 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Codex Contexts Configuration
|
|
2
2
|
# Source: https://github.com/affaan-m/everything-claude-code
|
|
3
3
|
|
|
4
4
|
contexts:
|
|
@@ -33,7 +33,7 @@ contexts:
|
|
|
33
33
|
|
|
34
34
|
usage:
|
|
35
35
|
description: |
|
|
36
|
-
Use contexts to change
|
|
36
|
+
Use contexts to change Codex behavior mode.
|
|
37
37
|
Include the context file content in your prompt or
|
|
38
38
|
reference it at the start of a session.
|
|
39
39
|
example: |
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
3
2
|
"hooks": {
|
|
4
3
|
"PreToolUse": [
|
|
5
4
|
{
|
|
@@ -33,11 +32,11 @@
|
|
|
33
32
|
"description": "Pause before git push to review changes"
|
|
34
33
|
},
|
|
35
34
|
{
|
|
36
|
-
"matcher": "tool == \"Write\" && tool_input.file_path matches \"\\\\.(md|txt)$\" && !(tool_input.file_path matches \"README\\\\.md|
|
|
35
|
+
"matcher": "tool == \"Write\" && tool_input.file_path matches \"\\\\.(md|txt)$\" && !(tool_input.file_path matches \"README\\\\.md|AGENTS\\\\.md|SKILL\\\\.md\")",
|
|
37
36
|
"hooks": [
|
|
38
37
|
{
|
|
39
38
|
"type": "command",
|
|
40
|
-
"command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [[ \"$file_path\" =~ \\.(md|txt)$ ]] && [[ ! \"$file_path\" =~ (README|
|
|
39
|
+
"command": "#!/bin/bash\ninput=$(cat)\nfile_path=$(echo \"$input\" | jq -r '.tool_input.file_path // \"\"')\n\nif [[ \"$file_path\" =~ \\.(md|txt)$ ]] && [[ ! \"$file_path\" =~ (README|AGENTS|SKILL)\\.md$ ]]; then\n echo \"[Hook] BLOCKED: Unnecessary documentation file creation\" >&2\n echo \"[Hook] File: $file_path\" >&2\n echo \"[Hook] Use README.md or AGENTS.md for documentation instead\" >&2\n exit 1\nfi\n\necho \"$input\""
|
|
41
40
|
}
|
|
42
41
|
],
|
|
43
42
|
"description": "Block creation of random .md files - keeps docs consolidated"
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
"hooks": [
|
|
48
47
|
{
|
|
49
48
|
"type": "command",
|
|
50
|
-
"command": "#!/bin/bash\nCOUNTER_FILE=\"/tmp/
|
|
49
|
+
"command": "#!/bin/bash\nCOUNTER_FILE=\"/tmp/codex-tool-count-$$\"\nTHRESHOLD=${COMPACT_THRESHOLD:-50}\nif [ -f \"$COUNTER_FILE\" ]; then COUNT=$(cat \"$COUNTER_FILE\"); COUNT=$((COUNT + 1)); else COUNT=1; fi\necho \"$COUNT\" > \"$COUNTER_FILE\"\nif [ \"$COUNT\" -eq \"$THRESHOLD\" ]; then echo '[StrategicCompact] Reached '$THRESHOLD' tool calls' >&2; echo '[StrategicCompact] Consider /compact if at a logical breakpoint' >&2; fi\nif [ \"$COUNT\" -gt \"$THRESHOLD\" ] && [ $(((COUNT - THRESHOLD) % 25)) -eq 0 ]; then echo \"[StrategicCompact] $COUNT tool calls - /compact reminder\" >&2; fi\ncat"
|
|
51
50
|
}
|
|
52
51
|
],
|
|
53
52
|
"description": "Suggest manual compaction at logical intervals"
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
#
|
|
2
|
+
# Codex Hooks & Contexts Installer
|
|
3
3
|
# Source: https://github.com/affaan-m/everything-claude-code
|
|
4
4
|
# Hook installation script
|
|
5
5
|
|
|
6
6
|
set -e
|
|
7
7
|
|
|
8
8
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
|
|
10
|
-
SETTINGS_FILE="${
|
|
9
|
+
CODEX_HOME="${HOME}/.codex"
|
|
10
|
+
SETTINGS_FILE="${CODEX_HOME}/settings.json"
|
|
11
11
|
|
|
12
12
|
echo "┌─────────────────────────────────────────────┐"
|
|
13
|
-
echo "│
|
|
13
|
+
echo "│ Codex Hooks & Contexts Installer │"
|
|
14
14
|
echo "└─────────────────────────────────────────────┘"
|
|
15
15
|
echo ""
|
|
16
16
|
|
|
17
17
|
# Create directories
|
|
18
18
|
echo "[1/5] Creating directories..."
|
|
19
|
-
mkdir -p "${
|
|
20
|
-
mkdir -p "${
|
|
21
|
-
mkdir -p "${
|
|
22
|
-
mkdir -p "${
|
|
23
|
-
mkdir -p "${
|
|
19
|
+
mkdir -p "${CODEX_HOME}/hooks/memory-persistence"
|
|
20
|
+
mkdir -p "${CODEX_HOME}/hooks/strategic-compact"
|
|
21
|
+
mkdir -p "${CODEX_HOME}/sessions"
|
|
22
|
+
mkdir -p "${CODEX_HOME}/skills/learned"
|
|
23
|
+
mkdir -p "${CODEX_HOME}/contexts"
|
|
24
24
|
echo " ✓ Directories created"
|
|
25
25
|
|
|
26
26
|
# Copy scripts
|
|
27
27
|
echo "[2/5] Copying hook scripts..."
|
|
28
|
-
cp "${SCRIPT_DIR}/hooks/memory-persistence/"*.sh "${
|
|
29
|
-
cp "${SCRIPT_DIR}/hooks/strategic-compact/"*.sh "${
|
|
28
|
+
cp "${SCRIPT_DIR}/hooks/memory-persistence/"*.sh "${CODEX_HOME}/hooks/memory-persistence/"
|
|
29
|
+
cp "${SCRIPT_DIR}/hooks/strategic-compact/"*.sh "${CODEX_HOME}/hooks/strategic-compact/"
|
|
30
30
|
echo " ✓ Scripts copied"
|
|
31
31
|
|
|
32
32
|
# Copy contexts
|
|
33
33
|
echo "[3/5] Copying context files..."
|
|
34
|
-
cp "${SCRIPT_DIR}/contexts/"*.md "${
|
|
34
|
+
cp "${SCRIPT_DIR}/contexts/"*.md "${CODEX_HOME}/contexts/"
|
|
35
35
|
echo " ✓ Contexts copied"
|
|
36
36
|
|
|
37
37
|
# Set permissions
|
|
38
38
|
echo "[4/5] Setting execute permissions..."
|
|
39
|
-
chmod +x "${
|
|
40
|
-
chmod +x "${
|
|
39
|
+
chmod +x "${CODEX_HOME}/hooks/memory-persistence/"*.sh
|
|
40
|
+
chmod +x "${CODEX_HOME}/hooks/strategic-compact/"*.sh
|
|
41
41
|
echo " ✓ Permissions set"
|
|
42
42
|
|
|
43
43
|
# Handle settings.json
|
|
@@ -75,7 +75,7 @@ echo "┌───────────────────────
|
|
|
75
75
|
echo "│ Installation Complete! │"
|
|
76
76
|
echo "└─────────────────────────────────────────────┘"
|
|
77
77
|
echo ""
|
|
78
|
-
echo "Installed to: ${
|
|
78
|
+
echo "Installed to: ${CODEX_HOME}/"
|
|
79
79
|
echo ""
|
|
80
80
|
echo "Structure:"
|
|
81
81
|
echo " ~/.codex/"
|
|
@@ -95,6 +95,6 @@ echo " ├── sessions/ (auto-created logs)"
|
|
|
95
95
|
echo " └── skills/learned/ (for future use)"
|
|
96
96
|
echo ""
|
|
97
97
|
echo "Next steps:"
|
|
98
|
-
echo " 1. Restart
|
|
98
|
+
echo " 1. Restart Codex to activate hooks"
|
|
99
99
|
echo " 2. Use contexts by referencing them in prompts"
|
|
100
100
|
echo ""
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
## Agent File Format
|
|
6
6
|
|
|
7
|
-
Location: `.
|
|
7
|
+
Location: `.codex/agents/{name}.md` (single file, kebab-case)
|
|
8
8
|
|
|
9
9
|
### Required Frontmatter
|
|
10
10
|
|
|
11
11
|
```yaml
|
|
12
12
|
name: agent-name # Unique identifier (kebab-case)
|
|
13
13
|
description: Brief desc # One-line summary
|
|
14
|
-
model:
|
|
14
|
+
model: balanced # balanced | reasoning | fast
|
|
15
15
|
tools: [Read, Write, ...] # Allowed tools
|
|
16
16
|
```
|
|
17
17
|
|
|
@@ -32,9 +32,9 @@ source: # For external agents
|
|
|
32
32
|
|
|
33
33
|
| Scope | Location | Git Tracked |
|
|
34
34
|
|-------|----------|-------------|
|
|
35
|
-
| `user` | `~/.
|
|
36
|
-
| `project` | `.
|
|
37
|
-
| `local` | `.
|
|
35
|
+
| `user` | `~/.codex/agent-memory/<name>/` | No |
|
|
36
|
+
| `project` | `.codex/agent-memory/<name>/` | Yes |
|
|
37
|
+
| `local` | `.codex/agent-memory-local/<name>/` | No |
|
|
38
38
|
|
|
39
39
|
When enabled: first 200 lines of MEMORY.md loaded into system prompt.
|
|
40
40
|
|
|
@@ -42,8 +42,8 @@ When enabled: first 200 lines of MEMORY.md loaded into system prompt.
|
|
|
42
42
|
|
|
43
43
|
| Location | Purpose | Contains |
|
|
44
44
|
|----------|---------|----------|
|
|
45
|
-
| `.
|
|
46
|
-
| `.
|
|
45
|
+
| `.codex/agents/` | WHAT the agent does | Role, capabilities, workflow |
|
|
46
|
+
| `.codex/skills/` | HOW to do tasks | Instructions, scripts, rules |
|
|
47
47
|
| `guides/` | Reference docs | Best practices, tutorials |
|
|
48
48
|
|
|
49
49
|
Agent body: purpose, capabilities overview, workflow. NOT detailed instructions or reference docs.
|
|
@@ -12,7 +12,7 @@ Every response MUST start with agent identification:
|
|
|
12
12
|
└─ Task: {brief-task-description}
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Default (no specific agent): `┌─ Agent:
|
|
15
|
+
Default (no specific agent): `┌─ Agent: codex (default)`
|
|
16
16
|
|
|
17
17
|
## Simplified Format
|
|
18
18
|
|
|
@@ -25,5 +25,5 @@ With skill: `[fe-vercel-agent → react-best-practices] Analyzing...`
|
|
|
25
25
|
|-----------|---------|
|
|
26
26
|
| Agent-specific task | Full header |
|
|
27
27
|
| Using skill | Include skill name |
|
|
28
|
-
| General conversation | "
|
|
28
|
+
| General conversation | "codex (default)" |
|
|
29
29
|
| Long tasks | Show progress with agent context |
|
|
@@ -39,4 +39,4 @@ Users can specify agent directly with `@{agent-name} {command}`. Override bypass
|
|
|
39
39
|
|
|
40
40
|
## Agent Triggers
|
|
41
41
|
|
|
42
|
-
Defined in `.
|
|
42
|
+
Defined in `.codex/skills/intent-detection/patterns/agent-triggers.yaml`. Each agent has keywords, file patterns, actions, and base confidence.
|
|
@@ -19,7 +19,7 @@ Main Conversation (orchestrator)
|
|
|
19
19
|
|
|
20
20
|
## Session Continuity
|
|
21
21
|
|
|
22
|
-
After restart/compaction: re-read
|
|
22
|
+
After restart/compaction: re-read AGENTS.md, all delegation rules still apply. Never write code directly from orchestrator.
|
|
23
23
|
|
|
24
24
|
## Delegation Rules
|
|
25
25
|
|
|
@@ -50,8 +50,8 @@ After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. N
|
|
|
50
50
|
|
|
51
51
|
| Agent | File | Purpose |
|
|
52
52
|
|-------|------|---------|
|
|
53
|
-
| sys-memory-keeper | .
|
|
54
|
-
| sys-naggy | .
|
|
53
|
+
| sys-memory-keeper | .codex/agents/sys-memory-keeper.md | Memory operations |
|
|
54
|
+
| sys-naggy | .codex/agents/sys-naggy.md | TODO management |
|
|
55
55
|
|
|
56
56
|
## Exception: Simple Tasks
|
|
57
57
|
|
|
@@ -66,26 +66,26 @@ For specialized work, ALWAYS delegate to appropriate subagent.
|
|
|
66
66
|
|
|
67
67
|
```
|
|
68
68
|
Available models:
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
69
|
+
- reasoning : Complex reasoning, architecture design
|
|
70
|
+
- balanced : Balanced performance (default)
|
|
71
|
+
- fast : Fast, simple tasks, file search
|
|
72
72
|
- inherit: Use parent conversation's model
|
|
73
73
|
|
|
74
74
|
Usage:
|
|
75
75
|
Task(
|
|
76
76
|
subagent_type: "general-purpose",
|
|
77
77
|
prompt: "Analyze architecture",
|
|
78
|
-
model: "
|
|
78
|
+
model: "reasoning"
|
|
79
79
|
)
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
| Task Type | Model |
|
|
83
83
|
|-----------|-------|
|
|
84
|
-
| Architecture analysis | `
|
|
85
|
-
| Code review | `
|
|
86
|
-
| Code implementation | `
|
|
87
|
-
| Manager agents | `
|
|
88
|
-
| File search/validation | `
|
|
84
|
+
| Architecture analysis | `reasoning` |
|
|
85
|
+
| Code review | `reasoning` or `balanced` |
|
|
86
|
+
| Code implementation | `balanced` |
|
|
87
|
+
| Manager agents | `balanced` |
|
|
88
|
+
| File search/validation | `fast` |
|
|
89
89
|
|
|
90
90
|
## Git Operations
|
|
91
91
|
|
|
@@ -75,15 +75,15 @@ Before writing/editing multiple files:
|
|
|
75
75
|
## Task Tool Requirements
|
|
76
76
|
|
|
77
77
|
- Use specific `subagent_type` (not "general-purpose" when specialist exists)
|
|
78
|
-
- Use `model` parameter for cost optimization (
|
|
78
|
+
- Use `model` parameter for cost optimization (fast for search, balanced for code, reasoning for reasoning)
|
|
79
79
|
- Each independent unit = separate Task tool call in the SAME message
|
|
80
80
|
|
|
81
81
|
## Display Format
|
|
82
82
|
|
|
83
83
|
```
|
|
84
|
-
[Instance 1] Task(mgr-creator):
|
|
85
|
-
[Instance 2] Task(lang-python-expert):
|
|
86
|
-
[Instance 3] Task(Explore):
|
|
84
|
+
[Instance 1] Task(mgr-creator):balanced → Create Go agent
|
|
85
|
+
[Instance 2] Task(lang-python-expert):balanced → Review Python code
|
|
86
|
+
[Instance 3] Task(Explore):fast → Search codebase
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
Must use `Task({subagent_type}):{model}` format. Custom names not allowed.
|
|
@@ -70,28 +70,28 @@ Any change to: agents, agent frontmatter, skills, guides, routing patterns, rule
|
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
# Agent count check
|
|
73
|
-
ls .
|
|
73
|
+
ls .codex/agents/*.md | wc -l
|
|
74
74
|
|
|
75
75
|
# Skill count check
|
|
76
|
-
find .
|
|
76
|
+
find .codex/skills -name "SKILL.md" | wc -l
|
|
77
77
|
|
|
78
78
|
# Frontmatter validation (check for missing YAML headers)
|
|
79
|
-
for f in .
|
|
79
|
+
for f in .codex/agents/*.md; do head -1 "$f" | grep -q "^---" || echo "MISSING FRONTMATTER: $f"; done
|
|
80
80
|
|
|
81
81
|
# Check for agents with invalid skill references
|
|
82
|
-
for f in .
|
|
82
|
+
for f in .codex/agents/*.md; do
|
|
83
83
|
grep "^skills:" -A 10 "$f" | grep " - " | sed 's/.*- //' | while read skill; do
|
|
84
|
-
[ -f ".
|
|
84
|
+
[ -f ".codex/skills/$skill/SKILL.md" ] || echo "INVALID SKILL REF in $f: $skill"
|
|
85
85
|
done
|
|
86
86
|
done
|
|
87
87
|
|
|
88
88
|
# Routing skill pattern coverage
|
|
89
|
-
grep -c "agent_patterns:" .
|
|
90
|
-
grep -c "agent_patterns:" .
|
|
91
|
-
grep -c "agent_patterns:" .
|
|
89
|
+
grep -c "agent_patterns:" .codex/skills/secretary-routing/SKILL.md
|
|
90
|
+
grep -c "agent_patterns:" .codex/skills/dev-lead-routing/SKILL.md
|
|
91
|
+
grep -c "agent_patterns:" .codex/skills/qa-lead-routing/SKILL.md
|
|
92
92
|
|
|
93
93
|
# Memory field validation
|
|
94
|
-
for f in .
|
|
94
|
+
for f in .codex/agents/*.md; do
|
|
95
95
|
mem=$(grep "^memory:" "$f" | awk '{print $2}')
|
|
96
96
|
if [ -n "$mem" ] && [ "$mem" != "project" ] && [ "$mem" != "user" ] && [ "$mem" != "local" ]; then
|
|
97
97
|
echo "INVALID MEMORY SCOPE in $f: $mem"
|
|
@@ -99,27 +99,27 @@ for f in .claude/agents/*.md; do
|
|
|
99
99
|
done
|
|
100
100
|
|
|
101
101
|
# Hook count check
|
|
102
|
-
ls .
|
|
102
|
+
ls .codex/hooks/*.json 2>/dev/null | wc -l
|
|
103
103
|
|
|
104
104
|
# Context count check
|
|
105
|
-
ls .
|
|
105
|
+
ls .codex/contexts/*.md 2>/dev/null | wc -l
|
|
106
106
|
|
|
107
107
|
# Guide count check
|
|
108
108
|
find guides -mindepth 1 -maxdepth 1 -type d | wc -l
|
|
109
109
|
|
|
110
|
-
# Agent name accuracy (compare
|
|
110
|
+
# Agent name accuracy (compare AGENTS.md table with actual files)
|
|
111
111
|
# Extract agent names from files
|
|
112
|
-
ls .
|
|
112
|
+
ls .codex/agents/*.md | xargs -I{} basename {} .md | sort > /tmp/actual-agents.txt
|
|
113
113
|
|
|
114
114
|
# Slash command skill existence
|
|
115
|
-
for cmd in $(grep "^| \`/"
|
|
115
|
+
for cmd in $(grep "^| \`/" AGENTS.md | sed 's/.*`\///' | sed 's/`.*//' | sed 's/ .*//')
|
|
116
116
|
do
|
|
117
|
-
[ -d ".
|
|
117
|
+
[ -d ".codex/skills/$cmd" ] || echo "MISSING SKILL: $cmd"
|
|
118
118
|
done
|
|
119
119
|
|
|
120
120
|
# Routing skill completeness check
|
|
121
|
-
ls -d .
|
|
121
|
+
ls -d .codex/skills/*-routing 2>/dev/null | xargs -I{} basename {} | sort
|
|
122
122
|
|
|
123
|
-
# Verify routing skill names in
|
|
124
|
-
grep -oP '(secretary|dev-lead|de-lead|qa-lead)-routing'
|
|
123
|
+
# Verify routing skill names in AGENTS.md
|
|
124
|
+
grep -oP '(secretary|dev-lead|de-lead|qa-lead)-routing' AGENTS.md | sort -u
|
|
125
125
|
```
|
|
@@ -26,8 +26,8 @@ For parallel calls: list ALL identifications BEFORE the tool calls.
|
|
|
26
26
|
|
|
27
27
|
✓ CORRECT: Always identify with agent AND model
|
|
28
28
|
"먼저 JD 내용을 확인하겠습니다."
|
|
29
|
-
[secretary][
|
|
30
|
-
[secretary][
|
|
29
|
+
[secretary][reasoning] → Tool: WebFetch
|
|
30
|
+
[secretary][reasoning] → Fetching: https://example.com/jd.md
|
|
31
31
|
<tool_call>WebFetch(...)</tool_call>
|
|
32
32
|
|
|
33
33
|
❌ WRONG: Parallel calls without listing all identifications
|
|
@@ -36,12 +36,12 @@ For parallel calls: list ALL identifications BEFORE the tool calls.
|
|
|
36
36
|
<tool_call>Bash(cmd)</tool_call>
|
|
37
37
|
|
|
38
38
|
✓ CORRECT: List all identifications with models, then call
|
|
39
|
-
[secretary][
|
|
40
|
-
[secretary][
|
|
41
|
-
[secretary][
|
|
42
|
-
[secretary][
|
|
43
|
-
[secretary][
|
|
44
|
-
[secretary][
|
|
39
|
+
[secretary][reasoning] → Tool: WebFetch
|
|
40
|
+
[secretary][reasoning] → Fetching: url1
|
|
41
|
+
[secretary][reasoning] → Tool: WebFetch
|
|
42
|
+
[secretary][reasoning] → Fetching: url2
|
|
43
|
+
[secretary][reasoning] → Tool: Bash
|
|
44
|
+
[secretary][reasoning] → Running: cmd
|
|
45
45
|
<tool_call>WebFetch(url1)</tool_call>
|
|
46
46
|
<tool_call>WebFetch(url2)</tool_call>
|
|
47
47
|
<tool_call>Bash(cmd)</tool_call>
|
|
@@ -51,9 +51,9 @@ For parallel calls: list ALL identifications BEFORE the tool calls.
|
|
|
51
51
|
|
|
52
52
|
| Model | Use |
|
|
53
53
|
|-------|-----|
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
54
|
+
| `reasoning` | Complex reasoning, architecture |
|
|
55
|
+
| `balanced` | General tasks, code generation (default) |
|
|
56
|
+
| `fast` | Fast simple tasks, file search |
|
|
57
57
|
|
|
58
58
|
## Tool Categories
|
|
59
59
|
|
|
@@ -75,8 +75,8 @@ Task(subagent_type):model → description
|
|
|
75
75
|
## Example
|
|
76
76
|
|
|
77
77
|
```
|
|
78
|
-
[mgr-creator][
|
|
79
|
-
[secretary][
|
|
80
|
-
[1] Task(lang-golang-expert):
|
|
81
|
-
[2] Task(lang-python-expert):
|
|
78
|
+
[mgr-creator][balanced] → Write: .codex/agents/new-agent.md
|
|
79
|
+
[secretary][reasoning] → Spawning:
|
|
80
|
+
[1] Task(lang-golang-expert):balanced → Go code review
|
|
81
|
+
[2] Task(lang-python-expert):balanced → Python code review
|
|
82
82
|
```
|
|
@@ -14,7 +14,7 @@ Multi-step tasks, parallel execution, long-running operations. Skip for single b
|
|
|
14
14
|
|
|
15
15
|
## Hook Implementation
|
|
16
16
|
|
|
17
|
-
Implemented in `.
|
|
17
|
+
Implemented in `.codex/hooks/hooks.json` (PreToolUse → Task matcher):
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
─── [Spawn] {subagent_type}:{model} | {description} ───
|
|
@@ -25,8 +25,8 @@ Implemented in `.claude/hooks/hooks.json` (PreToolUse → Task matcher):
|
|
|
25
25
|
|
|
26
26
|
```
|
|
27
27
|
─── [Agent] secretary | [Parallel] 4 ───
|
|
28
|
-
[1] Task(mgr-creator):
|
|
29
|
-
[2] Task(lang-golang-expert):
|
|
28
|
+
[1] Task(mgr-creator):balanced → Create agent
|
|
29
|
+
[2] Task(lang-golang-expert):fast → Code review
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Integrates with R007 (Agent ID), R008 (Tool ID), R009 (Parallel).
|
|
@@ -17,9 +17,9 @@ Agent frontmatter `memory: project|user|local` enables persistent memory:
|
|
|
17
17
|
|
|
18
18
|
| Scope | Location | Git Tracked |
|
|
19
19
|
|-------|----------|-------------|
|
|
20
|
-
| `user` | `~/.
|
|
21
|
-
| `project` | `.
|
|
22
|
-
| `local` | `.
|
|
20
|
+
| `user` | `~/.codex/agent-memory/<name>/` | No |
|
|
21
|
+
| `project` | `.codex/agent-memory/<name>/` | Yes |
|
|
22
|
+
| `local` | `.codex/agent-memory-local/<name>/` | No |
|
|
23
23
|
|
|
24
24
|
## When to Use claude-mem
|
|
25
25
|
|
|
@@ -35,5 +35,5 @@ Agent frontmatter `memory: project|user|local` enables persistent memory:
|
|
|
35
35
|
- Consult memory before starting work
|
|
36
36
|
- Update after discovering patterns
|
|
37
37
|
- Keep MEMORY.md under 200 lines
|
|
38
|
-
- Do not store sensitive data or duplicate
|
|
38
|
+
- Do not store sensitive data or duplicate AGENTS.md content
|
|
39
39
|
- Memory write failures should not block main task
|