Skip to content

Commit eadae9c

Browse files
gracefullightgithub-actions[bot]
authored andcommitted
chore(deps): update oh-my-agent skills
1 parent a3c488d commit eadae9c

22 files changed

Lines changed: 560 additions & 116 deletions

File tree

.agents/hooks/core/serena-primer.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ export function primerContext(): string {
116116
"- Code discovery / reading: `get_symbols_overview`, `find_symbol`, `find_referencing_symbols`, `search_for_pattern`.",
117117
"- Code edits: `replace_symbol_body`, `insert_after_symbol`, `insert_before_symbol`, `replace_content`.",
118118
"- Native grep/glob: only for initial filename/path discovery. Do not fall back to grep + Read for code navigation just because Serena's tools aren't loaded yet — load them.",
119+
"- Exception — MCP timeout: if a Serena MCP call times out or hangs (seen mainly in OpenCode Desktop's long-lived sidecar), stop retrying MCP for this session: use native search/read for code, and access `.serena/memories/` files directly (or `serena memories read|write` when Serena CLI ≥ 1.5 is installed) for memory work. A full app relaunch restores Serena MCP.",
119120
].join("\n");
120121
}
121122

.agents/hooks/core/triggers.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2067,7 +2067,8 @@
20672067
"react",
20682068
"tailwind",
20692069
"tsx",
2070-
"frontend"
2070+
"frontend",
2071+
"angular"
20712072
],
20722073
"en": [
20732074
"make a react component",
@@ -2086,7 +2087,8 @@
20862087
"넥스트 페이지",
20872088
"tailwind로 스타일",
20882089
"shadcn 붙여줘",
2089-
"프론트 구현"
2090+
"프론트 구현",
2091+
"앵귤러"
20902092
],
20912093
"ja": [
20922094
"reactコンポーネント",

.agents/skills/_shared/core/evaluator-tuning.md

Lines changed: 0 additions & 82 deletions
This file was deleted.

.agents/skills/_shared/core/session-metrics.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,14 @@ Unlike CD (tracked in real-time), Evaluator Accuracy (EA) is a
191191
|-------|--------|-----------------|
192192
| `false_negative` | +30 | Next session or production: bug that QA missed |
193193
| `false_positive` | +15 | During session: impl agent disputes QA finding successfully |
194-
| `severity_mismatch` | +10 | During session or retro: wrong severity assigned |
194+
| `severity_mismatch` | +10 | During session or next-session review: wrong severity assigned |
195195
| `missed_stub` | +20 | During session: runtime verification catches display-only feature |
196196
| `good_catch` | -10 | During session: QA caught non-obvious bug (reward signal) |
197197

198198
### Recording
199199

200200
- `false_positive`, `missed_stub`, `good_catch`: Recorded during session by Orchestrator
201-
- `false_negative`, `severity_mismatch`: Recorded retroactively via `oma retro` or next session discovery
201+
- `false_negative`, `severity_mismatch`: Recorded retroactively on next-session discovery
202202

203203
### Evaluator Accuracy Score (EA)
204204

@@ -210,10 +210,10 @@ EA = sum(accuracy_event_points across last 3 sessions)
210210

211211
| Threshold | Action |
212212
|-----------|--------|
213-
| EA >= 30 | **TUNING SUGGESTED**: `oma retro` flags QA patterns for review |
213+
| EA >= 30 | **TUNING SUGGESTED**: Review accumulated EA events for recurring QA judgment errors |
214214
| EA >= 50 | **TUNING REQUIRED**: Review and update QA execution-protocol.md |
215215
| `false_negative` >= 3 across window | **CHECKLIST UPDATE**: Add detection pattern to QA checklist.md |
216-
| `good_catch` >= 5 across window | **PROPAGATE**: Document successful pattern in evaluator-tuning.md |
216+
| `good_catch` >= 5 across window | **PROPAGATE**: Generalize the successful pattern into `common-checklist.md` |
217217

218218
### Accuracy Log Format
219219

.agents/skills/_shared/runtime/execution-protocols/opencode.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,25 @@ If Serena MCP is available, use `read_memory`/`write_memory`/`edit_memory` (its
1515
base path is `.serena/memories`); otherwise write the same files there directly with
1616
opencode's file tools.
1717

18+
### Serena MCP Timeout Recovery (OpenCode Desktop)
19+
20+
OpenCode Desktop runs one long-lived sidecar server; new sessions reuse its MCP clients,
21+
so a stuck Serena MCP stays stuck until the Desktop app is fully relaunched (the TUI is
22+
rarely affected). When a Serena MCP call times out or the MCP queue is clearly stuck, do
23+
not keep retrying MCP — fall back narrowly:
24+
25+
1. **Memory ops** — read/write the same files directly under `.serena/memories/` (as
26+
above). If a recent Serena CLI is installed (≥ 1.5, check `serena --version`),
27+
`serena memories read|write|list` is an equivalent alternative; older versions
28+
(e.g. 1.3.x) do not have the `memories` command.
29+
2. **Code analysis** — fall back to native search/read tools. The Serena CLI cannot
30+
execute analysis tools (`serena tools` only lists/describes them).
31+
3. **Diagnostics**`serena project health-check` and `serena project index` work
32+
without MCP.
33+
34+
Keep the fallback scoped to the blocked call: this is a recovery path, not a license to
35+
abandon Serena-first. A full Desktop relaunch is what actually resets the stale MCP client.
36+
1837
### Path Resolution (CRITICAL)
1938

2039
All result, progress, and state files MUST be written to the **project root** `.serena/memories/` directory, never to a subdirectory's `.serena/memories/`.

.agents/skills/_version.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "10.7.1",
2+
"version": "10.10.0",
33
"schemaVersion": 2,
44
"mode": "project",
5-
"installedAt": "2026-06-28T01:08:28.353Z"
5+
"installedAt": "2026-07-06T12:39:22.805Z"
66
}

.agents/skills/oma-design/SKILL.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ DESIGN.md is the central artifact; all design work revolves around it.
2424
- Creating or auditing `DESIGN.md`
2525
- Selecting typography, color, layout, motion, or component direction
2626
- Reviewing UI work for responsive behavior, accessibility, and visual quality
27+
- Redesigning an existing site or app (preserve vs overhaul modes)
2728
- Using optional vendor inspiration from Stitch MCP or getdesign
2829

2930
### When NOT to use
@@ -81,6 +82,7 @@ outputs:
8182

8283
### Transitions
8384
- If `.design-context.md` is missing, create it before continuing.
85+
- If the target is an existing site/app, load `resources/redesign-protocol.md` and classify Preserve vs Overhaul before proposing.
8486
- If CJK support is needed, prioritize CJK-ready fonts.
8587
- If vendor seed fetch fails, choose retry, continue without seed, or abort.
8688
- If anti-patterns appear, surface alternatives before finalizing.
@@ -151,12 +153,16 @@ bunx getdesign@latest list
151153
8. WCAG AA minimum for all designs. Respect `prefers-reduced-motion`.
152154
9. Stitch MCP is optional; all phases work without it.
153155
10. Present 2-3 design directions and get user confirmation before generating.
156+
11. Declare a one-line Design Read before proposing: "Reading this as: \<page kind> for \<audience>, with a \<vibe> language." If genuinely ambiguous, ask exactly ONE clarifying question — never guess, never a question dump.
157+
12. Redesigns follow `resources/redesign-protocol.md`: detect Preserve vs Overhaul, audit before touching, never silently change URLs, nav labels, form field names, or brand marks.
158+
13. Visual assets follow `resources/asset-strategy.md`: image generation (oma-image) first, picsum seed second, labeled placeholder last. Div-based fake screenshots are banned.
159+
14. Consistency locks: one accent color, one corner-radius system, one theme per page. Lock them early, audit against them in Phase 6 (checklist section 6 mechanical checks).
154160

155161
### Anti-Pattern Quick Reference
156162

157163
### Typography
158164
- DON'T: Default to custom Google Fonts when system fonts suffice
159-
- DON'T: Use Inter/Geist alone without considering project context
165+
- DON'T: Reach for Inter as the default custom sans (LLM signature); override only on explicit neutral/Linear-style ask or public-sector/a11y-first brief
160166
- DON'T: Load 3+ font families without justification
161167
- DON'T: Body text below 16px on mobile
162168
- DO: System font stack first, custom fonts for brand identity only
@@ -190,9 +196,21 @@ bunx getdesign@latest list
190196
### Components
191197
- DON'T: Glassmorphism everywhere; use sparingly
192198
- DON'T: Hover-only interactions without touch/keyboard alternatives
199+
- DON'T: Default to lucide-react or hand-rolled SVG icons; pick one family deliberately (Phosphor > HugeIcons > Radix > Tabler; lucide on explicit ask or existing dependency)
193200
- DO: shadcn/ui for base, Aceternity UI / React Bits for accent effects
194201
- DO: All interactive elements must have visible focus states
195202

203+
### Content & Copy
204+
- DON'T: "John Doe" personas, "Acme/Nexus" brand names, Lorem Ipsum, fake-perfect numbers (99.99%)
205+
- DON'T: Filler verbs ("Elevate", "Seamless", "Unleash") or performative labels ("Quietly trusted by")
206+
- DON'T: Em-dash (``) anywhere in visible output — zero tolerance, no "sparingly" allowance; en-dash as separator also banned (hyphen only)
207+
- DO: Copy self-audit before handoff — re-read every visible string, rewrite anything broken or AI-cute
208+
- DO: One label per CTA intent per page
209+
210+
### Assets
211+
- DON'T: Div-based fake screenshots; text wordmark logo walls; hand-rolled SVG icons
212+
- DO: oma-image generation first → picsum seed → labeled placeholder + report
213+
196214
### Workflow Summary
197215
7 phases: Setup → Extract → Enhance → Propose → Generate → Audit → Handoff.
198216
See `resources/execution-protocol.md` for full detail.
@@ -235,12 +253,14 @@ injection defenses, and multi-vendor merge policy live in
235253
### Resources
236254
- `resources/execution-protocol.md`: 7-phase workflow
237255
- `resources/anti-patterns.md`: Full DO/DON'T catalog
238-
- `resources/checklist.md`: Audit checklist (Responsive + WCAG + Nielsen + Slop)
256+
- `resources/checklist.md`: Audit checklist (Responsive + WCAG + Nielsen + Slop + Mechanical counts)
239257
- `resources/design-md-spec.md`: DESIGN.md generation guide (9 sections)
240258
- `resources/design-tokens.md`: CSS/Tailwind/shadcn export templates
241259
- `resources/prompt-enhancement.md`: Vague request to detailed spec
242260
- `resources/stitch-integration.md`: Stitch MCP tool mapping (optional)
243261
- `resources/getdesign-fetcher.md`: Vendor seed fetch, hash verify, seed rules
262+
- `resources/redesign-protocol.md`: Preserve/Overhaul modes, audit-first, modernization levers
263+
- `resources/asset-strategy.md`: Image sourcing priority, logo walls, fake-screenshot ban
244264
- `resources/error-playbook.md`: Design error recovery
245265

246266
## References

.agents/skills/oma-design/resources/anti-patterns.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
66
## Typography
77
- DON'T: Default to custom Google Fonts when system fonts suffice
8-
- DON'T: Use Inter or Geist alone without considering project context
8+
- DON'T: Reach for Inter as the default custom sans. When a custom font is justified (brand identity), pick deliberately from alternatives first (Geist, Outfit, Cabinet Grotesk, Satoshi, or a brand-appropriate face). Inter-by-reflex is the LLM signature. OVERRIDE: Inter is acceptable when the user explicitly asks for a neutral / standard / Linear-style feel, or the brief is public-sector / accessibility-first. CJK rules always win (Pretendard Variable / Noto Sans CJK)
99
- DON'T: Load 3+ font families without clear justification
1010
- DON'T: Set body text below 16px on mobile
1111
- DON'T: Use light font-weight (300) for body on dark backgrounds without testing contrast
@@ -63,6 +63,47 @@
6363
- DO: Use Intersection Observer to trigger animations only when visible
6464
- DO: Pause off-screen Canvas/WebGL renderers
6565

66+
## Content & Copy
67+
- DON'T: Generic persona names ("John Doe", "Jane Smith") or slop brand names ("Acme", "Nexus", "SmartFlow", "Cloudly")
68+
- DON'T: Fake-perfect numbers (99.99%, 50%, 1234567); use organic data (47.2%) or label mocks explicitly
69+
- DON'T: Fake-precise specs the brand never claimed (invented "5.8mm", "4.1x" for spec aesthetics)
70+
- DON'T: Filler verbs — "Elevate", "Seamless", "Unleash", "Next-Gen", "Revolutionize", "Game-changer"
71+
- DON'T: Lorem Ipsum; write real draft copy
72+
- DON'T: Poetic/performative section labels ("From the field", "Quietly trusted by", "On our desks"); use plain functional labels ("Testimonials", "Latest writing") or none
73+
- DON'T: Section-number eyebrows ("001 · Capabilities", "06 · how it works") or version labels in the hero (BETA, V0.6) unless the brief is a launch
74+
- DON'T: Scroll cues ("Scroll to explore", animated mouse icons) or decorative locale/time/weather strips
75+
- DON'T: Mix copy registers (technical mono + editorial prose + marketing punch) in one page without brand justification
76+
- DON'T: Quotes longer than 3 lines; attribution is name + role, never name only ("- Sarah")
77+
- DON'T: Em-dash (``) ANYWHERE in visible output — the #1 LLM stylistic tell. Zero tolerance: banned in headlines, eyebrows, pills, body copy, quotes, attribution, captions, button text, and alt text. No "sparingly" allowance — the model ignores soft limits. Restructure instead: two sentences, a comma, parentheses, or a colon
78+
- DON'T: En-dash (``) as a separator; date ranges (2018-2026) and number ranges use a plain hyphen. The only permitted dashes are the hyphen (`-`) and the math minus sign
79+
- DO: Copy self-audit before handoff — re-read every visible string; rewrite anything grammatically broken, unclear-referent, or AI-cute. Plain functional copy beats clever broken copy
80+
- DO: One label per CTA intent across the page
81+
- DO: Apply register rules per content language (CJK copy follows i18n-guide)
82+
83+
## Consistency Locks
84+
- DON'T: Introduce a second accent color mid-page (a rose-accented site does not get a teal badge in the footer)
85+
- DON'T: Mix corner-radius systems without a documented rule (round buttons in a square layout is broken design)
86+
- DON'T: Invert theme for a single section mid-page (one light warm-paper section inside a dark page reads as a paste accident)
87+
- DO: Pick accent, radius scale, and theme ONCE per page; lock them; audit every component against the locks before handoff
88+
- DO: If a deliberate full theme switch is a composition device, use it at most once per page with a strong transition
89+
90+
## Assets & Imagery
91+
- DON'T: Div-based fake screenshots (fake dashboards, task lists, terminal windows built from styled divs) — the #1 AI-design tell
92+
- DON'T: Text-only pages passing as "minimalism"; even restrained pages need 2-3 real images
93+
- DON'T: Plain text wordmarks in "Trusted by" logo walls; use real SVG logos or generated monogram marks
94+
- DON'T: Hand-rolled SVG icons or decorative illustrations by default
95+
- DON'T: Pills/labels overlaid on images, photo-credit captions as decoration, guessed Unsplash URLs
96+
- DO: Source priority: image generation (oma-image) → picsum seed → labeled placeholder slot + tell the user
97+
- DO: See `resources/asset-strategy.md` for full rules
98+
99+
## Iconography
100+
- DON'T: Default to `lucide-react`. It ships with shadcn/ui, so every AI-generated site carries the same icon set. OVERRIDE: acceptable when the user explicitly asks for it, or the project already depends on it (including shadcn base components — never mix families to escape it)
101+
- DON'T: Hand-roll SVG icon paths. If a glyph is missing, install a second allowed library or compose from primitives
102+
- DON'T: Mix icon families in one component tree (no Phosphor + Lucide together)
103+
- DON'T: Inconsistent stroke widths; standardize strokeWidth globally (e.g. 1.5 or 2.0)
104+
- DO: Pick deliberately, priority order: `@phosphor-icons/react` > `hugeicons-react` > `@radix-ui/react-icons` > `@tabler/icons-react`
105+
- DO: One icon family per project, declared in DESIGN.md
106+
66107
## Components
67108
- DON'T: Glassmorphism on every element; reserve for badges, nav pills, accent cards
68109
- DON'T: Icon + Title + Description card grid as the only layout pattern

0 commit comments

Comments
 (0)