ai-ops-cli 1.1.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  [English](./README.md)
4
4
 
5
- `ai-ops-cli`는 프로젝트에 AI agent operating layer 설치하고, 사용자 환경에 agent skills/subagents를 설치하는 CLI입니다.
5
+ `ai-ops-cli`는 프로젝트/에이전트 작업에 필요한 operating layer global runtime integration을 설치하고 관리하는 CLI입니다.
6
6
 
7
- 이 문서는 현재 구현된 breaking model을 설명합니다. old rules + skills scaffolder 모델은 deprecated 문맥으로만 남깁니다.
7
+ 이 문서는 현재 구현된 breaking model을 설명합니다. 현재 CLI는 bundled user/global runtime workflow를 위한 `integration` 명령을 제공하고, skill, subagent, Codex hook, user-local receipt를 다루는 low-level component 명령도 계속 제공합니다. old rules + skills scaffolder 모델은 deprecated 문맥으로만 남깁니다.
8
8
 
9
9
  ## Current Breaking Model
10
10
 
@@ -16,19 +16,23 @@ flowchart TD
16
16
  layer --> docs["docs/agent/* / docs/business/*"]
17
17
  layer --> state[".ai-ops/manifest.json / context-layer.json"]
18
18
 
19
- skill["ai-ops skill ..."] --> globalSkills["Global skills only"]
20
- subagent["ai-ops subagent ..."] --> globalSubagents["Global subagents only"]
19
+ skill["ai-ops skill ..."] --> skillComponent["Skill components"]
20
+ subagent["ai-ops subagent ..."] --> subagentComponent["Subagent components"]
21
+ integration["ai-ops integration ..."] --> integrationComponent["Runtime integration bundles"]
22
+ hook["ai-ops codex-hook ..."] --> hookComponent["Codex hook components"]
23
+ receipt["ai-ops context-promotion ..."] --> receiptComponent["User-local receipts"]
21
24
  pack["ai-ops pack ..."] --> docsSpecs["optional docs/specs/ pack"]
22
25
  ```
23
26
 
24
27
  핵심 경계:
25
28
 
26
29
  - project scope는 operating layer 문서만 관리합니다.
27
- - global scope는 skills/subagents만 관리합니다.
30
+ - integration scope는 user/global runtime workflow만 관리합니다.
31
+ - skill, subagent, Codex hook, user-local receipt/config는 integration component입니다.
28
32
  - `AGENTS.md`가 canonical entrypoint입니다.
29
33
  - `GEMINI.md`와 `CLAUDE.md`는 `AGENTS.md`를 기준으로 삼게 하는 adapter입니다.
30
34
  - `docs/specs/`는 optional pack 위치입니다.
31
- - global asset 명령은 `AI_OPS_HOME` 또는 `HOME`이 없으면 cwd fallback 없이 실패합니다.
35
+ - integration component 명령은 `AI_OPS_HOME` 또는 `HOME`이 없으면 cwd fallback 없이 실패합니다.
32
36
 
33
37
  ## 설치 대상
34
38
 
@@ -44,7 +48,6 @@ docs/agent/rules/routing-rules.md
44
48
  docs/agent/rules/doc-update-rules.md
45
49
  docs/agent/rules/stop-rules.md
46
50
  docs/agent/checks/impact-checklist.md
47
- docs/agent/checks/review-checklist.md
48
51
  docs/agent/maps/codebase-map.md
49
52
  docs/business/business-rules.md
50
53
  docs/docs-status.md
@@ -54,18 +57,20 @@ docs/docs-status.md
54
57
 
55
58
  `docs/agent/rules/00-agent-baseline.md`는 기존 `role-persona`, `communication`, `code-philosophy`, `naming-convention`, `plan-mode`의 기본 의도를 새 operating layer 문서로 이관한 Active 규칙입니다. `AGENTS.md` 직후 먼저 읽습니다.
56
59
 
57
- Global tool home:
60
+ User/global runtime component home:
58
61
 
59
62
  ```text
60
63
  skills/*
61
64
  subagents/*
65
+ hooks/*
66
+ receipts/config/*
62
67
  ```
63
68
 
64
69
  ## 수정 FAQ
65
70
 
66
71
  ### `ai-ops update`가 덮어쓰는 파일은 무엇인가요?
67
72
 
68
- `AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/rules/*`, `docs/agent/checks/*`, `docs/agent/workflow.md`는 ai-ops managed 문서입니다. 이 파일의 `<!-- ai-ops:start -->`부터 `<!-- ai-ops:end -->`까지는 CLI 템플릿 영역이고, `ai-ops update` 때 현재 CLI 템플릿으로 다시 적용됩니다. 사용자가 이 영역을 직접 수정하면 다음 update에서 유지되지 않습니다.
73
+ `AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/rules/*`, `docs/agent/checks/impact-checklist.md`, `docs/agent/workflow.md`는 ai-ops managed 문서입니다. 이 파일의 `<!-- ai-ops:start -->`부터 `<!-- ai-ops:end -->`까지는 CLI 템플릿 영역이고, `ai-ops update` 때 현재 CLI 템플릿으로 다시 적용됩니다. 사용자가 이 영역을 직접 수정하면 다음 update에서 유지되지 않습니다.
69
74
 
70
75
  `.ai-ops/manifest.json`과 `.ai-ops/context-layer.json`도 직접 편집 대상이 아닙니다. 각각 설치 상태와 문서 index를 기록하는 CLI 상태 파일입니다.
71
76
 
@@ -92,15 +97,32 @@ Commands:
92
97
  update Re-apply the project operating layer
93
98
  audit Check frontmatter, docs-status, manifest, and context-layer consistency
94
99
  uninstall Remove project-managed operating layer files
95
- skill Manage global agent skills
96
- subagent Manage global agent subagents
100
+ skill Manage skill components
101
+ subagent Manage subagent components
97
102
  pack Manage optional project operating layer packs
103
+ integration Manage user/global runtime integrations
98
104
  context-promotion Manage context promotion review receipts
99
- codex-hook Manage Codex hook integration
105
+ codex-hook Manage Codex hook components
100
106
  ```
101
107
 
102
108
  `--tool`은 유지합니다. Codex, Claude Code, Gemini CLI가 서로 다른 discovery 위치와 adapter 파일을 사용하기 때문입니다.
103
109
 
110
+ Integration lifecycle 명령:
111
+
112
+ ```bash
113
+ ai-ops integration list
114
+ ai-ops integration install context-promotion
115
+ ai-ops integration install pc
116
+ ai-ops integration status pc
117
+ ai-ops integration uninstall pc
118
+ ```
119
+
120
+ `context-promotion`은 `context-promotion-review` Codex skill, Codex `PostToolUse` hook, user-local receipt workflow를 묶습니다.
121
+
122
+ `pc`는 `pc` Codex skill과 Codex `PostToolUse` hook runner를 묶습니다. 성공적인 `git commit` 이후 `~/.personal-project-contexts/`에 matching workspace, active workstream, current repo scope가 이미 준비된 경우에만 Codex가 `$pc:done`으로 이어가게 합니다.
123
+
124
+ Integration 소유권은 user/global runtime home의 `.ai-ops/integrations-manifest.json`에 기록합니다. Uninstall은 owned component만 제거하고 기존 수동 설치는 보존합니다.
125
+
104
126
  Skill lifecycle 명령:
105
127
 
106
128
  ```bash
@@ -115,7 +137,9 @@ ai-ops skill uninstall skill-load-check
115
137
 
116
138
  `doc-impact-reviewer`는 변경 완료 또는 커밋 직전에 운영 문서 영향도를 확인하는 수동 task skill입니다. `$doc-impact-reviewer`로 호출하면 git status/diff를 보고 `required / recommended / not needed` 문서 후보와 미갱신 리스크를 제안합니다. 사용자 승인 전에는 문서를 수정하지 않고, 직접 staging/commit도 하지 않습니다.
117
139
 
118
- `context-promotion-review`는 방금 만든 작업 커밋에서 core, project-local, global로 승격할 반복 운영 지식이 생겼는지 확인하는 Codex 전용 task skill입니다. Codex hook은 `git commit` 이후에 동작하며 작업 커밋을 막지 않습니다. hook 설치 시 Codex skill도 global 위치에 함께 설치합니다. 승인된 승격 수정은 사용자 검사를 위해 커밋하지 않은 상태로 남기고, 최종 결정은 `ai-ops context-promotion resolve`로 receipt에 기록합니다.
140
+ `context-promotion-review`는 방금 만든 작업 커밋에서 core, project-local, global로 승격할 반복 운영 지식이 생겼는지 확인하는 Codex 전용 task skill입니다. Codex hook은 `git commit` 이후에 동작하며 작업 커밋을 막지 않습니다. hook 설치 시 Codex skill도 user/global runtime 위치에 함께 설치합니다. 승인된 승격 수정은 사용자 검사를 위해 커밋하지 않은 상태로 남기고, 최종 결정은 `ai-ops context-promotion resolve`로 receipt에 기록합니다.
141
+
142
+ Low-level component 명령도 직접 skill, hook, receipt를 관리할 때 계속 사용할 수 있습니다.
119
143
 
120
144
  Context promotion과 Codex hook 명령:
121
145
 
@@ -139,7 +163,7 @@ ai-ops subagent update
139
163
  ai-ops subagent uninstall security-gate
140
164
  ```
141
165
 
142
- Subagent는 항상 global tool home에 설치됩니다. Codex는 `.codex/agents/<id>.toml`, Claude Code는 `.claude/agents/<id>.md`, Gemini CLI는 `.gemini/agents/<id>.md`를 사용하고, 상태는 `.ai-ops/subagents-manifest.json`에만 기록합니다.
166
+ Subagent는 항상 user/global runtime home에 설치됩니다. Codex는 `.codex/agents/<id>.toml`, Claude Code는 `.claude/agents/<id>.md`, Gemini CLI는 `.gemini/agents/<id>.md`를 사용하고, 상태는 `.ai-ops/subagents-manifest.json`에만 기록합니다.
143
167
 
144
168
  Pack lifecycle 명령:
145
169
 
package/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  [Korean](./README.ko.md)
4
4
 
5
- `ai-ops-cli` installs an AI agent operating layer into a project and installs reusable agent skills/subagents into the user's global tool environment.
5
+ `ai-ops-cli` installs and manages the operating layer and global runtime integrations needed for project/agent work.
6
6
 
7
- This document describes the currently implemented breaking model. The old rules + skills scaffolder model remains only as deprecated context.
7
+ This document describes the currently implemented breaking model. The current CLI exposes `integration` commands for bundled user/global runtime workflows and keeps low-level component commands for skills, subagents, Codex hooks, and user-local receipts. The old rules + skills scaffolder model remains only as deprecated context.
8
8
 
9
9
  ## Current Breaking Model
10
10
 
@@ -16,19 +16,23 @@ flowchart TD
16
16
  layer --> docs["docs/agent/* / docs/business/*"]
17
17
  layer --> state[".ai-ops/manifest.json / context-layer.json"]
18
18
 
19
- skill["ai-ops skill ..."] --> globalSkills["Global skills only"]
20
- subagent["ai-ops subagent ..."] --> globalSubagents["Global subagents only"]
19
+ skill["ai-ops skill ..."] --> skillComponent["Skill components"]
20
+ subagent["ai-ops subagent ..."] --> subagentComponent["Subagent components"]
21
+ integration["ai-ops integration ..."] --> integrationComponent["Runtime integration bundles"]
22
+ hook["ai-ops codex-hook ..."] --> hookComponent["Codex hook components"]
23
+ receipt["ai-ops context-promotion ..."] --> receiptComponent["User-local receipts"]
21
24
  pack["ai-ops pack ..."] --> docsSpecs["optional docs/specs/ pack"]
22
25
  ```
23
26
 
24
27
  Core boundaries:
25
28
 
26
29
  - Project scope manages only operating-layer documents.
27
- - Global scope manages only skills/subagents.
30
+ - Integration scope manages only user/global runtime workflow.
31
+ - Skills, subagents, Codex hooks, and user-local receipts/config are integration components.
28
32
  - `AGENTS.md` is the canonical entrypoint.
29
33
  - `GEMINI.md` and `CLAUDE.md` are adapters that point tools back to `AGENTS.md`.
30
34
  - `docs/specs/` is the optional pack location.
31
- - Global asset commands require `AI_OPS_HOME` or `HOME`; they fail closed without cwd fallback when neither exists.
35
+ - Integration component commands require `AI_OPS_HOME` or `HOME`; they fail closed without cwd fallback when neither exists.
32
36
 
33
37
  ## Install Targets
34
38
 
@@ -44,7 +48,6 @@ docs/agent/rules/routing-rules.md
44
48
  docs/agent/rules/doc-update-rules.md
45
49
  docs/agent/rules/stop-rules.md
46
50
  docs/agent/checks/impact-checklist.md
47
- docs/agent/checks/review-checklist.md
48
51
  docs/agent/maps/codebase-map.md
49
52
  docs/business/business-rules.md
50
53
  docs/docs-status.md
@@ -54,18 +57,20 @@ docs/docs-status.md
54
57
 
55
58
  `docs/agent/rules/00-agent-baseline.md` is the Active rule that carries the original intent of the old `role-persona`, `communication`, `code-philosophy`, `naming-convention`, and `plan-mode` rules into the new operating layer. It is read immediately after `AGENTS.md`.
56
59
 
57
- Global tool home:
60
+ User/global runtime component home:
58
61
 
59
62
  ```text
60
63
  skills/*
61
64
  subagents/*
65
+ hooks/*
66
+ receipts/config/*
62
67
  ```
63
68
 
64
69
  ## Editing FAQ
65
70
 
66
71
  ### What does `ai-ops update` overwrite?
67
72
 
68
- `AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/rules/*`, `docs/agent/checks/*`, and `docs/agent/workflow.md` are ai-ops managed documents. In these files, the region from `<!-- ai-ops:start -->` through `<!-- ai-ops:end -->` is CLI template content. `ai-ops update` reapplies the current CLI template to that region. User edits inside that region are not preserved across update.
73
+ `AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/rules/*`, `docs/agent/checks/impact-checklist.md`, and `docs/agent/workflow.md` are ai-ops managed documents. In these files, the region from `<!-- ai-ops:start -->` through `<!-- ai-ops:end -->` is CLI template content. `ai-ops update` reapplies the current CLI template to that region. User edits inside that region are not preserved across update.
69
74
 
70
75
  `.ai-ops/manifest.json` and `.ai-ops/context-layer.json` are also not direct-edit files. They are CLI state files for installation state and document indexing.
71
76
 
@@ -92,15 +97,32 @@ Commands:
92
97
  update Re-apply the project operating layer
93
98
  audit Check frontmatter, docs-status, manifest, and context-layer consistency
94
99
  uninstall Remove project-managed operating layer files
95
- skill Manage global agent skills
96
- subagent Manage global agent subagents
100
+ skill Manage skill components
101
+ subagent Manage subagent components
97
102
  pack Manage optional project operating layer packs
103
+ integration Manage user/global runtime integrations
98
104
  context-promotion Manage context promotion review receipts
99
- codex-hook Manage Codex hook integration
105
+ codex-hook Manage Codex hook components
100
106
  ```
101
107
 
102
108
  `--tool` remains because Codex, Claude Code, and Gemini CLI use different discovery locations and adapter files.
103
109
 
110
+ Integration lifecycle commands:
111
+
112
+ ```bash
113
+ ai-ops integration list
114
+ ai-ops integration install context-promotion
115
+ ai-ops integration install pc
116
+ ai-ops integration status pc
117
+ ai-ops integration uninstall pc
118
+ ```
119
+
120
+ `context-promotion` bundles the `context-promotion-review` Codex skill, a Codex `PostToolUse` hook, and user-local receipt workflow.
121
+
122
+ `pc` bundles the `pc` Codex skill and a Codex `PostToolUse` hook runner. It prompts Codex to run `$pc:done` after a successful `git commit` only when `~/.personal-project-contexts/` already has a matching workspace, active workstream, and current repo scope.
123
+
124
+ Integration ownership is tracked in `.ai-ops/integrations-manifest.json` under the user/global runtime home. Uninstall removes only owned components and preserves pre-existing manual installs.
125
+
104
126
  Skill lifecycle commands:
105
127
 
106
128
  ```bash
@@ -115,7 +137,9 @@ ai-ops skill uninstall skill-load-check
115
137
 
116
138
  `doc-impact-reviewer` is a manual task skill for checking operating-document impact near the end of work or before commit. Invoking `$doc-impact-reviewer` reads git status/diff and reports document update candidates as `required / recommended / not needed`. It does not edit documents, stage files, or commit before user approval.
117
139
 
118
- `context-promotion-review` is a Codex-only task skill for checking whether the just-created work commit produced reusable operating knowledge that should be promoted to core, project-local, or global context. The Codex hook runs after `git commit`, never blocks the work commit, and any approved promotion edits stay uncommitted until the user reviews them. Installing the hook also installs the Codex skill globally. It records the final decision with `ai-ops context-promotion resolve`.
140
+ `context-promotion-review` is a Codex-only task skill for checking whether the just-created work commit produced reusable operating knowledge that should be promoted to core, project-local, or global context. The Codex hook runs after `git commit`, never blocks the work commit, and any approved promotion edits stay uncommitted until the user reviews them. Installing the hook also installs the Codex skill into the user/global runtime location. It records the final decision with `ai-ops context-promotion resolve`.
141
+
142
+ Low-level component commands remain available for direct skill, hook, and receipt management.
119
143
 
120
144
  Context promotion and Codex hook commands:
121
145
 
@@ -139,7 +163,7 @@ ai-ops subagent update
139
163
  ai-ops subagent uninstall security-gate
140
164
  ```
141
165
 
142
- Subagents are always installed into the global tool home. Codex uses `.codex/agents/<id>.toml`, Claude Code uses `.claude/agents/<id>.md`, Gemini CLI uses `.gemini/agents/<id>.md`, and state is recorded only in `.ai-ops/subagents-manifest.json`.
166
+ Subagents are always installed into the user/global runtime home. Codex uses `.codex/agents/<id>.toml`, Claude Code uses `.claude/agents/<id>.md`, Gemini CLI uses `.gemini/agents/<id>.md`, and state is recorded only in `.ai-ops/subagents-manifest.json`.
143
167
 
144
168
  Pack lifecycle commands:
145
169
 
@@ -17,7 +17,7 @@ update_when:
17
17
  2. `docs/agent/rules/00-agent-baseline.md`
18
18
  3. `docs/agent/workflow.md`
19
19
  4. 나머지 `docs/agent/rules/*.md`
20
- 5. 작업 성격에 맞는 `docs/agent/checks/*.md`
20
+ 5. 변경 영향 확인이 필요하면 `docs/agent/checks/impact-checklist.md`
21
21
  6. `docs/docs-status.md`
22
22
 
23
23
  ## 문서 신뢰도
@@ -3,14 +3,16 @@ status: Active
3
3
  layer: agent
4
4
  owner: ai-ops
5
5
  read_when:
6
+ - change_impact_analysis
6
7
  - before_finish
7
8
  update_when:
8
- - checklist_changes
9
+ - impact_policy_changes
9
10
  ---
10
11
  # Impact Checklist
11
12
 
12
- - 공개 CLI 표면이 바뀌었는가?
13
- - 상태 파일 schema 경로가 바뀌었는가?
14
- - 기존 사용자 파일 보존 정책에 영향이 있는가?
15
- - update/diff/uninstall 동작이 서로 같은 추적 기준을 쓰는가?
16
- - 실패 사용자가 복구할 있는 메시지를 받는가?
13
+ - business rule, domain invariant, 상태 전이에 영향이 있는가?
14
+ - DB schema, migration, seed, data backfill, analytics event에 영향이 있는가?
15
+ - public API, GraphQL schema, CLI command, request/response, SDK contract가 바뀌는가?
16
+ - auth, permission, privacy, billing, credential, audit log에 영향이 있는가?
17
+ - external integration, webhook, cron, queue, cache, background job에 영향이 있는가?
18
+ - project-owned 문서, specs, runbook, operator guide, `docs/docs-status.md`, context-layer 갱신이 필요한가?
@@ -19,4 +19,5 @@ update_when:
19
19
  ## 범위
20
20
 
21
21
  - project scope: `AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/*`, `docs/business/*`, `docs/docs-status.md`, `.ai-ops/*`
22
- - global scope: skills, subagents, tool-specific reusable assets
22
+ - integration scope: user/global runtime integrations and their components
23
+ - component scope: skills, subagents, Codex hooks, hook runners, user-local receipts/config
@@ -7,19 +7,33 @@ read_when:
7
7
  update_when:
8
8
  - workflow_changes
9
9
  ---
10
+
10
11
  # Workflow
11
12
 
12
- ## 기본 흐름
13
+ 문서는 에이전트의 기본 구현/검증 루프를 대체하지 않는다. 프로젝트별 문맥을 언제 읽고, 변경 영향과 문서 갱신 필요성을 언제 판단할지 정한다.
14
+
15
+ ## 전역 guardrail
16
+
17
+ 모든 단계에서 `docs/agent/rules/stop-rules.md`를 적용한다. 삭제, reset, credential 노출, 운영 데이터 접근, 계획과 코드 구조 충돌처럼 위험하거나 모호한 지점은 진행 전에 멈추고 확인한다.
18
+
19
+ ## 판단 흐름
20
+
21
+ 1. Intent Routing: 요청이 구현, 리뷰, 조사, 문서, 운영작업 중 무엇인지 분류하고 `docs/agent/rules/routing-rules.md`를 확인한다.
22
+ 2. Context Loading: `AGENTS.md`, `docs/agent/rules/00-agent-baseline.md`, `docs/agent/workflow.md`, 관련 `Active` 문서, 실제 코드와 파일을 확인한다.
23
+ 3. Change Impact Analysis: 변경 전후에 `docs/agent/checks/impact-checklist.md`를 사용해 영향 범위를 찾는다.
24
+ 4. Native Agent Execution: 구현, 수정, 검증 선택은 에이전트(e.g. codex)의 기본 작업 루프와 repo의 기존 패턴을 따른다.
25
+ 5. Context Update: 변경 결과가 project-owned 문서, specs, `docs/docs-status.md`, `.ai-ops/context-layer.json`에 영향을 주는지 판단한다.
26
+ 6. Report: 결과, 실행한 검증, 갱신한 문서, 남은 리스크를 짧게 보고한다.
27
+
28
+ ## 문서 사용 원칙
13
29
 
14
- 1. 요청 범위와 현재 작업 디렉터리를 확인한다.
15
- 2. 관련 문서의 `status`를 확인하고 `Active` 문서만 판단 근거로 사용한다.
16
- 3. 코드 변경 현재 diff를 확인한다.
17
- 4. 변경은 가능한 작은 단위로 적용한다.
18
- 5. 변경 범위에 맞는 검증을 실행한다.
19
- 6. 결과, 검증, 남은 리스크를 짧게 보고한다.
30
+ - `Active` 문서만 현재 판단 근거로 사용한다.
31
+ - `Reserved` 문서는 자리만 만든 문서이므로 현재 사실로 인용하지 않는다.
32
+ - project-owned 문서가 비어 있거나 stale하면 실제 코드, 설정, schema, runtime 파일을 우선한다.
33
+ - 문서 상태가 애매하면 `docs/docs-status.md`와 문서 frontmatter를 함께 확인한다.
20
34
 
21
35
  ## 보존 원칙
22
36
 
23
37
  - 사용자 변경으로 보이는 diff는 되돌리지 않는다.
24
38
  - project-owned 문서는 CLI update가 덮어쓰지 않는다.
25
- - global skillssubagents는 project operating layer uninstall 대상이 아니다.
39
+ - user/global integrations그 component는 project operating layer uninstall 대상이 아니다.
@@ -0,0 +1,44 @@
1
+ {
2
+ "integrations": [
3
+ {
4
+ "id": "context-promotion",
5
+ "description": "Codex git-commit 후 context promotion review receipt를 요구하는 integration",
6
+ "components": [
7
+ {
8
+ "type": "skill",
9
+ "id": "context-promotion-review",
10
+ "tools": ["codex"]
11
+ },
12
+ {
13
+ "type": "codex-hook",
14
+ "id": "context-promotion"
15
+ },
16
+ {
17
+ "type": "receipt-config",
18
+ "id": "context-promotion-receipts",
19
+ "storage_path": ".ai-ops/context-promotion/projects/*/receipts-index.json"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "id": "pc",
25
+ "description": "Codex git-commit 후 $pc:done handoff를 요구하는 personal context integration",
26
+ "components": [
27
+ {
28
+ "type": "skill",
29
+ "id": "pc",
30
+ "tools": ["codex"]
31
+ },
32
+ {
33
+ "type": "codex-hook",
34
+ "id": "pc"
35
+ },
36
+ {
37
+ "type": "receipt-config",
38
+ "id": "personal-project-contexts",
39
+ "storage_path": "~/.personal-project-contexts"
40
+ }
41
+ ]
42
+ }
43
+ ]
44
+ }
@@ -65,7 +65,7 @@ apps/cli/data/skills/
65
65
 
66
66
  1. 디렉터리 이름은 frontmatter `name`과 정확히 일치해야 합니다.
67
67
  2. `SKILL.md`는 YAML frontmatter로 시작해야 합니다.
68
- 3. `kind`, `supported_tools`, preset grouping, `source_path`는 `skill-registry.json`에 둡니다.
68
+ 3. `kind`, `supported_tools`, 표시/discovery grouping, `source_path`는 `skill-registry.json`에 둡니다.
69
69
  4. `reference` skill은 `reference-skills/` 아래에 두고 `references/reference.md`를 포함해야 합니다.
70
70
  5. `task` skill은 `task-skills/` 아래에 두고 실행 절차를 `SKILL.md`에 둡니다.
71
71
  6. 같은 상세 내용을 `SKILL.md`와 `references/`에 중복하지 않습니다.
@@ -77,23 +77,22 @@ apps/cli/data/skills/
77
77
 
78
78
  `SKILL.md` frontmatter는 이제 agent-facing 용도입니다. CLI는 아래 필수 필드를 검증하고, 추가 도구별 frontmatter 필드는 무시합니다.
79
79
 
80
- | 필드 | 필수 | 예시 | 의미 |
81
- | --- | --- | --- | --- |
82
- | `name` | 예 | `graphql-contract` | 고유 skill 이름과 설치 디렉터리 key |
83
- | `description` | 예 | `Use when changing GraphQL schema contracts.` | discovery/autotrigger 요약 |
80
+ | 필드 | 필수 | 예시 | 의미 |
81
+ | ------------- | ---- | --------------------------------------------- | ----------------------------------- |
82
+ | `name` | 예 | `graphql-contract` | 고유 skill 이름과 설치 디렉터리 key |
83
+ | `description` | 예 | `Use when changing GraphQL schema contracts.` | discovery/autotrigger 요약 |
84
84
 
85
85
  ## Registry 필드
86
86
 
87
87
  `skill-registry.json`은 install/catalog SSOT입니다.
88
88
 
89
- | 필드 | 필수 | 예시 | 의미 |
90
- | --- | --- | --- | --- |
91
- | `id` | 예 | `graphql-contract` | canonical skill id |
92
- | `kind` | 예 | `reference` / `task` | skill category |
93
- | `supported_tools` | 예 | `["claude-code", "codex", "gemini"]` | 설치 가능한 도구 |
94
- | `groups` | 예 | `["frontend-web"]` | 표시/discovery grouping |
95
- | `included_in_presets` | 예 | `["frontend-web", "backend-ts"]` | `ai-ops init`에서 skill을 노출하는 preset |
96
- | `source_path` | 예 | `reference-skills/graphql-contract` | skill source가 있는 상대 디렉터리 |
89
+ | 필드 | 필수 | 예시 | 의미 |
90
+ | ----------------- | ---- | ------------------------------------ | --------------------------------- |
91
+ | `id` | 예 | `graphql-contract` | canonical skill id |
92
+ | `kind` | 예 | `reference` / `task` | skill category |
93
+ | `supported_tools` | 예 | `["claude-code", "codex", "gemini"]` | 설치 가능한 도구 |
94
+ | `groups` | 예 | `["frontend-web"]` | 표시/discovery grouping |
95
+ | `source_path` | 예 | `reference-skills/graphql-contract` | skill source가 있는 상대 디렉터리 |
97
96
 
98
97
  ## Content 배치
99
98
 
@@ -65,7 +65,7 @@ apps/cli/data/skills/
65
65
 
66
66
  1. Directory name must exactly match frontmatter `name`.
67
67
  2. `SKILL.md` must start with YAML frontmatter.
68
- 3. `kind`, `supported_tools`, preset grouping, and `source_path` live in `skill-registry.json`.
68
+ 3. `kind`, `supported_tools`, display grouping, and `source_path` live in `skill-registry.json`.
69
69
  4. A `reference` skill must live under `reference-skills/` and include `references/reference.md`.
70
70
  5. A `task` skill must live under `task-skills/` and keep its executable procedure in `SKILL.md`.
71
71
  6. Do not duplicate the same detailed content across `SKILL.md` and `references/`.
@@ -86,14 +86,13 @@ apps/cli/data/skills/
86
86
 
87
87
  `skill-registry.json` is the install/catalog SSOT.
88
88
 
89
- | Field | Required | Example | Meaning |
90
- | --------------------- | -------- | ------------------------------------ | ------------------------------------------------- |
91
- | `id` | Yes | `graphql-contract` | Canonical skill id |
92
- | `kind` | Yes | `reference` / `task` | Skill category |
93
- | `supported_tools` | Yes | `["claude-code", "codex", "gemini"]` | Where the skill may be installed |
94
- | `groups` | Yes | `["frontend-web"]` | Display/discovery grouping |
95
- | `included_in_presets` | Yes | `["frontend-web", "backend-ts"]` | Presets that surface this skill in `ai-ops init` |
96
- | `source_path` | Yes | `reference-skills/graphql-contract` | Relative directory that contains the skill source |
89
+ | Field | Required | Example | Meaning |
90
+ | ----------------- | -------- | ------------------------------------ | ------------------------------------------------- |
91
+ | `id` | Yes | `graphql-contract` | Canonical skill id |
92
+ | `kind` | Yes | `reference` / `task` | Skill category |
93
+ | `supported_tools` | Yes | `["claude-code", "codex", "gemini"]` | Where the skill may be installed |
94
+ | `groups` | Yes | `["frontend-web"]` | Display/discovery grouping |
95
+ | `source_path` | Yes | `reference-skills/graphql-contract` | Relative directory that contains the skill source |
97
96
 
98
97
  ## Content Placement
99
98