ai-ops-cli 1.2.0 → 1.3.1
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 +5 -4
- package/README.md +5 -4
- package/data/context-layer/AGENTS.md +4 -3
- package/data/context-layer/docs/agent/checks/impact-checklist.md +8 -6
- package/data/context-layer/docs/agent/terminology.md +39 -0
- package/data/context-layer/docs/agent/workflow.md +21 -7
- package/data/context-layer/docs/business/terminology.md +61 -0
- package/data/packs/spec-lifecycle/docs/specs/README.ko.md +1 -0
- package/data/packs/spec-lifecycle/docs/specs/README.md +1 -0
- package/data/skills/README.ko.md +12 -13
- package/data/skills/README.md +8 -9
- package/data/skills/skill-registry.json +2 -28
- package/data/skills/task-skills/context-promotion-review/SKILL.md +1 -1
- package/data/skills/task-skills/doc-impact-reviewer/SKILL.md +0 -1
- package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/SKILL.md +25 -16
- package/data/skills/task-skills/project-terminology-sync/agents/openai.yaml +6 -0
- package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/references/checklist.md +5 -5
- package/data/skills/task-skills/{spec-shared-glossary-sync → project-terminology-sync}/references/template.md +19 -18
- package/data/skills/task-skills/spec-baseline-sync/SKILL.md +4 -4
- package/data/skills/task-skills/spec-product-01-idea-to-brief/SKILL.md +3 -3
- package/data/skills/task-skills/spec-product-02-brief-to-technical-context/SKILL.md +3 -3
- package/data/skills/task-skills/spec-product-03-brief-to-product-spec/SKILL.md +3 -3
- package/data/skills/task-skills/spec-product-05-spec-to-work-packets/SKILL.md +3 -3
- package/dist/bin/index.js +299 -384
- package/dist/bin/index.js.map +1 -1
- package/package.json +1 -1
- package/data/context-layer/docs/agent/checks/review-checklist.md +0 -17
- package/data/skills/task-skills/spec-shared-glossary-sync/agents/openai.yaml +0 -6
package/README.ko.md
CHANGED
|
@@ -44,12 +44,13 @@ GEMINI.md
|
|
|
44
44
|
CLAUDE.md
|
|
45
45
|
docs/agent/rules/00-agent-baseline.md
|
|
46
46
|
docs/agent/workflow.md
|
|
47
|
+
docs/agent/terminology.md
|
|
47
48
|
docs/agent/rules/routing-rules.md
|
|
48
49
|
docs/agent/rules/doc-update-rules.md
|
|
49
50
|
docs/agent/rules/stop-rules.md
|
|
50
51
|
docs/agent/checks/impact-checklist.md
|
|
51
|
-
docs/agent/checks/review-checklist.md
|
|
52
52
|
docs/agent/maps/codebase-map.md
|
|
53
|
+
docs/business/terminology.md
|
|
53
54
|
docs/business/business-rules.md
|
|
54
55
|
docs/docs-status.md
|
|
55
56
|
.ai-ops/manifest.json
|
|
@@ -71,13 +72,13 @@ receipts/config/*
|
|
|
71
72
|
|
|
72
73
|
### `ai-ops update`가 덮어쓰는 파일은 무엇인가요?
|
|
73
74
|
|
|
74
|
-
`AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/rules/*`, `docs/agent/checks
|
|
75
|
+
`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에서 유지되지 않습니다.
|
|
75
76
|
|
|
76
77
|
`.ai-ops/manifest.json`과 `.ai-ops/context-layer.json`도 직접 편집 대상이 아닙니다. 각각 설치 상태와 문서 index를 기록하는 CLI 상태 파일입니다.
|
|
77
78
|
|
|
78
79
|
### 사용자가 직접 수정해야 하는 파일은 무엇인가요?
|
|
79
80
|
|
|
80
|
-
프로젝트 지식은 project-owned 문서에 적습니다. 기본 project-owned 문서는 `docs/agent/maps/codebase-map.md`, `docs/business/business-rules.md`, `docs/docs-status.md`입니다. `docs/agent/maps/codebase-map.md
|
|
81
|
+
프로젝트 지식은 project-owned 문서에 적습니다. 기본 project-owned 문서는 `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, `docs/business/business-rules.md`, `docs/docs-status.md`입니다. `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, `docs/business/business-rules.md`는 처음에는 Reserved 템플릿이지만, 프로젝트가 실제 내용을 채운 뒤에는 update가 자동으로 덮어쓰지 않습니다.
|
|
81
82
|
|
|
82
83
|
`docs/docs-status.md`는 project-owned 문서이지만 자유 메모장이 아니라 context-layer registry입니다. 문서 status/frontmatter를 바꿀 때 함께 맞추는 파일이며, update 과정에서 manifest와 실제 문서 frontmatter 기준으로 테이블이 정리될 수 있습니다.
|
|
83
84
|
|
|
@@ -177,7 +178,7 @@ ai-ops pack update spec-lifecycle
|
|
|
177
178
|
ai-ops pack uninstall spec-lifecycle
|
|
178
179
|
```
|
|
179
180
|
|
|
180
|
-
`spec-lifecycle` pack은 `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, `docs/specs/initial-build/.gitkeep`를 설치합니다. Markdown 문서만 context-layer와 `docs/docs-status.md` 감사 대상이고, `.gitkeep`은 manifest의 일반 pack file로만 기록됩니다.
|
|
181
|
+
`spec-lifecycle` pack은 `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, `docs/specs/initial-build/.gitkeep`를 설치합니다. Markdown 문서만 context-layer와 `docs/docs-status.md` 감사 대상이고, `.gitkeep`은 manifest의 일반 pack file로만 기록됩니다. 프로젝트 용어는 계속 `docs/business/terminology.md`에서 중앙 관리합니다.
|
|
181
182
|
|
|
182
183
|
## Deprecated Old Model
|
|
183
184
|
|
package/README.md
CHANGED
|
@@ -44,12 +44,13 @@ GEMINI.md
|
|
|
44
44
|
CLAUDE.md
|
|
45
45
|
docs/agent/rules/00-agent-baseline.md
|
|
46
46
|
docs/agent/workflow.md
|
|
47
|
+
docs/agent/terminology.md
|
|
47
48
|
docs/agent/rules/routing-rules.md
|
|
48
49
|
docs/agent/rules/doc-update-rules.md
|
|
49
50
|
docs/agent/rules/stop-rules.md
|
|
50
51
|
docs/agent/checks/impact-checklist.md
|
|
51
|
-
docs/agent/checks/review-checklist.md
|
|
52
52
|
docs/agent/maps/codebase-map.md
|
|
53
|
+
docs/business/terminology.md
|
|
53
54
|
docs/business/business-rules.md
|
|
54
55
|
docs/docs-status.md
|
|
55
56
|
.ai-ops/manifest.json
|
|
@@ -71,13 +72,13 @@ receipts/config/*
|
|
|
71
72
|
|
|
72
73
|
### What does `ai-ops update` overwrite?
|
|
73
74
|
|
|
74
|
-
`AGENTS.md`, `GEMINI.md`, `CLAUDE.md`, `docs/agent/rules/*`, `docs/agent/checks
|
|
75
|
+
`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.
|
|
75
76
|
|
|
76
77
|
`.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.
|
|
77
78
|
|
|
78
79
|
### Which files should users edit directly?
|
|
79
80
|
|
|
80
|
-
Project knowledge belongs in project-owned documents. The default project-owned documents are `docs/agent/maps/codebase-map.md`, `docs/business/business-rules.md`, and `docs/docs-status.md`. `docs/agent/maps/codebase-map.md` and `docs/business/business-rules.md` start as Reserved templates, but once the project fills them with real content, update does not automatically overwrite them.
|
|
81
|
+
Project knowledge belongs in project-owned documents. The default project-owned documents are `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, `docs/business/business-rules.md`, and `docs/docs-status.md`. `docs/agent/maps/codebase-map.md`, `docs/business/terminology.md`, and `docs/business/business-rules.md` start as Reserved templates, but once the project fills them with real content, update does not automatically overwrite them.
|
|
81
82
|
|
|
82
83
|
`docs/docs-status.md` is project-owned, but it is not a free-form notebook. It is the context-layer registry. Update it together with document status/frontmatter changes; the update flow may also normalize its table from the manifest and current document frontmatter.
|
|
83
84
|
|
|
@@ -177,7 +178,7 @@ ai-ops pack update spec-lifecycle
|
|
|
177
178
|
ai-ops pack uninstall spec-lifecycle
|
|
178
179
|
```
|
|
179
180
|
|
|
180
|
-
The `spec-lifecycle` pack installs `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, and `docs/specs/initial-build/.gitkeep`. Only Markdown documents are audited by the context-layer and `docs/docs-status.md`; `.gitkeep` files are tracked only as regular pack files in the manifest.
|
|
181
|
+
The `spec-lifecycle` pack installs `docs/specs/README.md`, `docs/specs/README.ko.md`, `docs/specs/baseline/.gitkeep`, and `docs/specs/initial-build/.gitkeep`. Only Markdown documents are audited by the context-layer and `docs/docs-status.md`; `.gitkeep` files are tracked only as regular pack files in the manifest. Project terminology remains centralized in `docs/business/terminology.md`.
|
|
181
182
|
|
|
182
183
|
## Deprecated Old Model
|
|
183
184
|
|
|
@@ -16,9 +16,10 @@ update_when:
|
|
|
16
16
|
1. `AGENTS.md`
|
|
17
17
|
2. `docs/agent/rules/00-agent-baseline.md`
|
|
18
18
|
3. `docs/agent/workflow.md`
|
|
19
|
-
4.
|
|
20
|
-
5.
|
|
21
|
-
6. `docs/
|
|
19
|
+
4. `docs/agent/terminology.md`
|
|
20
|
+
5. 나머지 `docs/agent/rules/*.md`
|
|
21
|
+
6. 변경 영향 확인이 필요하면 `docs/agent/checks/impact-checklist.md`
|
|
22
|
+
7. `docs/docs-status.md`
|
|
22
23
|
|
|
23
24
|
## 문서 신뢰도
|
|
24
25
|
|
|
@@ -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
|
-
-
|
|
9
|
+
- impact_policy_changes
|
|
9
10
|
---
|
|
10
11
|
# Impact Checklist
|
|
11
12
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
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 갱신이 필요한가?
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Active
|
|
3
|
+
layer: agent
|
|
4
|
+
owner: ai-ops
|
|
5
|
+
read_when:
|
|
6
|
+
- before_task
|
|
7
|
+
- terminology_check
|
|
8
|
+
update_when:
|
|
9
|
+
- operating_layer_changes
|
|
10
|
+
- terminology_changes
|
|
11
|
+
---
|
|
12
|
+
# Agent Terminology
|
|
13
|
+
|
|
14
|
+
이 문서는 project operating layer를 해석하는 데 필요한 최소 용어만 정의한다. `ai-ops-cli`의 release, 내부 구현, phase history, integration catalog 구현 세부사항은 사용자 프로젝트의 기본 운영 문서에 포함하지 않는다.
|
|
15
|
+
|
|
16
|
+
## 핵심 용어
|
|
17
|
+
|
|
18
|
+
| 용어 | 정의 |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| agent operating layer | 프로젝트 안에서 에이전트가 읽고 따르는 운영 문서와 상태 파일의 묶음이다. |
|
|
21
|
+
| context layer | operating layer 문서의 경로, 상태, 읽기 조건, 갱신 조건, content hash를 추적하는 문맥 index다. |
|
|
22
|
+
| `docs/docs-status.md` | operating layer 문서의 status와 owner를 사람이 확인할 수 있게 기록하는 project-owned registry다. |
|
|
23
|
+
| `.ai-ops/context-layer.json` | 에이전트와 CLI가 문서 계층을 빠르게 탐색하고 audit할 수 있게 생성하는 index 파일이다. |
|
|
24
|
+
| `Active` | 현재 판단 근거로 사용할 수 있는 문서 상태다. |
|
|
25
|
+
| `Reserved` | 자리만 만든 문서 상태다. 프로젝트가 실제 내용을 보강하기 전까지 판단 근거로 사용하지 않는다. |
|
|
26
|
+
| `Draft` | 작성 중인 문서 상태다. 현재 판단 근거로 쓰기 전에 검토가 필요하다. |
|
|
27
|
+
| `Archived` | 과거 기록 상태다. 현재 운영 판단에 사용하지 않는다. |
|
|
28
|
+
| ai-ops managed | CLI 템플릿이 관리하는 문서 또는 문서 영역이다. update 시 현재 CLI 템플릿으로 다시 적용될 수 있다. |
|
|
29
|
+
| project-owned | 프로젝트가 직접 채우고 유지하는 문서다. CLI update는 사용자 내용을 보존해야 한다. |
|
|
30
|
+
| optional pack | 필요한 프로젝트에만 설치하는 추가 문서 묶음이다. 기본 operating layer와 별도의 lifecycle을 가진다. |
|
|
31
|
+
| `read_when` | 에이전트가 이 문서를 읽어야 하는 상황을 나타내는 frontmatter 필드다. |
|
|
32
|
+
| `update_when` | 문서를 갱신해야 하는 변경 상황을 나타내는 frontmatter 필드다. |
|
|
33
|
+
|
|
34
|
+
## 범위 밖
|
|
35
|
+
|
|
36
|
+
- `ai-ops-cli` release model
|
|
37
|
+
- `ai-ops-cli` 내부 phase history
|
|
38
|
+
- CLI 구현 파일이나 schema의 내부 구조
|
|
39
|
+
- integration catalog의 구현 세부사항
|
|
@@ -7,16 +7,30 @@ 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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: Reserved
|
|
3
|
+
layer: business
|
|
4
|
+
owner: project
|
|
5
|
+
read_when:
|
|
6
|
+
- terminology_check
|
|
7
|
+
- business_rule_check
|
|
8
|
+
- spec_lifecycle
|
|
9
|
+
update_when:
|
|
10
|
+
- terminology_changes
|
|
11
|
+
- business_rule_changes
|
|
12
|
+
- spec_lifecycle_changes
|
|
13
|
+
---
|
|
14
|
+
# Terminology
|
|
15
|
+
|
|
16
|
+
이 문서는 Reserved 상태입니다. 프로젝트가 실제 용어를 보강하기 전까지 현재 판단 근거로 사용하지 마세요.
|
|
17
|
+
|
|
18
|
+
프로젝트의 비즈니스, spec, UI, work packet, plan 용어는 이 문서를 source of truth로 사용합니다. `docs/specs/`가 설치되어 있어도 별도 용어 문서를 두지 않고 이 문서를 읽고 갱신합니다.
|
|
19
|
+
|
|
20
|
+
## 용어 표기 원칙
|
|
21
|
+
|
|
22
|
+
- 사용자-facing 또는 domain 용어는 한국어를 우선합니다.
|
|
23
|
+
- code-facing name, API field, library/service name, protocol, file path, 표준 technical term은 영어 원형이 더 명확하면 그대로 씁니다.
|
|
24
|
+
- 같은 개념은 하나의 canonical term으로 통일합니다.
|
|
25
|
+
- 불확실한 용어는 확정하지 말고 `검토 중인 용어`에 기록합니다.
|
|
26
|
+
|
|
27
|
+
## 핵심 용어
|
|
28
|
+
|
|
29
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
30
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
31
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
32
|
+
|
|
33
|
+
## 엔티티 용어
|
|
34
|
+
|
|
35
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
36
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
37
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
38
|
+
|
|
39
|
+
## 상태 용어
|
|
40
|
+
|
|
41
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
42
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
43
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
44
|
+
|
|
45
|
+
## UI 용어
|
|
46
|
+
|
|
47
|
+
| 용어 | 영문 / 코드명 | 정의 | 사용 범위 | 허용 별칭 | 금지 표현 | 관련 문서 |
|
|
48
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
49
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
50
|
+
|
|
51
|
+
## 금지하거나 피할 표현
|
|
52
|
+
|
|
53
|
+
| 표현 | 이유 | 대신 사용할 표현 |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| TBD | TBD | TBD |
|
|
56
|
+
|
|
57
|
+
## 검토 중인 용어
|
|
58
|
+
|
|
59
|
+
| 항목 | 후보 표현 | 충돌 / 불확실성 | 판단 메모 | 관련 문서 |
|
|
60
|
+
| --- | --- | --- | --- | --- |
|
|
61
|
+
| TBD | TBD | TBD | TBD | TBD |
|
|
@@ -25,4 +25,5 @@ docs/specs/
|
|
|
25
25
|
|
|
26
26
|
- `baseline/`은 승인된 제품/기술/UI 기준 문서를 둡니다.
|
|
27
27
|
- `initial-build/`는 초기 구현 work packet과 관련 산출물을 둡니다.
|
|
28
|
+
- 프로젝트 용어는 `docs/business/terminology.md`를 기준으로 관리합니다. 이 optional spec pack은 별도 용어 source of truth를 만들지 않습니다.
|
|
28
29
|
- 실제 판단 근거로 쓰기 전에 각 문서의 frontmatter와 `docs/docs-status.md` 상태를 갱신합니다.
|
|
@@ -25,4 +25,5 @@ docs/specs/
|
|
|
25
25
|
|
|
26
26
|
- `baseline/` contains approved product, technical, and UI baseline documents.
|
|
27
27
|
- `initial-build/` contains initial implementation work packets and related artifacts.
|
|
28
|
+
- Project terminology is tracked in `docs/business/terminology.md`; this optional spec pack does not create a separate terminology source of truth.
|
|
28
29
|
- Before using any document as decision-making evidence, update its frontmatter and its status in `docs/docs-status.md`.
|
package/data/skills/README.ko.md
CHANGED
|
@@ -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`,
|
|
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`
|
|
83
|
-
| `description` | 예
|
|
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`
|
|
92
|
-
| `kind`
|
|
93
|
-
| `supported_tools` | 예
|
|
94
|
-
| `groups`
|
|
95
|
-
| `
|
|
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
|
|
package/data/skills/README.md
CHANGED
|
@@ -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`,
|
|
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
|
|
90
|
-
|
|
|
91
|
-
| `id`
|
|
92
|
-
| `kind`
|
|
93
|
-
| `supported_tools`
|
|
94
|
-
| `groups`
|
|
95
|
-
| `
|
|
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
|
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
"kind": "reference",
|
|
6
6
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
7
7
|
"groups": ["backend-python"],
|
|
8
|
-
"included_in_presets": [],
|
|
9
8
|
"source_path": "reference-skills/ai-llm-python-runtime"
|
|
10
9
|
},
|
|
11
10
|
{
|
|
@@ -13,7 +12,6 @@
|
|
|
13
12
|
"kind": "reference",
|
|
14
13
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
15
14
|
"groups": ["backend-python"],
|
|
16
|
-
"included_in_presets": ["backend-python"],
|
|
17
15
|
"source_path": "reference-skills/backend-python-fastapi-runtime"
|
|
18
16
|
},
|
|
19
17
|
{
|
|
@@ -21,7 +19,6 @@
|
|
|
21
19
|
"kind": "reference",
|
|
22
20
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
23
21
|
"groups": ["backend-ts", "backend-python"],
|
|
24
|
-
"included_in_presets": ["backend-ts", "backend-python"],
|
|
25
22
|
"source_path": "reference-skills/backend-service-standards"
|
|
26
23
|
},
|
|
27
24
|
{
|
|
@@ -29,7 +26,6 @@
|
|
|
29
26
|
"kind": "reference",
|
|
30
27
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
31
28
|
"groups": ["backend-ts"],
|
|
32
|
-
"included_in_presets": ["backend-ts"],
|
|
33
29
|
"source_path": "reference-skills/backend-ts-nestjs-runtime"
|
|
34
30
|
},
|
|
35
31
|
{
|
|
@@ -37,7 +33,6 @@
|
|
|
37
33
|
"kind": "reference",
|
|
38
34
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
39
35
|
"groups": ["backend-python"],
|
|
40
|
-
"included_in_presets": [],
|
|
41
36
|
"source_path": "reference-skills/data-pipeline-python-performance"
|
|
42
37
|
},
|
|
43
38
|
{
|
|
@@ -45,7 +40,6 @@
|
|
|
45
40
|
"kind": "reference",
|
|
46
41
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
47
42
|
"groups": ["backend-ts"],
|
|
48
|
-
"included_in_presets": ["backend-ts"],
|
|
49
43
|
"source_path": "reference-skills/db-prisma-postgresql"
|
|
50
44
|
},
|
|
51
45
|
{
|
|
@@ -53,7 +47,6 @@
|
|
|
53
47
|
"kind": "reference",
|
|
54
48
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
55
49
|
"groups": ["backend-python"],
|
|
56
|
-
"included_in_presets": ["backend-python"],
|
|
57
50
|
"source_path": "reference-skills/db-sqlalchemy-postgresql"
|
|
58
51
|
},
|
|
59
52
|
{
|
|
@@ -61,7 +54,6 @@
|
|
|
61
54
|
"kind": "reference",
|
|
62
55
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
63
56
|
"groups": ["frontend-app"],
|
|
64
|
-
"included_in_presets": ["frontend-app"],
|
|
65
57
|
"source_path": "reference-skills/frontend-app-flutter-runtime"
|
|
66
58
|
},
|
|
67
59
|
{
|
|
@@ -69,7 +61,6 @@
|
|
|
69
61
|
"kind": "reference",
|
|
70
62
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
71
63
|
"groups": ["frontend-web"],
|
|
72
|
-
"included_in_presets": ["frontend-web"],
|
|
73
64
|
"source_path": "reference-skills/frontend-web-react-next-runtime"
|
|
74
65
|
},
|
|
75
66
|
{
|
|
@@ -77,7 +68,6 @@
|
|
|
77
68
|
"kind": "reference",
|
|
78
69
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
79
70
|
"groups": ["frontend-web"],
|
|
80
|
-
"included_in_presets": ["frontend-web"],
|
|
81
71
|
"source_path": "reference-skills/frontend-web-shadcn-ui"
|
|
82
72
|
},
|
|
83
73
|
{
|
|
@@ -85,7 +75,6 @@
|
|
|
85
75
|
"kind": "reference",
|
|
86
76
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
87
77
|
"groups": ["frontend-web", "frontend-app"],
|
|
88
|
-
"included_in_presets": ["frontend-web", "frontend-app"],
|
|
89
78
|
"source_path": "reference-skills/graphql-client-integration"
|
|
90
79
|
},
|
|
91
80
|
{
|
|
@@ -93,7 +82,6 @@
|
|
|
93
82
|
"kind": "reference",
|
|
94
83
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
95
84
|
"groups": ["frontend-web", "frontend-app", "backend-ts"],
|
|
96
|
-
"included_in_presets": ["frontend-web", "frontend-app", "backend-ts"],
|
|
97
85
|
"source_path": "reference-skills/graphql-contract"
|
|
98
86
|
},
|
|
99
87
|
{
|
|
@@ -101,7 +89,6 @@
|
|
|
101
89
|
"kind": "reference",
|
|
102
90
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
103
91
|
"groups": ["backend-ts"],
|
|
104
|
-
"included_in_presets": ["backend-ts"],
|
|
105
92
|
"source_path": "reference-skills/graphql-server-runtime"
|
|
106
93
|
},
|
|
107
94
|
{
|
|
@@ -109,7 +96,6 @@
|
|
|
109
96
|
"kind": "reference",
|
|
110
97
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
111
98
|
"groups": ["backend-python"],
|
|
112
|
-
"included_in_presets": ["backend-python"],
|
|
113
99
|
"source_path": "reference-skills/python-language"
|
|
114
100
|
},
|
|
115
101
|
{
|
|
@@ -117,7 +103,6 @@
|
|
|
117
103
|
"kind": "task",
|
|
118
104
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
119
105
|
"groups": ["agent-operating-layer"],
|
|
120
|
-
"included_in_presets": [],
|
|
121
106
|
"source_path": "task-skills/doc-impact-reviewer"
|
|
122
107
|
},
|
|
123
108
|
{
|
|
@@ -125,7 +110,6 @@
|
|
|
125
110
|
"kind": "task",
|
|
126
111
|
"supported_tools": ["codex"],
|
|
127
112
|
"groups": ["agent-operating-layer"],
|
|
128
|
-
"included_in_presets": [],
|
|
129
113
|
"source_path": "task-skills/context-promotion-review"
|
|
130
114
|
},
|
|
131
115
|
{
|
|
@@ -133,7 +117,6 @@
|
|
|
133
117
|
"kind": "task",
|
|
134
118
|
"supported_tools": ["codex"],
|
|
135
119
|
"groups": ["agent-operating-layer"],
|
|
136
|
-
"included_in_presets": [],
|
|
137
120
|
"source_path": "task-skills/pc"
|
|
138
121
|
},
|
|
139
122
|
{
|
|
@@ -141,7 +124,6 @@
|
|
|
141
124
|
"kind": "task",
|
|
142
125
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
143
126
|
"groups": [],
|
|
144
|
-
"included_in_presets": [],
|
|
145
127
|
"source_path": "task-skills/skill-load-check"
|
|
146
128
|
},
|
|
147
129
|
{
|
|
@@ -149,7 +131,6 @@
|
|
|
149
131
|
"kind": "task",
|
|
150
132
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
151
133
|
"groups": ["spec-lifecycle"],
|
|
152
|
-
"included_in_presets": [],
|
|
153
134
|
"source_path": "task-skills/spec-baseline-sync"
|
|
154
135
|
},
|
|
155
136
|
{
|
|
@@ -157,7 +138,6 @@
|
|
|
157
138
|
"kind": "task",
|
|
158
139
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
159
140
|
"groups": ["spec-lifecycle"],
|
|
160
|
-
"included_in_presets": [],
|
|
161
141
|
"source_path": "task-skills/spec-product-01-idea-to-brief"
|
|
162
142
|
},
|
|
163
143
|
{
|
|
@@ -165,7 +145,6 @@
|
|
|
165
145
|
"kind": "task",
|
|
166
146
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
167
147
|
"groups": ["spec-lifecycle"],
|
|
168
|
-
"included_in_presets": [],
|
|
169
148
|
"source_path": "task-skills/spec-product-02-brief-to-technical-context"
|
|
170
149
|
},
|
|
171
150
|
{
|
|
@@ -173,7 +152,6 @@
|
|
|
173
152
|
"kind": "task",
|
|
174
153
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
175
154
|
"groups": ["spec-lifecycle"],
|
|
176
|
-
"included_in_presets": [],
|
|
177
155
|
"source_path": "task-skills/spec-product-03-brief-to-product-spec"
|
|
178
156
|
},
|
|
179
157
|
{
|
|
@@ -181,7 +159,6 @@
|
|
|
181
159
|
"kind": "task",
|
|
182
160
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
183
161
|
"groups": ["spec-lifecycle"],
|
|
184
|
-
"included_in_presets": [],
|
|
185
162
|
"source_path": "task-skills/spec-product-04-product-spec-to-ui-spec"
|
|
186
163
|
},
|
|
187
164
|
{
|
|
@@ -189,23 +166,20 @@
|
|
|
189
166
|
"kind": "task",
|
|
190
167
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
191
168
|
"groups": ["spec-lifecycle"],
|
|
192
|
-
"included_in_presets": [],
|
|
193
169
|
"source_path": "task-skills/spec-product-05-spec-to-work-packets"
|
|
194
170
|
},
|
|
195
171
|
{
|
|
196
|
-
"id": "
|
|
172
|
+
"id": "project-terminology-sync",
|
|
197
173
|
"kind": "task",
|
|
198
174
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
199
175
|
"groups": ["spec-lifecycle"],
|
|
200
|
-
"
|
|
201
|
-
"source_path": "task-skills/spec-shared-glossary-sync"
|
|
176
|
+
"source_path": "task-skills/project-terminology-sync"
|
|
202
177
|
},
|
|
203
178
|
{
|
|
204
179
|
"id": "typescript-language",
|
|
205
180
|
"kind": "reference",
|
|
206
181
|
"supported_tools": ["claude-code", "codex", "gemini"],
|
|
207
182
|
"groups": ["frontend-web", "backend-ts"],
|
|
208
|
-
"included_in_presets": ["frontend-web", "backend-ts"],
|
|
209
183
|
"source_path": "reference-skills/typescript-language"
|
|
210
184
|
}
|
|
211
185
|
]
|
|
@@ -34,7 +34,7 @@ hook이 전달한 Project root가 이 검토의 유일한 프로젝트 기준이
|
|
|
34
34
|
- `docs/docs-status.md`
|
|
35
35
|
- `.ai-ops/context-layer.json`
|
|
36
36
|
- `docs/agent/rules/*`
|
|
37
|
-
- `docs/agent/checks
|
|
37
|
+
- `docs/agent/checks/impact-checklist.md`
|
|
38
38
|
5. context layer 파일이 없으면 absent로 기록하고, 다른 repo에서 대체 근거를 찾지 않는다.
|
|
39
39
|
6. 이미 있는 규칙이면 `already-covered`로 보고하고 새 승격 후보로 만들지 않는다.
|
|
40
40
|
7. 새 후보가 있으면 `core`, `project-local`, `global` 중 하나 이상으로 분류하고, 추천 위치를 제안한다.
|
|
@@ -41,7 +41,6 @@ staged 변경과 untracked 파일도 구현 영향에 포함한다.
|
|
|
41
41
|
- `.ai-ops/context-layer.json`
|
|
42
42
|
- `docs/agent/rules/doc-update-rules.md`
|
|
43
43
|
- `docs/agent/checks/impact-checklist.md`
|
|
44
|
-
- `docs/agent/checks/review-checklist.md`
|
|
45
44
|
|
|
46
45
|
필요하면 변경 파일과 가까운 README, runbook, spec, API 문서도 읽되, 전체 문서를 기계적으로 훑지 않는다.
|
|
47
46
|
|