seokang-sk 0.3.0 → 0.5.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.
Files changed (113) hide show
  1. package/README.MD +221 -160
  2. package/docs/automations/daily-thread-retrospective.md +313 -0
  3. package/docs/automations/daily-thread-retrospective.prompt.ko.md +103 -0
  4. package/docs/automations/notion-outbox-publish.md +90 -0
  5. package/docs/automations/notion-outbox-publish.prompt.ko.md +28 -0
  6. package/docs/automations/server-log-check.md +136 -0
  7. package/docs/changes/2026-03-16-codex-shared-rules-bootstrap.md +37 -0
  8. package/docs/changes/2026-03-24-sk-cli-bootstrap.md +66 -0
  9. package/docs/changes/2026-03-25-notion-local-config-bootstrap.md +81 -0
  10. package/docs/changes/2026-03-25-public-release-followup.md +59 -0
  11. package/docs/changes/2026-03-27-sk-feature-intent-artifact-guardrails.md +68 -0
  12. package/docs/changes/2026-04-07-sk-feature-retrospective-guardrails.md +68 -0
  13. package/docs/changes/2026-05-30-subagent-forced-dispatch-plan.md +185 -0
  14. package/docs/playbooks/README.md +21 -0
  15. package/docs/playbooks/backend-implementation.md +66 -0
  16. package/docs/playbooks/code-style-adoption.md +23 -0
  17. package/docs/playbooks/connector-preflight.md +138 -0
  18. package/docs/playbooks/figma-fidelity.md +110 -0
  19. package/docs/playbooks/frontend-implementation.md +63 -0
  20. package/docs/playbooks/harness-workflow.md +83 -0
  21. package/docs/playbooks/ui-runtime-verification.md +79 -0
  22. package/docs/policies/README.md +20 -0
  23. package/docs/policies/code-hygiene.md +83 -0
  24. package/docs/policies/code-style-profile.md +34 -0
  25. package/docs/policies/context-and-track.md +61 -0
  26. package/docs/policies/core-safety.md +93 -0
  27. package/docs/policies/notion-logging.md +192 -0
  28. package/docs/policies/slk-server-reference.md +56 -0
  29. package/docs/refactor/1-skill-layer-inventory.md +140 -0
  30. package/docs/refactor/2-policy-playbook-drafts.md +30 -0
  31. package/docs/refactor/3-slim-orchestrator.md +33 -0
  32. package/docs/refactor/4-retrospective-routing.md +40 -0
  33. package/docs/refactor/5-routing-validation.md +40 -0
  34. package/docs/refactor/6-live-retrospective-validation.md +51 -0
  35. package/docs/refactor/README.md +49 -0
  36. package/docs/setup/README.md +21 -0
  37. package/docs/setup/code-style-profile.md +31 -0
  38. package/docs/setup/codex-subagents.md +176 -0
  39. package/docs/setup/codex-workflows.md +110 -0
  40. package/docs/{sk-cli-guide.md → setup/sk-cli-guide.md} +72 -25
  41. package/docs/setup/sk-notion-workspace.md +92 -0
  42. package/docs/{sk-setup-architecture.md → setup/sk-setup-architecture.md} +11 -2
  43. package/docs/templates/README.md +19 -0
  44. package/docs/templates/impact-map.md +35 -0
  45. package/docs/templates/notion-records-history.md +92 -0
  46. package/docs/templates/planning-output.md +88 -0
  47. package/docs/templates/request-mapping.md +57 -0
  48. package/docs/templates/task-contract.md +45 -0
  49. package/package.json +17 -6
  50. package/profiles/seokang/backend.json +97 -0
  51. package/profiles/seokang/backend.md +13 -0
  52. package/profiles/seokang/base.md +9 -0
  53. package/profiles/seokang/frontend.json +32 -0
  54. package/profiles/seokang/frontend.md +11 -0
  55. package/profiles/seokang/profile.json +20 -0
  56. package/scripts/check_automation_safety.mjs +145 -0
  57. package/scripts/check_code_style_profile.mjs +100 -0
  58. package/scripts/check_codex_agent_runtime.mjs +191 -0
  59. package/scripts/check_codex_model_routing.mjs +217 -0
  60. package/scripts/check_ddl_comments.mjs +260 -0
  61. package/scripts/check_docs_integrity.mjs +351 -0
  62. package/scripts/check_no_unauthorized_defaults.mjs +143 -0
  63. package/scripts/check_sk_cli_smoke.mjs +325 -0
  64. package/scripts/check_ui_runtime_router.mjs +183 -0
  65. package/scripts/daily_server_log_check.sh +167 -0
  66. package/scripts/daily_thread_retrospective.mjs +785 -0
  67. package/scripts/daily_thread_retrospective.sh +7 -0
  68. package/scripts/install_codex_shared_rules.sh +6 -0
  69. package/scripts/install_codex_shared_setup.sh +12 -0
  70. package/scripts/notion_outbox.mjs +486 -0
  71. package/scripts/sk.mjs +1645 -121
  72. package/scripts/sk.sh +12 -0
  73. package/scripts/skill_inventory.mjs +111 -0
  74. package/starters/backend/.env.example +3 -0
  75. package/starters/backend/.gitignore.template +6 -0
  76. package/starters/backend/README.md +19 -0
  77. package/starters/backend/build.gradle +54 -0
  78. package/starters/backend/gradle/wrapper/gradle-wrapper.properties +7 -0
  79. package/starters/backend/gradle.properties +2 -0
  80. package/starters/backend/gradlew +4 -0
  81. package/starters/backend/gradlew.bat +3 -0
  82. package/starters/backend/settings.gradle +1 -0
  83. package/starters/backend/src/main/kotlin/__PACKAGE_PATH__/__APPLICATION_CLASS__.kt +15 -0
  84. package/starters/backend/src/main/kotlin/__PACKAGE_PATH__/base/config/AppProperties.kt +8 -0
  85. package/starters/backend/src/main/kotlin/__PACKAGE_PATH__/base/config/SecurityConfig.kt +20 -0
  86. package/starters/backend/src/main/kotlin/__PACKAGE_PATH__/project/health/controller/HealthController.kt +10 -0
  87. package/starters/backend/src/main/resources/application.properties +10 -0
  88. package/starters/backend/src/test/kotlin/__PACKAGE_PATH__/ApplicationContextTest.kt +12 -0
  89. package/starters/backend/src/test/kotlin/__PACKAGE_PATH__/SecurityIntegrationTest.kt +26 -0
  90. package/starters/backend/src/test/resources/application-test.properties +6 -0
  91. package/starters/frontend/.editorconfig +9 -0
  92. package/starters/frontend/.env.example +1 -0
  93. package/starters/frontend/.gitignore.template +5 -0
  94. package/starters/frontend/.prettierrc.json +6 -0
  95. package/starters/frontend/eslint.config.js +37 -0
  96. package/starters/frontend/index.html +12 -0
  97. package/starters/frontend/package.json +39 -0
  98. package/starters/frontend/scripts/check-style.mjs +35 -0
  99. package/starters/frontend/src/App.vue +18 -0
  100. package/starters/frontend/src/api/http.ts +20 -0
  101. package/starters/frontend/src/design/components/BaseButton.vue +39 -0
  102. package/starters/frontend/src/design/tokens.css +25 -0
  103. package/starters/frontend/src/env.d.ts +1 -0
  104. package/starters/frontend/src/main.ts +7 -0
  105. package/starters/frontend/src/router/index.ts +8 -0
  106. package/starters/frontend/src/views/HomeView.vue +20 -0
  107. package/starters/frontend/stylelint.config.js +9 -0
  108. package/starters/frontend/tsconfig.json +22 -0
  109. package/starters/frontend/vite.config.ts +13 -0
  110. package/templates/agent/base.md +3 -3
  111. package/templates/agent/frontend.md +2 -0
  112. package/templates/agent/style-profile.md +14 -0
  113. package/docs/sk-notion-workspace.md +0 -66
package/README.MD CHANGED
@@ -1,76 +1,155 @@
1
1
  # SeoKang Codex 스킬
2
2
 
3
- ## 설치와 기준 저장소
3
+ 이 패키지는 Codex가 SeoKang의 작업 방식과 코드 스타일을 따라 기획, 개발, 점검, 배포하도록 준비해 주는 설치 도구입니다. 개발자가 아니어도 아래 순서대로 복사해서 실행하면 됩니다.
4
4
 
5
- - 배포 패키지: `seokang-sk`
6
- - 설치 명령: `sk setup`
7
- - 수정 가능한 원본 저장소: `~/.agents/skills`
8
- - 동기화 대상 Codex 런타임: `~/.codex`
5
+ ## 처음 설치하는 분은 여기만 보세요
9
6
 
10
- 핵심 규칙은 단순하다.
7
+ ### 1. 준비물 설치
11
8
 
12
- `sk`는 최종적으로 `~/.agents/skills`의 로컬 저장소를 기준으로 동작해야 한다.
9
+ 아래 세 가지가 필요합니다.
13
10
 
14
- 즉, npm으로 배포한 뒤에도 `~/.agents/skills/skills/sk-feature-workflow/SKILL.md` 같은 스킬 파일을 로컬에서 바로 수정할 수 있어야 한다. 배포 패키지는 설치 진입점과 디스패치만 담당하고, 실제 기준 원본은 로컬 저장소에 남는다.
11
+ - [Codex 앱](https://openai.com/codex/)
12
+ - [Node.js](https://nodejs.org/) 20 이상
13
+ - [Git](https://git-scm.com/downloads)
15
14
 
16
- 중요:
17
- - `~/.agents/skills`는 이 저장소의 repo root다.
18
- - 실제 skill 폴더는 `~/.agents/skills/skills/` 아래에 둔다.
19
- - `docs/`, `codex-config/`, `scripts/`는 지원 폴더이고, `skills/`가 skill 묶음 폴더다.
15
+ Windows에서는 Git을 설치할 때 함께 제공되는 **Git Bash**를 사용하세요. macOS에서는 **터미널**을 사용하면 됩니다.
20
16
 
21
- ## 30초 구조 요약
17
+ > [!IMPORTANT]
18
+ > 이 설정은 Codex가 매번 승인창을 띄우지 않고 파일과 명령을 다룰 수 있도록 `approval_policy = "never"`, `sandbox_mode = "danger-full-access"`를 사용합니다. 개인 PC와 신뢰할 수 있는 프로젝트에서만 설치하고, 비밀번호·토큰·OTP를 Codex 대화나 프로젝트 파일에 넣지 마세요.
22
19
 
23
- - repo root는 `~/.agents/skills`다.
24
- - 실제 skill은 `~/.agents/skills/skills/sk-이름/SKILL.md` 형태로 둔다.
25
- - `docs/`, `codex-config/`, `scripts/`는 지원 폴더이며, `skills/`만 skill 묶음 폴더다.
20
+ 터미널에 아래 명령을 한 줄씩 입력해 준비가 끝났는지 확인합니다.
26
21
 
27
- ## 처음 설치
22
+ ```bash
23
+ node --version
24
+ npm --version
25
+ git --version
26
+ ```
27
+
28
+ 세 명령 모두 버전 숫자가 나오면 다음 단계로 넘어갑니다. `command not found` 또는 `명령을 찾을 수 없습니다`가 나오면 해당 프로그램을 먼저 설치한 뒤 터미널을 새로 여세요.
29
+
30
+ ### 2. SeoKang 스킬 설치
31
+
32
+ 아래 두 줄을 순서대로 실행합니다.
28
33
 
29
34
  ```bash
30
35
  npm install -g seokang-sk
31
- sk setup
36
+ sk setup --skip-notion
37
+ ```
38
+
39
+ `sk setup --skip-notion`은 설치 중 어려운 Notion 주소를 묻지 않고, 필요한 원본을 사용자 폴더의 `~/.agents/skills`에 준비해 Codex 설정을 동기화합니다. 마지막에 다음 문구가 나오면 설치가 끝난 것입니다.
40
+
41
+ ```text
42
+ ✅ 완료: setup이 끝났습니다.
43
+ ```
44
+
45
+ Codex가 열려 있었다면 완전히 종료한 뒤 다시 실행하세요.
46
+
47
+ ### 3. 설치 확인
48
+
49
+ ```bash
50
+ sk check
51
+ sk help
52
+ ```
53
+
54
+ - `pass` 또는 `✅` 항목은 정상입니다.
55
+ - Notion이나 DB를 아직 쓰지 않는다면 관련 `warn`은 설치 실패가 아닙니다.
56
+ - 무엇을 해야 할지 모르겠다면 출력된 `recommended_action` 명령만 그대로 실행하면 됩니다.
57
+
58
+ ## 프로젝트에서 사용하기
59
+
60
+ ### 이미 있는 프로젝트에 적용
61
+
62
+ 터미널에서 프로젝트 폴더로 이동한 뒤 아래 명령을 실행합니다.
63
+
64
+ ```bash
32
65
  cd /path/to/project
33
66
  sk init
34
- sk status
67
+ sk style audit
68
+ sk check
35
69
  ```
36
70
 
37
- - DB safe-read login-path alias를 프로젝트 track 기준으로 맞추려면 아래 명령을 사용한다.
71
+ `/path/to/project`는 실제 프로젝트 폴더로 바꿔야 합니다. 경로 입력이 어렵다면 `cd `까지 입력한 뒤 프로젝트 폴더를 터미널 창으로 끌어다 놓고 Enter를 누르세요.
72
+
73
+ `sk init`은 기존 `build.gradle`, properties, `package.json`을 새로 만들거나 덮어쓰지 않습니다. `.sk` 작업 상태와 `AGENTS.md`의 SeoKang 코드 스타일 구간만 준비합니다.
74
+
75
+ ### 새 프로젝트 만들기
76
+
77
+ 새 프로젝트를 둘 상위 폴더로 먼저 이동합니다. 화면을 만드는 프로젝트는 frontend, API와 서버를 만드는 프로젝트는 backend를 선택합니다.
38
78
 
39
79
  ```bash
40
- sk setup --configure-db-safe-read
80
+ # 화면 프로젝트
81
+ sk create frontend sample-office
82
+
83
+ # API 서버 프로젝트
84
+ sk create backend sample-api --package com.mycompany.sample
85
+ ```
86
+
87
+ - `sample-office`, `sample-api`는 원하는 영문 프로젝트 이름으로 바꿉니다.
88
+ - backend의 `com.mycompany.sample`은 사용할 패키지명으로 바꿉니다.
89
+ - 이미 존재하는 폴더에는 starter를 덮어쓰지 않습니다.
90
+ - 생성이 실패하면 불완전한 프로젝트 폴더를 남기지 않습니다.
91
+
92
+ 프로젝트를 Codex에서 연 뒤 평소 말하듯 요청하면 됩니다.
93
+
94
+ ```text
95
+ $sk-plan 예약 관리 화면과 서버 구조를 계획해줘
96
+ $sk-feature 계획한 예약 관리 기능을 구현해줘
97
+ $sk-bugfix 저장 버튼을 눌러도 저장되지 않는 문제를 고쳐줘
98
+ $sk-git
99
+ $sk-deploy
41
100
  ```
42
101
 
43
- - Notion 문서까지 함께 쓸 계획이면 설치 후 한 번 더 아래 명령을 실행한다.
102
+ ## 업데이트
103
+
104
+ 설치 후 새 버전을 받으려면 먼저 변경 가능 여부를 확인하고 업데이트합니다.
44
105
 
45
106
  ```bash
46
- sk setup --configure-notion
107
+ sk update --dry-run
108
+ sk update
109
+ sk check
47
110
  ```
48
111
 
49
- - `Records` / `Projects` 데이터베이스 URL에 Notion id가 들어 있으면 `data source id`는 setup 중 자동으로 추출한다.
112
+ 로컬에서 직접 고친 파일이 있거나 원격과 충돌할 가능성이 있으면 `sk update`는 강제로 덮어쓰지 않고 중단합니다.
113
+
114
+ ## 자주 막히는 문제
115
+
116
+ ### `npm` 명령을 찾을 수 없음
117
+
118
+ Node.js가 설치되지 않았거나 설치 전 터미널을 계속 사용 중인 상태입니다. Node.js를 설치하고 터미널을 완전히 닫았다가 다시 여세요.
119
+
120
+ ### `sk` 명령을 찾을 수 없음
121
+
122
+ 터미널을 새로 연 뒤 `npm install -g seokang-sk`를 다시 실행하세요. Windows PowerShell에서 `sk.ps1` 실행 정책 오류가 나오면 Git Bash를 열어 같은 명령을 실행합니다.
50
123
 
51
- - Notion 문서 기록이 `invalid_grant`, `unauthorized`, `forbidden` 같은 인증 오류로 실패하면 아래 명령으로 MCP 인증을 다시 연결한다.
52
- - `Tool ... not found`처럼 특정 Notion tool만 빠진 경우는 로그인 문제가 아닐 수 있으니, exact error를 남기고 남아 있는 Notion MCP tool로 우회 가능한지 먼저 확인한다.
53
- - `notion-query-data-sources` / `query_data_sources`는 더 이상 Notion 기록의 1차 탐색 경로로 두지 않는다.
54
- - local config에 data source id가 있으면 `fetch` / `create_pages` / `update_page`를 먼저 쓰고, lookup이 필요할 때만 `search -> fetch` 순서로 보완한다.
124
+ ### `sk setup을 실행하려면 git이 필요합니다`
125
+
126
+ Git을 설치한 뒤 터미널을 새로 열고 `git --version`을 확인한 다음 `sk setup --skip-notion`을 다시 실행하세요.
127
+
128
+ ### Notion 또는 DB 경고가 나옴
129
+
130
+ 기본 설치에는 필요하지 않은 선택 설정입니다. 실제로 사용할 때만 아래 명령을 실행합니다.
55
131
 
56
132
  ```bash
57
- codex mcp login notion
133
+ sk setup --configure-notion
134
+ sk setup --configure-db-safe-read
58
135
  ```
59
136
 
60
- 자세한 구조 문서:
137
+ ### 그래도 해결되지 않음
61
138
 
62
- - `docs/sk-setup-architecture.md`
63
- - `docs/sk-cli-guide.md`
64
- - `docs/sk-notion-workspace.md`
139
+ 아래 명령 결과를 복사해 설치를 도와주는 사람에게 전달하세요. 비밀번호, 토큰, OTP는 함께 보내지 마세요.
65
140
 
66
- 자동화 기준 문서:
141
+ ```bash
142
+ sk check
143
+ sk status
144
+ ```
67
145
 
68
- - `docs/automations/server-log-check.md`
69
- - `docs/automations/daily-thread-retrospective.md`
146
+ ## 설치 구조를 더 알고 싶은 분
70
147
 
71
- 이 저장소는 SeoKang 개인 개발 워크플로를 Codex Skill과 공용 Codex 데스크톱 설정 원본으로 관리하기 위한 저장소다.
148
+ - npm 패키지 `seokang-sk`: 최초 설치와 명령 연결
149
+ - `~/.agents/skills`: 수정 가능한 스킬 원본 저장소
150
+ - `~/.codex`: Codex가 실제로 읽는 동기화 설정
72
151
 
73
- 기능 개발, 버그 수정, 리팩토링, 기획, 배포뿐 아니라 문서화와 Notion 기록까지 포함한 작업 방식을 정리한다.
152
+ 자세한 내용은 [sk CLI 가이드](docs/setup/sk-cli-guide.md)와 [설치 구조](docs/setup/sk-setup-architecture.md)를 참고하세요.
74
153
 
75
154
  ---
76
155
 
@@ -78,11 +157,19 @@ codex mcp login notion
78
157
 
79
158
  ```text
80
159
  .
160
+ |- docs/
161
+ | |- setup/ # 설치/런타임/Notion/Subagent 가이드
162
+ | |- automations/ # 자동화 기준 문서
163
+ | |- policies/ # 공통 정책
164
+ | |- playbooks/ # specialist 체크리스트
165
+ | |- templates/ # 출력/기록 템플릿
166
+ | |- refactor/ # 구조 개편 decision log
81
167
  |- skills/
82
168
  | |- sk-feature-workflow # 기능 작업 메인 오케스트레이터
83
169
  | |- sk-bugfix-workflow # 버그 수정 워크플로
84
170
  | |- sk-refactor # 리팩토링 워크플로
85
171
  | |- sk-plan # 기획/설계 응답 워크플로
172
+ | |- sk-counseling-feedback # 상담 녹음 로컬 전사·난이도·HTML 피드백
86
173
  | |- sk-db # DB 변경 워크플로
87
174
  | |- sk-design-system # 디자인 시스템 점검/구축
88
175
  | |- sk-docs # 변경 문서 작성
@@ -93,108 +180,53 @@ codex mcp login notion
93
180
  | |- agents/ # ~/.codex/agents 공용 원본
94
181
  | |- rules/ # ~/.codex/rules 공용 원본
95
182
  |- templates/
96
- | |- agent/ # 프로젝트용 AGENT.MD bootstrap 템플릿
183
+ | |- agent/ # 프로젝트용 AGENTS.md bootstrap 템플릿
97
184
  |- scripts/ # 공용 설치 / 보조 스크립트
98
185
  ```
99
186
 
100
187
  - 실제 skill 엔트리는 `skills/sk-*/SKILL.md`다.
101
188
 
189
+ ## 하네스 지원 파일
190
+
191
+ - 작업 계약 템플릿: `docs/templates/task-contract.md`
192
+ - 영향도 맵 템플릿: `docs/templates/impact-map.md`
193
+ - 하네스 워크플로 기준: `docs/playbooks/harness-workflow.md`
194
+ - default/fallback 체크: `node scripts/check_no_unauthorized_defaults.mjs <path ...>`
195
+ - DDL comment 체크: `node scripts/check_ddl_comments.mjs <path ...>`
196
+ - 문서 링크 무결성 체크: `node scripts/check_docs_integrity.mjs <path ...>`
197
+ - GPT-5.6 기본/agent 모델 배치 체크: `node scripts/check_codex_model_routing.mjs`
198
+ - custom agent 실제 적용 smoke: 호출 직전 UTC 시각과 `spawn_agent`가 반환한 task path를 사용해 `node scripts/check_codex_agent_runtime.mjs --role <agent-name> --agent-path <task-name> --since <ISO-8601>` 실행 (`--thread-id <uuid>`도 지원)
199
+ - CLI smoke 체크: `node scripts/check_sk_cli_smoke.mjs`
200
+ - UI runtime router 체크: `node scripts/check_ui_runtime_router.mjs`
201
+ - automation safety 체크: `node scripts/check_automation_safety.mjs`
202
+ - 전체 하네스: `npm run check:harness`
203
+ - 하네스는 subagent 대체가 아니라 preflight/check 레이어다.
204
+
102
205
  ## 어디를 수정하나
103
206
 
104
207
  - skill 동작 변경: `skills/sk-*/SKILL.md`
105
208
  - 설치/런타임 설정 변경: `codex-config/**`, `scripts/**`
106
- - 프로젝트용 AGENT.MD 기본 틀 변경: `templates/agent/*.md`
209
+ - 프로젝트용 AGENTS.md 기본 틀 변경: `templates/agent/*.md`
107
210
  - 사용법/운영 가이드 변경: `docs/**`, `README.MD`
108
211
 
109
212
  ---
110
213
 
111
- ## 목적
112
-
113
- - 기능/버그/리팩터링 작업을 명확히 분리한다.
114
- - 코드 변경뿐 아니라 문서와 기록까지 같은 규칙으로 관리한다.
115
- - 회사 맥북, 집 윈도우처럼 데스크톱이 달라도 같은 Codex 셋업을 재현한다.
116
- - 반복되는 Codex 설정 수정을 로컬 수작업이 아니라 저장소 원본 기준으로 동기화한다.
117
-
118
- ## 실행 방식
119
-
120
- - `sk`는 별도 앱 UI가 아니라 CLI 명령으로만 동작한다.
121
- - `sk setup`이 sync하는 대상은 `~/.codex`이고, `sk init`은 현재 프로젝트의 `.sk/` 상태를 준비한다. 필요하면 `--agent-md`로 프로젝트 루트 `AGENT.MD`도 함께 만든다.
122
- - 옵션과 예시는 `sk help`, `sk help <command>`, `<command> --help`로 바로 확인한다. 예: `sk help init`, `sk init --help`
123
- - OMX가 `omx setup`처럼 짧아 보이는 이유는 npm 전역 CLI로 설치되기 때문이다.
124
- - 지금 `sk`도 최초 1회만 `npm link`로 등록하면 이후에는 `sk setup`, `sk init`만 기억하면 된다.
125
- - 실행 전제:
126
- - Node.js 20+
127
- - Windows는 Git Bash 권장
214
+ ## 저장소를 직접 개발하는 분
128
215
 
129
- ## 저장소를 직접 개발할 때
130
-
131
- - 최초 1회만 이 저장소에서 전역 CLI를 등록한다.
216
+ 일반 설치자는 이 절을 건너뛰어도 됩니다. 이 저장소 자체를 수정하는 개발자만 repo 루트에서 최초 한 번 `npm link`를 실행합니다.
132
217
 
133
218
  ```bash
134
- cd /c/Users/<user>/.agents/skills
219
+ cd ~/.agents/skills
135
220
  npm link
221
+ sk setup --skip-notion
136
222
  ```
137
223
 
138
- - 그 다음부터는 어디서든 이 세 줄이면 된다.
224
+ Windows Git Bash에서는 사용자 경로에 맞춰 `cd /c/Users/<user>/.agents/skills`를 사용합니다. 저장소 안에서 전역 링크 없이 확인해야 할 때만 `sh ./sk <command>` fallback을 사용합니다.
139
225
 
140
- ```bash
141
- sk setup
142
- sk init
143
- sk check
144
- sk status
145
- ```
146
-
147
- - Notion 기록을 쓸 계획이면 최초 1회는 아래처럼 사용자별 Notion 위치도 같이 설정한다.
148
-
149
- ```bash
150
- sk setup --configure-notion
151
- ```
152
-
153
- - 다른 프로젝트를 바로 지정하고 싶으면 `init`, `status`, `memory` 계열에 `--cwd`를 붙이면 된다.
154
- - `sk init --cwd /path/to/project`
155
- - `sk status --cwd /path/to/project`
156
- - npm link 없이도 저장소 안에서는 fallback으로 `sh ./sk setup`을 계속 쓸 수 있다.
157
- - `sk` 사용 흐름 설명은 `docs/sk-cli-guide.md`를 기준 문서로 본다.
158
-
159
- ## 첫 설치 예제
160
-
161
- 권장 새 PC 흐름:
162
-
163
- 1. Codex 설치
164
- 2. `npm install -g seokang-sk`
165
- 3. `sk setup`
166
- 4. 작업할 프로젝트 루트에서 `sk init`
167
- 5. `sk check`
168
- 6. 필요하면 `sk status`
169
-
170
- ### Windows Git Bash
171
-
172
- ```bash
173
- sk setup
174
- cd /c/path/to/project
175
- sk init
176
- sk check
177
- sk status
178
- ```
179
-
180
- ### macOS / Linux
181
-
182
- ```bash
183
- sk setup
184
- cd /path/to/project
185
- sk init
186
- sk check
187
- sk status
188
- ```
189
-
190
- ### 저장소 로컬 fallback 예제
191
-
192
- ```bash
193
- cd /c/Users/<user>/.agents/skills
194
- sh ./sk setup
195
- sh ./sk check
196
- sh ./sk status
197
- ```
226
+ - `sk help <command>`: 명령별 옵션과 예시 확인
227
+ - `sk init --cwd /path/to/project`: 다른 프로젝트 초기화
228
+ - `sk status --cwd /path/to/project`: 다른 프로젝트 상태 확인
229
+ - [상세 CLI 가이드](docs/setup/sk-cli-guide.md)를 기준 문서로 사용
198
230
 
199
231
  ---
200
232
 
@@ -204,6 +236,7 @@ sh ./sk status
204
236
  - `sk-bugfix`: 근거 기반 버그 수정
205
237
  - `sk-refactor`: 기능 변경 없는 구조 개선
206
238
  - `sk-plan`: 기획/설계 응답
239
+ - `sk-counseling-feedback`: 상담 녹음을 로컬 전사하고 난이도와 3단계 코칭 피드백을 단일 HTML로 생성
207
240
  - `sk-git`: 변경 파일 기준 commit/push
208
241
  - `sk-deploy`: 서버/NAS 배포와 npm publish 배포
209
242
 
@@ -238,19 +271,21 @@ sh ./sk status
238
271
  - `~/.codex/rules/skills-shared.rules`는 저장소 원본을 그대로 복사한다.
239
272
  - `~/.codex/sk/notion/workspace.json`은 사용자별 Notion workspace 설정 파일이다.
240
273
  - setup 중 기존 대상 파일이 바뀌면 현재 작업 디렉터리의 `.sk/backups/setup/**` 아래에 백업을 남긴다.
274
+ - 기존 활성 config가 source와 다르면 `sk setup`은 config 전체 교체만 건너뛰고 app-managed key를 보존한다. agent만 갱신할 때는 `sk sync-agents --dry-run` 후 `sk sync-agents`를 사용한다.
241
275
  - 공용 기본값은 `approval_policy = "never"`, `sandbox_mode = "danger-full-access"`다.
242
- - 현재 설정은 Playwright MCP 승인창이 `workspace-write + never`에서도 계속 나타나는 현상을 확인한 뒤, `danger-full-access + never`까지 실험해 보기 위한 강한 기본값이다.
276
+ - 기본 작업 모델은 `gpt-5.6-sol`, reasoning effort는 `high`다.
277
+ - 탐색형 custom agent는 Terra를 사용하고, 명세·리뷰·DB·UI/Figma 역할은 Sol High를 사용한다. 정확한 배치는 `docs/setup/codex-subagents.md`를 따른다.
278
+ - Ultra는 상시 기본값으로 두지 않고, 대규모 구조 감사처럼 병렬 분해 이득이 분명한 일회성 작업에서만 선택한다.
279
+ - 현재 설정은 승인창 없이 공용 설정 동기화를 진행하기 위한 강한 기본값이며, UI 런타임 검증은 Playwright MCP 대신 Browser / Chrome / Computer Use 라우터를 기본 경로로 둔다.
243
280
  - CLI로 쓰면 `codex --sandbox danger-full-access -a never`와 같은 기준이다.
244
281
  - shared subagent를 실제로 사용할 수 있도록 공용 source에서 `multi_agent` feature를 켠다.
282
+ - `/goal`, Automations, Skills 중심 운영 기준은 `docs/setup/codex-workflows.md`를 따른다.
245
283
 
246
- 설치 명령:
247
-
248
- ```bash
249
- sh ~/.agents/skills/scripts/install_codex_shared_setup.sh
250
- ```
284
+ 일반 사용자 설치 명령:
251
285
 
252
286
  ```bash
253
- sh /c/Users/<user>/.agents/skills/scripts/install_codex_shared_setup.sh
287
+ npm install -g seokang-sk
288
+ sk setup --skip-notion
254
289
  ```
255
290
 
256
291
  새 CLI 명령:
@@ -281,42 +316,47 @@ sk search "reviewer"
281
316
 
282
317
  호환성:
283
318
 
284
- - 기준 설치 스크립트는 `scripts/install_codex_shared_setup.sh` 하나다.
285
- - 전역 CLI 등록을 원하면 이 저장소 루트에서 최초 1회 `npm link`를 실행한다.
286
- - Windows에서도 Git Bash 환경에서 동일한 `.sh`를 실행한다.
287
- - Windows에서 `sh` 명령이 없으면 Git for Windows(Git Bash)를 설치한 뒤 다시 실행한다.
319
+ - 일반 사용자 기준 설치 진입점은 `npm install -g seokang-sk` → `sk setup --skip-notion`이다.
320
+ - `scripts/install_codex_shared_setup.sh`는 저장소 개발과 이전 설치 방식의 호환용으로만 유지한다.
321
+ - 이 저장소를 직접 개발할 때만 repo 루트에서 최초 1회 `npm link`를 실행한다.
322
+ - Windows의 저장소 로컬 `.sh` fallback은 Git Bash에서만 실행한다.
288
323
  - Windows PowerShell에서 실행 정책 때문에 `sk.ps1`이 막히면 `sk.cmd`를 쓰거나 생성된 `sk.ps1`을 비활성화해 `sk.cmd`가 우선 잡히게 한다.
289
324
  - 기존 `scripts/install_codex_shared_rules.sh`는 새 설치 스크립트를 호출하는 래퍼로 유지한다.
290
325
  - `scripts/sk.sh`는 Node 기반 `scripts/sk.mjs`를 호출하는 Git Bash 표준 진입점이다.
291
326
  - repo 루트 `./sk`는 npm link를 쓰지 않을 때의 fallback 진입점이다.
292
327
  - 다른 프로젝트를 지정해야 하면 대부분의 명령에서 `--cwd /path/to/project`를 같이 쓰면 된다.
293
328
  - `sk setup`이 설치와 동기화를 맡는다.
294
- - `sk init`이 프로젝트 상태 준비를 맡는다.
329
+ - `sk create`가 새 프로젝트 전체 생성을 맡고 `sk init`은 기존 프로젝트 profile 연결을 맡는다.
295
330
 
296
331
  상태 디렉터리:
297
332
 
298
- - `sk init`은 현재 작업 디렉터리 아래 `.sk/`를 만들고, `--agent-md`를 붙이면 프로젝트 루트 `AGENT.MD`도 함께 만든다.
333
+ - `sk init`은 현재 작업 디렉터리 아래 `.sk/`와 프로젝트 루트 `AGENTS.md`의 managed style block을 준비한다.
299
334
  - `sk setup`은 관리용 저장소 `~/.agents/skills/.sk/`를 setup 상태/백업 기준 경로로 사용한다.
300
335
  - `.sk/setup-scope.json`: 마지막 init/setup 기록
301
336
  - `.sk/project-memory.json`: 다음 세션이 읽을 구조화 메모
302
337
  - `.sk/notepad.md`: 우선 컨텍스트/작업 메모
303
338
  - `.sk/backups/setup/**`: setup 중 덮어쓰기 전에 남긴 백업
304
- - Notion workspace 설정은 `~/.codex/sk/notion/workspace.json`을 쓴다.
339
+ - Notion workspace 설정은 `~/.codex/sk/notion/workspace.json`을 쓰고, 작업 문서 outbox는 `~/.codex/sk/notion/outbox`를 쓴다.
305
340
 
306
341
  중요 제한:
307
342
 
308
343
  - `skills-shared.rules`는 shell prefix 자동 허용만 처리한다.
309
- - Notion/Figma/Playwright 같은 MCP/tool 승인 정책은 `shared-config.toml`에서 함께 관리한다.
344
+ - Notion/Figma MCP와 Browser / Chrome / Computer Use를 나누는 런타임 검증 라우팅은 `shared-config.toml`과 관련 playbook에서 함께 관리한다.
310
345
  - 공용 subagent 등록은 `shared-config.toml`의 `[agents.*]`와 `codex-config/agents/seokang/*.toml`에서 함께 관리한다.
311
346
  - `danger-full-access`는 workspace 밖 파일, 홈 디렉터리, SSH, 네트워크, 외부 명령 실행까지 sandbox 제한 없이 진행할 수 있게 한다.
312
347
  - `approval_policy = "never"`라서 승인창도 띄우지 않는다.
313
- - 기본 분석용 공용 subagent는 `read-only sandbox`를 기본으로 하며, `Notion MCP`와 `Playwright`는 agent 파일에서 명시적으로 비활성화한다.
314
- - 브라우저 재현, 콘솔/네트워크 증거, Notion 조회/기록은 전용 tool subagent를 두지 않고 메인 agent가 직접 수행한다.
315
- - Notion 관련 조회/기록은 MCP 우선을 기본으로 한다. 인증/권한 실패가 나면 exact error를 먼저 보고한다.
316
- - Notion 실패를 숨기기 위해 Playwright로 notion.so를 기본 경로처럼 사용하지 않는다. 웹 UI fallback은 사용자가 명시적으로 요청한 경우에만 허용한다.
317
- - 같은 설정은 Playwright만이 아니라 현재 세션 전체에 적용된다.
348
+ - 기본 분석용 공용 subagent TOML은 `read-only sandbox`로 두지만, 현재 task의 live permission override가 있으면 부모 권한이 우선할 수 있다. `Notion MCP`, `Playwright`, `Browser`, `Chrome`, `Computer Use` 같은 tool 작업은 agent 지침에서 금지한다.
349
+ - 브라우저 재현, 콘솔/네트워크 증거, Notion 조회/publish는 전용 tool subagent를 두지 않고 메인 agent 또는 Codex 자동화가 수행한다.
350
+ - Notion과 Figma 관련 조회/작업은 plugin(MCP) 경로를 기본으로 사용한다.
351
+ - 작업 문서 작성은 local outbox를 기본으로 하고, Notion 조회/publish는 MCP 우선을 기본으로 한다. 인증/권한 실패가 나면 exact error를 먼저 보고한다.
352
+ - Figma도 browser/manual 확인보다 MCP tool 호출을 기본 경로로 두고, 우회는 exact error와 범위 불명확성이 정리된 뒤에만 사용한다.
353
+ - Notion 실패를 숨기기 위해 브라우저 자동화로 notion.so를 기본 경로처럼 사용하지 않는다. 웹 UI fallback은 사용자가 명시적으로 요청한 경우에만 허용한다.
354
+ - UI 런타임 검증이 필요하면 메인 agent가 Browser / Chrome / Computer Use 라우터로 실제 앱/브라우저 상태를 확인한다.
355
+ - 로컬 dev URL은 Browser, 사용자 Chrome 세션/쿠키/기존 탭은 Chrome, 앱/OS-level UI는 Computer Use를 우선한다.
356
+ - Computer Use로 브라우저 검증을 해야 하면 사용자 현재 탭을 쓰지 않고 전용 테스트 창 또는 탭을 열어 검증한 뒤 닫는다.
357
+ - 사용자가 명시적으로 Playwright를 요청하지 않았다면 UI 런타임 검증에서 `PWCLI`, `playwright_cli.sh`, `@playwright/mcp`, standalone Playwright 기반 browser-use fallback을 사용하지 않는다.
318
358
  - 이 설정은 보안 유지형이 아니라 실험/자동화 우선 설정이다.
319
- - 현재 데스크톱 빌드 기준으로도 Playwright MCP 승인창 제거는 보장되지 않으므로, 실제 효과는 새 세션에서 직접 확인해야 한다.
359
+ - Browser / Chrome / Computer Use 플러그인 제공 여부는 Codex 데스크톱 세션의 tool surface를 기준으로 확인한다.
320
360
 
321
361
  다른 프로젝트에도 프로젝트별 rules가 필요하면 각 프로젝트 루트의 `.codex/rules/*.rules`에 별도로 추가해서 관리한다.
322
362
 
@@ -362,18 +402,20 @@ LOCAL_JAR_PATH=./build/libs/km-admin-api.jar
362
402
  - API 계약 변경 시 전체 이름/응답 구조 확인
363
403
  - 리팩터링은 동작 유지가 전제
364
404
  - build 성공과 정상 동작은 별개로 본다
365
- - Notion 기록을 임의로 생략하지 않는다
405
+ - Notion outbox 문서를 임의로 생략하지 않는다
366
406
 
367
407
  ---
368
408
 
369
- ## 설치 스크립트 사용법
409
+ ## 호환용 설치 스크립트 사용법
370
410
 
371
- - 이 설치 스크립트는 이 저장소의 공용 Codex 설정을 로컬 `~/.codex`로 한 번에 복사/동기화한다.
411
+ - 일반 사용자는 이 절 대신 README 맨 위의 npm 설치 절차를 사용합니다.
412
+ - 이 설치 스크립트는 저장소 개발자가 공용 Codex 설정을 로컬 `~/.codex`로 복사·동기화할 때 사용하는 호환 경로다.
372
413
  - 같은 설치 스크립트가 공용 subagent도 `~/.codex/agents/seokang`으로 함께 동기화한다.
373
414
  - 내부적으로는 `scripts/sk.mjs setup` 흐름을 호출한다.
374
415
  - macOS shell 설치 예시: `sh ~/.agents/skills/scripts/install_codex_shared_setup.sh`
375
416
  - Windows Git Bash shell 설치 예시: `sh /c/Users/<user>/.agents/skills/scripts/install_codex_shared_setup.sh`
376
- - 이 저장소의 공용 Codex 설정이 바뀌면 같은 설치 스크립트를 다시 실행한다.
417
+ - 기존 설치에서 shared agent만 바뀌면 설치 스크립트를 다시 실행하지 않고 `sk sync-agents`를 사용한다.
418
+ - source와 다른 활성 config는 setup에서 교체하지 않고 그대로 보존된다.
377
419
  - 로컬 대상 파일이 source와 다르면 설치 스크립트가 덮어쓰기 전에 `.sk/backups/setup/**` 아래에 백업을 남긴다.
378
420
  - Windows에서 `sh`를 인식하지 못하면 Git for Windows(Git Bash)를 설치한 뒤 같은 `.sh` 명령을 다시 실행한다.
379
421
 
@@ -382,18 +424,34 @@ LOCAL_JAR_PATH=./build/libs/km-admin-api.jar
382
424
  - `setup`
383
425
  - `~/.agents/skills` 저장소를 준비하거나 재사용하고, config/rules/shared agents를 sync한 뒤 check까지 실행한다.
384
426
  - 최초 setup 시 interactive 환경이면 사용자별 Notion workspace 설정 파일도 함께 만들 수 있다.
385
- - `--dry-run`, `--verbose`, `--configure-notion`, `--skip-notion`을 지원한다.
427
+ - `--dry-run`, `--verbose`, `--configure-notion`, `--skip-notion`과 Notion fast path 옵션(`--records-data-source-id`, `--projects-data-source-id`, `--project-page-url`, `--history-data-source-id`, `--record-type`)을 지원한다.
428
+ - `update`
429
+ - canonical skills 저장소가 clean이고 upstream으로 fast-forward 가능할 때만 갱신한다.
430
+ - dirty/ahead/diverged 상태에서는 강제 reset 없이 중단한다.
431
+ - `create`
432
+ - `sk create backend <name> --package <root.package>` 또는 `sk create frontend <name>`으로 승인된 starter를 생성한다.
433
+ - backend 선택 기능은 `--capabilities cache,excel`처럼 versioned capability로만 추가한다.
434
+ - `sync-agents`
435
+ - `config.toml`, rules, Notion, 프로젝트 상태를 건드리지 않고 `~/.codex/agents/seokang/*.toml`만 백업 후 동기화한다.
436
+ - 기존 설치의 모델/지침 변경은 `sk sync-agents --dry-run` 확인 후 `sk sync-agents`로 반영한다.
437
+ - `--scope <user|project>`, `--cwd <path>`, `--dry-run`, `--verbose`를 지원한다.
386
438
  - `init`
387
- - 현재 프로젝트 루트의 `.sk/` 상태 파일을 준비한다.
388
- - `--agent-md`를 붙이면 프로젝트 루트에 `AGENT.MD` 초안도 함께 만든다.
389
- - `--cwd <path>`, `--agent-md`, `--dry-run`, `--force`, `--verbose`를 지원한다.
439
+ - 현재 프로젝트 루트의 `.sk/`와 `AGENTS.md` managed style block을 준비한다.
440
+ - 기존 build/properties/package 파일은 생성하거나 덮어쓰지 않는다.
441
+ - 기존 `--agent-md`는 호환 alias로 유지한다.
442
+ - `--cwd <path>`, `--no-style`, `--dry-run`, `--force`, `--verbose`를 지원한다.
443
+ - `style`
444
+ - `sk style audit`은 profile/starter/capability drift를 검사한다.
445
+ - `sk style apply`는 AGENTS managed block과 profile 상태만 갱신한다.
390
446
  - `check`
391
447
  - 현재 설치가 source와 일치하는지 확인한다.
392
- - Notion workspace 설정 파일 존재 여부와 필수 필드도 함께 확인한다.
393
- - `--cwd <path>`, `--json`을 지원한다.
448
+ - Codex workflow 상태(`multi_agent`, `/goal`, automation 기준 문서, skill 원본)도 함께 확인한다.
449
+ - Notion workspace 설정 파일, outbox 자동화 기준 문서, fast path cache 준비 상태도 함께 확인한다.
450
+ - drift나 선택적 설정 경고에는 `recommended_action`을 함께 제공한다.
451
+ - `--cwd <path>`, `--track <name>`, `--json`을 지원한다.
394
452
  - `status`
395
453
  - 현재 `.sk` 상태, memory/notepad, Notion workspace 설정 상태, 최근 backup, check 결과를 함께 보여준다.
396
- - `--cwd <path>`, `--json`을 지원한다.
454
+ - `--cwd <path>`, `--track <name>`, `--json`을 지원한다.
397
455
  - `memory`
398
456
  - `.sk/project-memory.json`과 `.sk/notepad.md`를 초기화하고 읽는다.
399
457
  - `show`, `init`, `add-note`, `add-directive`를 지원한다.
@@ -415,25 +473,28 @@ LOCAL_JAR_PATH=./build/libs/km-admin-api.jar
415
473
  - `db_impact_reviewer`
416
474
  - `ui_flow_mapper`
417
475
  - `design_checker`
418
- - 설정과 유지보수 방법은 `docs/codex-subagents.md`에 정리했다.
419
- - `sk-feature`, `sk-bugfix`, `sk-db`는 shared subagent가 설치되어 있으면 사용자가 따로 지시하지 않아도 내부적으로 dispatch할 수 있도록 설계한다.
420
- - 기본 분석용 subagent는 `Notion MCP`와 `Playwright`를 직접 사용하지 않고, 이런 tool 작업은 메인 agent가 맡는다.
476
+ - 설정과 유지보수 방법은 `docs/setup/codex-subagents.md`에 정리했다.
477
+ - 공통 Runtime Delegation 조건이 충족되면 skill의 지시만으로 적합한 custom agent를 호출하며, 사용자가 매번 별도로 요청할 필요는 없다.
478
+ - 교차 레이어·외부 기준 대조·반복 workflow 마찰·비단순 회귀 위험이 없고 독립 lane도 없는 단순 작업에는 호출 수를 강제하지 않는다.
479
+ - 위임 판단을 사용자 출력 형식으로 노출하지 않고 실제 실행 이력만 기록한다.
480
+ - 기본 분석용 subagent는 `Notion MCP`, `Playwright`, `Browser`, `Chrome`, `Computer Use`를 직접 사용하지 않고, 이런 tool 작업은 메인 agent가 맡는다.
421
481
 
422
- ## 프로젝트 AGENT.MD
482
+ ## 프로젝트 AGENTS.md
423
483
 
424
- - `AGENT.MD`는 프로젝트별 고정 규칙 문서다.
425
- - `README`는 사람용 개요/설치 문서, `.sk/*`는 세션 메모, `AGENT.MD`는 agent가 먼저 읽어야 할 프로젝트 계약서로 분리해서 쓴다.
484
+ - `AGENTS.md`는 Codex가 기본 탐색하는 프로젝트별 고정 규칙 문서다.
485
+ - `README`는 사람용 개요/설치 문서, `.sk/*`는 세션 메모, `AGENTS.md`는 agent가 먼저 읽어야 할 프로젝트 계약서로 분리해서 쓴다.
486
+ - 기존 `AGENT.MD`만 있는 프로젝트는 `sk init` 실행 시 내용을 보존해 `AGENTS.md`로 마이그레이션하고 style managed block을 덧붙인다.
426
487
  - 성능 차이가 크지 않은 한 기본 초안은 한글로 생성하고, 명령어/식별자/경로만 원문을 유지한다.
427
488
  - 새 프로젝트에서 바로 만들려면 아래처럼 시작한다.
428
489
 
429
490
  ```bash
430
- sk init --agent-md
491
+ sk init
431
492
  ```
432
493
 
433
494
  - 다른 프로젝트를 미리 준비할 때는 아래처럼 쓴다.
434
495
 
435
496
  ```bash
436
- sk init --cwd /path/to/project --agent-md
497
+ sk init --cwd /path/to/project
437
498
  ```
438
499
 
439
500
  - 기본 템플릿 원본은 `templates/agent/base.md`, `templates/agent/frontend.md`, `templates/agent/backend.md`, `templates/agent/codex.md`다.