[AI] OpenCode 활용

작년에 spec-kit을 뜯어서 직접 하네스(?)를 만들었다.

얼마 지나지 않았는데 벌써 구형이 되서 써먹을 수 없게 되었다.

새로운 하네스를 만들어야 된다.

최소한 ‘멀티 에이전트’와 ‘컴파운드 엔지니어링’을 갖추고 있어야 한다.


1. Oh My OpenAgent

Oh My OpenAgent — The Best Agent Harness

Meet Sisyphus: The batteries-included agent that codes like you. Multi-model orchestration, Team Mode, background agents, 54+ lifecycle hooks.

구 Oh My OpenCode다.

나랑 잘 맞지 않는다.

Prometheus, Atlas, Hephaestus 이름부터 어렵다.


2. Oh My Opencode Slim

Oh My Opencode Slim

A lightweight, powerful agent orchestration plugin for OpenCode. Transform your AI assistant into a manager capable of delegating complex tasks to specialized sub-agents.


3. Superpowers

GitHub – obra/superpowers: An agentic skills framework & software development methodology that works.

An agentic skills framework & software development methodology that works. – obra/superpowers

직접 열어서 내용을 확인해봤다.

생각보다 가볍다.

skill의 길이도 짧고 단순했다.

확실히 완성도가 높게 잘 만들어졌다.

실제로 잘 동작했다.


4. Compound Engineering Plugin

유튜버 제로초님이 superpowerscompound-engineering-plugin의 일부를 섞어서 쓴다고 했다.

바로 한번 시도해봤다.

GitHub – EveryInc/compound-engineering-plugin: Official Compound Engineering plugin for Claude Code, Codex, Cursor, and more

Official Compound Engineering plugin for Claude Code, Codex, Cursor, and more – EveryInc/compound-engineering-plugin

많은 기능을 제공하는데 사실 ce-compound만 필요했다.

compound-engineering-plugin/docs/skills/ce-compound.md at main · EveryInc/compound-engineering-plugin

Official Compound Engineering plugin for Claude Code, Codex, Cursor, and more – EveryInc/compound-engineering-plugin

ce-compound는 해결한 문제를 재사용 가능한 Markdown 문서로 남기는 마무리 루프다.

자동으로 코드를 고치거나 모델을 학습시키는 기능은 아니고, repo 안에 docs/solutions/ 지식 저장소를 만들고 이후 CE 계열 스킬들이 그 문서를 다시 읽게 하는 방식이다.

지금 너는 superpowers 플러그인이 설치되어있을거야. 그지?
나는 다 좋은데 compound engineering이 적용되어있지 않아서 불편해.
---
1. brainstorming - Activates before writing code. Refines rough ideas through questions, explores alternatives, presents design in sections for validation. Saves design document.

2. using-git-worktrees - Activates after design approval. Creates isolated workspace on new branch, runs project setup, verifies clean test baseline.

3. writing-plans - Activates with approved design. Breaks work into bite-sized tasks (2-5 minutes each). Every task has exact file paths, complete code, verification steps.

4. subagent-driven-development or executing-plans - Activates with plan. Dispatches fresh subagent per task with two-stage review (spec compliance, then code quality), or executes in batches with human checkpoints.

5. test-driven-development - Activates during implementation. Enforces RED-GREEN-REFACTOR: write failing test, watch it fail, write minimal code, watch it pass, commit. Deletes code written before tests.

6. requesting-code-review - Activates between tasks. Reviews against plan, reports issues by severity. Critical issues block progress.

7. finishing-a-development-branch - Activates when tasks complete. Verifies tests, presents options (merge/PR/keep/discard), cleans up worktree.
---
superpowers의 requesting-code-review와 finishing-a-development-branch 사이에 compound-engineering-plugin의 `/ce-compound`만 끼워넣었으면 좋겠음.
- [ce-compound.md](https://github.com/EveryInc/compound-engineering-plugin/blob/main/docs/skills/ce-compound.md)
- [obra/superpowers](https://github.com/obra/superpowers)
너가 codex라면 codex에 맞게, opencode면 opencode에 맞게, hermes면 hermes에 맞게 적용해봐.
일단 이것과 관련되서 궁금한 점 있으면 물어봐. 없으면 실행계획을 작성해라.
Code language: JavaScript (javascript)

그래서 위 프롬프트를 넣어서 이 부분만 적용시켜 보았다.

superpowers 원본 skill 파일은 건드리지 않고, ce-compound skill을 추가하는 방식으로 진행했다.

requesting-code-review 이후, finishing-a-development-branch 이전에 compound capture 수행하도록 했다.

  • AGENTS.md
## Local Superpowers Overlay

When using Superpowers for implementation work, check `ce-compound` after `superpowers:requesting-code-review` passes and before `superpowers:finishing-a-development-branch`. Capture a verified, non-trivial reusable lesson to `docs/solutions/` in project root (plz not in global config), or explicitly note that the capture gate was considered and skipped.
Code language: PHP (php)
  • SKILL.md
---
name: ce-compound
description: Use when a Superpowers implementation has passed requesting-code-review and before using finishing-a-development-branch, or when the user says a non-trivial fix is working, fixed, solved, shipped, or worth remembering. Also use when asked to capture a reusable lesson, solution, convention, debugging result, or project learning in docs/solutions.
---

# CE Compound

## Overview

Capture verified, reusable engineering learning before branch completion. This is a Codex-local adaptation of Compound Engineering's `/ce-compound`: it writes institutional memory to the current repository instead of modifying the installed Superpowers plugin.

## Placement in Superpowers

Use this skill after `superpowers:requesting-code-review` has no Critical or Important blockers and before `superpowers:finishing-a-development-branch`.

Do not run it for every task. Run it only when the completed work produced a lesson that would save future investigation time.

## Capture Gate

Proceed only when all are true:

- The solution is verified by tests, review, or direct user confirmation.
- The learning is non-trivial: debugging path, root cause, failed attempts, architecture choice, convention, workflow fix, integration detail, performance/security/data lesson, or other reusable guidance.
- The current repository is a reasonable place to store the learning.

Skip when:

- The fix is a typo, formatting-only change, simple dependency bump, or purely mechanical edit.
- The solution is still speculative or unverified.
- The lesson belongs in an external runbook or product doc instead of the repo.

## Workflow

1. Summarize the learning in one sentence.
2. Classify it as `bug` or `knowledge`.
3. Search existing docs before writing:
   - Prefer `rg -n "<keywords>" docs/solutions AGENTS.md CLAUDE.md` when those paths exist.
   - If `docs/solutions` does not exist, create it only when capture proceeds.
4. Decide whether to update an existing doc or create a new one:
   - High overlap in problem, root cause, solution, files, and prevention: update the existing doc.
   - Partial overlap: create a new doc and add a "Related" link.
   - Low overlap: create a new doc.
5. Write the doc under `docs/solutions/[category]/[slug].md`.
6. Check discoverability. If `AGENTS.md` or `CLAUDE.md` exists and does not mention `docs/solutions`, propose the smallest edit that tells future agents to check it before planning or debugging. Ask before applying that edit.
7. Continue to `superpowers:finishing-a-development-branch` only after capture is complete or intentionally skipped.

## Categories

Use the closest existing category if one exists. Otherwise choose one of:

- Bug track: `build-errors`, `test-failures`, `runtime-errors`, `performance-issues`, `database-issues`, `security-issues`, `ui-bugs`, `integration-issues`, `logic-errors`
- Knowledge track: `architecture-patterns`, `design-patterns`, `tooling-decisions`, `conventions`, `workflow-issues`, `developer-experience`, `documentation-gaps`, `best-practices`

## Document Shape

Use YAML frontmatter:

```yaml
---
title: Short descriptive title
date: YYYY-MM-DD
last_updated: YYYY-MM-DD
problem_type: performance_issue
track: bug
module: affected-area
tags:
  - short-keyword
---
```

For bug track:

```markdown
# Short descriptive title

## Symptoms

What failed, how it showed up, and how to recognize it.

## Root Cause

The concrete cause. Name files, APIs, configuration, assumptions, or data shape when relevant.

## What Did Not Work

Failed attempts, misleading hypotheses, and dead ends worth avoiding.

## Solution

The working fix. Include commands, code references, or before/after snippets only when they help future recovery.

## Why This Works

The mechanism that makes the solution correct.

## Prevention

Tests, checks, conventions, or review heuristics that would catch this earlier.

## Related

Links to related docs, PRs, issues, or files.
```

For knowledge track:

```markdown
# Short descriptive title

## Context

The situation or decision that produced the learning.

## Guidance

The durable rule or pattern to follow.

## Why This Matters

The cost avoided or property preserved.

## When to Apply

Signals that this guidance is relevant, plus boundaries where it is not.

## Examples

Concrete examples from the repo when useful.

## Related

Links to related docs, PRs, issues, or files.
```

## Notes

- Use `apply_patch` for manual edits.
- Keep captures concise and factual; avoid transcript-style narration.
- Do not claim the branch is complete until the capture gate has been handled.
- If no reusable learning exists, say that `ce-compound` was considered and skipped, then proceed to `superpowers:finishing-a-development-branch`.Code language: Markdown (markdown)


5. Everything Claude Code


6. gstack


7. Ouroboros


아직 많이 부족하지만 빠르게 발전하고 있다.


가장 성장 가능성이 높다.


실제로 사용해보니 불편했다.


아직 완성도가 낮다는 느낌을 받았다.


나랑 잘 안맞는 것 같다.


8. 나의 세팅

실제 경험은 superpowers가 압도적으로 좋았다.


이걸 중심으로 몇가지 스킬을 추가할 것 같다.


일단 superpowers 설치 후 compound-engineeringce-compound skill을 추가해서 사용하는 것이 가장 마음에 든다.


여담이지만 의외로 29000원 ChatGPT Plus 플랜으로도 꽤 많은 작업을 할 수 있었다.


5배 플랜은 너무 낭비가 심해서 계정을 하나 더 만들어서 ChatGPT Plus을 하나 더 결제했다.

댓글 남기기