Repository Analysis

code-yeongyu/oh-my-openagent

omo; the best agent harness - previously oh-my-opencode

3.3 Likely human-written View on GitHub
3.3
Adjusted Score
3.3
Raw Score
100%
Time Factor
2026-05-30
Last Push
60,217
Stars
TypeScript
Language
398,966
Lines of Code
2687
Files
1107
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 12MEDIUM 38LOW 1057

Pattern Findings

1107 matches across 10 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers1006 hits · 1043 pts
SeverityFileLineSnippet
LOWtest-setup.ts21function cleanupRulesInjectorStorage(): void {
LOWbin/platform.d.ts7export declare function getPlatformPackageCandidates(options: {
LOWbin/platform.js30export function getPlatformPackageCandidates({ platform, arch, libcFamily, preferBaseline = false, packageBaseName = "oh
LOWbin/platform.js42function getBaselinePlatformPackage({ platform, arch, libcFamily, packageBaseName = "oh-my-opencode" }) {
LOW…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
LOW…eration-1/eval-5/without_skill/outputs/code-changes.md207export async function processApplyPatchEditsWithCli(
LOW…/iteration-1/eval-5/with_skill/outputs/code-changes.md118export async function processApplyPatchEditsWithCli(
LOW…/iteration-1/eval-5/with_skill/outputs/code-changes.md132export async function processApplyPatchEditsWithCli(
LOW…eration-1/eval-3/without_skill/outputs/code-changes.md116function renderPlanAgentCategoryRows(categories: AvailableCategory[]): string[] {
LOW…eration-1/eval-3/without_skill/outputs/code-changes.md133export function buildPlanAgentSkillsSection(
LOW…eration-1/eval-3/without_skill/outputs/code-changes.md156export function buildPlanAgentSystemPrepend(
LOW…/iteration-1/eval-3/with_skill/outputs/code-changes.md113function renderPlanAgentCategoryRows(categories: AvailableCategory[]): string[] {
LOW…/iteration-1/eval-3/with_skill/outputs/code-changes.md130export function buildPlanAgentSkillsSection(
LOW…/iteration-1/eval-3/with_skill/outputs/code-changes.md153export function buildPlanAgentSystemPrepend(
LOW…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
LOW…eration-1/eval-5/without_skill/outputs/code-changes.md207export async function processApplyPatchEditsWithCli(
LOW…/iteration-1/eval-5/with_skill/outputs/code-changes.md118export async function processApplyPatchEditsWithCli(
LOW…/iteration-1/eval-5/with_skill/outputs/code-changes.md132export async function processApplyPatchEditsWithCli(
LOW…eration-1/eval-3/without_skill/outputs/code-changes.md116function renderPlanAgentCategoryRows(categories: AvailableCategory[]): string[] {
LOW…eration-1/eval-3/without_skill/outputs/code-changes.md133export function buildPlanAgentSkillsSection(
LOW…eration-1/eval-3/without_skill/outputs/code-changes.md156export function buildPlanAgentSystemPrepend(
LOW…/iteration-1/eval-3/with_skill/outputs/code-changes.md113function renderPlanAgentCategoryRows(categories: AvailableCategory[]): string[] {
LOW…/iteration-1/eval-3/with_skill/outputs/code-changes.md130export function buildPlanAgentSkillsSection(
LOW…/iteration-1/eval-3/with_skill/outputs/code-changes.md153export function buildPlanAgentSystemPrepend(
LOWdocs/troubleshooting/ollama.md77async function parseOllamaStreamResponse(response: string): Promise<object> {
LOWdocs/reference/prompt-async-gate-rfc.md147export function releasePromptAsyncReservation(
LOWscript/publish.ts200async function checkPackageVersionExists(pkgName: string, version: string): Promise<boolean> {
LOWscript/build-schema-document.ts4export function createOhMyOpenCodeJsonSchema(): Record<string, unknown> {
LOWscript/run-ci-tests.ts111function parseNonNegativeIntegerFlag(args: string[], flagName: string, defaultValue: number): number {
LOWscript/package-layout-exclusion.test.ts53function collectPackagePathsRecursively(rootPath: string): string[] {
LOWscript/package-layout-exclusion.test.ts129function preparePackageJsonForDotAssetPacking(): void {
LOWscript/package-layout-exclusion.test.ts146function removeFakeInternalArtifacts(): void {
LOWscript/package-layout-exclusion.test.ts152function writeFakeInternalArtifacts(packagePaths: readonly string[]): void {
LOWscript/package-layout-exclusion.test.ts160function collectExistingFakeInternalSkillArtifactPaths(): string[] {
LOWscript/package-layout.test.ts24function collectPackagePathsRecursively(rootPath: string): string[] {
LOWscript/package-layout.test.ts80function collectExpectedAssetPaths(): string[] {
LOWpackages/prompts-core/src/loader.ts124function applyRuntimeInjectionsSync(
LOWpackages/rules-engine/src/index.test.ts209function isSisyphusDeprecationData(data: unknown, path: string): boolean {
LOWpackages/rules-engine/src/finder.ts21export function setSisyphusRuleDeprecationLogger(logger: SisyphusRuleDeprecationLogger): void {
LOWpackages/rules-engine/src/finder.ts54function resolveEffectiveProjectRoot(
LOWpackages/rules-engine/src/finder.ts101function addProjectSingleFileCandidates(
LOWpackages/rules-engine/src/finder.ts159function warnSisyphusRuleDeprecation(source: RuleSource, path: string): void {
LOW…ges/hashline-core/src/autocorrect-replacement-lines.ts9export function stripTrailingContinuationTokens(text: string): string {
LOW…ges/hashline-core/src/autocorrect-replacement-lines.ts67export function maybeExpandSingleLineMerge(
LOW…ges/hashline-core/src/autocorrect-replacement-lines.ts152export function restoreIndentForPairedReplacement(
LOW…ges/hashline-core/src/autocorrect-replacement-lines.ts170export function autocorrectReplacementLines(
LOWpackages/hashline-core/src/edit-operations.ts28export function applyHashlineEditsWithReport(content: string, edits: HashlineEdit[]): HashlineApplyReport {
LOWpackages/hashline-core/src/hash-computation.ts7function computeNormalizedLineHash(lineNumber: number, normalizedContent: string): string {
LOWpackages/hashline-core/src/hashline-chunk-formatter.ts11export function createHashlineChunkFormatter(options: HashlineChunkFormatterOptions): HashlineChunkFormatter {
LOWpackages/ast-grep-mcp/src/process-output-timeout.ts8export async function collectProcessOutputWithTimeout(
LOWpackages/ast-grep-mcp/src/workspace-paths.ts4export function normalizeWorkspaceDirectory(workspaceDirectory: string): string {
LOWpackages/ast-grep-mcp/src/workspace-paths.ts32function resolveAbsoluteWorkspacePath(rawPath: string, workspaceDirectory: string): string {
LOWpackages/ast-grep-core/src/pattern-hints.ts25export function detectLanguageSpecificMistake(
LOWpackages/web/lib/stats.ts65async function fetchNpmDownloadsForPackage(period: string, pkg: string): Promise<number> {
LOWpackages/web/lib/stats.ts87async function fetchAllNpmDownloadsForPackage(pkg: string): Promise<number> {
LOWpackages/web/e2e/responsive.spec.ts14async function assertNoHorizontalOverflow(page: Page) {
LOWpackages/web/e2e/responsive.spec.ts30async function assertPrimaryButtonHitTargets(page: Page, minSize: number) {
LOWpackages/boulder-state/src/storage/path.ts36export function resolveBoulderPlanPathForWork(
LOWpackages/boulder-state/src/storage/plan-progress.ts62function getStructuredPlanProgress(lines: string[]): PlanProgress {
LOWpackages/boulder-state/src/storage/task.ts42export function upsertTaskSessionStateForWork(
946 more matches not shown…
Decorative Section Separators33 hits · 99 pts
SeverityFileLineSnippet
MEDIUM…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
MEDIUM…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
MEDIUMtests/hashline/test-edit-ops.ts18// ── CLI arg passthrough ───────────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts37// ── Colors ────────────────────────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts49// ── Test case definition ─────────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts251 // ── Creative cases (6-15) ────────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts447 // ── Whitespace cases (16-21) ──────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts575// ── JSONL event types ─────────────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts619// ── Run single test case ─────────────────────────────────────
MEDIUMtests/hashline/test-edit-ops.ts741// ── Main ──────────────────────────────────────────────────────
MEDIUMtests/hashline/test-edge-cases.ts18// ── CLI arg passthrough ───────────────────────────────────────
MEDIUMtests/hashline/test-edge-cases.ts37// ── Colors ────────────────────────────────────────────────────
MEDIUMtests/hashline/test-edge-cases.ts51// ── Test case definition ─────────────────────────────────────
MEDIUMtests/hashline/test-edge-cases.ts881// ── JSONL event types ─────────────────────────────────────────
MEDIUMtests/hashline/test-edge-cases.ts925// ── Run single test case ─────────────────────────────────────
MEDIUMtests/hashline/test-edge-cases.ts1049// ── Main ──────────────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts15// ── Models ────────────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts20// ── CLI args ──────────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts34// ── Colors ────────────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts43// ── Types ─────────────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts60// ── Parse test-headless-edit-ops stdout ───────────────────────
MEDIUMtests/hashline/test-multi-model.ts119// ── Run one model ────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts191// ── Main ──────────────────────────────────────────────────────
MEDIUMtests/hashline/test-multi-model.ts226 // ── Summary Table ──────────────────────────────────────────
MEDIUMtests/hashline/headless.ts21// ── CLI ──────────────────────────────────────────────────────
MEDIUMtests/hashline/headless.ts43// ── Tools ────────────────────────────────────────────────────
MEDIUMtests/hashline/headless.ts116// ── Agent Loop ───────────────────────────────────────────────
MEDIUMtests/hashline/headless.ts187// ── Signal + Startup ─────────────────────────────────────────
MEDIUM…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
MEDIUM…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
MEDIUM.github/workflows/publish-platform.yml31 # =============================================================================
MEDIUM.github/workflows/publish-platform.yml36 # =============================================================================
MEDIUMsrc/tools/delegate-task/constants.ts49# ╚═╝ ╚═╝╚══════╝ ╚══▀▀═╝ ╚═════╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═════╝ #
Verbosity Indicators35 hits · 60 pts
SeverityFileLineSnippet
LOWsrc/features/builtin-skills/skills/review-work.ts199### Step 1: Scenario Brainstorm
LOWsrc/features/builtin-skills/skills/review-work.ts213### Step 2: Scenario Augmentation
LOWsrc/features/builtin-skills/skills/review-work.ts222### Step 3: Create Task List
LOWsrc/features/builtin-skills/skills/review-work.ts230### Step 4: Execute Systematically
LOWsrc/features/builtin-skills/skills/review-work.ts250### Step 5: Compile Results
LOWsrc/features/builtin-skills/skills/ai-slop-remover.ts63### Step 1: Read & Analyze
LOWsrc/features/builtin-skills/skills/ai-slop-remover.ts66### Step 2: Deep Consideration (CRITICAL)
LOWsrc/features/builtin-skills/skills/ai-slop-remover.ts75### Step 3: Execute Changes
LOWsrc/features/builtin-skills/skills/ai-slop-remover.ts78### Step 4: Detailed Report
LOW…features/builtin-commands/templates/remove-ai-slops.ts22## Step 0: Task Planning
LOWsrc/agents/metis.ts37### Step 1: Identify Intent Type
LOWsrc/agents/metis.ts46### Step 2: Validate Classification
LOWsrc/agents/sisyphus.ts119### Step 0: Verbalize Intent (BEFORE Classification)
LOWsrc/agents/sisyphus.ts141### Step 1: Classify Request Type
LOWsrc/agents/sisyphus.ts155### Step 2: Check for Ambiguity
LOWsrc/agents/sisyphus.ts172### Step 3: Validate Before Acting
LOWsrc/agents/librarian.ts71### Step 1: Find Official Documentation
LOWsrc/agents/librarian.ts78### Step 2: Version Check (if version specified)
LOWsrc/agents/librarian.ts90### Step 3: Sitemap Discovery (understand doc structure)
LOWsrc/agents/librarian.ts101### Step 4: Targeted Investigation
LOWsrc/agents/hephaestus/gpt.ts130### Step 1: Classify Task Type
LOWsrc/agents/hephaestus/gpt.ts138### Step 2: Ambiguity Protocol (EXPLORE FIRST - NEVER ask before exploring)
LOWsrc/agents/hephaestus/gpt.ts154### Step 3: Validate Before Acting
LOWsrc/agents/hephaestus/gpt-5-3-codex.ts182### Step 0: Extract True Intent (BEFORE Classification)
LOWsrc/agents/hephaestus/gpt-5-3-codex.ts213### Step 1: Classify Task Type
LOWsrc/agents/hephaestus/gpt-5-3-codex.ts221### Step 2: Ambiguity Protocol (EXPLORE FIRST - NEVER ask before exploring)
LOWsrc/agents/hephaestus/gpt-5-3-codex.ts237### Step 3: Validate Before Acting
LOWsrc/agents/sisyphus/default.ts194### Step 0: Verbalize Intent (BEFORE Classification)
LOWsrc/agents/sisyphus/default.ts216### Step 1: Classify Request Type
LOWsrc/agents/sisyphus/default.ts224### Step 2: Check for Ambiguity
LOWsrc/agents/sisyphus/default.ts232### Step 3: Validate Before Acting
LOWsrc/agents/sisyphus/claude-opus-4-7.ts179### Step 0: Verbalize Intent (before classification)
LOWsrc/agents/sisyphus/claude-opus-4-7.ts201### Step 1: Classify Request Type
LOWsrc/agents/sisyphus/claude-opus-4-7.ts219### Step 2: Check for Ambiguity
LOWsrc/agents/sisyphus/claude-opus-4-7.ts237### Step 3: Validate Before Acting
Synthetic Comment Markers8 hits · 50 pts
SeverityFileLineSnippet
HIGH…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
HIGH…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
HIGH…ation-1/eval-5/without_skill/outputs/pr-description.md9The comment-checker hook's upstream Go binary (`go-claude-code-comment-checker`) flags ALL non-filtered comments as prob
HIGH…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
HIGH…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
HIGH…ation-1/eval-5/without_skill/outputs/pr-description.md9The comment-checker hook's upstream Go binary (`go-claude-code-comment-checker`) flags ALL non-filtered comments as prob
HIGH…cs/superpowers/plans/2026-05-08-log-rotation-design.md28| `AGENTS.md`, `src/shared/AGENTS.md` | Note rotation policy so the auto-generated codebase map points readers at `.1`/`
HIGHsrc/features/builtin-skills/AGENTS.md24│ ├── ai-slop-remover.ts # Remove AI-generated code patterns
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippet
HIGH.opencode/skills/github-triage/scripts/gh_fetch.py0[cyan]repository:[/cyan] {target_repo} [cyan]state:[/cyan] {state.value} [cyan]time filter:[/cyan] {f"last {hours} hours
HIGH.opencode/skills/github-triage/scripts/gh_fetch.py0[cyan]repository:[/cyan] {target_repo} [cyan]state:[/cyan] {state.value} [cyan]time filter:[/cyan] {f"last {hours} hours
HIGH.agents/skills/github-triage/scripts/gh_fetch.py0[cyan]repository:[/cyan] {target_repo} [cyan]state:[/cyan] {state.value} [cyan]time filter:[/cyan] {f"last {hours} hours
HIGH.agents/skills/github-triage/scripts/gh_fetch.py0[cyan]repository:[/cyan] {target_repo} [cyan]state:[/cyan] {state.value} [cyan]time filter:[/cyan] {f"last {hours} hours
Redundant / Tautological Comments6 hits · 9 pts
SeverityFileLineSnippet
LOW…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
LOW…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
LOW.github/workflows/sisyphus-agent.yml353 # Check if PR or Issue and get title
LOWsrc/features/builtin-skills/skills/playwright.ts101agent-browser is visible @e1 # Check if visible
LOWsrc/features/builtin-skills/skills/playwright.ts102agent-browser is enabled @e1 # Check if enabled
LOWsrc/features/builtin-skills/skills/playwright.ts103agent-browser is checked @e1 # Check if checked
AI Slop Vocabulary3 hits · 7 pts
SeverityFileLineSnippet
MEDIUMsrc/agents/librarian-ast-grep-discipline.test.ts45 it("#given the prompt #when inspecting #then requires parallel execution for comprehensive research", () => {
MEDIUMsrc/agents/anti-duplication.test.ts8 it("#given no arguments #when building anti-duplication section #then returns comprehensive rule section", () => {
MEDIUMsrc/cli/doctor/checks/system-binary.ts121 // 2) Manually search through PATH directories (robust for WSL/mixed environments)
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippet
MEDIUM…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
MEDIUM…/skills/work-with-pr-workspace/iteration-1/review.html717 const APP_DATA = {"skill_name": "work-with-pr", "workspace_dir": "/Users/yeongyu/local-workspaces/omo/.opencode/skil
Fake / Example Data6 hits · 6 pts
SeverityFileLineSnippet
LOWpackages/web/DESIGN.md262- Lorem ipsum or "John Doe" placeholders.
LOWpackages/web/DESIGN.md262- Lorem ipsum or "John Doe" placeholders.
LOWsrc/features/builtin-skills/agent-browser/SKILL.md327agent-browser fill @e1 "user@example.com"
LOWsrc/features/builtin-skills/skills/playwright-cli.ts45playwright-cli fill e5 "user@example.com"
LOWsrc/features/builtin-skills/skills/playwright-cli.ts220playwright-cli fill e1 "user@example.com"
LOWsrc/features/builtin-skills/skills/playwright.ts341agent-browser fill @e1 "user@example.com"
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippet
LOWpackages/utils/src/file-utils.test.ts1import { describe, it, expect, beforeAll, afterAll } from "bun:test"
LOWsrc/features/background-agent/process-cleanup.ts101 // History: earlier this listener invoked `scheduleForcedExit(handler(error),
LOWsrc/hooks/ralph-loop/oracle-double-fire-race.test.ts1import { afterEach, beforeEach, describe, expect, test } from "bun:test"
LOWsrc/hooks/ralph-loop/oracle-double-fire-race.test.ts21// (e.g. via message.part.updated → idle, background activity, or a stale