소스 정보
- 저장소
- cbgbt/bottlerocket-forest
- 최근 소스 활동
- 2026년 2월 10일 23:21
- 감지된 SKILL.md 언어
- 영어
- 스타
- 5
- 포크
- 12
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/cbgbt/bottlerocket-forest --skill implement-commit명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
Deep code review generating PR comments via principled question-driven analysis
SOC 직업 분류 기준
| name | implement-commit |
| description | Implement commits from an implementation plan using a TDD pipeline |
Execute commits from an implementation-plan.toml using a mechanical TDD pipeline.
docs/features/NNNN-name/implementation-plan.tomlYou are a mechanical orchestrator. The driver (ic-driver.py) handles state transitions.
You only:
You MUST NOT read relevant files unless something fails - preserve your tokens, trust the ic-driver
import json
from pydantic import BaseModel
from typing import Literal
# Paths
feature_dir = "docs/features/NNNN-feature"
plan_path = f"{feature_dir}/implementation-plan.toml"
state_dir = ".ic"
driver = "skills/implement-commit/ic-driver.py"
workspace = "." # From plan meta
# Response models
class PhaseResult(BaseModel):
status: Literal["ok", "problems"]
files_created: list[str] = []
files_modified: list[str] = []
notes: str | None = None
class GateDiscovery(BaseModel):
designer_gate: str
test_gate: str
class FormatterDiscovery(BaseModel):
fmt_cmd: str
lint_cmd: str
class StyleResult(BaseModel):
status: Literal["accept", "violations"]
violations: list[str] = []
class ArbiterResult(BaseModel):
proceed: bool
reasoning: str
# Agent files for spawns
agents = {
"designer": "skills/implement-commit/agents/designer.md",
"tester": "skills/implement-commit/agents/tester.md",
"implementor": "skills/implement-commit/agents/implementor.md",
"arbiter": "skills/implement-commit/agents/arbiter.md",
}
style_guides = {
"designer": "docs/style/rust-design.md",
"tester": "docs/style/rust-test.md",
"implementor": "docs/style/rust-impl.md",
}
For each commit (in dependency order):
commit_id = 1 # From dependency analysis
state_path = f"{state_dir}/commit-{commit_id}.json"
# Initialize
bash(f"python {driver} init --plan {plan_path} --commit {commit_id} --state {state_path}", on_error="raise")
# Drive loop
while True:
try:
output = bash(f"python {driver} next --state {state_path}", on_error="raise")
except BashError as e:
# Driver needs LLM help - see Handling Escalation below
handle_escalation(e, state_path)
continue
action = json.loads(output)
if action["action"] == "done":
break
if action["action"] == "spawn":
result = execute_spawn(action)
bash(
f"python {driver} report --state {state_path} --result '{json.dumps(result)}'",
on_error="raise"
)
def execute_spawn(action: dict) -> dict:
phase = action.get("phase")
# Determine context files
context_files = [f"{feature_dir}/design.md"]
if phase and phase in agents:
context_files.append(agents[phase])
if phase in style_guides:
context_files.append(style_guides[phase])
# Determine response model
if action.get("response_schema") == "GateDiscovery":
model = GateDiscovery
elif action.get("response_schema") == "FormatterDiscovery":
model = FormatterDiscovery
elif action.get("style_review"):
model = StyleResult
elif action.get("arbiter"):
model = ArbiterResult
else:
model = PhaseResult
# Execute spawn
result = spawn(
prompt=action["prompt"],
context_files=context_files,
response_model=model,
read_only=action.get("style_review") or action.get("scope_review"),
isolate_to=Cwd(workspace) if not action.get("style_review") else None,
)
result_dict = result.parsed.model_dump()
# Preserve action flags for driver state machine
if action.get("arbiter"):
result_dict["arbiter"] = True
return result_dict
When driver exits 1, it needs LLM help:
def handle_escalation(e: BashError, state_path: str):
# Parse escalation from stderr
escalation = json.loads(e.stderr)
error = escalation["error"]
# LLM intervention - understand and fix the issue
# This is where you THINK - the driver gave you control
if "gate failed" in error.lower():
# Could be code error or gate misconfiguration
# Spawn a fixer or adjust gates
spawn(
prompt=f"Fix this gate failure: {error}",
context_files=[...],
isolate_to=Cwd(workspace),
)
elif "arbiter rejected" in error.lower():
# Style issues too severe
agent_feedback(f"Style review failed: {error}")
elif "scope violations" in error.lower():
# Out of scope changes
agent_feedback(f"Scope violation: {error}")
else:
agent_feedback(f"Unknown escalation: {error}")
# Resume after fix
bash(f"python {driver} resume --state {state_path}", on_error="raise")
| Command | Purpose |
|---|---|
init | Create state file for a commit |
next | Get next action (spawn) or execute gate/bash directly |
report | Report spawn result, advance state |
resume | Continue after LLM intervention |
status | Show current state (debugging) |
EXPLORE_GATES -> EXPLORE_FORMATTERS ->
DESIGNER_PHASE -> DESIGNER_GATE -> DESIGNER_STYLE ->
TESTER_PHASE -> TESTER_GATE -> TESTER_STYLE ->
IMPLEMENTOR_PHASE -> IMPLEMENTOR_GATE -> IMPLEMENTOR_STYLE ->
SCOPE_REVIEW -> FORMAT -> COMMIT -> DONE
skills/implement-commit/
├── SKILL.md # This file
├── ic-driver.py # State machine driver
└── agents/
├── designer.md # Creates types and signatures
├── tester.md # Writes tests
├── implementor.md # Implements logic
└── arbiter.md # Decides style review proceed/fail
Reviewers use separate skills: review-scope, review-style.