agemon 0.1.0 → 6.3.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.
- package/README.md +983 -30
- package/assets/skills/architecture/agemon-architecture/LICENSE +21 -0
- package/assets/skills/architecture/agemon-architecture/NOTICE.md +9 -0
- package/assets/skills/architecture/agemon-architecture/SKILL.md +275 -0
- package/assets/skills/code-quality/agemon-clean-code/LICENSE +21 -0
- package/assets/skills/code-quality/agemon-clean-code/NOTICE.md +9 -0
- package/assets/skills/code-quality/agemon-clean-code/SKILL.md +78 -0
- package/assets/skills/code-quality/agemon-house-rules/SKILL.md +103 -0
- package/assets/skills/commit/agemon-commit/SKILL.md +87 -0
- package/assets/skills/design/agemon-design/LICENSE +21 -0
- package/assets/skills/design/agemon-design/NOTICE.md +43 -0
- package/assets/skills/design/agemon-design/SKILL.md +128 -0
- package/assets/skills/design/agemon-design/references/accessibility.md +182 -0
- package/assets/skills/design/agemon-design/references/actions.md +215 -0
- package/assets/skills/design/agemon-design/references/ai-chat.md +158 -0
- package/assets/skills/design/agemon-design/references/brief.md +190 -0
- package/assets/skills/design/agemon-design/references/color.md +216 -0
- package/assets/skills/design/agemon-design/references/components.md +91 -0
- package/assets/skills/design/agemon-design/references/copy.md +300 -0
- package/assets/skills/design/agemon-design/references/core-rules.md +166 -0
- package/assets/skills/design/agemon-design/references/craft-intent.md +162 -0
- package/assets/skills/design/agemon-design/references/dashboard.md +131 -0
- package/assets/skills/design/agemon-design/references/dataviz.md +197 -0
- package/assets/skills/design/agemon-design/references/finish-bar.md +243 -0
- package/assets/skills/design/agemon-design/references/forms.md +192 -0
- package/assets/skills/design/agemon-design/references/heuristics.md +319 -0
- package/assets/skills/design/agemon-design/references/inspiration.md +287 -0
- package/assets/skills/design/agemon-design/references/layout.md +236 -0
- package/assets/skills/design/agemon-design/references/loops.md +155 -0
- package/assets/skills/design/agemon-design/references/metadata.md +98 -0
- package/assets/skills/design/agemon-design/references/modern-css.md +448 -0
- package/assets/skills/design/agemon-design/references/motion.md +434 -0
- package/assets/skills/design/agemon-design/references/personas.md +206 -0
- package/assets/skills/design/agemon-design/references/preset-dashboard.md +109 -0
- package/assets/skills/design/agemon-design/references/preset-editorial.md +94 -0
- package/assets/skills/design/agemon-design/references/preset-minimal.md +93 -0
- package/assets/skills/design/agemon-design/references/principles-catalog.md +299 -0
- package/assets/skills/design/agemon-design/references/recipe-auth.md +88 -0
- package/assets/skills/design/agemon-design/references/recipe-dashboard.md +130 -0
- package/assets/skills/design/agemon-design/references/recipe-landing.md +120 -0
- package/assets/skills/design/agemon-design/references/responsive.md +168 -0
- package/assets/skills/design/agemon-design/references/review.md +340 -0
- package/assets/skills/design/agemon-design/references/routing.md +143 -0
- package/assets/skills/design/agemon-design/references/sound.md +150 -0
- package/assets/skills/design/agemon-design/references/spec.md +123 -0
- package/assets/skills/design/agemon-design/references/stack.md +522 -0
- package/assets/skills/design/agemon-design/references/stage-assets.md +106 -0
- package/assets/skills/design/agemon-design/references/stage-build.md +46 -0
- package/assets/skills/design/agemon-design/references/stage-critique.md +34 -0
- package/assets/skills/design/agemon-design/references/stage-directions.md +44 -0
- package/assets/skills/design/agemon-design/references/stage-intake.md +34 -0
- package/assets/skills/design/agemon-design/references/stage-verify.md +44 -0
- package/assets/skills/design/agemon-design/references/state-design.md +188 -0
- package/assets/skills/design/agemon-design/references/tells-2026-11.md +32 -0
- package/assets/skills/design/agemon-design/references/themes.md +233 -0
- package/assets/skills/design/agemon-design/references/third-party-licenses.md +323 -0
- package/assets/skills/design/agemon-design/references/tokens.md +350 -0
- package/assets/skills/design/agemon-design/references/typography.md +248 -0
- package/assets/skills/design/agemon-design/scripts/audit-page.js +532 -0
- package/assets/skills/design/agemon-design/scripts/check-source.mjs +358 -0
- package/assets/skills/design/agemon-design/scripts/deal.mjs +231 -0
- package/assets/skills/design/agemon-design/scripts/inventory.mjs +676 -0
- package/assets/skills/essentials/web-design-guidelines/LICENSE +21 -0
- package/assets/skills/essentials/web-design-guidelines/NOTICE.md +14 -0
- package/assets/skills/essentials/web-design-guidelines/SKILL.md +18 -0
- package/assets/skills/essentials/web-design-guidelines/references/guidelines.md +184 -0
- package/assets/skills/essentials/writing-guidelines/LICENSE +21 -0
- package/assets/skills/essentials/writing-guidelines/NOTICE.md +14 -0
- package/assets/skills/essentials/writing-guidelines/SKILL.md +18 -0
- package/assets/skills/essentials/writing-guidelines/references/guidelines.md +250 -0
- package/assets/skills/founder/agemon-founder-board/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-board/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-board/SKILL.md +111 -0
- package/assets/skills/founder/agemon-founder-board/lenses.md +84 -0
- package/assets/skills/founder/agemon-founder-brand/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-brand/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-brand/SKILL.md +77 -0
- package/assets/skills/founder/agemon-founder-cfo/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-cfo/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-cfo/SKILL.md +109 -0
- package/assets/skills/founder/agemon-founder-cfo/example.json +27 -0
- package/assets/skills/founder/agemon-founder-cfo/unit_economics.py +270 -0
- package/assets/skills/founder/agemon-founder-competitors/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-competitors/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-competitors/SKILL.md +84 -0
- package/assets/skills/founder/agemon-founder-consumer/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-consumer/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-consumer/SKILL.md +126 -0
- package/assets/skills/founder/agemon-founder-consumer/customer.example.json +34 -0
- package/assets/skills/founder/agemon-founder-consumer/panel.py +424 -0
- package/assets/skills/founder/agemon-founder-consumer/pitch.example.md +3 -0
- package/assets/skills/founder/agemon-founder-launch/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-launch/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-launch/SKILL.md +65 -0
- package/assets/skills/founder/agemon-founder-marketing/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-marketing/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-marketing/SKILL.md +80 -0
- package/assets/skills/founder/agemon-founder-offer/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-offer/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-offer/SKILL.md +75 -0
- package/assets/skills/founder/agemon-founder-ops/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-ops/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-ops/SKILL.md +77 -0
- package/assets/skills/founder/agemon-founder-plan/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-plan/NOTICE.md +11 -0
- package/assets/skills/founder/agemon-founder-plan/SKILL.md +88 -0
- package/assets/skills/founder/agemon-founder-plan/compile.py +178 -0
- package/assets/skills/founder/agemon-founder-pricing/LICENSE +21 -0
- package/assets/skills/founder/agemon-founder-pricing/NOTICE.md +12 -0
- package/assets/skills/founder/agemon-founder-pricing/SKILL.md +92 -0
- package/assets/skills/founder/agemon-founder-pricing/van_westendorp.py +172 -0
- package/assets/skills/geo-seo/geo/LICENSE +21 -0
- package/assets/skills/geo-seo/geo/NOTICE.md +18 -0
- package/assets/skills/geo-seo/geo/SKILL.md +145 -0
- package/assets/skills/geo-seo/geo-audit/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-audit/NOTICE.md +17 -0
- package/assets/skills/geo-seo/geo-audit/SKILL.md +371 -0
- package/assets/skills/geo-seo/geo-audit/references/ai-visibility.md +233 -0
- package/assets/skills/geo-seo/geo-audit/references/content.md +329 -0
- package/assets/skills/geo-seo/geo-audit/references/platform-analysis.md +294 -0
- package/assets/skills/geo-seo/geo-audit/references/schema.md +383 -0
- package/assets/skills/geo-seo/geo-audit/references/technical.md +368 -0
- package/assets/skills/geo-seo/geo-brand-mentions/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-brand-mentions/NOTICE.md +15 -0
- package/assets/skills/geo-seo/geo-brand-mentions/SKILL.md +459 -0
- package/assets/skills/geo-seo/geo-citability/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-citability/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-citability/SKILL.md +320 -0
- package/assets/skills/geo-seo/geo-content/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-content/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-content/SKILL.md +352 -0
- package/assets/skills/geo-seo/geo-crawlers/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-crawlers/NOTICE.md +15 -0
- package/assets/skills/geo-seo/geo-crawlers/SKILL.md +388 -0
- package/assets/skills/geo-seo/geo-llmstxt/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-llmstxt/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-llmstxt/SKILL.md +433 -0
- package/assets/skills/geo-seo/geo-platform-optimizer/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-platform-optimizer/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-platform-optimizer/SKILL.md +282 -0
- package/assets/skills/geo-seo/geo-report/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-report/NOTICE.md +14 -0
- package/assets/skills/geo-seo/geo-report/SKILL.md +406 -0
- package/assets/skills/geo-seo/geo-report-pdf/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-report-pdf/NOTICE.md +20 -0
- package/assets/skills/geo-seo/geo-report-pdf/SKILL.md +153 -0
- package/assets/skills/geo-seo/geo-report-pdf/templates/geo-report-template.html +548 -0
- package/assets/skills/geo-seo/geo-schema/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-schema/NOTICE.md +16 -0
- package/assets/skills/geo-seo/geo-schema/SKILL.md +396 -0
- package/assets/skills/geo-seo/geo-technical/LICENSE +21 -0
- package/assets/skills/geo-seo/geo-technical/NOTICE.md +15 -0
- package/assets/skills/geo-seo/geo-technical/SKILL.md +566 -0
- package/assets/skills/output-style/agemon-adhd/LICENSE +21 -0
- package/assets/skills/output-style/agemon-adhd/NOTICE.md +13 -0
- package/assets/skills/output-style/agemon-adhd/SKILL.md +138 -0
- package/assets/skills/performance/agemon-performance/NOTICE.md +1 -0
- package/assets/skills/performance/agemon-performance/SKILL.md +76 -0
- package/assets/skills/security/agemon-security/LICENSE +21 -0
- package/assets/skills/security/agemon-security/NOTICE.md +8 -0
- package/assets/skills/security/agemon-security/SKILL.md +356 -0
- package/assets/skills/security/agemon-security-audit/AI-AND-LLM.md +83 -0
- package/assets/skills/security/agemon-security-audit/ATTACK-CLASSES.md +130 -0
- package/assets/skills/security/agemon-security-audit/CLIENT-SIDE.md +83 -0
- package/assets/skills/security/agemon-security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
- package/assets/skills/security/agemon-security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
- package/assets/skills/security/agemon-security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
- package/assets/skills/security/agemon-security-audit/HUNTING.md +251 -0
- package/assets/skills/security/agemon-security-audit/LICENSE +21 -0
- package/assets/skills/security/agemon-security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
- package/assets/skills/security/agemon-security-audit/NOTICE.md +12 -0
- package/assets/skills/security/agemon-security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
- package/assets/skills/security/agemon-security-audit/RECONNAISSANCE.md +156 -0
- package/assets/skills/security/agemon-security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
- package/assets/skills/security/agemon-security-audit/SKILL.md +192 -0
- package/assets/skills/security/agemon-security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
- package/assets/skills/security/agemon-security-audit/VALIDATION-AND-REPORTING.md +186 -0
- package/assets/skills/security/agemon-security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
- package/assets/skills/security/agemon-security-audit/report-schema.json +461 -0
- package/assets/skills/security/agemon-security-audit/validate-coverage-ledger.cjs +872 -0
- package/assets/skills/security/agemon-security-audit/validate-findings.cjs +773 -0
- package/assets/skills/self-review/agemon-review-intake/LICENSE +21 -0
- package/assets/skills/self-review/agemon-review-intake/NOTICE.md +9 -0
- package/assets/skills/self-review/agemon-review-intake/SKILL.md +205 -0
- package/assets/skills/self-review/agemon-review-request/LICENSE +21 -0
- package/assets/skills/self-review/agemon-review-request/NOTICE.md +9 -0
- package/assets/skills/self-review/agemon-review-request/SKILL.md +104 -0
- package/assets/skills/self-review/agemon-review-request/code-reviewer.md +188 -0
- package/assets/skills/self-review/agemon-root-cause/LICENSE +21 -0
- package/assets/skills/self-review/agemon-root-cause/NOTICE.md +10 -0
- package/assets/skills/self-review/agemon-root-cause/SKILL.md +283 -0
- package/assets/skills/self-review/agemon-root-cause/condition-based-waiting-example.ts +158 -0
- package/assets/skills/self-review/agemon-root-cause/condition-based-waiting.md +115 -0
- package/assets/skills/self-review/agemon-root-cause/defense-in-depth.md +122 -0
- package/assets/skills/self-review/agemon-root-cause/find-polluter.sh +72 -0
- package/assets/skills/self-review/agemon-root-cause/root-cause-tracing.md +169 -0
- package/assets/skills/self-review/agemon-root-cause/test-academic.md +14 -0
- package/assets/skills/self-review/agemon-root-cause/test-pressure-1.md +58 -0
- package/assets/skills/self-review/agemon-root-cause/test-pressure-2.md +68 -0
- package/assets/skills/self-review/agemon-root-cause/test-pressure-3.md +69 -0
- package/assets/skills/self-review/agemon-verify-before-done/LICENSE +21 -0
- package/assets/skills/self-review/agemon-verify-before-done/NOTICE.md +9 -0
- package/assets/skills/self-review/agemon-verify-before-done/SKILL.md +120 -0
- package/assets/skills/team-lead/agemon-plan-rfc/SKILL.md +317 -0
- package/assets/skills/team-lead/prd-generator/SKILL.md +437 -0
- package/assets/skills/team-lead/skill-headofit-audit/SKILL.md +72 -0
- package/assets/skills/team-lead/skill-incident-rca/SKILL.md +66 -0
- package/assets/skills/team-lead/skill-meeting-lifecycle/SKILL.md +63 -0
- package/assets/skills/team-lead/skill-obsidian-vault-sync/SKILL.md +69 -0
- package/assets/skills/team-lead/skill-prd-decomposer/SKILL.md +71 -0
- package/assets/skills/team-lead/skill-sec-check/SKILL.md +70 -0
- package/assets/skills/team-lead/skill-task-extractor/SKILL.md +79 -0
- package/assets/skills/team-lead/skill-tech-spike/SKILL.md +57 -0
- package/assets/skills/team-lead/skill-techlead-reviewer/SKILL.md +81 -0
- package/assets/skills/workflow/agemon-brainstorming/LICENSE +21 -0
- package/assets/skills/workflow/agemon-brainstorming/NOTICE.md +14 -0
- package/assets/skills/workflow/agemon-brainstorming/SKILL.md +287 -0
- package/assets/skills/workflow/agemon-brainstorming/builder-check-prompt.md +23 -0
- package/assets/skills/workflow/agemon-dispatching-parallel-agents/LICENSE +21 -0
- package/assets/skills/workflow/agemon-dispatching-parallel-agents/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-dispatching-parallel-agents/SKILL.md +167 -0
- package/assets/skills/workflow/agemon-executing-plans/LICENSE +21 -0
- package/assets/skills/workflow/agemon-executing-plans/NOTICE.md +15 -0
- package/assets/skills/workflow/agemon-executing-plans/SKILL.md +322 -0
- package/assets/skills/workflow/agemon-executing-plans/scripts/task-done +55 -0
- package/assets/skills/workflow/agemon-executing-plans/scripts/task-start +32 -0
- package/assets/skills/workflow/agemon-finishing-a-development-branch/LICENSE +21 -0
- package/assets/skills/workflow/agemon-finishing-a-development-branch/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-finishing-a-development-branch/SKILL.md +225 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/LICENSE +21 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/NOTICE.md +15 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/SKILL.md +339 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/code-reviewer.md +198 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/implementer-prompt.md +154 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/re-review-prompt.md +116 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/batching.md +11 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/cannot-verify.md +10 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/final-review.md +49 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/fix-loop.md +77 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/handling-reports.md +15 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/preflight.md +26 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/resuming.md +12 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/role-scout.md +18 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/references/role-worker.md +19 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/review-package +64 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-repo +54 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/sdd-workspace +110 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/scripts/task-brief +108 -0
- package/assets/skills/workflow/agemon-subagent-driven-development/task-reviewer-prompt.md +209 -0
- package/assets/skills/workflow/agemon-test-driven-development/LICENSE +21 -0
- package/assets/skills/workflow/agemon-test-driven-development/NOTICE.md +14 -0
- package/assets/skills/workflow/agemon-test-driven-development/SKILL.md +330 -0
- package/assets/skills/workflow/agemon-test-driven-development/writing-good-tests.md +198 -0
- package/assets/skills/workflow/agemon-using-git-worktrees/LICENSE +21 -0
- package/assets/skills/workflow/agemon-using-git-worktrees/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-using-git-worktrees/SKILL.md +167 -0
- package/assets/skills/workflow/agemon-writing-plans/LICENSE +21 -0
- package/assets/skills/workflow/agemon-writing-plans/NOTICE.md +13 -0
- package/assets/skills/workflow/agemon-writing-plans/SKILL.md +204 -0
- package/assets/tools/code-review-graph-constraints.txt +1418 -0
- package/assets/tools/package-lock.json +111 -0
- package/assets/tools/package.json +6 -0
- package/dist/chunk-ZZBF3GOV.js +3451 -0
- package/dist/chunk-ZZBF3GOV.js.map +1 -0
- package/dist/fake-subprocess-IV4ML77S.js +636 -0
- package/dist/fake-subprocess-IV4ML77S.js.map +1 -0
- package/dist/index.js +23836 -1945
- package/dist/index.js.map +1 -1
- package/package.json +37 -17
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-obsidian-vault-sync
|
|
3
|
+
description: Formats raw meeting notes, technical plans, and generated tasks into structured, bidirectional Obsidian markdown notes with WikiLinks, YAML frontmatter, Dataview tags, and consistent folder organizational rules.
|
|
4
|
+
triggers: ["@obsidian-sync", "format for obsidian", "create vault note", "obsidian note generator", "vault sync"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Instruction Rules
|
|
8
|
+
1. **Strict YAML Frontmatter:** Every generated note MUST begin with valid YAML frontmatter containing metadata fields (`title`, `date`, `tags`, `type`, `status`).
|
|
9
|
+
2. **Enforce Bidirectional Linking:** Automatically scan note content and wrap key domain concepts, people, systems, and projects in double brackets (e.g., `[[Projects/AITISI]]`, `[[People/Korak]]`, `[[Tech/Supabase]]`).
|
|
10
|
+
3. **Dataview Task Formatting:** Format inline action items using standard Dataview syntax (`- [ ] task description #task @assignee due:YYYY-MM-DD`).
|
|
11
|
+
4. **Output Format:** Pure, production-ready Obsidian Markdown code block ready for direct vault placement or API ingestion.
|
|
12
|
+
|
|
13
|
+
# Formatting Framework
|
|
14
|
+
- **Step 1: Note Categorization:** Identify note archetype (`meeting`, `architecture`, `task`, `project`, `journal`).
|
|
15
|
+
- **Step 2: Metadata & Frontmatter Generation:** Construct ISO timestamps, tags, and relational properties.
|
|
16
|
+
- **Step 3: Content Structuring & WikiLink Injection:** Format body text using standard headings (`##`) and apply `[[WikiLinks]]` to entities.
|
|
17
|
+
- **Step 4: Target Vault Location Declaration:** Specify exact destination path inside the vault folder structure.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Output Schema
|
|
22
|
+
|
|
23
|
+
**Target Vault Path:** `Meetings/2026/2026-09-25-Architecture-Sync.md`
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
---
|
|
27
|
+
title: "Architecture Sync - Redis Caching & DB Migration"
|
|
28
|
+
date: 2026-09-25
|
|
29
|
+
type: meeting
|
|
30
|
+
tags:
|
|
31
|
+
- meeting/technical
|
|
32
|
+
- project/infrastructure
|
|
33
|
+
- status/action-required
|
|
34
|
+
status: open
|
|
35
|
+
related:
|
|
36
|
+
- "[[Projects/AITISI]]"
|
|
37
|
+
- "[[People/Korak]]"
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# Architecture Sync - Redis Caching & DB Migration
|
|
41
|
+
|
|
42
|
+
## 📌 Context & Links
|
|
43
|
+
- **Project Hub:** [[Projects/AITISI]]
|
|
44
|
+
- **Lead Architect:** [[People/Korak]]
|
|
45
|
+
- **Primary Tech Stack:** [[Tech/Nuxt]], [[Tech/Supabase]], [[Tech/Redis]], [[Tech/PostgreSQL]]
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 📝 Key Notes & Architectural Decisions
|
|
50
|
+
Discussed API latency bottlenecks observed during peak load. To prevent database connection pool exhaustion in [[Tech/PostgreSQL]], we agreed to implement a caching layer using [[Tech/Redis]].
|
|
51
|
+
|
|
52
|
+
### Summary Points
|
|
53
|
+
- Database query times currently average ~180ms under high concurrency.
|
|
54
|
+
- Adding a [[Tech/Redis]] caching layer is expected to reduce read latency below 20ms for static routes.
|
|
55
|
+
- [[People/Korak]] will lead the implementation in `server/api/` and update system diagrams.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## ✅ Action Items & Tasks
|
|
60
|
+
|
|
61
|
+
- [ ] Implement Redis connection pool in API server #task @Korak due:2026-10-02 priority:high
|
|
62
|
+
- [ ] Benchmark query throughput on staging environment #task @Korak due:2026-10-05 priority:medium
|
|
63
|
+
- [ ] Update infrastructure configuration in [[DevOps/Coolify-Setup]] #task @unassigned due:2026-10-08 priority:low
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 🔗 Related Notes
|
|
68
|
+
- [[Architecture/ADR-004-Redis-Caching]]
|
|
69
|
+
- [[MeetingNotes/2026-09-18-Sprint-Planning]]
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-prd-decomposer
|
|
3
|
+
description: Decomposes PRDs, feature requests, or technical specs into engineering-ready Epics and User Stories with testable Given/When/Then acceptance criteria.
|
|
4
|
+
triggers: ["@prd-decomposer", "decompose prd", "create epics", "generate user stories", "breakdown backlog"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Instruction Rules
|
|
8
|
+
1. **Enforce Atomic Stories:** Every generated user story must be small enough to implement in a single focused engineering session (1–3 days max).
|
|
9
|
+
2. **Strict Acceptance Criteria:** Never use vague criteria like "works properly". Use explicit, testable statements or Given/When/Then formats.
|
|
10
|
+
3. **Include Verification & Edge Cases:** Every story must specify UI, API, or DB verification steps alongside boundary conditions.
|
|
11
|
+
4. **Output Format:** Clean Markdown using standard user story notation and tabular tracking matrices.
|
|
12
|
+
|
|
13
|
+
# Decomposition Framework
|
|
14
|
+
- **Step 1: Core Domain Identification:** Group raw requirements into logical functional Epics.
|
|
15
|
+
- **Step 2: Story Mapping:** Break Epics into vertical user-facing or technical backend slices.
|
|
16
|
+
- **Step 3: Criteria & Contract Definition:** Write clear acceptance criteria and technical dependencies for each story.
|
|
17
|
+
- **Step 4: Backlog Matrix:** Tabulate story points, risk factors, and implementation order.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Output Schema
|
|
22
|
+
|
|
23
|
+
## 1. Feature Breakdown & Epic Mapping
|
|
24
|
+
- **Input PRD / Concept:** [Name or link to source PRD]
|
|
25
|
+
- **Target Release:** [e.g., Sprint 14 / v1.2.0]
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2. Epic & Story Details
|
|
30
|
+
|
|
31
|
+
### EPIC-01: [Epic Title]
|
|
32
|
+
**Goal:** [Short statement on what business capability this Epic enables]
|
|
33
|
+
|
|
34
|
+
#### US-101: [Story Title]
|
|
35
|
+
- **As a** [user/role]
|
|
36
|
+
- **I want to** [action/capability]
|
|
37
|
+
- **So that** [business benefit/value]
|
|
38
|
+
|
|
39
|
+
**Technical Notes & Scope:**
|
|
40
|
+
- Target Files/Modules: `server/api/users.ts`, `components/UserProfile.vue`
|
|
41
|
+
- Out of Scope: [What explicitly NOT to build in this story]
|
|
42
|
+
|
|
43
|
+
**Acceptance Criteria:**
|
|
44
|
+
- [ ] **AC-1 (Given/When/Then):** Given an authenticated user, when they click "Save", then validate inputs and save to database.
|
|
45
|
+
- [ ] **AC-2 (Validation):** Return a `400 Bad Request` with an error payload if the email string is invalid.
|
|
46
|
+
- [ ] **AC-3 (Verification):** Database record updated and cache invalidated.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
#### US-102: [Story Title]
|
|
51
|
+
- **As a** [user/role]
|
|
52
|
+
- **I want to** [action/capability]
|
|
53
|
+
- **So that** [business benefit/value]
|
|
54
|
+
|
|
55
|
+
**Acceptance Criteria:**
|
|
56
|
+
- [ ] **AC-1:** [Verifiable criterion]
|
|
57
|
+
- [ ] **AC-2:** [Verifiable criterion]
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. Backlog Execution Matrix
|
|
62
|
+
|
|
63
|
+
| Story ID | Summary | Effort (Points) | Dependencies | Risk Level |
|
|
64
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
65
|
+
| **US-101** | [Short summary] | 2 | None | Low |
|
|
66
|
+
| **US-102** | [Short summary] | 3 | US-101 | Medium |
|
|
67
|
+
|
|
68
|
+
## 4. Definition of Done Checklist
|
|
69
|
+
- [ ] All acceptance criteria pass across listed user stories.
|
|
70
|
+
- [ ] Code passes type-checks, linting, and existing test suites.
|
|
71
|
+
- [ ] PR includes updated documentation or API specs if contracts changed.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-sec-check
|
|
3
|
+
description: Automated DevSecOps and security pre-flight evaluation skill. Scans architectural proposals, code diffs, and dependencies for OWASP Top 10 risks, secret leaks, RBAC flaws, and compliance gaps.
|
|
4
|
+
triggers: ["@sec-check", "security review", "devsecops check", "owasp scan", "security audit"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Instruction Rules
|
|
8
|
+
1. **Report High-Confidence Vulnerabilities Only:** Avoid theoretical noise. Trace inputs to confirm if data is truly attacker-controlled before flagging.
|
|
9
|
+
2. **Never Ignore Environment/Secret Boundaries:** Flag any hardcoded keys, missing `.env.example` masks, or exposed client-side tokens.
|
|
10
|
+
3. **Evaluate Zero-Trust & Least Privilege:** Question overly permissive database users, unauthenticated API endpoints, and unrestricted CORS headers.
|
|
11
|
+
4. **Output Format:** Clean Markdown with actionable code-level mitigations and vulnerability severity badges.
|
|
12
|
+
|
|
13
|
+
# Security Assessment Workflow
|
|
14
|
+
- **Phase 1: Input Data Flow & Auth Check:** Trace user inputs, session handling, authentication, and authorization logic (RBAC/ABAC).
|
|
15
|
+
- **Phase 2: OWASP & Injection Analysis:** Audit code/design against SQLi, XSS, SSRF, IDOR, and Command Injection risks.
|
|
16
|
+
- **Phase 3: Secrets & Supply Chain Verification:** Check for exposed credentials, risky dependencies, and unsafe third-party packages.
|
|
17
|
+
- **Phase 4: Remediation Plan:** Provide exact code fixes and security headers/configurations.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Output Schema
|
|
22
|
+
|
|
23
|
+
## 1. Executive Security Summary
|
|
24
|
+
- **Overall Risk Score:** [ CRITICAL | HIGH | MEDIUM | LOW | PASS ]
|
|
25
|
+
- **Target Context:** [e.g., Nuxt 3 Frontend + Supabase Backend + REST API]
|
|
26
|
+
- **Primary Concerns Found:** [1-2 sentence high-level summary]
|
|
27
|
+
|
|
28
|
+
## 2. Security Findings Matrix
|
|
29
|
+
|
|
30
|
+
| Finding ID | Vulnerability Category | Severity | File / Endpoint | Status |
|
|
31
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
32
|
+
| **SEC-01** | Unauthenticated Mutation (IDOR) | HIGH | `/api/user/update` | NEEDS FIX |
|
|
33
|
+
| **SEC-02** | Hardcoded JWT Secret Fallback | CRITICAL | `config/auth.ts` | NEEDS FIX |
|
|
34
|
+
| **SEC-03** | Missing CORS Domain Restriction | MEDIUM | `server.ts` | WARNING |
|
|
35
|
+
|
|
36
|
+
## 3. Deep-Dive Vulnerability Breakdown
|
|
37
|
+
|
|
38
|
+
### [SEC-01] IDOR / Broken Access Control
|
|
39
|
+
- **Location:** `server/api/projects/[id].ts`
|
|
40
|
+
- **Threat Vector:** User can update project records without verifying ownership against the authenticated session token.
|
|
41
|
+
- **Vulnerable Pattern:**
|
|
42
|
+
```typescript
|
|
43
|
+
// BAD: Trusts route param directly
|
|
44
|
+
const { id } = event.context.params;
|
|
45
|
+
await db.update(projects).set(body).where(eq(projects.id, id));
|
|
46
|
+
```
|
|
47
|
+
- **Remediation Code:**
|
|
48
|
+
```typescript
|
|
49
|
+
// GOOD: Enforces ownership boundary and allowlists writable fields
|
|
50
|
+
const session = await requireUserSession(event);
|
|
51
|
+
const { name, description } = body;
|
|
52
|
+
await db.update(projects)
|
|
53
|
+
.set({ name, description })
|
|
54
|
+
.where(and(
|
|
55
|
+
eq(projects.id, id),
|
|
56
|
+
eq(projects.ownerId, session.user.id)
|
|
57
|
+
));
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## 4. Compliance & Hardening Checklist
|
|
61
|
+
- [ ] **Secrets Management:** All API keys loaded via `process.env` with zero fallbacks to defaults.
|
|
62
|
+
- [ ] **Input Sanitization:** Parameterized SQL queries used exclusively (No raw string interpolation).
|
|
63
|
+
- [ ] **Transport Security:** Strict-Transport-Security (HSTS) & CSP headers declared.
|
|
64
|
+
- [ ] **Data Minimization:** APIs filter out sensitive fields (`password_hash`, `stripe_id`) before sending responses.
|
|
65
|
+
|
|
66
|
+
## 5. Security Verdict & Next Steps
|
|
67
|
+
- **Gatekeeper Status:** [ APPROVED | REJECTED UNTIL MITIGATED ]
|
|
68
|
+
- **Required Action Items Before Deploy:**
|
|
69
|
+
1. Fix SEC-02 immediately by rotating exposed keys.
|
|
70
|
+
2. Implement session ownership check for SEC-01.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-task-extractor
|
|
3
|
+
description: Scans transcripts, meeting notes, or raw discussion threads to extract commitments, convert vague statements into precise tasks, assign owners, infer explicit ISO deadlines, and generate structured task payloads.
|
|
4
|
+
triggers: ["@extract-tasks", "extract todos", "generate action items", "transcript to tasks", "task extractor"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Instruction Rules
|
|
8
|
+
1. **Normalize Vague Statements:** Transform vague discussion points (e.g., *"We should fix the database errors next week"*) into clear, actionable task titles (e.g., *"Implement connection pool timeout handling for PostgreSQL"*).
|
|
9
|
+
2. **Explicit Date Conversion:** Convert all relative date references (e.g., *"by end of week"*, *"next Tuesday"*) into strict ISO format (`YYYY-MM-DD`), anchored to the transcript's own date/timestamp if it has one. If no reference date is available, ask the user for one before converting rather than guessing.
|
|
10
|
+
3. **Owner Attribution:** Match mentioned names or roles to explicit task owners. If unassigned, mark clearly as `UNASSIGNED`.
|
|
11
|
+
4. **Output Format:** Dual-format output containing a human-readable Obsidian Task list and a machine-readable JSON payload ready for PM tool APIs (Jira/Linear/Todoist/GitHub Issues).
|
|
12
|
+
|
|
13
|
+
# Extraction Framework
|
|
14
|
+
- **Step 1: Text Scanning & Intent Detection:** Scan inputs for action verbs, commitments, promises, and assignments.
|
|
15
|
+
- **Step 2: Task Clarification:** Expand context to make every task self-contained without needing to re-read the original transcript.
|
|
16
|
+
- **Step 3: Priority & Effort Inference:** Assign priority (`High`, `Medium`, `Low`) based on discussion urgency and risk.
|
|
17
|
+
- **Step 4: Payload Formatting:** Generate both Markdown tasks and JSON API structures.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Output Schema
|
|
22
|
+
|
|
23
|
+
# Extracted Action Items
|
|
24
|
+
|
|
25
|
+
## 1. Task Summary Matrix
|
|
26
|
+
|
|
27
|
+
| Task ID | Action Title | Assignee | Priority | Due Date | Target Module |
|
|
28
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
29
|
+
| **TASK-01** | Configure Redis connection pooling for API routes | [[Korak]] | High | 2026-10-02 | `server/api/` |
|
|
30
|
+
| **TASK-02** | Update Figma mockups for mobile onboarding flow | [[Sarah]] | Medium | 2026-09-30 | UI / UX |
|
|
31
|
+
| **TASK-03** | Verify staging environment SSL certificate auto-renewal | UNASSIGNED | Low | 2026-10-05 | DevOps |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Obsidian Task List (Markdown Format)
|
|
36
|
+
|
|
37
|
+
- [ ] **TASK-01:** Configure Redis connection pooling for API routes #task @Korak due:2026-10-02 priority:high
|
|
38
|
+
- [ ] **TASK-02:** Update Figma mockups for mobile onboarding flow #task @Sarah due:2026-09-30 priority:medium
|
|
39
|
+
- [ ] **TASK-03:** Verify staging environment SSL certificate auto-renewal #task @unassigned due:2026-10-05 priority:low
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. Machine-Readable API Payload (JSON)
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"source": "Meeting Transcript",
|
|
48
|
+
"generated_at": "2026-09-25",
|
|
49
|
+
"tasks": [
|
|
50
|
+
{
|
|
51
|
+
"id": "TASK-01",
|
|
52
|
+
"title": "Configure Redis connection pooling for API routes",
|
|
53
|
+
"description": "Implement connection pool parameters and handle timeout errors to prevent API latency spikes.",
|
|
54
|
+
"assignee": "Korak",
|
|
55
|
+
"priority": "High",
|
|
56
|
+
"due_date": "2026-10-02",
|
|
57
|
+
"tags": ["backend", "performance", "redis"]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "TASK-02",
|
|
61
|
+
"title": "Update Figma mockups for mobile onboarding flow",
|
|
62
|
+
"description": "Simplify signup screens down to 2 steps as agreed during the roadmap sync.",
|
|
63
|
+
"assignee": "Sarah",
|
|
64
|
+
"priority": "Medium",
|
|
65
|
+
"due_date": "2026-09-30",
|
|
66
|
+
"tags": ["design", "ux", "mobile"]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "TASK-03",
|
|
70
|
+
"title": "Verify staging environment SSL certificate auto-renewal",
|
|
71
|
+
"description": "Confirm the staging cert renews automatically before it next expires.",
|
|
72
|
+
"assignee": "UNASSIGNED",
|
|
73
|
+
"priority": "Low",
|
|
74
|
+
"due_date": "2026-10-05",
|
|
75
|
+
"tags": ["devops", "infra"]
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-tech-spike
|
|
3
|
+
description: Scopes out unknown technical territories, verifies third-party integrations, evaluates library trade-offs, and designs proof-of-concept execution paths before sprint commitment.
|
|
4
|
+
triggers: ["@spike", "tech spike", "proof of concept", "feasibility check", "investigate library"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Instruction Rules
|
|
8
|
+
1. **Focus on risk mitigation and speed over production code.** A spike must answer a single technical question or prove/disprove a hypothesis.
|
|
9
|
+
2. **Explicitly state timeboxes and scope boundaries.** Do not expand the scope beyond the target hypothesis.
|
|
10
|
+
3. **Identify all third-party limits:** Rate limits, licensing restrictions, authentication overhead, and hardware/memory footprints.
|
|
11
|
+
4. **Output format:** Use clean Markdown with structured tables and runnable evaluation code snippets.
|
|
12
|
+
|
|
13
|
+
# Spike Execution Framework
|
|
14
|
+
- **Phase 1: Hypothesis & Objectives:** What specific technical uncertainty are we solving?
|
|
15
|
+
- **Phase 2: Feasibility & Boundary Evaluation:** Benchmark dependencies, APIs, and potential execution bottlenecks.
|
|
16
|
+
- **Phase 3: Minimal Proof of Concept (PoC):** Provide an isolated code snippet or test suite to prove viability.
|
|
17
|
+
- **Phase 4: Recommendation & Sprint Hand-off:** Go/No-Go verdict with effort estimates.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Output Schema
|
|
22
|
+
|
|
23
|
+
## 1. Spike Definition & Scope
|
|
24
|
+
- **Hypothesis:** [e.g., "Supabase Realtime can handle 1,000 concurrent updates/sec without database lockups"]
|
|
25
|
+
- **Timebox Limit:** [e.g., 4 Hours]
|
|
26
|
+
- **Core Question:** [The single question that determines success/failure]
|
|
27
|
+
|
|
28
|
+
## 2. Technical Evaluation Matrix
|
|
29
|
+
|
|
30
|
+
| Criterion | Target Requirement | Evaluated Metric | Pass / Fail |
|
|
31
|
+
| :--- | :--- | :--- | :--- |
|
|
32
|
+
| **Performance / Latency** | < 200ms roundtrip | ~85ms | PASS |
|
|
33
|
+
| **API Rate Limits** | > 5,000 req/min | 10,000 req/min | PASS |
|
|
34
|
+
| **License / Security** | MIT / Apache 2.0 | AGPLv3 (Risk) | WARNING |
|
|
35
|
+
| **Bundle / Overhead** | < 50KB gzip | 120KB gzip | FAIL |
|
|
36
|
+
|
|
37
|
+
## 3. Minimal Viable Proof-of-Concept (PoC)
|
|
38
|
+
|
|
39
|
+
Provide isolated, executable code to validate the integration:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
// Minimal execution test
|
|
43
|
+
import { createClient } from '@supabase/supabase-js';
|
|
44
|
+
|
|
45
|
+
async function testSpike() {
|
|
46
|
+
const client = createClient(process.env.SUPABASE_URL!, process.env.SUPABASE_KEY!);
|
|
47
|
+
|
|
48
|
+
console.time('Spike-Latency');
|
|
49
|
+
const { data, error } = await client.from('target_table').select('*').limit(1);
|
|
50
|
+
console.timeEnd('Spike-Latency');
|
|
51
|
+
|
|
52
|
+
if (error) throw error;
|
|
53
|
+
console.assert(data !== null, 'Expected a result from target_table');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
testSpike();
|
|
57
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-techlead-reviewer
|
|
3
|
+
description: Acts as a Senior Tech Lead conducting pull request reviews. Evaluates architectural fit, code quality anti-patterns, N+1 performance bottlenecks, maintainability, and test coverage using prioritized finding levels.
|
|
4
|
+
triggers: ["@code-review", "review pr", "review code", "tech lead review", "pull request review"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Instruction Rules
|
|
8
|
+
1. **Focus on Architectural Leverage:** Prioritize correctness, security, and architectural fit over cosmetic formatting (leave formatting to automated linters/Prettier).
|
|
9
|
+
2. **Prioritize Comments with Labels:** Every comment MUST include a priority badge (`🔴 [blocking]`, `🟡 [important]`, `🟢 [nit]`, `💡 [suggestion]`).
|
|
10
|
+
3. **Be Specific and Actionable:** Explain *why* something is an issue and provide exact, ready-to-use refactored code blocks.
|
|
11
|
+
4. **Output Format:** Strict Markdown with a structured summary, change categorization, and an actionable pull request review table.
|
|
12
|
+
|
|
13
|
+
# Review Execution Phases
|
|
14
|
+
- **Phase 1: High-Level Context Check:** Read diff metadata, file organization, and architectural alignment.
|
|
15
|
+
- **Phase 2: Correctness & Performance Scan:** Check for async race conditions, unhandled null/undefined states, memory leaks, and $N+1$ database queries.
|
|
16
|
+
- **Phase 3: Maintainability & Anti-Pattern Detection:** Check for tight coupling, duplication, "God components" (>300 lines), or magic strings/numbers.
|
|
17
|
+
- **Phase 4: Structured Feedback Generation:** Output clean summary notes and an explicit approval decision.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Output Schema
|
|
22
|
+
|
|
23
|
+
## 1. Review Summary & Decision
|
|
24
|
+
|
|
25
|
+
- **PR Target / Scope:** [e.g., `feature/payment-gateway-integration`]
|
|
26
|
+
- **Verdict:** [ ✅ APPROVED | 🔄 REQUEST CHANGES | 💬 COMMENT ONLY ]
|
|
27
|
+
- **Review Highlights:**
|
|
28
|
+
- **Strengths:** [What was well executed or clean in this change]
|
|
29
|
+
- **Key Risks:** [High-level summary of blocking items or structural flaws]
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. Findings Matrix
|
|
34
|
+
|
|
35
|
+
| Severity | Category | File & Line | Summary of Concern |
|
|
36
|
+
| :--- | :--- | :--- | :--- |
|
|
37
|
+
| 🔴 **[blocking]** | Performance | `server/api/users.ts:42` | $N+1$ Database Query inside `.map()` loop |
|
|
38
|
+
| 🟡 **[important]** | Error Handling | `composables/useAuth.ts:18` | Unhandled API rejection edge case |
|
|
39
|
+
| 🟢 **[nit]** | Readability | `components/Card.vue:103` | Magic number `86400` used instead of constant |
|
|
40
|
+
| 💡 **[suggestion]**| Architecture | `services/order.ts:12` | Extract inline mapping logic into dedicated mapper |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3. Detailed Review Feedback & Suggested Code
|
|
45
|
+
|
|
46
|
+
### 🔴 [blocking] $N+1$ Query Bottleneck in User Fetch Loop
|
|
47
|
+
- **File:** `server/api/users.ts` (Lines 42–48)
|
|
48
|
+
- **Problem:** Database lookup `db.findProfile()` is triggered inside an array iteration, causing $N$ DB queries for $N$ users.
|
|
49
|
+
|
|
50
|
+
**Current Implementation:**
|
|
51
|
+
```typescript
|
|
52
|
+
// BAD: Triggers N database round-trips
|
|
53
|
+
const users = await db.getUsers();
|
|
54
|
+
const detailedUsers = await Promise.all(
|
|
55
|
+
users.map(async (user) => {
|
|
56
|
+
const profile = await db.getProfile(user.id);
|
|
57
|
+
return { ...user, profile };
|
|
58
|
+
})
|
|
59
|
+
);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Recommended Refactor:**
|
|
63
|
+
```typescript
|
|
64
|
+
// GOOD: Batches DB fetch into a single query using join or IN clause
|
|
65
|
+
const users = await db.getUsersWithProfiles();
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 🟡 [important] Missing Rejection Boundary
|
|
69
|
+
- **File:** `composables/useAuth.ts` (Lines 18–22)
|
|
70
|
+
- **Problem:** Unhandled error state when API network fails, leaving UI in an indefinite loading state.
|
|
71
|
+
|
|
72
|
+
## 4. Final Review Checklist
|
|
73
|
+
- [ ] No $N+1$ or blocking database performance issues remaining.
|
|
74
|
+
- [ ] Business logic edge cases properly guarded and covered by unit/integration tests.
|
|
75
|
+
- [ ] Code follows project architecture standards without introducing circular dependencies.
|
|
76
|
+
|
|
77
|
+
## 5. Review Verdict & Next Steps
|
|
78
|
+
- **Gatekeeper Status:** [ APPROVED | CHANGES REQUESTED ]
|
|
79
|
+
- **Required Action Items Before Merge:**
|
|
80
|
+
1. [List each 🔴 blocking item with a one-line remediation]
|
|
81
|
+
2. [List each 🟡 important item recommended before merge]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Jesse Vincent
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Vendored skill
|
|
2
|
+
|
|
3
|
+
- Source: https://github.com/obra/superpowers
|
|
4
|
+
- Path in source: skills/brainstorming
|
|
5
|
+
- Commit: 22f0b463e7a5e579904dd6211a520321035526f7
|
|
6
|
+
- Retrieved: 2026-11-05
|
|
7
|
+
- License: MIT — see `LICENSE` in this directory.
|
|
8
|
+
|
|
9
|
+
## agemon modifications
|
|
10
|
+
|
|
11
|
+
- Renamed from `brainstorming` to `agemon-brainstorming`, and updated references to upstream's other skills to their agemon names (`systematic-debugging` is `agemon-root-cause`, `verification-before-completion` is `agemon-verify-before-done`, both in the `self-review` group).
|
|
12
|
+
- Moved working files from `.superpowers/` to `.agemon-workflow/` and documents from `docs/superpowers/` to `docs/`.
|
|
13
|
+
- One of several skills cherry-picked from the superpowers framework; its `using-superpowers` bootstrap and session hook are not vendored, so nothing forces these skills to load.
|
|
14
|
+
- Left out the optional visual companion (`visual-companion.md`, `scripts/`) and every mention of it: it starts a local web server, and its page loads a logo from upstream's website, which reports the version in use.
|