codymaster 4.4.4 → 4.5.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.
Files changed (190) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +29 -14
  3. package/commands/demo.md +1 -1
  4. package/dist/context-bus.js +70 -0
  5. package/dist/context-db.js +265 -0
  6. package/dist/continuity.js +12 -0
  7. package/dist/file-watcher.js +79 -0
  8. package/dist/index.js +152 -1
  9. package/dist/l0-indexer.js +158 -0
  10. package/dist/mcp-context-server.js +400 -0
  11. package/dist/migrate-json-to-sqlite.js +126 -0
  12. package/dist/skill-chain.js +19 -3
  13. package/dist/token-budget.js +108 -0
  14. package/dist/uri-resolver.js +203 -0
  15. package/package.json +7 -1
  16. package/skills/_shared/helpers.md +50 -14
  17. package/skills/cm-autopilot/SKILL.md +29 -0
  18. package/skills/cm-autopilot/scripts/autopilot.py +190 -0
  19. package/skills/cm-continuity/SKILL.md +90 -28
  20. package/skills/cm-quality-gate/SKILL.md +11 -1
  21. package/skills/cm-safe-deploy/SKILL.md +38 -2
  22. package/skills/cm-security-gate/SKILL.md +158 -34
  23. package/skills/cm-skill-chain/SKILL.md +47 -1
  24. package/skills/cm-start/SKILL.md +11 -2
  25. package/skills/cm-test-gate/SKILL.md +3 -0
  26. package/skills/boxme-git-config/SKILL.md +0 -56
  27. package/skills/boxme-local-dev/SKILL.md +0 -66
  28. package/skills/jobs-to-be-done/SKILL.md +0 -266
  29. package/skills/jobs-to-be-done/references/case-studies.md +0 -154
  30. package/skills/jobs-to-be-done/references/competitive-strategy.md +0 -280
  31. package/skills/jobs-to-be-done/references/diagnostics.md +0 -158
  32. package/skills/jobs-to-be-done/references/innovation-process.md +0 -392
  33. package/skills/jobs-to-be-done/references/organizational-change.md +0 -328
  34. package/skills/marketplace-report-crawler/SKILL.md +0 -176
  35. package/skills/marketplace-report-crawler/config/accounts.json +0 -41
  36. package/skills/marketplace-report-crawler/config/report-types.json +0 -422
  37. package/skills/marketplace-report-crawler/config/sessions.json +0 -3
  38. package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +0 -102
  39. package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +0 -114
  40. package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +0 -94
  41. package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +0 -272
  42. package/skills/marketplace-report-crawler/scripts/crawl-runner.js +0 -281
  43. package/skills/marketplace-report-crawler/scripts/session-check.sh +0 -72
  44. package/skills/marketplace-report-crawler/scripts/session-manager.sh +0 -349
  45. package/skills/marketplace-report-crawler/scripts/setup-folders.sh +0 -83
  46. package/skills/medical-research/SKILL.md +0 -194
  47. package/skills/medical-research/scripts/evidence_checker.py +0 -288
  48. package/skills/mom-test/SKILL.md +0 -267
  49. package/skills/mom-test/references/avoiding-bad-data.md +0 -221
  50. package/skills/mom-test/references/case-studies.md +0 -306
  51. package/skills/mom-test/references/commitment-advancement.md +0 -219
  52. package/skills/mom-test/references/finding-conversations.md +0 -251
  53. package/skills/mom-test/references/processing-learning.md +0 -256
  54. package/skills/mom-test/references/question-patterns.md +0 -198
  55. package/skills/pandasai-analytics/SKILL.md +0 -251
  56. package/skills/release-it/SKILL.md +0 -235
  57. package/skills/release-it/references/anti-patterns.md +0 -279
  58. package/skills/release-it/references/capacity-planning.md +0 -285
  59. package/skills/release-it/references/chaos-engineering.md +0 -325
  60. package/skills/release-it/references/deployment-strategies.md +0 -331
  61. package/skills/release-it/references/observability.md +0 -301
  62. package/skills/release-it/references/stability-patterns.md +0 -355
  63. package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +0 -37
  64. package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +0 -34
  65. package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +0 -51
  66. package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +0 -39
  67. package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +0 -52
  68. package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +0 -25
  69. package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +0 -31
  70. package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +0 -25
  71. package/skills/skill-creator-ultra/README.md +0 -1242
  72. package/skills/skill-creator-ultra/SKILL.md +0 -388
  73. package/skills/skill-creator-ultra/agents/analyzer.md +0 -274
  74. package/skills/skill-creator-ultra/agents/comparator.md +0 -202
  75. package/skills/skill-creator-ultra/agents/grader.md +0 -223
  76. package/skills/skill-creator-ultra/assets/eval_review.html +0 -146
  77. package/skills/skill-creator-ultra/eval-viewer/generate_review.py +0 -471
  78. package/skills/skill-creator-ultra/eval-viewer/viewer.html +0 -1325
  79. package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +0 -109
  80. package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +0 -116
  81. package/skills/skill-creator-ultra/examples/example_api_docs.md +0 -189
  82. package/skills/skill-creator-ultra/examples/example_db_migration.md +0 -253
  83. package/skills/skill-creator-ultra/examples/example_git_commit.md +0 -111
  84. package/skills/skill-creator-ultra/install.ps1 +0 -289
  85. package/skills/skill-creator-ultra/install.sh +0 -313
  86. package/skills/skill-creator-ultra/phases/phase1_interview.md +0 -202
  87. package/skills/skill-creator-ultra/phases/phase2_extract.md +0 -55
  88. package/skills/skill-creator-ultra/phases/phase3_detect.md +0 -57
  89. package/skills/skill-creator-ultra/phases/phase4_generate.md +0 -543
  90. package/skills/skill-creator-ultra/phases/phase5_test.md +0 -319
  91. package/skills/skill-creator-ultra/phases/phase6_eval.md +0 -301
  92. package/skills/skill-creator-ultra/phases/phase7_iterate.md +0 -103
  93. package/skills/skill-creator-ultra/phases/phase8_optimize.md +0 -113
  94. package/skills/skill-creator-ultra/resources/advanced_patterns.md +0 -499
  95. package/skills/skill-creator-ultra/resources/anti_patterns.md +0 -376
  96. package/skills/skill-creator-ultra/resources/blueprints.md +0 -498
  97. package/skills/skill-creator-ultra/resources/checklist.md +0 -243
  98. package/skills/skill-creator-ultra/resources/composition_cookbook.md +0 -291
  99. package/skills/skill-creator-ultra/resources/description_optimization.md +0 -90
  100. package/skills/skill-creator-ultra/resources/eval_guide.md +0 -133
  101. package/skills/skill-creator-ultra/resources/industry_questions.md +0 -189
  102. package/skills/skill-creator-ultra/resources/interview_questions.md +0 -200
  103. package/skills/skill-creator-ultra/resources/pattern_detection.md +0 -200
  104. package/skills/skill-creator-ultra/resources/prompt_engineering.md +0 -531
  105. package/skills/skill-creator-ultra/resources/schemas.md +0 -430
  106. package/skills/skill-creator-ultra/resources/script_integration.md +0 -593
  107. package/skills/skill-creator-ultra/resources/scripts_guide.md +0 -339
  108. package/skills/skill-creator-ultra/resources/skill_template.md +0 -124
  109. package/skills/skill-creator-ultra/resources/skill_writing_guide.md +0 -634
  110. package/skills/skill-creator-ultra/resources/versioning_guide.md +0 -193
  111. package/skills/skill-creator-ultra/scripts/ci_eval.py +0 -200
  112. package/skills/skill-creator-ultra/scripts/package_skill.py +0 -165
  113. package/skills/skill-creator-ultra/scripts/simulate_skill.py +0 -398
  114. package/skills/skill-creator-ultra/scripts/skill_audit.py +0 -611
  115. package/skills/skill-creator-ultra/scripts/skill_compare.py +0 -265
  116. package/skills/skill-creator-ultra/scripts/skill_export.py +0 -334
  117. package/skills/skill-creator-ultra/scripts/skill_scaffold.py +0 -403
  118. package/skills/skill-creator-ultra/scripts/skill_stats.py +0 -339
  119. package/skills/skill-creator-ultra/scripts/validate_skill.py +0 -411
  120. package/skills/tailwind-mastery/SKILL.md +0 -229
  121. package/skills/vercel-react-best-practices/AGENTS.md +0 -3373
  122. package/skills/vercel-react-best-practices/README.md +0 -123
  123. package/skills/vercel-react-best-practices/SKILL.md +0 -143
  124. package/skills/vercel-react-best-practices/rules/_sections.md +0 -46
  125. package/skills/vercel-react-best-practices/rules/_template.md +0 -28
  126. package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  127. package/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  128. package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  129. package/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  130. package/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
  131. package/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  132. package/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  133. package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  134. package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
  135. package/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  136. package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  137. package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  138. package/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  139. package/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  140. package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  141. package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  142. package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  143. package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  144. package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  145. package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  146. package/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  147. package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  148. package/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  149. package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  150. package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  151. package/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  152. package/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  153. package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  154. package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  155. package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  156. package/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  157. package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  158. package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  159. package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  160. package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  161. package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  162. package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  163. package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  164. package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  165. package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  166. package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  167. package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  168. package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  169. package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  170. package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  171. package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  172. package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  173. package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  174. package/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  175. package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  176. package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  177. package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  178. package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  179. package/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  180. package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  181. package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  182. package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  183. package/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  184. package/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  185. package/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  186. package/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  187. package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -142
  188. package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  189. package/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  190. package/skills/web-design-guidelines/SKILL.md +0 -39
@@ -1,176 +0,0 @@
1
- ---
2
- name: marketplace-report-crawler
3
- description: |
4
- Automated marketplace report crawler for Shopee, Lazada, TikTok seller portals.
5
- Uses CSV-based account config with credential security. Includes dashboard,
6
- activity/bug logging, and progress reporting.
7
-
8
- SECURITY: AI MUST NEVER read username/password columns from accounts.csv.
9
- Use get-credential.js to retrieve credentials for browser-only use.
10
-
11
- ALWAYS trigger for: marketplace report, crawl data, download marketplace report, export shopee,
12
- export lazada, export tiktok, GBS data, seller report, download seller report,
13
- "aggregate reports", "crawl marketplace", "data crawling", "seller data",
14
- "marketplace income", "ads report", "affiliate report", "advertising report",
15
- "wallet statement", "shipping fee", "shipping cost"
16
- ---
17
-
18
- # Marketplace Report Crawler v2.0
19
-
20
- ## Key Principle: Agent-Native + Session Persistence
21
-
22
- > **Login happens ONCE. OTP is entered ONCE. Sessions are saved FOREVER.**
23
-
24
- Marketplaces require OTP/CAPTCHA to login. OTP codes are held by customers/accountants
25
- and can't be requested repeatedly. Therefore:
26
-
27
- 1. **First login**: AI agent uses its OWN browser to login (bypasses CAPTCHA naturally)
28
- 2. **Export cookies**: After login, cookies are saved to disk
29
- 3. **Future runs**: Inject saved cookies → skip login entirely
30
- 4. **Only re-login**: When session actually expires (rare)
31
-
32
- ## 🔒 Security Rules
33
-
34
- > **CRITICAL**: These rules MUST be followed at all times.
35
-
36
- 1. **NEVER** read/log/print `username`/`password` columns from `accounts.csv`
37
- 2. **ONLY** use helper scripts to access credentials:
38
- - `node scripts/get-credential.js <id> username` → raw username
39
- - `node scripts/get-credential.js <id> password` → raw password
40
- 3. Credentials go **directly** into browser form fields — never stored in context
41
-
42
- ## Architecture
43
-
44
- ```
45
- scripts/
46
- ├── get-login-info.js # Platform config (URL, selectors) — NO credentials
47
- ├── get-credential.js # Raw credential value for browser fill
48
- ├── session-store.js # Cookie persistence (save/check/inject/list)
49
- ├── auto-login.js # Automated login (agent-browser) + agent-delegate
50
- ├── pipeline.js # Sequential pipeline orchestrator
51
- ├── csv-reader.js # CSV parser with credential masking
52
- ├── logger.js # Activity + Bug logging
53
- └── run-report.js # Progress report generator
54
-
55
- config/
56
- ├── accounts.csv # 🔐 Credentials (gitignored)
57
- ├── pipeline-config.json # Platform selectors, timeouts
58
- └── report-types.json # 25 report type definitions
59
-
60
- ~/.marketplace-crawler/sessions/ # Persistent cookie storage
61
- └── <account_id>/
62
- ├── cookies.json
63
- └── session-meta.json
64
- ```
65
-
66
- ## Workflow: First-Time Login (One-Time)
67
-
68
- ### Step 1: Get Login Info
69
- ```bash
70
- node scripts/get-login-info.js zott-lazada
71
- # Returns: { loginUrl, platform, dashboardUrl, loginSelectors }
72
- ```
73
-
74
- ### Step 2: Login via Agent Browser
75
-
76
- Use YOUR browser tool (browser_subagent / Claude browser / Manus Chrome):
77
-
78
- 1. Navigate to the `loginUrl` from step 1
79
- 2. Get credentials:
80
- ```bash
81
- node scripts/get-credential.js zott-lazada username # → nguy...@zott.vn
82
- node scripts/get-credential.js zott-lazada password # → raw password
83
- ```
84
- 3. Fill username into the login form
85
- 4. Fill password
86
- 5. Click login button
87
- 6. **If CAPTCHA**: Solve it visually (your browser looks like a real user)
88
- 7. **If OTP**: Ask user for the 6-digit code, enter it
89
- 8. Verify you reached the dashboard
90
-
91
- ### Step 3: Export & Save Cookies
92
-
93
- After successful login, run this in the browser console:
94
- ```javascript
95
- // Get all cookies for the current domain
96
- const cookies = document.cookie.split(';').map(c => {
97
- const [name, ...rest] = c.trim().split('=');
98
- return { name, value: rest.join('='), domain: location.hostname, path: '/' };
99
- });
100
- JSON.stringify(cookies);
101
- ```
102
-
103
- Save the output:
104
- ```bash
105
- echo '<cookies_json>' | node scripts/session-store.js save zott-lazada agent-browser
106
- ```
107
-
108
- ### Step 4: Verify Session Saved
109
- ```bash
110
- node scripts/session-store.js list
111
- node scripts/session-store.js check zott-lazada
112
- ```
113
-
114
- ## Workflow: Subsequent Runs (Automatic)
115
-
116
- ```bash
117
- # 1. Check if session is still valid
118
- node scripts/session-store.js check zott-lazada
119
-
120
- # 2. Inject cookies and navigate to dashboard
121
- node scripts/session-store.js inject zott-lazada
122
- # → Outputs JS to set cookies in browser
123
-
124
- # 3. Run pipeline for reports
125
- node scripts/pipeline.js --period 202603 --platform lazada --dry-run
126
- node scripts/pipeline.js --period 202603 --platform lazada
127
- ```
128
-
129
- ## Auto-Login Fallback
130
-
131
- For accounts without CAPTCHA/OTP challenges, `auto-login.js` can automate login:
132
-
133
- ```bash
134
- # Automated login via agent-browser CLI
135
- node scripts/auto-login.js --account zott-lazada --headed
136
-
137
- # If CAPTCHA detected → exits with code 2 + JSON with screenshot
138
- # Agent then takes over with its own browser
139
-
140
- # After agent solves challenge:
141
- node scripts/auto-login.js --account zott-lazada --verify
142
- ```
143
-
144
- ## Pipeline Commands
145
-
146
- ```bash
147
- # Dry run — see what will happen
148
- node scripts/pipeline.js --period 202603 --dry-run
149
-
150
- # Run specific platform
151
- node scripts/pipeline.js --period 202603 --platform lazada
152
-
153
- # Run single account
154
- node scripts/pipeline.js --period 202603 --account zott-lazada --headed
155
-
156
- # Resume after interruption
157
- node scripts/pipeline.js --period 202603 --resume
158
- ```
159
-
160
- ## Report Types (25 total)
161
-
162
- | Platform | Reports | Format |
163
- |----------|---------|--------|
164
- | Shopee (7) | Income, PDF Report, Wallet, Affiliate Invoice/Product, Ads, Ads Wallet | Excel/PDF |
165
- | Lazada (7) | Income, PDF Report, Wallet, Ads Onsite/Product, Ads Wallet, Shipping Fee | Excel/PDF |
166
- | TikTok (7) | Income, Wallet, Affiliate Orders/Invoice, Ads Dashboard/Cost/Revenue | Excel |
167
-
168
- ## Session Store Commands
169
-
170
- ```bash
171
- node scripts/session-store.js save <id> # Save cookies from stdin
172
- node scripts/session-store.js check <id> # Check validity
173
- node scripts/session-store.js inject <id> # Output injection JS
174
- node scripts/session-store.js list # List all sessions
175
- node scripts/session-store.js export-script <id> # Browser export helper
176
- ```
@@ -1,41 +0,0 @@
1
- {
2
- "defaultOutputRoot": "/Users/todyle/Builder/Boxme/AutomateReport/data",
3
- "accounts": [
4
- {
5
- "id": "vita-dairy",
6
- "brand": "Vita Dairy",
7
- "brandSlug": "Vita_Dairy",
8
- "platforms": ["shopee", "lazada", "tiktok"],
9
- "chromeProfile": "Vita Dairy",
10
- "active": true,
11
- "notes": "Primary brand across all platforms"
12
- },
13
- {
14
- "id": "dutch-lady",
15
- "brand": "Dutch Lady",
16
- "brandSlug": "Dutch_Lady",
17
- "platforms": ["shopee", "lazada", "tiktok"],
18
- "chromeProfile": "Dutch Lady",
19
- "active": true,
20
- "notes": "Active on all 3 platforms"
21
- },
22
- {
23
- "id": "friso",
24
- "brand": "Friso",
25
- "brandSlug": "Friso",
26
- "platforms": ["tiktok"],
27
- "chromeProfile": "Friso",
28
- "active": true,
29
- "notes": "TikTok only (from flow analysis)"
30
- },
31
- {
32
- "id": "wilmar",
33
- "brand": "Wilmar",
34
- "brandSlug": "Wilmar",
35
- "platforms": ["tiktok"],
36
- "chromeProfile": "Wilmar",
37
- "active": true,
38
- "notes": "TikTok only (from flow analysis)"
39
- }
40
- ]
41
- }
@@ -1,422 +0,0 @@
1
- {
2
- "reportTypes": [
3
- {
4
- "id": "platform_income",
5
- "name": "Income Sàn",
6
- "nameVi": "Thu nhập sàn",
7
- "platform": "shopee",
8
- "url": "https://banhang.shopee.vn/portal/finance/income?type=2&dateRange=THIS_WEEK",
9
- "frequency": "monthly",
10
- "priority": true,
11
- "exportFormat": "excel",
12
- "fileExtension": "xlsx",
13
- "screenshotRef": "https://prnt.sc/K1mqjTIc1S6t",
14
- "status": "active",
15
- "dateSelectionType": "calendar_range",
16
- "exportSteps": [
17
- "Click date range dropdown → 'Chọn ngày'",
18
- "Navigate calendar to target month",
19
- "Select first day → last day",
20
- "Click 'Xuất' button"
21
- ]
22
- },
23
- {
24
- "id": "platform_report",
25
- "name": "Report Sàn (PDF)",
26
- "nameVi": "Báo cáo tổng hợp thu nhập (PDF)",
27
- "platform": "shopee",
28
- "url": "https://banhang.shopee.vn/portal/finance/income/statement",
29
- "frequency": "monthly",
30
- "priority": true,
31
- "exportFormat": "pdf",
32
- "fileExtension": "pdf",
33
- "screenshotRef": "https://prnt.sc/TvOCUH0QMxEZ",
34
- "status": "active",
35
- "dateSelectionType": "month_picker",
36
- "exportSteps": [
37
- "Select target month",
38
- "Click download PDF"
39
- ]
40
- },
41
- {
42
- "id": "platform_wallet",
43
- "name": "Sao kê số dư ví",
44
- "nameVi": "Sao kê ví ShopeePay",
45
- "platform": "shopee",
46
- "url": "https://banhang.shopee.vn/portal/finance/wallet/shopeepay",
47
- "frequency": "monthly",
48
- "priority": true,
49
- "exportFormat": "excel",
50
- "fileExtension": "xlsx",
51
- "screenshotRef": "https://prnt.sc/cLm_o9lJ0zFj",
52
- "status": "active",
53
- "dateSelectionType": "calendar_range",
54
- "exportSteps": [
55
- "Open date range picker",
56
- "Navigate to target month",
57
- "Select first day → last day",
58
- "Click export"
59
- ]
60
- },
61
- {
62
- "id": "affiliate_bill",
63
- "name": "Data tiếp thị liên kết theo hóa đơn",
64
- "nameVi": "Dữ liệu affiliate theo hoá đơn",
65
- "platform": "shopee",
66
- "url": "https://banhang.shopee.vn/portal/web-seller-affiliate/validation_bill",
67
- "frequency": "monthly",
68
- "priority": false,
69
- "exportFormat": "excel",
70
- "fileExtension": "xlsx",
71
- "screenshotRef": "https://prnt.sc/H3M6TCwnUtbY",
72
- "status": "active",
73
- "dateSelectionType": "date_picker",
74
- "exportSteps": [
75
- "Select date range",
76
- "Click export"
77
- ]
78
- },
79
- {
80
- "id": "paid_ads_onsite_report",
81
- "name": "Báo cáo paid ads onsite",
82
- "nameVi": "Quảng cáo trả phí onsite",
83
- "platform": "shopee",
84
- "url": "https://banhang.shopee.vn/portal/marketing/pas/index",
85
- "frequency": "daily_overwrite",
86
- "priority": false,
87
- "exportFormat": "excel",
88
- "fileExtension": "xlsx",
89
- "screenshotRef": "https://prnt.sc/G37bF0Qa9DB7",
90
- "status": "active",
91
- "dateSelectionType": "date_input",
92
- "exportSteps": [
93
- "Set start date input",
94
- "Set end date input",
95
- "Click download"
96
- ]
97
- },
98
- {
99
- "id": "affiliate_product",
100
- "name": "Báo cáo tiếp thị liên kết theo Product",
101
- "nameVi": "Affiliate theo sản phẩm",
102
- "platform": "shopee",
103
- "url": "https://banhang.shopee.vn/portal/web-seller-affiliate/product_analytics",
104
- "frequency": "daily_overwrite",
105
- "priority": false,
106
- "exportFormat": "excel",
107
- "fileExtension": "xlsx",
108
- "screenshotRef": "https://prnt.sc/VOUR10z1kJMT",
109
- "status": "active",
110
- "dateSelectionType": "date_picker",
111
- "exportSteps": [
112
- "Select date range",
113
- "Click export"
114
- ]
115
- },
116
- {
117
- "id": "ads_wallet_historical",
118
- "name": "Paid ads onsite historical wallet",
119
- "nameVi": "Lịch sử ví quảng cáo",
120
- "platform": "shopee",
121
- "url": "https://banhang.shopee.vn/portal/marketing/pas/wallet",
122
- "frequency": "monthly",
123
- "priority": true,
124
- "exportFormat": "excel",
125
- "fileExtension": "xlsx",
126
- "screenshotRef": "https://prnt.sc/R-QW1TK3_aZ2",
127
- "status": "active",
128
- "dateSelectionType": "calendar_range",
129
- "exportSteps": [
130
- "Open date range picker",
131
- "Select month range",
132
- "Click export"
133
- ]
134
- },
135
- {
136
- "id": "platform_income",
137
- "name": "Income Sàn",
138
- "nameVi": "Thu nhập sàn Lazada",
139
- "platform": "lazada",
140
- "url": "https://sellercenter.lazada.vn/portal/apps/finance/myIncome/index",
141
- "frequency": "monthly",
142
- "priority": true,
143
- "exportFormat": "excel",
144
- "fileExtension": "xlsx",
145
- "screenshotRef": "https://prnt.sc/uGGgnTJ4QTjx",
146
- "status": "active",
147
- "dateSelectionType": "next_calendar_range",
148
- "exportSteps": [
149
- "Click 'Chi tiết Thu nhập'",
150
- "Open date picker",
151
- "Navigate calendar to target month (using next-calendar-btn)",
152
- "Select first day → last day",
153
- "Click 'Tải xuống' → 'Chi tiết đơn hàng (Excel)'",
154
- "Wait for processing → Download Result File"
155
- ]
156
- },
157
- {
158
- "id": "platform_report",
159
- "name": "Report Sàn (PDF)",
160
- "nameVi": "Sao kê tháng Lazada",
161
- "platform": "lazada",
162
- "url": "https://sellercenter.lazada.vn/portal/apps/finance/myIncome/index",
163
- "frequency": "monthly",
164
- "priority": true,
165
- "exportFormat": "pdf",
166
- "fileExtension": "pdf",
167
- "screenshotRef": "https://prnt.sc/5la14Lqd2eYJ",
168
- "status": "active",
169
- "dateSelectionType": "month_tab",
170
- "exportSteps": [
171
- "Click 'Sao kê tháng' tab",
172
- "Click 'Tải xuống' → 'Tổng quan giao dịch (pdf)'",
173
- "Wait → Download"
174
- ]
175
- },
176
- {
177
- "id": "platform_wallet",
178
- "name": "Sao kê số dư ví",
179
- "nameVi": "Sao kê ví Lazada",
180
- "platform": "lazada",
181
- "url": "https://sellercenter.lazada.vn/apps/balance",
182
- "frequency": "monthly",
183
- "priority": true,
184
- "exportFormat": "excel",
185
- "fileExtension": "xlsx",
186
- "screenshotRef": "https://prnt.sc/rl7NgvOjQntp",
187
- "status": "active",
188
- "dateSelectionType": "next_calendar_range",
189
- "exportSteps": [
190
- "Open date range picker",
191
- "Navigate calendar to target month",
192
- "Select first day → last day",
193
- "Click 'Xuất dữ liệu' → 'Chi tiết giao dịch (excel)'",
194
- "Wait → Download Result File"
195
- ]
196
- },
197
- {
198
- "id": "paid_ads_onsite_report",
199
- "name": "Báo cáo paid ads onsite",
200
- "nameVi": "Quảng cáo trả phí onsite Lazada",
201
- "platform": "lazada",
202
- "url": "https://sellercenter.lazada.vn/sponsor/solutions/ads/report/",
203
- "frequency": "daily_overwrite",
204
- "priority": false,
205
- "exportFormat": "excel",
206
- "fileExtension": "xlsx",
207
- "screenshotRef": "https://prnt.sc/2e6e9sOfHAq2",
208
- "status": "active",
209
- "dateSelectionType": "date_input_lazada",
210
- "exportSteps": [
211
- "Check 'product' checkbox",
212
- "Set start date DD/MM/YYYY",
213
- "Set end date DD/MM/YYYY",
214
- "Click 'Tải xuống'"
215
- ]
216
- },
217
- {
218
- "id": "paid_ads_product",
219
- "name": "Báo cáo paid ads onsite product",
220
- "nameVi": "Quảng cáo theo sản phẩm Lazada",
221
- "platform": "lazada",
222
- "url": "https://sellercenter.lazada.vn/sponsor/solutions/ads/report/",
223
- "frequency": "daily_overwrite",
224
- "priority": false,
225
- "exportFormat": "excel",
226
- "fileExtension": "xlsx",
227
- "screenshotRef": "https://prnt.sc/2LSm7ALMhy32",
228
- "status": "active",
229
- "dateSelectionType": "date_input_lazada",
230
- "exportSteps": [
231
- "Same as paid_ads_onsite but with product filter"
232
- ]
233
- },
234
- {
235
- "id": "ads_wallet_historical",
236
- "name": "Paid ads onsite historical wallet",
237
- "nameVi": "Lịch sử giao dịch ví quảng cáo Lazada",
238
- "platform": "lazada",
239
- "url": "https://sellercenter.lazada.vn/sponsor/solutions/ads/sd-account/#!/ads/1",
240
- "frequency": "monthly",
241
- "priority": true,
242
- "exportFormat": "excel",
243
- "fileExtension": "xlsx",
244
- "screenshotRef": "https://prnt.sc/jAuuSj7gcMvX",
245
- "status": "active",
246
- "dateSelectionType": "rc_calendar_range",
247
- "exportSteps": [
248
- "Scroll down to 'Lịch Sử Giao Dịch'",
249
- "Open date range picker",
250
- "Navigate rc-calendar to target month",
251
- "Select first → last day",
252
- "Click 'Tải Xuống'"
253
- ]
254
- },
255
- {
256
- "id": "shipping_fee_details",
257
- "name": "Chi tiết phí vận chuyển",
258
- "nameVi": "Phí vận chuyển theo đơn hàng",
259
- "platform": "lazada",
260
- "url": "https://sellercenter.lazada.vn/apps/finance/logisticsfee/index?curtab=order-fee",
261
- "frequency": "monthly",
262
- "priority": true,
263
- "exportFormat": "excel",
264
- "fileExtension": "xlsx",
265
- "screenshotRef": "https://prnt.sc/u5BX1bsaaZ5S",
266
- "status": "active",
267
- "dateSelectionType": "multi_select_menu",
268
- "exportSteps": [
269
- "Open statement period dropdown",
270
- "Select all dates matching target YYYY-MM",
271
- "Click 'Xuất dữ liệu tổng quan đơn hàng'",
272
- "Click 'Xuất dữ liệu với bộ lọc hiện tại'",
273
- "Wait (long) → Download"
274
- ]
275
- },
276
- {
277
- "id": "platform_income",
278
- "name": "Income Sàn",
279
- "nameVi": "Thu nhập sàn TikTok",
280
- "platform": "tiktok",
281
- "url": "https://seller-vn.tiktok.com/finance/transactions?shop_region=VN&tab=settled_tab",
282
- "frequency": "monthly",
283
- "priority": true,
284
- "exportFormat": "excel",
285
- "fileExtension": "xlsx",
286
- "screenshotRef": "https://prnt.sc/oj8apfNx6mCH",
287
- "status": "active",
288
- "dateSelectionType": "core_picker",
289
- "exportSteps": [
290
- "Wait for 'Lịch sử xuất dữ liệu' to appear",
291
- "Click 'Xuất'",
292
- "Open date picker (SVG icon)",
293
- "Clear existing range (SVG click)",
294
- "Select first day → last day using core-picker-cell-in-view",
295
- "Click OK",
296
- "Click 'Xuất'",
297
- "Wait for 'Đang xuất' to complete",
298
- "Click 'Tải xuống'"
299
- ]
300
- },
301
- {
302
- "id": "platform_wallet",
303
- "name": "Sao kê số dư ví",
304
- "nameVi": "Sao kê ví TikTok",
305
- "platform": "tiktok",
306
- "url": "https://seller-vn.tiktok.com/finance/withdraw-new?is_new_connect=0&register_libra=&shop_region=VN",
307
- "frequency": "monthly",
308
- "priority": true,
309
- "exportFormat": "excel",
310
- "fileExtension": "xlsx",
311
- "screenshotRef": "https://prnt.sc/ESRF6bEhlbbu",
312
- "status": "active",
313
- "dateSelectionType": "core_picker",
314
- "exportSteps": [
315
- "Wait for 'Lịch sử xuất dữ liệu'",
316
- "Scroll down 500px",
317
- "Click 'Xuất'",
318
- "Open date picker → clear → select range",
319
- "Click OK → Export",
320
- "Wait for completion → Download"
321
- ]
322
- },
323
- {
324
- "id": "affiliate_orders",
325
- "name": "Báo cáo đơn hàng Affiliate",
326
- "nameVi": "Đơn hàng affiliate TikTok",
327
- "platform": "tiktok",
328
- "url": "https://affiliate.tiktok.com/product/order?shop_region=VN&order_type=1",
329
- "frequency": "daily_overwrite",
330
- "priority": true,
331
- "exportFormat": "excel",
332
- "fileExtension": "xlsx",
333
- "screenshotRef": "https://prnt.sc/4bmmSLHdm_wl",
334
- "status": "active",
335
- "dateSelectionType": "date_picker",
336
- "exportSteps": [
337
- "Select date range",
338
- "Click export"
339
- ]
340
- },
341
- {
342
- "id": "ads_dashboard",
343
- "name": "Ads TikTok Dashboard",
344
- "nameVi": "Bảng điều khiển quảng cáo TikTok",
345
- "platform": "tiktok",
346
- "url": "https://seller-vn.tiktok.com/ads-creation/dashboard",
347
- "frequency": "daily",
348
- "priority": true,
349
- "exportFormat": "excel",
350
- "fileExtension": "xlsx",
351
- "screenshotRef": "https://prnt.sc/eXGtbkNrlUQf",
352
- "status": "active",
353
- "dateSelectionType": "dashboard_filter",
354
- "exportSteps": [
355
- "Set date filter",
356
- "Download dashboard data"
357
- ]
358
- },
359
- {
360
- "id": "ads_cost",
361
- "name": "Báo cáo paid ads onsite - chi phí",
362
- "nameVi": "Chi phí quảng cáo TikTok",
363
- "platform": "tiktok",
364
- "url": "https://business.tiktok.com/manage/transaction?org_id=7384265942869524481",
365
- "frequency": "monthly",
366
- "priority": true,
367
- "exportFormat": "excel",
368
- "fileExtension": "xlsx",
369
- "screenshotRef": "https://prnt.sc/AcnxB06ZZKHV",
370
- "status": "in_progress",
371
- "dateSelectionType": "business_center",
372
- "exportSteps": [
373
- "Navigate to transaction history",
374
- "Set date range",
375
- "Export data"
376
- ]
377
- },
378
- {
379
- "id": "ads_revenue",
380
- "name": "Báo cáo paid ads onsite - doanh thu",
381
- "nameVi": "Doanh thu quảng cáo TikTok",
382
- "platform": "tiktok",
383
- "url": "https://business.tiktok.com/manage/transaction?org_id=7384265942869524481",
384
- "frequency": "monthly",
385
- "priority": true,
386
- "exportFormat": "excel",
387
- "fileExtension": "xlsx",
388
- "screenshotRef": "https://prnt.sc/rcC_Gy47r0XT",
389
- "status": "in_progress",
390
- "dateSelectionType": "business_center",
391
- "exportSteps": [
392
- "Navigate to transaction history (revenue tab)",
393
- "Set date range",
394
- "Export data"
395
- ]
396
- },
397
- {
398
- "id": "affiliate_invoice",
399
- "name": "Báo cáo hoá đơn affiliate",
400
- "nameVi": "Hoá đơn hoa hồng liên kết TikTok",
401
- "platform": "tiktok",
402
- "url": "https://seller-vn.tiktok.com/finance/invoice?shop_region=VN",
403
- "frequency": "monthly",
404
- "priority": true,
405
- "exportFormat": "excel",
406
- "fileExtension": "xlsx",
407
- "screenshotRef": "https://prnt.sc/W8kOcqiA6mmz",
408
- "status": "active",
409
- "dateSelectionType": "core_month_picker",
410
- "exportSteps": [
411
- "Wait for page load",
412
- "Click 'Biên nhận hoa hồng liên kết'",
413
- "Open month picker",
414
- "Select target month (Jan-Dec)",
415
- "Click OK",
416
- "Check if data exists",
417
- "If data: set 50/Page, get max pages, extract table per page",
418
- "Save each part as Excel"
419
- ]
420
- }
421
- ]
422
- }
@@ -1,3 +0,0 @@
1
- {
2
- "sessions": []
3
- }