@hungvv/super-ads-skills 1.0.0 → 1.1.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 (55) hide show
  1. package/README.md +71 -13
  2. package/dist/cli.js +8 -2
  3. package/package.json +1 -1
  4. package/skills/README.md +4 -0
  5. package/skills/adspro-to-superads/SKILL.md +157 -732
  6. package/skills/adspro-to-superads/references/global-invariant-check.md +49 -0
  7. package/skills/adspro-to-superads/references/migration-contract.md +57 -0
  8. package/skills/adspro-to-superads/references/phase-0-inventory.md +39 -0
  9. package/skills/adspro-to-superads/references/phase-1-2-gradle-manifest.md +85 -0
  10. package/skills/adspro-to-superads/references/phase-3-config-migration.md +159 -0
  11. package/skills/adspro-to-superads/references/phase-4-wrapper-observability.md +70 -0
  12. package/skills/adspro-to-superads/references/phase-5-7-callsites-layout-cleanup.md +73 -0
  13. package/skills/adspro-to-superads/references/principles-and-authority.md +73 -0
  14. package/skills/adspro-to-superads/references/user-questions.md +53 -0
  15. package/skills/adspro-to-superads/snippets/ads-api-quick.md +20 -0
  16. package/skills/adspro-to-superads/templates/migration-inventory.md +42 -0
  17. package/skills/super-ads-ab-test/SKILL.md +91 -23
  18. package/skills/super-ads-adb-test/SKILL.md +85 -36
  19. package/skills/super-ads-adb-test/{references → examples}/scenarios-sample.md +5 -5
  20. package/skills/super-ads-add-placement/SKILL.md +145 -50
  21. package/skills/super-ads-add-placement/references/call-site-api.md +33 -0
  22. package/skills/super-ads-add-placement/snippets/app-open.md +25 -0
  23. package/skills/super-ads-add-placement/snippets/fullscreen-nav.md +14 -0
  24. package/skills/super-ads-add-placement/snippets/inline-banner-native.md +19 -0
  25. package/skills/super-ads-add-placement/snippets/preload-event.md +13 -0
  26. package/skills/super-ads-add-placement/snippets/reward.md +17 -0
  27. package/skills/super-ads-config/SKILL.md +94 -36
  28. package/skills/super-ads-debug/SKILL.md +87 -37
  29. package/skills/super-ads-debug/references/logging-setup.md +2 -0
  30. package/skills/super-ads-debug/scripts/filter-logads.sh +21 -0
  31. package/skills/super-ads-debug-override/SKILL.md +154 -81
  32. package/skills/super-ads-debug-override/snippets/arm-override.md +9 -0
  33. package/skills/super-ads-debug-override/snippets/check-module.md +8 -0
  34. package/skills/super-ads-debug-override/snippets/clear-override.md +9 -0
  35. package/skills/super-ads-debug-override/snippets/confirm-active.md +16 -0
  36. package/skills/super-ads-guide/SKILL.md +129 -0
  37. package/skills/super-ads-guide/references/compatibility.md +26 -0
  38. package/skills/super-ads-guide/references/sdk-version-check.md +50 -0
  39. package/skills/super-ads-integrate/SKILL.md +145 -47
  40. package/skills/super-ads-integrate/references/application-setup.md +2 -21
  41. package/skills/super-ads-integrate/references/gradle-setup.md +1 -13
  42. package/skills/super-ads-integrate/snippets/consent-request.md +12 -0
  43. package/skills/super-ads-integrate/templates/application-oncreate.md +17 -0
  44. package/skills/super-ads-integrate/templates/gradle-dependencies.md +17 -0
  45. package/skills/super-ads-release-check/SKILL.md +85 -32
  46. package/skills/super-ads-show-rate/SKILL.md +87 -36
  47. package/skills/super-ads-show-rate/references/collect-snippet.md +2 -36
  48. package/skills/super-ads-show-rate/scripts/show-rate.sh +25 -0
  49. package/skills/super-ads-show-rate/snippets/show-events-logger.md +26 -0
  50. package/skills/super-ads-upgrade/SKILL.md +137 -0
  51. package/skills/super-ads-upgrade/references/upgrade-hops.md +26 -0
  52. package/skills/super-ads-upgrade/templates/changelog-template.md +39 -0
  53. package/skills/super-ads-add-placement/references/call-site-snippets.md +0 -90
  54. /package/skills/super-ads-ab-test/{references → templates}/firebase-handoff-template.md +0 -0
  55. /package/skills/super-ads-config/{references → examples}/patch-examples.md +0 -0
package/README.md CHANGED
@@ -1,14 +1,22 @@
1
1
  # SuperAds Skills
2
2
 
3
- Bộ skill SuperAds cho AI agent (Claude Code, Cursor, Codex, Antigravity), có CLI cài riêng. Danh mục và cây chọn skill: [skills/README.md](skills/README.md).
3
+ Bộ skill cho AI agent (Claude Code, Cursor, Codex, Antigravity) khi làm việc với **SuperAds SDK**: gắn SDK, thêm placement, sửa config, debug, đo show rate, test trên thiết bị, kiểm trước phát hành, nâng version SDK. Có CLI cài riêng, một lệnh cài, một lệnh update.
4
4
 
5
- ## Cài (một lệnh)
5
+ ## Cài và update
6
6
 
7
7
  ```bash
8
- cd tools/super-ads-skills && npm ci && npm run build && npm link && super-ads-skills install
8
+ # Cài (lần đầu)
9
+ npx -y @hungvv/super-ads-skills@latest install
10
+
11
+ # Update (khi có bản mới)
12
+ npx -y @hungvv/super-ads-skills@latest update
9
13
  ```
10
14
 
11
- `install` cài **tất cả skill cho tất cả agent**, ở mức global, bằng symlink về một bản chung `~/.local/share/super-ads-skills/skills`. Không có câu hỏi nào.
15
+ - `install` cài **tất cả skill cho tất cả agent**, ở mức global, không hỏi gì.
16
+ - Chạy lại `install` khi đã cài là an toàn: skill đã mới nhất thì bỏ qua, có bản mới thì cập nhật (giống `update`), symlink đúng thì giữ nguyên. Folder trùng tên do bạn tự để vào không bị ghi đè (in `skip`, thoát mã 1); thêm `--force` để ghi đè.
17
+ - `update` còn gỡ skill đã bị loại khỏi bộ.
18
+
19
+ Cách cài hoạt động: mỗi thư mục agent chứa **symlink** về một bản chung `~/.local/share/super-ads-skills/skills` (bản copy, không phụ thuộc cache npx hay clone).
12
20
 
13
21
  | Agent | Thư mục skill |
14
22
  |---|---|
@@ -17,27 +25,77 @@ cd tools/super-ads-skills && npm ci && npm run build && npm link && super-ads-sk
17
25
  | Codex | `~/.agents/skills` |
18
26
  | Antigravity | `~/.gemini/config/skills`, `~/.gemini/antigravity-ide/builtin/skills` |
19
27
 
20
- ## Update (một lệnh)
28
+ Đừng sửa trực tiếp file trong thư mục agent: sửa ở đó bị `update` ghi đè khi skill có bản mới. Muốn sửa skill, sửa trong clone, tăng `version`, rồi `update`.
21
29
 
22
- ```bash
23
- git pull && super-ads-skills update
24
- ```
30
+ ## Agent dùng bộ skill này thế nào
31
+
32
+ 1. Mọi việc liên quan SuperAds bắt đầu ở skill **[super-ads-guide](skills/super-ads-guide/SKILL.md)**: bảng *tác vụ → skill chủ* và các quy tắc chung (dùng MCP `super-ads` cho config, không đoán key hay API, dừng hỏi ở điểm `mustAsk`).
33
+ 2. Mỗi skill khai `superAds: ">=4.0.0 <5.0.0"` trong frontmatter: SDK mà nội dung skill đúng cho.
34
+ 3. Trước khi làm, agent đọc version SuperAds của app (cách đọc: `skills/super-ads-guide/references/sdk-version-check.md`) và so với range:
35
+ - **Trong range**: dùng skill bình thường.
36
+ - **Thấp hơn**: agent không làm tiếp im lặng. Nó báo user và **khuyến khích** dùng [super-ads-upgrade](skills/super-ads-upgrade/SKILL.md) để lên SuperAds mới nhất (core và mọi plugin cùng version), cập nhật logic, key JSON, config, và trả changelog. Không tự nâng khi user chưa đồng ý.
37
+ - **Cao hơn**: skill có thể cũ; agent dựa vào `MIGRATION.md` và mã SDK.
38
+
39
+ ## Danh mục skill
40
+
41
+ Version skill nằm trong `version:` của từng `SKILL.md`; `super-ads-skills list` in version và range SDK.
42
+
43
+ | Skill | Dùng khi | SuperAds |
44
+ |---|---|---|
45
+ | [super-ads-guide](skills/super-ads-guide/SKILL.md) | Điểm vào: định tuyến tác vụ, kiểm version SDK | `>=4.0.0 <5.0.0` |
46
+ | [super-ads-upgrade](skills/super-ads-upgrade/SKILL.md) | Nâng SDK của app lên bản mới nhất, kèm changelog | `>=4.0.0 <5.0.0` |
47
+ | [super-ads-integrate](skills/super-ads-integrate/SKILL.md) | App chưa có ads, gắn SuperAds từ đầu | `>=4.0.0 <5.0.0` |
48
+ | [adspro-to-superads](skills/adspro-to-superads/SKILL.md) | Chuyển app từ AdsPro sang SuperAds | `>=4.0.0 <5.0.0` |
49
+ | [super-ads-add-placement](skills/super-ads-add-placement/SKILL.md) | Thêm hoặc đổi vị trí ad | `>=4.0.0 <5.0.0` |
50
+ | [super-ads-config](skills/super-ads-config/SKILL.md) | Sửa config qua MCP, có điểm dừng bắt buộc | `>=4.0.0 <5.0.0` |
51
+ | [super-ads-ab-test](skills/super-ads-ab-test/SKILL.md) | Tạo A/B test Firebase, sinh 2 file variant | `>=4.0.0 <5.0.0` |
52
+ | [super-ads-debug](skills/super-ads-debug/SKILL.md) | Ad không hiện, load lỗi, hiển thị sai, crash | `>=4.0.0 <5.0.0` |
53
+ | [super-ads-show-rate](skills/super-ads-show-rate/SKILL.md) | Đo và giải thích show rate theo placement | `>=4.0.0 <5.0.0` |
54
+ | [super-ads-adb-test](skills/super-ads-adb-test/SKILL.md) | Chạy kịch bản kiểm trên thiết bị | `>=4.0.0 <5.0.0` |
55
+ | [super-ads-debug-override](skills/super-ads-debug-override/SKILL.md) | Bản debug chạy một lần với config khác asset | `>=4.0.0 <5.0.0` |
56
+ | [super-ads-release-check](skills/super-ads-release-check/SKILL.md) | Rà trước khi phát hành (chỉ báo cáo) | `>=4.0.0 <5.0.0` |
57
+
58
+ Bảng chi tiết nằm ở `skills/super-ads-guide/references/compatibility.md`. Lịch sử thay đổi: [CHANGELOG.md](CHANGELOG.md).
25
59
 
26
- Nhờ symlink, skill sửa trong clone có hiệu lực ngay cho mọi agent; `update` còn làm mới bản chung, ghi version vào manifest và gỡ skill đã bị loại khỏi bộ. Skill bị sửa tay trong thư mục agent được giữ nguyên, trừ khi thêm `--force`.
60
+ ## Cấu trúc một skill
61
+
62
+ ```
63
+ skills/<name>/
64
+ SKILL.md điểm vào: 21 mục theo mẫu android-skills (<= 400 dòng)
65
+ references/ tài liệu tra cứu, checklist, bảng
66
+ templates/ boilerplate để copy rồi sửa
67
+ snippets/ đoạn code ngắn (<= 30 dòng)
68
+ examples/ ví dụ hoàn chỉnh
69
+ scripts/ script chạy được (gọi bằng <skill>/scripts/...)
70
+ ```
71
+ Thư mục con chỉ có khi có file thật. Quy tắc đầy đủ: [docs/AUTHORING.md](docs/AUTHORING.md).
27
72
 
28
73
  ## Lệnh khác
29
74
 
30
75
  ```bash
31
- super-ads-skills list # trạng thái từng skill
76
+ super-ads-skills list # từng skill: version, range SDK, trạng thái cài
32
77
  super-ads-skills remove [skill...] # gỡ (không tên = gỡ hết)
33
78
  ```
34
-
35
79
  Cờ tuỳ chọn, chỉ khi cần: `--agent claude,cursor`, `--project` (cài vào thư mục hiện tại), `--copy` (copy thay vì symlink), `--force`, `--dry-run`. Biến môi trường `SUPER_ADS_SKILLS_STORE` đổi nơi đặt bản chung.
36
80
 
37
- Máy không có Node: `bash scripts/install-skills.sh` (Windows: `scripts/install-skills.ps1`). Cùng kết quả, chạy lại là update, không có `list`/`remove`.
81
+ ## Cài từ clone (người phát triển skill)
82
+
83
+ ```bash
84
+ cd tools/super-ads-skills && npm ci && npm run build && npm link && super-ads-skills install
85
+ git pull && super-ads-skills update
86
+ ```
87
+ Máy không có Node: `bash scripts/install-skills.sh` (Windows: `scripts/install-skills.ps1`); chạy lại là update, không có `list`/`remove`.
38
88
 
39
89
  ## Kết nối MCP
40
90
  Skill sửa config chỉ qua MCP `super-ads`: xem [../ai_agent_tools/README.md](../ai_agent_tools/README.md) mục 2.
41
91
 
92
+ ## Gặp lỗi
93
+ | Triệu chứng | Cách xử lý |
94
+ |---|---|
95
+ | `skip ... edited locally`, thoát mã 1 | Thư mục agent đã có folder trùng tên không do CLI tạo. Dùng `--force` nếu muốn thay |
96
+ | Agent vẫn dùng skill cũ | Chạy `update`; mở phiên agent mới |
97
+ | `npm run publish:npm` báo 403 cần 2FA | Thêm `-- --otp=<mã>`, hoặc dùng token granular có bypass 2FA |
98
+ | `npm run validate` đỏ | Đọc dòng lỗi: thiếu `superAds`, sai thứ tự 21 mục, `SKILL.md` > 400 dòng, thư mục rỗng, link chết |
99
+
42
100
  ## Phát triển
43
- Thêm skill, quy ước version, kiểm tra: [docs/AUTHORING.md](docs/AUTHORING.md).
101
+ [docs/AUTHORING.md](docs/AUTHORING.md): thêm skill, quy ước version, hai lớp kiểm tra, phát hành.
package/dist/cli.js CHANGED
@@ -174,7 +174,13 @@ var SkillFrontmatterSchema = z.object({
174
174
  name: z.string().regex(/^[a-z0-9-]+$/, "name must be kebab-case [a-z0-9-]").refine(isKitSkillName, `name must start with "${SKILL_PREFIX}-" or be one of: ${UNPREFIXED_SKILLS.join(", ")}`),
175
175
  description: z.string().min(1, "description is required"),
176
176
  version: z.string().refine((v) => !!semver.valid(v), "version must be valid semver"),
177
- group: z.enum(GROUPS).optional()
177
+ group: z.enum(GROUPS).optional(),
178
+ /** SuperAds SDK versions this skill was written for, as a semver range. Agents compare it to the app's SDK. */
179
+ superAds: z.string().refine((range) => semver.validRange(range) !== null, 'superAds must be a valid semver range, e.g. ">=4.0.0 <5.0.0"')
180
+ }).superRefine((data, ctx) => {
181
+ if (data.description.length > 120) {
182
+ ctx.addIssue({ code: z.ZodIssueCode.too_big, maximum: 120, type: "string", inclusive: true, path: ["description"], message: "description must be <= 120 chars" });
183
+ }
178
184
  });
179
185
  var IGNORED_ENTRIES = /* @__PURE__ */ new Set([".DS_Store", "Thumbs.db", ".super-ads-skills-meta.json"]);
180
186
  function listSkillFiles(dir) {
@@ -630,7 +636,7 @@ function runList(opts) {
630
636
  for (const skill of loadSkills()) {
631
637
  const s = skillStatus(skill, scope);
632
638
  const tag = { new: pc.dim("not installed"), installed: pc.green("installed"), outdated: pc.yellow("outdated"), modified: pc.red("modified") }[s.state];
633
- console.log(`${skill.name.padEnd(28)} v${skill.version.padEnd(8)} ${tag}${s.agents.length ? pc.dim(` [${s.agents.join(", ")}]`) : ""}`);
639
+ console.log(`${skill.name.padEnd(28)} v${skill.version.padEnd(8)} SDK ${skill.superAds.padEnd(16)} ${tag}${s.agents.length ? pc.dim(` [${s.agents.join(", ")}]`) : ""}`);
634
640
  }
635
641
  }
636
642
  var program = new Command();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hungvv/super-ads-skills",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Agent skills for the SuperAds SDK - one command installs them for Claude Code, Cursor, Codex and Antigravity.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
package/skills/README.md CHANGED
@@ -6,6 +6,8 @@ Bộ skill giúp agent gắn, dùng, debug và kiểm SuperAds trong **mọi app
6
6
 
7
7
  | Skill | Dùng khi |
8
8
  |---|---|
9
+ | [super-ads-guide](super-ads-guide/SKILL.md) | **Điểm vào**: mọi việc liên quan SuperAds. Chọn skill chủ, kiểm version SDK của app |
10
+ | [super-ads-upgrade](super-ads-upgrade/SKILL.md) | App dùng SuperAds thấp hơn range của skill, hoặc cần nâng SDK (import, logic, key config, changelog) |
9
11
  | [super-ads-integrate](super-ads-integrate/SKILL.md) | App chưa có SDK quảng cáo, cần gắn SuperAds từ đầu |
10
12
  | [adspro-to-superads](adspro-to-superads/SKILL.md) | App đang dùng AdsPro, cần chuyển sang SuperAds |
11
13
  | [super-ads-add-placement](super-ads-add-placement/SKILL.md) | App đã có SuperAds, thêm hoặc đổi vị trí ad |
@@ -20,6 +22,8 @@ Bộ skill giúp agent gắn, dùng, debug và kiểm SuperAds trong **mọi app
20
22
  ## Chọn skill
21
23
 
22
24
  ```
25
+ Không chắc bắt đầu từ đâu? ────► super-ads-guide (bảng định tuyến + kiểm version SDK)
26
+ SDK của app thấp hơn skill? ───► super-ads-upgrade
23
27
  App chưa có ads? ──────────────► super-ads-integrate ──► super-ads-add-placement
24
28
  App còn AdsPro? ───────────────► adspro-to-superads
25
29
  Thêm/đổi vị trí ad? ───────────► super-ads-add-placement ──► super-ads-adb-test