init: llm-wiki-haness 하네스 설계
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "blogify",
|
||||
"description": "wiki 내용을 블로그 글감/초안 구조로 변환",
|
||||
"argument_hint": "<wiki 문서 경로 또는 주제>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/blogify.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "publish", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/blogify.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/blogify/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/blogify.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "branch-from-project",
|
||||
"description": "project Work Item에서 pinned decision contract를 상속한 branch-note 생성",
|
||||
"argument_hint": "<project> <WI-ID>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/branch-from-project.md",
|
||||
"execution_contract": {
|
||||
"kind": "deterministic",
|
||||
"profile": "capture",
|
||||
"default_risk": "low", "design_bearing": false,
|
||||
"entrypoint": "harness/runtime/branch_from_project.py",
|
||||
"dry_run_first": true,
|
||||
"result_schema": "branch-from-project-result/v1"
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/branch-from-project.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/branch-from-project/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/branch-from-project.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "branch-spec",
|
||||
"description": "빈 브랜치 노트를 source claim 기반으로 채우고(필요시 자동조사) 끝에 /depth로 검증",
|
||||
"argument_hint": "<브랜치 이름> [추가 source URL ...]",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/branch-spec.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/branch-spec.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/branch-spec/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/branch-spec.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "branch",
|
||||
"description": "새 브랜치 작업 노트를 raw/branch-notes/에 스캐폴딩",
|
||||
"argument_hint": "<브랜치 이름>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/branch.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "capture", "default_risk": "low", "design_bearing": false},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/branch.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/branch/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/branch.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "coverage",
|
||||
"description": "브랜치 노트가 governing 문서가 요구하는 관심사를 빠짐없이 덮는지(완전성) 점검. depth(깊이)의 짝",
|
||||
"argument_hint": "<브랜치 이름> | --project",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/coverage.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "audit", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/coverage.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/coverage/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/coverage.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "daily",
|
||||
"description": "오늘 날짜의 일일 노트 파일을 raw/daily-notes/에 스캐폴딩",
|
||||
"argument_hint": "<선택: 날짜 YYYY-MM-DD, 비우면 오늘>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/daily.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "capture", "default_risk": "low", "design_bearing": false},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/daily.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/daily/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/daily.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "depth",
|
||||
"description": "브랜치 노트의 구현 착수 깊이 점검 — 1차 구조 린터(wiki_structure_lint.py --file) + 2차 branch-depth-auditor 의미 게이트",
|
||||
"argument_hint": "<브랜치 이름>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/depth.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "audit", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/depth.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/depth/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/depth.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "explain",
|
||||
"description": "canonical 문서를 1타강사식 explainer(개인 이해용)로 변환",
|
||||
"argument_hint": "<wiki/concepts 또는 wiki/projects 문서 경로 또는 주제>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/explain.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "low", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/explain.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/explain/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/explain.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "ingest",
|
||||
"description": "raw 자료를 wiki 문서로 변환",
|
||||
"argument_hint": "<raw 경로 또는 자료 설명>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/ingest.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "capture", "default_risk": "low", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/ingest.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/ingest/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/ingest.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "interviewize",
|
||||
"description": "wiki 내용을 면접 답변으로 변환",
|
||||
"argument_hint": "<wiki 문서 경로 또는 질문>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/interviewize.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "publish", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/interviewize.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/interviewize/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/interviewize.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "invest-daily",
|
||||
"description": "오늘의 거시 자금흐름을 deep-research로 조사해 raw/invest-daily/에 기록",
|
||||
"argument_hint": "<선택: 날짜 YYYY-MM-DD, 비우면 오늘>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/invest-daily.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "capture", "default_risk": "low", "design_bearing": false},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/invest-daily.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "invest-decide",
|
||||
"description": "매매 결정을 raw/invest-ledger/ledger.md 에 기록하고 전략 규칙 위반을 강제 체크",
|
||||
"argument_hint": "<매수|매도 종목 수량 단가 (예: \"매수 SCHD 2주 27.5달러\")>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/invest-decide.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/invest-decide.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "invest-ingest",
|
||||
"description": "raw/invest-* 의 검증된 항목을 wiki/invest-concepts/ 또는 invest-strategy/로 추출",
|
||||
"argument_hint": "<원본 경로 (예: raw/invest-research/2026-06-05-xxx.md)>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/invest-ingest.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "capture", "default_risk": "low", "design_bearing": false},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/invest-ingest.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "invest-plan",
|
||||
"description": "전략 규칙 + 최근 조사로 wiki/invest-plan/active-plan.md 를 생성/갱신",
|
||||
"argument_hint": "<선택: 메모 (예: \"이번 달 추가납입 10만 반영\")>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/invest-plan.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/invest-plan.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "invest-research",
|
||||
"description": "특정 분야/자산/주장을 deep-research로 심층 조사해 raw/invest-research/에 verbatim 인용과 함께 보존",
|
||||
"argument_hint": "<조사 주제 (예: \"미국 배당 ETF SCHD 위험\")>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/invest-research.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/invest-research.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "invest-review",
|
||||
"description": "포지션 vs 목표 vs 규칙을 점검하고 리밸런싱·stale·이탈을 플래그",
|
||||
"argument_hint": "<선택: 기간 (예: \"주간\")>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/invest-review.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "audit", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/invest-review.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "lint",
|
||||
"description": "wiki 품질 검사 (과장/혼동/stale/누락). `--fix-plan` 으로 수정 계획 구조화",
|
||||
"argument_hint": "[--fix-plan] <wiki 경로 또는 비워두면 전체>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/lint.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "audit", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/lint.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/lint/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/lint.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "migrate-claims",
|
||||
"description": "기존 raw/source/branch/wiki 문서를 Claim ID 기반 template 구조로 단계적 마이그레이션",
|
||||
"argument_hint": "<scope: all | raw-sources | branch-notes | wiki-concepts | path>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/migrate-claims.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "high", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/migrate-claims.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/migrate-claims/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/migrate-claims.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "project-spec",
|
||||
"description": "빈 프로젝트 노트를 깊은 조사로 ca-skeleton 수준까지 채우고 끝에 readiness 게이트로 검증",
|
||||
"argument_hint": "<프로젝트 slug> <프로젝트 목표 자연어> [근거 URL ...]",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/project-spec.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/project-spec.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "project",
|
||||
"description": "새 프로젝트 노트(hub)를 raw/project-notes/에 스캐폴딩",
|
||||
"argument_hint": "<프로젝트 slug>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/project.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "capture", "default_risk": "low", "design_bearing": false},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/project.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "projectize",
|
||||
"description": "개념 문서를 내 프로젝트 적용 문서로 변환",
|
||||
"argument_hint": "<concept 문서 경로>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/projectize.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/projectize.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/projectize/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/projectize.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "query",
|
||||
"description": "wiki 기반 질의응답",
|
||||
"argument_hint": "<질문>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/query.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "low", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/query.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/query/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/query.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "sync",
|
||||
"description": "문서 간 모순·동기화 검사 — 결정론 검사기 + 참조 엣지 의미 대조 + fix-plan",
|
||||
"argument_hint": "[--impact <slug>] [대상 경로, 비우면 전체]",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/sync.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "audit", "default_risk": "medium", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/sync.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/sync/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/sync.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"schema_version": 2,
|
||||
"source_kind": "workflow",
|
||||
"id": "tag",
|
||||
"description": "기존 wiki 문서의 메타데이터/태그 보정 (retro cleanup 전용)",
|
||||
"argument_hint": "<wiki 경로 또는 범위>",
|
||||
"heading_locale": "ko-KR",
|
||||
"body_path": "harness/source/skills/tag.md",
|
||||
"execution_contract": {"kind": "orchestrated", "profile": "design", "default_risk": "low", "design_bearing": true},
|
||||
"targets": [
|
||||
{
|
||||
"kind": "claude-command",
|
||||
"path": ".claude/commands/tag.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-skill",
|
||||
"path": ".agents/skills/tag/SKILL.md"
|
||||
},
|
||||
{
|
||||
"kind": "agent-workflow",
|
||||
"path": ".agents/workflows/tag.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user