vibesuite 1.0.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 (117) hide show
  1. package/.agent/skills/agent-recovery/SKILL.md +147 -0
  2. package/.agent/skills/code-review/SKILL.md +81 -0
  3. package/.agent/skills/component-analysis/SKILL.md +103 -0
  4. package/.agent/skills/git-worktree/SKILL.md +78 -0
  5. package/.agent/skills/github-ops/SKILL.md +220 -0
  6. package/.agent/skills/github-ops/scripts/publish_issues.ps1 +443 -0
  7. package/.agent/skills/github-ops/scripts/smart-ops.ps1 +128 -0
  8. package/.agent/skills/github-ops/scripts/smart-ops.sh +130 -0
  9. package/.agent/skills/google-trends/SKILL.md +157 -0
  10. package/.agent/skills/google-trends/scripts/node_modules/.modules.yaml +21 -0
  11. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/LICENSE +22 -0
  12. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/Readme.md +1157 -0
  13. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/esm.mjs +16 -0
  14. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/index.js +24 -0
  15. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/argument.js +149 -0
  16. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/command.js +2509 -0
  17. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/error.js +39 -0
  18. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/help.js +520 -0
  19. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/option.js +330 -0
  20. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/suggestSimilar.js +101 -0
  21. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/package-support.json +16 -0
  22. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/package.json +84 -0
  23. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/esm.d.mts +3 -0
  24. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/commander@12.1.0/node_modules/commander/typings/index.d.ts +969 -0
  25. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/CHANGES.md +132 -0
  26. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/LICENSE +21 -0
  27. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/README.md +561 -0
  28. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/lib/google-trends-api.min.js +2 -0
  29. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/package.json +68 -0
  30. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/api.js +18 -0
  31. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/index.js +27 -0
  32. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/request.js +69 -0
  33. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/google-trends-api@4.9.2/node_modules/google-trends-api/src/utilities.js +395 -0
  34. package/.agent/skills/google-trends/scripts/node_modules/.pnpm/lock.yaml +31 -0
  35. package/.agent/skills/google-trends/scripts/node_modules/.pnpm-workspace-state-v1.json +25 -0
  36. package/.agent/skills/google-trends/scripts/package.json +17 -0
  37. package/.agent/skills/google-trends/scripts/pnpm-lock.yaml +31 -0
  38. package/.agent/skills/google-trends/scripts/search.js +168 -0
  39. package/.agent/skills/high-fidelity-extraction/SKILL.md +59 -0
  40. package/.agent/skills/prime-agent/SKILL.md +97 -0
  41. package/.agent/skills/security-audit/SKILL.md +81 -0
  42. package/.agent/skills/seo-ready/SKILL.md +133 -0
  43. package/.agent/skills/spawn-task/SKILL.md +130 -0
  44. package/.agent/skills/sync-docs/SKILL.md +88 -0
  45. package/.agent/skills/vercel-ai-sdk/SKILL.md +34083 -0
  46. package/.agent/skills/youtube-pipeline/SKILL.md +194 -0
  47. package/.agent/skills/youtube-pipeline/resources/youtube-phase1-strategy.md +224 -0
  48. package/.agent/skills/youtube-pipeline/resources/youtube-phase2-packaging.md +148 -0
  49. package/.agent/skills/youtube-pipeline/resources/youtube-phase3-scripting.md +197 -0
  50. package/.agent/skills/youtube-pipeline/resources/youtube-phase3.5-shorts.md +271 -0
  51. package/.agent/skills/youtube-pipeline/resources/youtube-phase4-production.md +193 -0
  52. package/.agent/skills/youtube-pipeline/resources/youtube-phase5-repurposing.md +159 -0
  53. package/.agent/skills/youtube-pipeline/resources/youtube-pipeline.md +161 -0
  54. package/.agent/skills/youtube-pipeline/scripts/parse_yt_studio.ps1 +150 -0
  55. package/.agent/workflows/LEGACY/ANTIGRAVITY_TOOLBOX.md +200 -0
  56. package/.agent/workflows/LEGACY/analyze_component.md +141 -0
  57. package/.agent/workflows/LEGACY/build_vibecode_project.md +154 -0
  58. package/.agent/workflows/LEGACY/deep_code_audit.md +79 -0
  59. package/.agent/workflows/LEGACY/gemini-orchestrate.md +63 -0
  60. package/.agent/workflows/LEGACY/git_worktree.md +71 -0
  61. package/.agent/workflows/LEGACY/init_smart_ops.md +101 -0
  62. package/.agent/workflows/LEGACY/multi_agent_strategy.md +62 -0
  63. package/.agent/workflows/LEGACY/orchestrate.md +321 -0
  64. package/.agent/workflows/LEGACY/seo_ready.md +249 -0
  65. package/.agent/workflows/LEGACY/vibe-orchestrator.md +305 -0
  66. package/.agent/workflows/LEGACY/youtube-phase1-strategy.md +224 -0
  67. package/.agent/workflows/LEGACY/youtube-phase2-packaging.md +148 -0
  68. package/.agent/workflows/LEGACY/youtube-phase3-scripting.md +197 -0
  69. package/.agent/workflows/LEGACY/youtube-phase3.5-shorts.md +271 -0
  70. package/.agent/workflows/LEGACY/youtube-phase4-production.md +193 -0
  71. package/.agent/workflows/LEGACY/youtube-phase5-repurposing.md +159 -0
  72. package/.agent/workflows/LEGACY/youtube-pipeline.md +161 -0
  73. package/.agent/workflows/README.md +349 -0
  74. package/.agent/workflows/Vercel Ai SDK.md +34083 -0
  75. package/.agent/workflows/agent_reset.md +138 -0
  76. package/.agent/workflows/build_vibecode_project_v2.md +158 -0
  77. package/.agent/workflows/escalate.md +112 -0
  78. package/.agent/workflows/init_vibecode_design.md +98 -0
  79. package/.agent/workflows/init_vibecode_genesis.md +137 -0
  80. package/.agent/workflows/migrate.md +135 -0
  81. package/.agent/workflows/prime_agent.md +211 -0
  82. package/.agent/workflows/reverse_genesis.md +132 -0
  83. package/.agent/workflows/review_code.md +133 -0
  84. package/.agent/workflows/spawn-jstar-code-review.md +121 -0
  85. package/.agent/workflows/spawn_task.md +187 -0
  86. package/.agent/workflows/sync_docs.md +90 -0
  87. package/Legacy (Manual Method)/0 VibeCode User Manual.md +173 -0
  88. package/Legacy (Manual Method)/1 Project Genesis Protocol The VibeCode Workflow.md +89 -0
  89. package/Legacy (Manual Method)/2/342/234/250 ULTIMATE ORCHESTRATION PROMPT/342/234/250.md" +114 -0
  90. package/Legacy (Manual Method)/3 Design System Genesis Protocol.md +75 -0
  91. package/Legacy (Manual Method)/3.1.1 my_design_system_rules.md +177 -0
  92. package/Legacy (Manual Method)/3.1.2 Material You M3 Genesis Protocol.md +73 -0
  93. package/Legacy (Manual Method)/4 The Ultimate GitHub Issue Meta-Prompt Template.md +54 -0
  94. package/Legacy (Manual Method)/5 The Escalation & Handoff Protocol.md +97 -0
  95. package/Legacy (Manual Method)/8 The Seamless Migration Meta-Prompt (Your Reusable Tool).md +38 -0
  96. package/Legacy (Manual Method)/9 The Reverse Genesis Protocol.md +75 -0
  97. package/README.md +209 -0
  98. package/VibeCode-Agents (e.g Kilo-code)/README.md +142 -0
  99. package/VibeCode-Agents (e.g Kilo-code)/vibe-analyzer.yaml +254 -0
  100. package/VibeCode-Agents (e.g Kilo-code)/vibe-architect.yaml +397 -0
  101. package/VibeCode-Agents (e.g Kilo-code)/vibe-auditor.yaml +325 -0
  102. package/VibeCode-Agents (e.g Kilo-code)/vibe-builder.yaml +472 -0
  103. package/VibeCode-Agents (e.g Kilo-code)/vibe-designer.yaml +305 -0
  104. package/VibeCode-Agents (e.g Kilo-code)/vibe-documentor.yaml +222 -0
  105. package/VibeCode-Agents (e.g Kilo-code)/vibe-escalator.yaml +255 -0
  106. package/VibeCode-Agents (e.g Kilo-code)/vibe-isolator.yaml +332 -0
  107. package/VibeCode-Agents (e.g Kilo-code)/vibe-onboarder.yaml +335 -0
  108. package/VibeCode-Agents (e.g Kilo-code)/vibe-orchestrator.yaml +365 -0
  109. package/VibeCode-Agents (e.g Kilo-code)/vibe-orchestrator_legacy.yaml +284 -0
  110. package/VibeCode-Agents (e.g Kilo-code)/vibe-orchestrator_v1.yaml +336 -0
  111. package/VibeCode-Agents (e.g Kilo-code)/vibe-primer.yaml +213 -0
  112. package/VibeCode-Agents (e.g Kilo-code)/vibe-reviewer.yaml +233 -0
  113. package/VibeCode-Agents (e.g Kilo-code)/vibe-spawner.yaml +259 -0
  114. package/bin/vibesuite.js +2 -0
  115. package/package.json +43 -0
  116. package/src/cli.js +159 -0
  117. package/src/utils.js +76 -0
@@ -0,0 +1,168 @@
1
+ #!/usr/bin/env node
2
+ import { program } from 'commander';
3
+ import googleTrends from 'google-trends-api';
4
+
5
+ program
6
+ .name('search')
7
+ .description('Google Trends CLI for topic research')
8
+ .requiredOption('-k, --keyword <string>', 'Topic to search')
9
+ .option('-p, --property <string>', 'youtube | web | images | news | froogle', 'youtube')
10
+ .option('-t, --time <string>', 'Time range (now 7-d, now 1-m, today 3-m, today 12-m)', 'now 7-d')
11
+ .option('-c, --category <number>', 'Category ID (5 = Tech)', '5')
12
+ .option('-o, --output <string>', 'Output format: table | json | markdown', 'table')
13
+ .option('-f, --file <path>', 'Output file path')
14
+ .option('--interest', 'Include interest-over-time data', false)
15
+ .parse();
16
+
17
+ const opts = program.opts();
18
+
19
+ // Parse time range string to date
20
+ function getStartTime(timeStr) {
21
+ const now = Date.now();
22
+ const match = timeStr.match(/^(now|today)\s+(\d+)-([dmy])$/);
23
+ if (!match) return new Date(now - 7 * 24 * 60 * 60 * 1000); // default 7 days
24
+
25
+ const [, , num, unit] = match;
26
+ const amount = parseInt(num, 10);
27
+ switch (unit) {
28
+ case 'd': return new Date(now - amount * 24 * 60 * 60 * 1000);
29
+ case 'm': return new Date(now - amount * 30 * 24 * 60 * 60 * 1000);
30
+ case 'y': return new Date(now - amount * 365 * 24 * 60 * 60 * 1000);
31
+ default: return new Date(now - 7 * 24 * 60 * 60 * 1000);
32
+ }
33
+ }
34
+
35
+ async function fetchRelatedQueries() {
36
+ const result = await googleTrends.relatedQueries({
37
+ keyword: opts.keyword,
38
+ startTime: getStartTime(opts.time),
39
+ property: opts.property === 'web' ? '' : opts.property,
40
+ category: parseInt(opts.category, 10),
41
+ });
42
+ return JSON.parse(result);
43
+ }
44
+
45
+ async function fetchInterestOverTime() {
46
+ if (!opts.interest) return null;
47
+ const result = await googleTrends.interestOverTime({
48
+ keyword: opts.keyword,
49
+ startTime: getStartTime(opts.time),
50
+ property: opts.property === 'web' ? '' : opts.property,
51
+ category: parseInt(opts.category, 10),
52
+ });
53
+ return JSON.parse(result);
54
+ }
55
+
56
+ function formatTable(data, interest) {
57
+ const lines = [];
58
+ lines.push(`\n[TrendProbe] Searching: "${opts.keyword}" on ${opts.property} (${opts.time})\n`);
59
+
60
+ const ranked = data?.default?.rankedList || [];
61
+ ranked.forEach((list, idx) => {
62
+ const label = idx === 0 ? 'Top' : 'Rising';
63
+ lines.push(`--- Related Queries (${label}) ---`);
64
+
65
+ (list.rankedKeyword || []).forEach((item, i) => {
66
+ const value = typeof item.value === 'string' ? item.value : item.value;
67
+ const display = item.formattedValue || (value === 'Breakout' ? 'BREAKOUT' : value);
68
+ lines.push(`${i + 1}. ${item.query} (${display})`);
69
+ });
70
+ lines.push('');
71
+ });
72
+
73
+ if (interest?.default?.timelineData) {
74
+ lines.push('--- Interest Over Time ---');
75
+ const timeline = interest.default.timelineData.slice(-7); // Last 7 data points
76
+ timeline.forEach(point => {
77
+ lines.push(`${point.formattedTime}: ${point.value[0]}`);
78
+ });
79
+ lines.push('');
80
+ }
81
+
82
+ return lines.join('\n');
83
+ }
84
+
85
+ function formatJSON(data, interest) {
86
+ const ranked = data?.default?.rankedList || [];
87
+ const result = {
88
+ keyword: opts.keyword,
89
+ property: opts.property,
90
+ time: opts.time,
91
+ category: opts.category,
92
+ top: (ranked[0]?.rankedKeyword || []).map(q => ({ query: q.query, value: q.value })),
93
+ rising: (ranked[1]?.rankedKeyword || []).map(q => ({ query: q.query, value: q.formattedValue || q.value })),
94
+ };
95
+ if (interest?.default?.timelineData) {
96
+ result.interest = interest.default.timelineData.map(p => ({ time: p.formattedTime, value: p.value[0] }));
97
+ }
98
+ return JSON.stringify(result, null, 2);
99
+ }
100
+
101
+ function formatMarkdown(data, interest) {
102
+ const lines = [];
103
+ lines.push(`## ${opts.keyword} (${opts.property}, ${opts.time})`);
104
+ lines.push('');
105
+
106
+ const ranked = data?.default?.rankedList || [];
107
+ if (ranked[0]?.rankedKeyword?.length) {
108
+ lines.push('### Top Queries');
109
+ ranked[0].rankedKeyword.forEach((q, i) => {
110
+ lines.push(`${i + 1}. ${q.query} (${q.value})`);
111
+ });
112
+ lines.push('');
113
+ }
114
+
115
+ if (ranked[1]?.rankedKeyword?.length) {
116
+ lines.push('### Rising Queries');
117
+ ranked[1].rankedKeyword.forEach((q, i) => {
118
+ const display = q.formattedValue || q.value;
119
+ lines.push(`${i + 1}. ${q.query} (${display})`);
120
+ });
121
+ lines.push('');
122
+ }
123
+
124
+ if (interest?.default?.timelineData) {
125
+ lines.push('### Interest Over Time');
126
+ interest.default.timelineData.slice(-7).forEach(p => {
127
+ lines.push(`- ${p.formattedTime}: ${p.value[0]}`);
128
+ });
129
+ lines.push('');
130
+ }
131
+
132
+ return lines.join('\n');
133
+ }
134
+
135
+ async function main() {
136
+ try {
137
+ const [relatedData, interestData] = await Promise.all([
138
+ fetchRelatedQueries(),
139
+ fetchInterestOverTime(),
140
+ ]);
141
+
142
+ let output;
143
+ switch (opts.output) {
144
+ case 'json':
145
+ output = formatJSON(relatedData, interestData);
146
+ break;
147
+ case 'markdown':
148
+ output = formatMarkdown(relatedData, interestData);
149
+ break;
150
+ default:
151
+ output = formatTable(relatedData, interestData);
152
+ }
153
+
154
+ console.log(output);
155
+
156
+ if (opts.file) {
157
+ const fs = await import('fs');
158
+ fs.writeFileSync(opts.file, output, 'utf-8');
159
+ console.log(`\n[Saved to ${opts.file}]`);
160
+ }
161
+
162
+ } catch (err) {
163
+ console.error('[Error]', err.message);
164
+ process.exit(1);
165
+ }
166
+ }
167
+
168
+ main();
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: high-fidelity-extraction
3
+ description: Advanced protocol for extracting granular social media and web intelligence using browser automation and DOM analysis.
4
+ ---
5
+
6
+ # High Fidelity Data Extraction Protocol
7
+
8
+ This skill enables the agent to extract deep intelligence from social media platforms (Instagram, TikTok, YouTube, etc.) and complex web environments with high precision.
9
+
10
+ ## 🚀 Core Philosophy: The Extraction Spectrum
11
+
12
+ When tasked with extraction, always check the prompt for specific limitations. If no limitations are provided, assume **Standard Level**.
13
+
14
+ ### Extraction Capability Matrix
15
+
16
+ | Feature | Basic (Standard) | Deep (Advanced) | Elite (Full Intelligence) |
17
+ | :--- | :--- | :--- | :--- |
18
+ | **Captions** | Full Text + Hashtags | + Edited timestamps | + OCR from video overlays |
19
+ | **Comments** | Top 3-5 (Top Level) | Top 10 + Threaded replies | Full sentiment & pain point mapping |
20
+ | **Engagement** | Likes / Views count | Engagement Rate % | Share/Save estimates & Viral Velocity |
21
+ | **Brand Intel** | @Mentions in caption | + Link-in-bio analysis | + Competitor comparison vs Meta Ad Library |
22
+ | **Visuals** | Profile Screen/Grid | Individual Post Screenshots | UI/UX Reverse Engineering of Funnel |
23
+ | **Technical** | URL collection | Precise ISO Timestamps | API Pattern Mapping & DB Schema generation |
24
+
25
+ ## 📊 Tabular Output Format
26
+
27
+ Unless the user specifies otherwise, all extracted data should be compiled into a Markdown table for maximum scannability.
28
+
29
+ ### Standard Template:
30
+ ```markdown
31
+ | Post Type | Caption Snippet | Top Comments (Synthesized) | Key Metrics | Brand/Tags |
32
+ | :--- | :--- | :--- | :--- | :--- |
33
+ | Pinned | "How to be..." | Users asking about discipline tips | 30k Likes | @Adidas, #NYC |
34
+ | Recent 1 | "Day in life..." | High praise for work/life balance | 15k Views | @CeraVe |
35
+ ```
36
+
37
+ ## 🧠 Smart Filtering Strategy (Instagram Reels)
38
+ When the goal involves "high-performing" content or maximizing engagement:
39
+
40
+ 1. **Reels First**: Navigate to the `/reels/` tab immediately. View counts are not visible on the main grid but are overlayed on Reel thumbnails.
41
+ 2. **Baseline Calculation**:
42
+ - Extract view counts from the first 6-12 visible Reels.
43
+ - Calculate the **average (mean)** view count.
44
+ 3. **Filtration**:
45
+ - Only click/extract posts that exceed this average.
46
+ - This ensures we focus valuable browser resources on proven content.
47
+
48
+ ## 🛠️ Execution Instructions for the Subagent
49
+
50
+ 1. **DOM First**: Never navigate blindly. Use `browser_get_dom` to identify the obfuscated class names for captions and comments.
51
+ 2. **Surgical Navigation**: To avoid 429 errors (Too Many Requests), navigate directly to post URLs once the links are gathered from the grid, rather than infinite scrolling.
52
+ 3. **Expansion Logic**: Always look for `... more` or "View all comments" buttons and trigger them via JavaScript to ensure data completeness.
53
+ 4. **Verification**: Always capture a final screenshot of the "Main Extraction Target" to verify text accuracy against the visual truth.
54
+
55
+ ## 🛑 Limitations & Compliance
56
+
57
+ - **Obey Prompt Bounds**: If the user says "Only get usernames," do NOT extract captions.
58
+ - **Privacy**: Respect platform TOS by focusing on public-facing data and ignoring private user details.
59
+ - **Anti-Spam**: Filter out "Promote on..." or generic bot comments automatically.
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: prime-agent
3
+ description: Load project context including coding guidelines, styling rules, and folder structure before starting work.
4
+ ---
5
+
6
+ # Prime Agent Skill
7
+
8
+ Load the "brain" of the project — coding guidelines, styling rules, and architectural decisions.
9
+
10
+ ## When to Use
11
+ - Start of session
12
+ - Before complex work
13
+ - After `/migrate` to supplement snapshot
14
+ - When context seems lost
15
+
16
+ ## Load Core Documentation
17
+
18
+ ```bash
19
+ # Coding Guidelines
20
+ cat docs/coding_guidelines.md 2>/dev/null || \
21
+ cat docs/Coding_Guidelines.md 2>/dev/null
22
+
23
+ # Styling Guide
24
+ cat docs/Styling*.md 2>/dev/null || \
25
+ cat docs/design/*.md 2>/dev/null
26
+
27
+ # Styling Addendum (project-specific)
28
+ cat docs/Styling-Addendum.md 2>/dev/null
29
+ ```
30
+
31
+ ## Check for UI Mockups
32
+
33
+ ```bash
34
+ ls docs/mockups/ 2>/dev/null
35
+ ls docs/design/mockups/ 2>/dev/null
36
+ ls docs/design/design-system.html 2>/dev/null
37
+ ```
38
+
39
+ > **IMPORTANT**: If mockups exist, they are the **UNQUESTIONABLE source of truth** for UI. Replicate exactly.
40
+
41
+ ## Key Rules to Internalize
42
+
43
+ ### From Coding Guidelines
44
+ - **Blueprint Protocol**: Plan before code, docs in `docs/features/`
45
+ - **200-Line Rule**: Refactor if exceeded
46
+ - **File Structure**: Feature-sliced design (`src/features/[Name]/`)
47
+ - **Server vs Client**: RSCs by default, `'use client'` sparingly
48
+ - **Service Pattern**: Route Handlers = controllers, Services = business logic
49
+ - **Validation**: Zod for all inputs
50
+
51
+ ### From Styling Guide
52
+ - **Tailwind v4**: CSS-first with `@theme` tokens
53
+ - **Core Tokens**: `--color-background`, `--color-foreground`, `--color-border`
54
+ - **Dark Mode**: `@theme .dark { }` overrides
55
+ - **Animations**: Define in CSS with `@keyframes`
56
+
57
+ ## Acknowledgment
58
+
59
+ After loading, state:
60
+
61
+ "✅ **Agent Primed.** Internalized:
62
+
63
+ **Coding Guidelines:**
64
+ - Blueprint Protocol: Plan → Approve → Build → Document
65
+ - 200-line component limit
66
+ - Feature-sliced architecture
67
+ - Server Components default
68
+
69
+ **Styling Rules:**
70
+ - Tailwind v4 with `@theme` tokens
71
+ - Dark mode via `.dark` class
72
+
73
+ **UI Mockups:** [List any found or 'None']
74
+
75
+ What would you like to build?"
76
+
77
+ ## Quick Reference Card
78
+
79
+ ```
80
+ src/
81
+ ├── app/ # Next.js App Router pages
82
+ ├── features/ # Feature-sliced modules
83
+ │ └── [Name]/ # Components, hooks, services
84
+ ├── components/ui/ # Reusable UI components
85
+ ├── lib/ # Utilities, API clients
86
+ └── scripts/ # Build/automation scripts
87
+ ```
88
+
89
+ **Key Commands:**
90
+ - `npm run dev` — Start development
91
+ - `npm run build` — Production build
92
+ - `npm run db:seed` — Seed database
93
+
94
+ **Style Tokens:**
95
+ - `bg-background` / `text-foreground`
96
+ - `bg-primary` / `text-primary`
97
+ - `dark:` prefix for dark mode
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: security-audit
3
+ description: Perform a meticulous deep code audit covering Security, Logic, Completeness, and Quality. Manual analysis for critical systems.
4
+ ---
5
+
6
+ # Security Audit Skill
7
+
8
+ A comprehensive, manual deep code audit protocol for security-critical systems.
9
+
10
+ ## When to Use
11
+ - Before major releases
12
+ - Security review requests
13
+ - Auditing authentication/payment flows
14
+ - When "audit" or "security" is mentioned
15
+
16
+ ## Audit Phases
17
+
18
+ ### Phase 0: Scope Definition
19
+ Define boundaries:
20
+ - **FULL_SCAN**: Entire codebase
21
+ - **FEATURE_SCAN**: Specific feature (`docs/features/[Name].md`)
22
+ - **DIFF_SCAN**: `git diff --staged` or `git diff HEAD~1`
23
+
24
+ ### Phase 1: The Detective (Static Analysis)
25
+ ```bash
26
+ # 1. Dependency audit
27
+ pnpm audit # or npm audit
28
+
29
+ # 2. Secret scanning (use jstar if available)
30
+ jstar detect
31
+
32
+ # 3. Manual grep patterns:
33
+ # Secrets
34
+ grep -rE "(api_key|secret|password|token)\s*[:=]\s*['\"\`][a-zA-Z0-9_\-\.]{10,}['\"\`]"
35
+
36
+ # RCE/Injection
37
+ grep -rE "(dangerouslySetInnerHTML|eval\(|exec\(|\.queryRaw)"
38
+
39
+ # Debugging
40
+ grep -rE "(console\.log|debugger|todo)"
41
+ ```
42
+
43
+ ### Phase 2: The Graph (Data Flow)
44
+ - Identify Entry Points (Routes, Actions, CLI)
45
+ - **Trace Input**: User input → Service → Database
46
+ - **Verify Validation**: Zod/Typebox at edge boundaries
47
+
48
+ ### Phase 3: The Auditor (Spec vs Code)
49
+ - Read `docs/features/*.md` for scope
50
+ - **Gap Analysis**: Features in Docs but missing in Code
51
+ - **Orphan Analysis**: Code not in Docs (zombie code)
52
+
53
+ ### Phase 4: The Judge (Logic Probing)
54
+ Pick highest-risk file and simulate:
55
+ - "What if I send `null`? Empty string? Negative ID?"
56
+ - "What if two requests hit this at once?" (race conditions)
57
+ - "Can I access this Service function directly?" (auth bypass)
58
+
59
+ ### Phase 5: The Architect (Quality)
60
+ - **Performance**: `await` in loops → N+1 queries
61
+ - **Bloat**: Files > 200 lines? Functions > 50 lines?
62
+ - **Types**: Any use of `any` or `as unknown`?
63
+ - **Structure**: Feature-Sliced Design compliance?
64
+
65
+ ### Phase 6: Report
66
+ Create `.jstar/audit_report.md`:
67
+
68
+ | Severity | Category | Location | Issue | Recommendation |
69
+ |----------|----------|----------|-------|----------------|
70
+ | CRITICAL | SECURITY | `api/auth` | ... | ... |
71
+ | HIGH | LOGIC | `service.ts:42` | ... | ... |
72
+
73
+ Severities: `CRITICAL`, `HIGH`, `WARNING`, `INFO`
74
+ Categories: `SECURITY`, `LOGIC`, `COMPLETENESS`, `QUALITY`
75
+
76
+ ### Phase 7: Remediation
77
+ For each CRITICAL/HIGH:
78
+ 1. Implement fix
79
+ 2. Run build/tests
80
+ 3. Re-verify with grep/logic check
81
+ 4. Stage changes
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: seo-ready
3
+ description: Make any Next.js page SEO-ready with metadata, structured data, sitemap, and accessibility best practices.
4
+ ---
5
+
6
+ # SEO Ready Skill
7
+
8
+ Transform Next.js pages into fully SEO-optimized pages.
9
+
10
+ ## When to Use
11
+ - SEO optimization requests
12
+ - Before launching pages to production
13
+ - When asked about metadata or search visibility
14
+ - Accessibility audits
15
+
16
+ ## Phase 1: Global Setup (Once Per Project)
17
+
18
+ ### Check Root Metadata
19
+ ```bash
20
+ head -50 src/app/layout.tsx
21
+ ```
22
+
23
+ Required in `layout.tsx`:
24
+ ```typescript
25
+ export const metadata: Metadata = {
26
+ title: { default: "Site Name", template: "%s | Site Name" },
27
+ description: "...",
28
+ metadataBase: new URL("https://your-domain.com"),
29
+ openGraph: { /* ... */ },
30
+ twitter: { /* ... */ },
31
+ };
32
+ ```
33
+
34
+ ### Sitemap
35
+ ```bash
36
+ ls src/app/sitemap.ts 2>/dev/null || echo "MISSING"
37
+ ```
38
+
39
+ If missing, create `src/app/sitemap.ts`:
40
+ ```typescript
41
+ import { MetadataRoute } from 'next'
42
+
43
+ export default function sitemap(): MetadataRoute.Sitemap {
44
+ const baseUrl = 'https://your-domain.com'
45
+ return [
46
+ { url: baseUrl, lastModified: new Date(), changeFrequency: 'yearly', priority: 1 },
47
+ ]
48
+ }
49
+ ```
50
+
51
+ ### Robots.txt
52
+ Create `src/app/robots.ts` if missing.
53
+
54
+ ### Web Manifest (PWA)
55
+ Create `src/app/manifest.ts` if missing.
56
+
57
+ ### Icons
58
+ Check: `src/app/icon.png`, `src/app/apple-icon.png`
59
+
60
+ ### OpenGraph Image
61
+ Options:
62
+ - **Static**: `src/app/opengraph-image.png` (1200x630px)
63
+ - **Dynamic**: `src/app/opengraph-image.tsx`
64
+
65
+ ### JSON-LD Structured Data
66
+ Add to `<body>` in layout:
67
+ ```tsx
68
+ <script
69
+ type="application/ld+json"
70
+ dangerouslySetInnerHTML={{
71
+ __html: JSON.stringify({
72
+ "@context": "https://schema.org",
73
+ "@type": "SoftwareApplication",
74
+ "name": "Your App",
75
+ })
76
+ }}
77
+ />
78
+ ```
79
+
80
+ ## Phase 2: Per-Page Optimization
81
+
82
+ ### Server Component Check
83
+ If page starts with `'use client'`, refactor:
84
+ - Move client logic to `src/features/<feature>/components/`
85
+ - Page file becomes Server Component that imports client component
86
+
87
+ ### Page Metadata
88
+ ```typescript
89
+ import { Metadata } from 'next';
90
+
91
+ export const metadata: Metadata = {
92
+ title: "Page Title", // Becomes "Page Title | Site Name"
93
+ description: "Specific description for this page.",
94
+ };
95
+ ```
96
+
97
+ ### Semantic HTML Audit
98
+ - `<main>` for primary content
99
+ - `<section>` with `id` for anchors
100
+ - `<article>` for standalone content
101
+ - Proper heading hierarchy (`<h1>` → `<h2>` etc.)
102
+
103
+ ### Image Optimization
104
+ - Use `<Image>` component
105
+ - Required: `alt`, `width`, `height`
106
+
107
+ ## Phase 3: Accessibility
108
+
109
+ - ARIA labels on interactive elements
110
+ - `<html lang="en">` set correctly
111
+ - Keyboard navigable
112
+
113
+ ## Phase 4: Verification
114
+
115
+ ```bash
116
+ pnpm build
117
+ pnpm dev
118
+ # Visit /sitemap.xml and /robots.txt
119
+ ```
120
+
121
+ ## Checklist
122
+ | Item | Status |
123
+ |------|--------|
124
+ | Root metadata | [ ] |
125
+ | sitemap.ts | [ ] |
126
+ | robots.ts | [ ] |
127
+ | manifest.ts | [ ] |
128
+ | Icons | [ ] |
129
+ | OpenGraph image | [ ] |
130
+ | JSON-LD | [ ] |
131
+ | Page metadata | [ ] |
132
+ | Semantic HTML | [ ] |
133
+ | Build passes | [ ] |
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: spawn-task
3
+ description: Create comprehensive, self-contained task prompts for implementing features or fixing bugs.
4
+ ---
5
+
6
+ # Spawn Task Skill
7
+
8
+ Create detailed task prompts that another agent (or future self) can execute without additional context.
9
+
10
+ ## When to Use
11
+ - Breaking down complex features
12
+ - Creating implementation specs
13
+ - When user says "spawn a task for..."
14
+ - Planning multi-phase work
15
+
16
+ ## Task Discovery
17
+
18
+ Gather from user:
19
+ - **Task Description**: What needs to be done?
20
+ - **Priority**: High / Medium / Low
21
+ - **Scope**: What's included/excluded?
22
+ - **Timeline**: Expected completion (optional)
23
+
24
+ ## Current State Analysis
25
+
26
+ ```bash
27
+ # Check related files
28
+ find src -name "*relevant*" -type f
29
+
30
+ # Check documentation
31
+ ls docs/features/
32
+
33
+ # Check GitHub issues
34
+ gh issue list --search "[related term]"
35
+ ```
36
+
37
+ ## Task Prompt Template
38
+
39
+ Create `docs/tasks/[TaskName].md`:
40
+
41
+ ```markdown
42
+ # 🎯 Task: [Task Name]
43
+
44
+ **Objective:** [Clear, measurable goal]
45
+ **Priority:** [High/Medium/Low]
46
+ **Scope:** [What's included/excluded]
47
+
48
+ ---
49
+
50
+ ## 📋 Requirements
51
+
52
+ ### Functional Requirements
53
+ - **[REQ-001]** [Requirement with acceptance criteria]
54
+
55
+ ### Technical Requirements
56
+ - **[TECH-001]** [Technical specification]
57
+
58
+ ---
59
+
60
+ ## 🏗️ Implementation Plan
61
+
62
+ ### Phase 1: Setup
63
+ - [ ] [Setup task]
64
+
65
+ ### Phase 2: Core Implementation
66
+ - [ ] [Core task]
67
+
68
+ ### Phase 3: Enhancement
69
+ - [ ] [Enhancement task]
70
+
71
+ ### Phase 4: Testing & Documentation
72
+ - [ ] [Testing task]
73
+
74
+ ---
75
+
76
+ ## 📁 Files to Create/Modify
77
+
78
+ | File | Action | Purpose |
79
+ |------|--------|---------|
80
+ | `src/features/[Feature]/...` | Create | [Purpose] |
81
+
82
+ ---
83
+
84
+ ## ✅ Success Criteria
85
+
86
+ ### Code Quality
87
+ - [ ] TypeScript compliant (no `any`)
88
+ - [ ] Passes ESLint
89
+ - [ ] Unit tests with >80% coverage
90
+
91
+ ### Performance
92
+ - [ ] Bundle size increase < 5KB
93
+ - [ ] Load time < 1.5s
94
+
95
+ ### Functionality
96
+ - [ ] All requirements implemented
97
+ - [ ] Mobile responsive
98
+
99
+ ---
100
+
101
+ ## 🔗 Dependencies
102
+
103
+ **Depends on:** [Other components]
104
+ **Used by:** [Components that use this]
105
+
106
+ ---
107
+
108
+ ## 🚀 Getting Started
109
+
110
+ 1. Read this task prompt completely
111
+ 2. Review related files
112
+ 3. Begin with Phase 1
113
+ 4. Provide progress updates after each phase
114
+ ```
115
+
116
+ ## Options After Spawning
117
+ - **A)** Start implementing now
118
+ - **B)** Create GitHub Issue to track
119
+ - **C)** Save task for later
120
+
121
+ ## Task Categories
122
+ - 🆕 **Feature**: New functionality
123
+ - 🐛 **Bug Fix**: Fixing broken behavior
124
+ - ♻️ **Refactor**: Improving existing code
125
+ - 📚 **Documentation**: Writing docs
126
+
127
+ ## Priority Guidelines
128
+ - **High**: Blocking other work, user-facing bugs
129
+ - **Medium**: Important features, non-blocking issues
130
+ - **Low**: Nice-to-haves, minor improvements