oma-academic-writing
Draft and revise academic prose against a rubric, evidence, and
Research customer pain points, trends, and competitors through the
$ npx -y skills add first-fluke/oh-my-agent --skill oma-market --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/oma-marketContext preview
The summary Claude sees to decide when to auto-load this skill.
Research customer pain points, trends, and competitors through the
name: oma-market description: Research customer pain points, trends, and competitors through the OMA market engine. Use for market discovery or voice-of-customer analysis.
Run the upstream `last30days` research engine (always the latest release, managed by oma) for community-signal research, then frame the result for the user's intent (pain / trend / competitor / discovery) with strategic frameworks and save one brief under `.agents/results/market/`.
outputs:
- name: market-brief
description: Single LAW-compliant markdown brief with framework sections
artifact: ".agents/results/market/*.md"
required: true1. Run `oma market detect-trap "<topic>"`. Exit 2 → surface the REFUSE reason and reframe suggestion, stop. 2. Run `oma market resolve --json`. `ok: false` → report `reason` (missing engine → `oma market update`; missing Python → the install hint) and stop. Never fall back to WebSearch-only synthesis and present it as market research. 3. Read the upstream contract at `engine.skillMd` **top to bottom**. It is long by design; do not skim. Treat `engine.root` as its `SKILL_DIR`. 4. Classify intent per `resources/intent-rules.md`; map to engine flags and framework set.
1. **PREPARE**: detect-trap, resolve, read upstream SKILL.md, classify intent. 2. **UPSTREAM STEPS**: follow the upstream SKILL.md exactly — Step 0 (first-run setup wizard, consent-driven), intent parsing, Step 0.45 (its own query-quality preflight), Step 0.5 / 0.55 (handle, subreddit, hashtag resolution when WebSearch is available), Step 0.75 (query plan). Skip only its "Runtime Preflight" Python-hunt block: `oma market run` already resolved the interpreter. 3. **RUN**: wherever the upstream contract says `"${LAST30DAYS_PYTHON}" "${SKILL_DIR}/scripts/last30days.py" <args>`, run `oma market run <args>` with the **same arguments** (foreground, 5-minute timeout, `--emit=compact`). `--save-dir` is added automatically from `market.save_dir` unless you pass one. 4. **SYNTHESIZE**: produce the brief exactly as the upstream OUTPUT CONTRACT dictates (badge first line, Ranked Evidence Clusters, LAWs). Then append the framework sections selected for the intent, using only clusters present in the engine output as evidence (`resources/frameworks/`). 5. **FINALIZE**: run the self-check in `resources/output-laws.md`, write `.agents/results/market/{topic-slug}-{YYYYMMDD}.md`, preview the first 50 lines.
Agents narrate success. oh-my-agent checks the artifacts. Spawning parallel agents is the easy part. The hard part is knowing whether they actually did the work.
Repo: first-fluke/oh-my-agent
Draft and revise academic prose against a rubric, evidence, and
Evaluate system boundaries and architectural tradeoffs. Use for
Implement server APIs, authentication, and application data access.
Coordinate assigned specialist tasks and handoffs manually. Use