Skip to content

Commit b3b98ac

Browse files
Merge pull request #42 from first-fluke/chore/update-oh-my-agent
chore(deps): update oh-my-agent skills
2 parents 9670fa2 + 4ce4f80 commit b3b98ac

183 files changed

Lines changed: 12966 additions & 355 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/agents/pm-planner.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ CHARTER_CHECK:
3636
2. **Analyze**: Technical feasibility using codebase analysis
3737
3. **Contracts**: Define API contracts (save to `.agents/skills/_shared/api-contracts/`)
3838
4. **Decompose**: Break into tasks with agent, title, acceptance criteria, priority (P0-P3), dependencies
39-
5. **Output**: Save to `.agents/plan.json`
39+
5. **Output**: Save to `.agents/results/plan-{sessionId}.json`
4040

4141
## Task Format
4242

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"title": "Agent Variant Configuration",
4+
"description": "Configuration for vendor-specific agent generation from core prompts",
5+
"type": "object",
6+
"required": ["vendor", "destDir", "modelDefault", "toolsDefault", "protocolPath", "agents"],
7+
"properties": {
8+
"$schema": {
9+
"type": "string"
10+
},
11+
"vendor": {
12+
"type": "string",
13+
"description": "The target CLI vendor name (e.g., gemini, claude)"
14+
},
15+
"destDir": {
16+
"type": "string",
17+
"description": "The relative path to the directory where generated agent files will be saved"
18+
},
19+
"modelDefault": {
20+
"type": "string",
21+
"description": "The default AI model to use for this vendor's agents"
22+
},
23+
"maxTurnsDefault": {
24+
"type": "integer",
25+
"description": "The default maximum number of turns allowed for agents"
26+
},
27+
"toolsDefault": {
28+
"oneOf": [
29+
{
30+
"type": "array",
31+
"items": { "type": "string" }
32+
},
33+
{
34+
"type": "string"
35+
}
36+
],
37+
"description": "The default set of tools (abstract or vendor-specific) for agents"
38+
},
39+
"protocolPath": {
40+
"type": "string",
41+
"description": "The path to the vendor-specific execution protocol markdown file"
42+
},
43+
"agents": {
44+
"type": "object",
45+
"description": "Map of agent-id to vendor-specific overrides",
46+
"additionalProperties": {
47+
"type": "object",
48+
"properties": {
49+
"tools": {
50+
"oneOf": [
51+
{
52+
"type": "array",
53+
"items": { "type": "string" }
54+
},
55+
{
56+
"type": "string"
57+
}
58+
]
59+
},
60+
"model": {
61+
"type": "string"
62+
},
63+
"maxTurns": {
64+
"type": "integer"
65+
},
66+
"effort": {
67+
"type": "string",
68+
"enum": ["low", "medium", "high"]
69+
},
70+
"extra": {
71+
"type": "object",
72+
"description": "Arbitrary vendor-specific frontmatter fields (e.g., mcpServers)"
73+
}
74+
}
75+
}
76+
}
77+
}
78+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"$schema": "./agent-variant.schema.json",
3+
"vendor": "claude",
4+
"destDir": ".claude/agents",
5+
"modelDefault": "sonnet",
6+
"maxTurnsDefault": 20,
7+
"toolsDefault": "Read, Write, Edit, Bash, Grep, Glob",
8+
"protocolPath": ".agents/skills/_shared/runtime/execution-protocols/claude.md",
9+
"agents": {
10+
"backend-engineer": {},
11+
"frontend-engineer": {},
12+
"db-engineer": {
13+
"maxTurns": 15
14+
},
15+
"debug-investigator": {
16+
"maxTurns": 15
17+
},
18+
"mobile-engineer": {},
19+
"pm-planner": {
20+
"tools": "Read, Write, Grep, Glob, Bash",
21+
"maxTurns": 10
22+
},
23+
"qa-reviewer": {
24+
"tools": "Read, Grep, Glob, Bash",
25+
"maxTurns": 15,
26+
"effort": "low"
27+
}
28+
}
29+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"$schema": "./agent-variant.schema.json",
3+
"vendor": "cursor",
4+
"destDir": ".cursor/agents",
5+
"modelDefault": "inherit",
6+
"toolsDefault": [],
7+
"protocolPath": ".agents/skills/_shared/core/quality-principles.md",
8+
"agents": {
9+
"backend-engineer": {
10+
"extra": {
11+
"is_background": true
12+
}
13+
},
14+
"frontend-engineer": {
15+
"extra": {
16+
"is_background": true
17+
}
18+
},
19+
"db-engineer": {
20+
"extra": {
21+
"readonly": true
22+
}
23+
},
24+
"debug-investigator": {},
25+
"mobile-engineer": {
26+
"extra": {
27+
"is_background": true
28+
}
29+
},
30+
"pm-planner": {
31+
"extra": {
32+
"readonly": true
33+
}
34+
},
35+
"qa-reviewer": {
36+
"extra": {
37+
"readonly": true,
38+
"is_background": true
39+
}
40+
}
41+
}
42+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"$schema": "./agent-variant.schema.json",
3+
"vendor": "gemini",
4+
"destDir": ".gemini/agents",
5+
"modelDefault": "gemini-3-flash-preview",
6+
"toolsDefault": [
7+
"bash",
8+
"glob",
9+
"grep",
10+
"read",
11+
"edit",
12+
"write",
13+
"ask"
14+
],
15+
"protocolPath": ".agents/skills/_shared/runtime/execution-protocols/gemini.md",
16+
"agents": {
17+
"backend-engineer": {},
18+
"frontend-engineer": {},
19+
"db-engineer": {},
20+
"debug-investigator": {},
21+
"mobile-engineer": {},
22+
"pm-planner": {
23+
"tools": [
24+
"bash",
25+
"glob",
26+
"grep",
27+
"read",
28+
"ask"
29+
]
30+
},
31+
"qa-reviewer": {
32+
"tools": [
33+
"bash",
34+
"glob",
35+
"grep",
36+
"read",
37+
"ask"
38+
]
39+
}
40+
}
41+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env bash
2+
# filter-test-output.sh — Strip passing test indicators, keep failures and summaries
3+
# Pipe usage: test_command 2>&1 | bash filter-test-output.sh
4+
#
5+
# Supported: vitest, jest, mocha, pytest, go test, cargo test, rspec,
6+
# flutter/dart test, swift test, dotnet test, gradle/mvn test,
7+
# mix test, phpunit
8+
# Bypass: OMA_TEST_FILTER=0
9+
10+
if [[ "${OMA_TEST_FILTER:-1}" == "0" ]]; then
11+
cat
12+
exit 0
13+
fi
14+
15+
awk '
16+
# vitest/jest/mocha: remove individual passing tests
17+
/^[[:space:]]*[✓√✔][[:space:]]/ { next }
18+
19+
# jest: remove PASS file headers
20+
/^[[:space:]]*PASS[[:space:]]/ { next }
21+
22+
# go test: remove passing tests and ok package lines
23+
/^--- PASS:/ { next }
24+
/^[[:space:]]*ok[[:space:]]+[a-zA-Z]/ { next }
25+
26+
# pytest: remove PASSED lines
27+
/PASSED[[:space:]]*$/ { next }
28+
29+
# cargo test: remove "test ... ok" lines
30+
/^test .+ \.\.\. ok$/ { next }
31+
32+
# flutter/dart: remove passing tests (+N without -N, excluding summary)
33+
/^[0-9][0-9]:[0-9][0-9] \+[0-9]+: / && !/\-[0-9]+/ && !/All tests/ { next }
34+
35+
# swift: remove passed test cases
36+
/Test Case .* passed/ { next }
37+
38+
# dotnet: remove individual Passed lines (keep "Passed!" summary)
39+
/^[[:space:]]*Passed[[:space:]]/ && !/Passed!/ { next }
40+
41+
# gradle/mvn: remove individual test pass indicators
42+
/^[[:space:]]*Tests run:.*Failures: 0.*Errors: 0/ { next }
43+
44+
# phpunit: remove dots-only progress lines
45+
/^[.]+$/ { next }
46+
47+
# rspec: remove passing example dots (single-char lines)
48+
/^[.]+[[:space:]]*$/ { next }
49+
50+
# keep everything else
51+
{ print }
52+
'

0 commit comments

Comments
 (0)