@fenixforce/edition-pro 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/approval-routes.d.ts +15 -0
- package/dist/api/fleet-routes.d.ts +23 -0
- package/dist/api/integration-routes.d.ts +17 -0
- package/dist/api/middleware.d.ts +37 -0
- package/dist/boot.d.ts +37 -0
- package/dist/business/approval-queue.d.ts +94 -0
- package/dist/business/arena.d.ts +71 -0
- package/dist/business/best-of-n.d.ts +68 -0
- package/dist/business/brainstorm.d.ts +42 -0
- package/dist/business/compile-checker.d.ts +50 -0
- package/dist/business/debate.d.ts +38 -0
- package/dist/business/fleet-budget.d.ts +69 -0
- package/dist/business/fleet-config.d.ts +125 -0
- package/dist/business/fleet.d.ts +85 -0
- package/dist/business/handoff.d.ts +56 -0
- package/dist/business/hat-system.d.ts +57 -0
- package/dist/business/index.d.ts +44 -0
- package/dist/business/integration-registry.d.ts +66 -0
- package/dist/business/node-pipeline.d.ts +62 -0
- package/dist/business/oracle.d.ts +64 -0
- package/dist/business/roles/index.d.ts +7 -0
- package/dist/business/roles/judge.d.ts +24 -0
- package/dist/business/roles/planner.d.ts +30 -0
- package/dist/business/roles/types.d.ts +37 -0
- package/dist/business/roles/worker.d.ts +25 -0
- package/dist/business/router.d.ts +75 -0
- package/dist/business/shared-memory.d.ts +85 -0
- package/dist/business/status-detector.d.ts +52 -0
- package/dist/business/swarm-registry.d.ts +63 -0
- package/dist/business/templates.d.ts +55 -0
- package/dist/business/workspace-manager.d.ts +105 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +638 -0
- package/dist/infrastructure/pty-agent.d.ts +74 -0
- package/dist/migrations/migrate.d.ts +7 -0
- package/dist/migrations/runner.d.ts +49 -0
- package/dist/workspace/worktree.d.ts +69 -0
- package/package.json +37 -0
- package/skills/builtin/academic-researcher/SKILL.md +51 -0
- package/skills/builtin/advanced-recon/SKILL.md +75 -0
- package/skills/builtin/agent-governance/SKILL.md +122 -0
- package/skills/builtin/algorithmic-art/SKILL.md +55 -0
- package/skills/builtin/api-attack-surface-mapper/SKILL.md +88 -0
- package/skills/builtin/api-development/SKILL.md +147 -0
- package/skills/builtin/api-exploit-prover/SKILL.md +74 -0
- package/skills/builtin/api-integration/SKILL.md +73 -0
- package/skills/builtin/api-security-tester/SKILL.md +82 -0
- package/skills/builtin/api-test-executor/SKILL.md +62 -0
- package/skills/builtin/app-store-optimization/SKILL.md +46 -0
- package/skills/builtin/audio-tour-guide/SKILL.md +18 -0
- package/skills/builtin/auth-flow-operator/SKILL.md +70 -0
- package/skills/builtin/autonomous-rag/SKILL.md +21 -0
- package/skills/builtin/backend-development/SKILL.md +265 -0
- package/skills/builtin/binary-analysis-analyst/SKILL.md +61 -0
- package/skills/builtin/binary-analysis-core/SKILL.md +65 -0
- package/skills/builtin/binary-recon/SKILL.md +64 -0
- package/skills/builtin/blackboard-coordination/SKILL.md +56 -0
- package/skills/builtin/blog-to-podcast/SKILL.md +18 -0
- package/skills/builtin/blog-writing/SKILL.md +36 -0
- package/skills/builtin/brainstorming/SKILL.md +69 -0
- package/skills/builtin/brand-design/SKILL.md +42 -0
- package/skills/builtin/ci-cd-pipelines/SKILL.md +210 -0
- package/skills/builtin/cloud-infrastructure/SKILL.md +140 -0
- package/skills/builtin/code-review/SKILL.md +88 -0
- package/skills/builtin/code-review-analyst/SKILL.md +96 -0
- package/skills/builtin/code-review-recon/SKILL.md +64 -0
- package/skills/builtin/code-review-verifier/SKILL.md +55 -0
- package/skills/builtin/coding-agent-team/SKILL.md +13 -0
- package/skills/builtin/competitor-intelligence/SKILL.md +39 -0
- package/skills/builtin/content-engine/SKILL.md +82 -0
- package/skills/builtin/context7-docs/SKILL.md +145 -0
- package/skills/builtin/copywriting/SKILL.md +38 -0
- package/skills/builtin/corrective-rag/SKILL.md +19 -0
- package/skills/builtin/cost-optimization/SKILL.md +131 -0
- package/skills/builtin/crypto-vulnerability-analyst/SKILL.md +64 -0
- package/skills/builtin/customer-support/SKILL.md +48 -0
- package/skills/builtin/customer-voice-support/SKILL.md +43 -0
- package/skills/builtin/data-analysis/SKILL.md +57 -0
- package/skills/builtin/data-visualization/SKILL.md +33 -0
- package/skills/builtin/database-design/SKILL.md +119 -0
- package/skills/builtin/decision-helper/SKILL.md +84 -0
- package/skills/builtin/deep-research/SKILL.md +68 -0
- package/skills/builtin/deepwiki-research/SKILL.md +115 -0
- package/skills/builtin/dependency-audit/SKILL.md +46 -0
- package/skills/builtin/doc-coauthoring/SKILL.md +48 -0
- package/skills/builtin/docker-deployment/SKILL.md +243 -0
- package/skills/builtin/docx-generation/SKILL.md +135 -0
- package/skills/builtin/dry-run-harness/SKILL.md +61 -0
- package/skills/builtin/editor/SKILL.md +44 -0
- package/skills/builtin/email-drafter/SKILL.md +42 -0
- package/skills/builtin/error-handling/SKILL.md +82 -0
- package/skills/builtin/eval-harness/SKILL.md +197 -0
- package/skills/builtin/evaluation-framework/SKILL.md +51 -0
- package/skills/builtin/exploit-writer/SKILL.md +63 -0
- package/skills/builtin/fact-checker/SKILL.md +51 -0
- package/skills/builtin/filesystem-context/SKILL.md +47 -0
- package/skills/builtin/financial-coach/SKILL.md +18 -0
- package/skills/builtin/finding-chain-correlator/SKILL.md +70 -0
- package/skills/builtin/finding-verifier/SKILL.md +65 -0
- package/skills/builtin/frontend-design/SKILL.md +104 -0
- package/skills/builtin/frontend-development/SKILL.md +227 -0
- package/skills/builtin/frontend-slides/SKILL.md +155 -0
- package/skills/builtin/fullstack-project/SKILL.md +286 -0
- package/skills/builtin/game-development/SKILL.md +60 -0
- package/skills/builtin/git-workflow/SKILL.md +44 -0
- package/skills/builtin/i18n-localization/SKILL.md +38 -0
- package/skills/builtin/image-prompt-engineering/SKILL.md +37 -0
- package/skills/builtin/investment-research/SKILL.md +33 -0
- package/skills/builtin/investor-materials/SKILL.md +90 -0
- package/skills/builtin/javascript-surface-analyzer/SKILL.md +66 -0
- package/skills/builtin/markdown-reports/SKILL.md +68 -0
- package/skills/builtin/market-research/SKILL.md +69 -0
- package/skills/builtin/mcp-builder/SKILL.md +86 -0
- package/skills/builtin/meeting-notes/SKILL.md +47 -0
- package/skills/builtin/memory-safety-analyst/SKILL.md +61 -0
- package/skills/builtin/meta-controller/SKILL.md +44 -0
- package/skills/builtin/mixture-of-agents/SKILL.md +53 -0
- package/skills/builtin/monitoring-observability/SKILL.md +169 -0
- package/skills/builtin/negotiation-simulator/SKILL.md +24 -0
- package/skills/builtin/nestjs-development/SKILL.md +56 -0
- package/skills/builtin/nextjs-development/SKILL.md +55 -0
- package/skills/builtin/parallel-dispatch/SKILL.md +83 -0
- package/skills/builtin/pdf-generation/SKILL.md +169 -0
- package/skills/builtin/personal-finance/SKILL.md +17 -0
- package/skills/builtin/pev-workflow/SKILL.md +62 -0
- package/skills/builtin/planning-with-files/SKILL.md +59 -0
- package/skills/builtin/pptx-generation/SKILL.md +117 -0
- package/skills/builtin/prisma-orm/SKILL.md +48 -0
- package/skills/builtin/rag-database-routing/SKILL.md +38 -0
- package/skills/builtin/rapid-prototyping/SKILL.md +152 -0
- package/skills/builtin/react-development/SKILL.md +244 -0
- package/skills/builtin/react-native-mobile/SKILL.md +113 -0
- package/skills/builtin/refactoring/SKILL.md +39 -0
- package/skills/builtin/reflexive-metacognition/SKILL.md +29 -0
- package/skills/builtin/riper-workflow/SKILL.md +214 -0
- package/skills/builtin/security-audit/SKILL.md +113 -0
- package/skills/builtin/security-self-audit/SKILL.md +311 -0
- package/skills/builtin/self-evolving-agent/SKILL.md +28 -0
- package/skills/builtin/self-improvement-loop/SKILL.md +58 -0
- package/skills/builtin/semantic-search/SKILL.md +93 -0
- package/skills/builtin/seo-audit-team/SKILL.md +27 -0
- package/skills/builtin/seo-optimization/SKILL.md +49 -0
- package/skills/builtin/server-management/SKILL.md +190 -0
- package/skills/builtin/social-media-content/SKILL.md +50 -0
- package/skills/builtin/sprint-planner/SKILL.md +49 -0
- package/skills/builtin/strategic-compact/SKILL.md +61 -0
- package/skills/builtin/strategy-advisor/SKILL.md +51 -0
- package/skills/builtin/structured-thinking/SKILL.md +70 -0
- package/skills/builtin/subagent-development/SKILL.md +105 -0
- package/skills/builtin/system-design/SKILL.md +66 -0
- package/skills/builtin/systematic-debugging/SKILL.md +87 -0
- package/skills/builtin/tailwind-css/SKILL.md +55 -0
- package/skills/builtin/taint-flow-tracer/SKILL.md +89 -0
- package/skills/builtin/teaching-agent-team/SKILL.md +32 -0
- package/skills/builtin/tech-debt-manager/SKILL.md +67 -0
- package/skills/builtin/technical-documentation/SKILL.md +47 -0
- package/skills/builtin/test-driven-development/SKILL.md +70 -0
- package/skills/builtin/theme-factory/SKILL.md +244 -0
- package/skills/builtin/threat-model-generator/SKILL.md +105 -0
- package/skills/builtin/trust-layer/SKILL.md +43 -0
- package/skills/builtin/typescript-patterns/SKILL.md +61 -0
- package/skills/builtin/ui-ux-design/SKILL.md +75 -0
- package/skills/builtin/verification-before-completion/SKILL.md +41 -0
- package/skills/builtin/verification-loop/SKILL.md +120 -0
- package/skills/builtin/waf-bypass-agent/SKILL.md +97 -0
- package/skills/builtin/web-artifacts-builder/SKILL.md +117 -0
- package/skills/builtin/web-assessment-executor/SKILL.md +66 -0
- package/skills/builtin/web-exploit-prover/SKILL.md +58 -0
- package/skills/builtin/web-scraping/SKILL.md +63 -0
- package/skills/builtin/webapp-testing/SKILL.md +86 -0
- package/skills/builtin/webhook-development/SKILL.md +62 -0
- package/skills/builtin/writing-skills/SKILL.md +67 -0
- package/skills/builtin/xlsx-generation/SKILL.md +116 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Memory Safety Analyst
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Provide precise, exploit-informed analysis of memory corruption and memory safety failures.
|
|
5
|
+
|
|
6
|
+
## Inputs
|
|
7
|
+
- `target_context` (binary or source)
|
|
8
|
+
- `crash_data` (trace, core, sanitizer output)
|
|
9
|
+
- `mitigation_profile`
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
### Phase 1: Fault Classification
|
|
13
|
+
1. Identify bug class: stack overflow, heap overflow, out-of-bounds read/write, use-after-free, double free, integer-driven misallocation.
|
|
14
|
+
2. Identify crash point and corruption origin.
|
|
15
|
+
|
|
16
|
+
### Phase 2: Control Surface Analysis
|
|
17
|
+
1. Determine control over corrupted bytes.
|
|
18
|
+
2. Determine control over target object or return/control metadata.
|
|
19
|
+
3. Determine trigger repeatability.
|
|
20
|
+
|
|
21
|
+
### Phase 3: Mitigation Interaction
|
|
22
|
+
1. Evaluate hardening controls in effect.
|
|
23
|
+
2. Evaluate whether bug class can bypass controls.
|
|
24
|
+
3. Separate crash-only from exploit-capable conditions.
|
|
25
|
+
|
|
26
|
+
### Phase 4: Exploitability Grading
|
|
27
|
+
1. `E0`: non-exploitable with current evidence.
|
|
28
|
+
2. `E1`: crashable, limited attacker control.
|
|
29
|
+
3. `E2`: meaningful data or pointer control.
|
|
30
|
+
4. `E3`: viable control-flow or sensitive data compromise path.
|
|
31
|
+
|
|
32
|
+
### Phase 5: Remediation Prioritization
|
|
33
|
+
1. Recommend root-cause fix.
|
|
34
|
+
2. Recommend short-term guardrails.
|
|
35
|
+
3. Recommend regression tests.
|
|
36
|
+
|
|
37
|
+
## Required Evidence
|
|
38
|
+
- faulting instruction context
|
|
39
|
+
- memory state before/after trigger
|
|
40
|
+
- control granularity description
|
|
41
|
+
- mitigation interaction notes
|
|
42
|
+
|
|
43
|
+
## Output Contract
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"bug_classification": {},
|
|
47
|
+
"control_surface": {},
|
|
48
|
+
"mitigation_analysis": {},
|
|
49
|
+
"exploitability_grade": "",
|
|
50
|
+
"remediation_plan": []
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Constraints
|
|
55
|
+
- Use exact primitive terminology.
|
|
56
|
+
- Avoid overstating exploitability from a single crash.
|
|
57
|
+
|
|
58
|
+
## Quality Checklist
|
|
59
|
+
- [ ] Classification is unambiguous.
|
|
60
|
+
- [ ] Control analysis is evidence-backed.
|
|
61
|
+
- [ ] Remediation targets root cause.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Meta-Controller
|
|
2
|
+
|
|
3
|
+
## Pattern
|
|
4
|
+
|
|
5
|
+
Supervisory agent that analyzes incoming tasks and dispatches to the right specialist:
|
|
6
|
+
1. Receive task
|
|
7
|
+
2. Classify: what domain? what complexity? what tools needed?
|
|
8
|
+
3. Select specialist based on classification
|
|
9
|
+
4. Dispatch with focused prompt and relevant context only
|
|
10
|
+
5. Receive specialist output
|
|
11
|
+
6. Validate output meets the original request
|
|
12
|
+
7. Return to user or route to next specialist
|
|
13
|
+
|
|
14
|
+
## Classification Dimensions
|
|
15
|
+
|
|
16
|
+
- **Domain**: code, data, design, content, research, operations
|
|
17
|
+
- **Complexity**: simple (single specialist), compound (sequential specialists), complex (parallel specialists + synthesis)
|
|
18
|
+
- **Tools needed**: which tool routers the specialist needs access to
|
|
19
|
+
|
|
20
|
+
## Dispatch Format
|
|
21
|
+
|
|
22
|
+
```markdown
|
|
23
|
+
## Task Classification
|
|
24
|
+
**Domain**: [domain]
|
|
25
|
+
**Complexity**: [simple/compound/complex]
|
|
26
|
+
**Specialists needed**: [list]
|
|
27
|
+
|
|
28
|
+
## Dispatch: [Specialist Name]
|
|
29
|
+
**Context**: [only what this specialist needs]
|
|
30
|
+
**Expected output**: [what to return]
|
|
31
|
+
**Constraints**: [scope limits]
|
|
32
|
+
|
|
33
|
+
## Validation
|
|
34
|
+
**Original request**: [what user asked]
|
|
35
|
+
**Specialist output**: [what was produced]
|
|
36
|
+
**Meets request**: [yes/no, with reasoning]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Rules
|
|
40
|
+
|
|
41
|
+
- The meta-controller never does the work itself. It routes.
|
|
42
|
+
- Each specialist gets only the context relevant to its task
|
|
43
|
+
- Complex tasks get decomposed before dispatch
|
|
44
|
+
- Specialist outputs are validated before returning to user
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Mixture of Agents
|
|
2
|
+
|
|
3
|
+
## Pattern
|
|
4
|
+
|
|
5
|
+
1. Route the same query to 3-4 different LLM providers simultaneously
|
|
6
|
+
2. Each model produces an independent response
|
|
7
|
+
3. Aggregator model synthesizes all responses, identifying consensus and disagreements
|
|
8
|
+
4. Final output is the synthesis, not any single model's response
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Factual queries where accuracy matters more than speed
|
|
13
|
+
- Analysis where different models may catch different nuances
|
|
14
|
+
- High-stakes decisions where bias from one model could be costly
|
|
15
|
+
- Research synthesis where breadth of perspective matters
|
|
16
|
+
|
|
17
|
+
## Aggregation Prompt
|
|
18
|
+
|
|
19
|
+
"You have received responses from multiple AI models. Synthesize these into a single, high-quality response. Note where models agree (high confidence) and where they disagree (flag for user). Prefer specific evidence over general claims."
|
|
20
|
+
|
|
21
|
+
## Output Format
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
## Query
|
|
25
|
+
[Original question]
|
|
26
|
+
|
|
27
|
+
## Individual Responses
|
|
28
|
+
### Model A: [name]
|
|
29
|
+
[Response summary]
|
|
30
|
+
|
|
31
|
+
### Model B: [name]
|
|
32
|
+
[Response summary]
|
|
33
|
+
|
|
34
|
+
### Model C: [name]
|
|
35
|
+
[Response summary]
|
|
36
|
+
|
|
37
|
+
## Synthesis
|
|
38
|
+
### Consensus (High Confidence)
|
|
39
|
+
[What all/most models agree on]
|
|
40
|
+
|
|
41
|
+
### Disagreements (Flag for Review)
|
|
42
|
+
[Where models differ, with each position noted]
|
|
43
|
+
|
|
44
|
+
### Final Answer
|
|
45
|
+
[Synthesized response incorporating the best from each]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Rules
|
|
49
|
+
|
|
50
|
+
- Minimum 3 models for meaningful ensemble
|
|
51
|
+
- Models should be from different providers (not just different sizes from same provider)
|
|
52
|
+
- Aggregator should be a strong model (it's doing the hardest job)
|
|
53
|
+
- Cost is 3-4x a single call. Only use when the accuracy gain justifies it
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: monitoring-observability
|
|
3
|
+
description: "Use this skill when the user asks to set up logging, monitoring, health checks, alerting, error tracking, or uptime monitoring for an application. Triggers: 'monitoring', 'logging', 'health check', 'alerting', 'uptime', 'error tracking', 'observability', 'metrics', 'Sentry', 'Grafana', 'Prometheus', 'logs', or any request to know when something breaks."
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Monitoring & Observability
|
|
8
|
+
|
|
9
|
+
## What This Skill Does
|
|
10
|
+
|
|
11
|
+
Set up logging, health checks, error tracking, uptime monitoring, and alerting. Know when things break before users tell you.
|
|
12
|
+
|
|
13
|
+
## Health Checks
|
|
14
|
+
|
|
15
|
+
Every application needs a health endpoint.
|
|
16
|
+
|
|
17
|
+
### Basic Health Check
|
|
18
|
+
```typescript
|
|
19
|
+
app.get("/health", async (c) => {
|
|
20
|
+
const checks: Record<string, string> = {};
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
await db.query("SELECT 1");
|
|
24
|
+
checks.database = "ok";
|
|
25
|
+
} catch {
|
|
26
|
+
checks.database = "error";
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
try {
|
|
30
|
+
await redis.ping();
|
|
31
|
+
checks.redis = "ok";
|
|
32
|
+
} catch {
|
|
33
|
+
checks.redis = "error";
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const healthy = Object.values(checks).every(v => v === "ok");
|
|
37
|
+
|
|
38
|
+
return c.json({
|
|
39
|
+
status: healthy ? "healthy" : "degraded",
|
|
40
|
+
checks,
|
|
41
|
+
uptime: process.uptime(),
|
|
42
|
+
timestamp: new Date().toISOString(),
|
|
43
|
+
version: process.env.APP_VERSION || "unknown",
|
|
44
|
+
}, healthy ? 200 : 503);
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Readiness vs Liveness
|
|
49
|
+
```
|
|
50
|
+
/health/live → Can the process respond? (restart if no)
|
|
51
|
+
/health/ready → Can it serve traffic? (remove from LB if no)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Structured Logging
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
function log(level: string, message: string, data?: Record<string, unknown>) {
|
|
58
|
+
const entry = {
|
|
59
|
+
timestamp: new Date().toISOString(),
|
|
60
|
+
level,
|
|
61
|
+
message,
|
|
62
|
+
...data,
|
|
63
|
+
service: "myapp",
|
|
64
|
+
environment: process.env.NODE_ENV,
|
|
65
|
+
};
|
|
66
|
+
if (level === "error") console.error(JSON.stringify(entry));
|
|
67
|
+
else console.log(JSON.stringify(entry));
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### What to Log
|
|
72
|
+
- Every HTTP request: method, path, status code, duration
|
|
73
|
+
- Authentication events: login success/failure
|
|
74
|
+
- Database errors and slow queries (over 100ms)
|
|
75
|
+
- External API calls: endpoint, status, duration
|
|
76
|
+
- Business events: user signup, payment processed
|
|
77
|
+
|
|
78
|
+
### What NOT to Log
|
|
79
|
+
- Passwords, tokens, API keys, or secrets
|
|
80
|
+
- Full request/response bodies (PII risk)
|
|
81
|
+
- Health check requests (too noisy)
|
|
82
|
+
|
|
83
|
+
## Request Logging Middleware
|
|
84
|
+
```typescript
|
|
85
|
+
function requestLogger(handler: Handler): Handler {
|
|
86
|
+
return async (req) => {
|
|
87
|
+
const start = performance.now();
|
|
88
|
+
const path = new URL(req.url).pathname;
|
|
89
|
+
try {
|
|
90
|
+
const response = await handler(req);
|
|
91
|
+
if (path !== "/health") {
|
|
92
|
+
log("info", "request", { method: req.method, path, status: response.status, durationMs: Math.round(performance.now() - start) });
|
|
93
|
+
}
|
|
94
|
+
return response;
|
|
95
|
+
} catch (err) {
|
|
96
|
+
log("error", "request_error", { method: req.method, path, error: (err as Error).message });
|
|
97
|
+
throw err;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Error Tracking
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
process.on("uncaughtException", (err) => {
|
|
107
|
+
log("error", "Uncaught exception", { error: err.message, stack: err.stack });
|
|
108
|
+
process.exit(1);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
process.on("unhandledRejection", (reason) => {
|
|
112
|
+
log("error", "Unhandled rejection", { reason: String(reason) });
|
|
113
|
+
});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Sentry Integration
|
|
117
|
+
```typescript
|
|
118
|
+
import * as Sentry from "@sentry/bun";
|
|
119
|
+
Sentry.init({
|
|
120
|
+
dsn: process.env.SENTRY_DSN,
|
|
121
|
+
environment: process.env.NODE_ENV,
|
|
122
|
+
tracesSampleRate: 0.1,
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Uptime Monitoring
|
|
127
|
+
|
|
128
|
+
External services: UptimeRobot (free: 50 monitors), Better Uptime, Cronitor.
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Monitor: HTTPS GET https://myapp.com/health
|
|
132
|
+
Interval: 60s | Timeout: 10s | Alert after: 2 failures
|
|
133
|
+
Alert via: Email, Slack webhook, SMS
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Alerting Rules
|
|
137
|
+
|
|
138
|
+
| Condition | Severity | Action |
|
|
139
|
+
|-----------|----------|--------|
|
|
140
|
+
| Health check fails 2+ times | Critical | Page on-call |
|
|
141
|
+
| Error rate > 5% in 5 min | High | Slack + email |
|
|
142
|
+
| Response time p95 > 2s | Medium | Slack |
|
|
143
|
+
| Disk usage > 85% | Medium | Slack |
|
|
144
|
+
| SSL cert expires < 14 days | Low | Email |
|
|
145
|
+
| Database backup failed | High | Slack + email |
|
|
146
|
+
|
|
147
|
+
## Rules
|
|
148
|
+
|
|
149
|
+
- Every application must have a `/health` endpoint
|
|
150
|
+
- All logs must be structured JSON
|
|
151
|
+
- Never log secrets, tokens, or PII
|
|
152
|
+
- Alert on symptoms (error rate, latency) not causes
|
|
153
|
+
- Every alert must have a clear action
|
|
154
|
+
- Set up monitoring BEFORE going to production
|
|
155
|
+
|
|
156
|
+
## Verification
|
|
157
|
+
|
|
158
|
+
1. Health endpoint returns 200 with dependency status
|
|
159
|
+
2. Request logs appear in structured JSON format
|
|
160
|
+
3. Intentionally cause an error and verify it's logged
|
|
161
|
+
4. Kill the database and verify health returns 503
|
|
162
|
+
5. Uptime monitor detects downtime
|
|
163
|
+
6. Alert notification reaches the configured channel
|
|
164
|
+
|
|
165
|
+
## Integration with Other Skills
|
|
166
|
+
|
|
167
|
+
- **server-management:** Add monitoring after server setup
|
|
168
|
+
- **docker-deployment:** Health checks integrate with Docker HEALTHCHECK
|
|
169
|
+
- **ci-cd-pipelines:** Run health check after deploy to verify success
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Negotiation Simulator
|
|
2
|
+
## Architecture
|
|
3
|
+
- **Buyer Agent**: negotiates for lowest price, has a maximum budget (hidden from seller)
|
|
4
|
+
- **Seller Agent**: negotiates for highest price, has a minimum acceptable price (hidden from buyer)
|
|
5
|
+
- **Orchestrator**: manages rounds, enforces rules, detects agreement or deadlock
|
|
6
|
+
|
|
7
|
+
## Round Structure
|
|
8
|
+
```typescript
|
|
9
|
+
interface NegotiationRound {
|
|
10
|
+
roundNumber: number;
|
|
11
|
+
buyerOffer: number | null;
|
|
12
|
+
sellerAsk: number | null;
|
|
13
|
+
buyerReasoning: string;
|
|
14
|
+
sellerReasoning: string;
|
|
15
|
+
status: "ongoing" | "accepted" | "rejected" | "deadlock";
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
- Maximum 10 rounds before deadlock
|
|
21
|
+
- Each round: buyer makes offer, seller responds with counter or accept
|
|
22
|
+
- Neither agent reveals their limit
|
|
23
|
+
- Orchestrator reports final outcome with analysis of negotiation dynamics
|
|
24
|
+
- BATNA (Best Alternative To Negotiated Agreement) considered by both sides
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nestjs-development
|
|
3
|
+
description: "Use this skill when building with NestJS. Triggers: 'NestJS', 'nest.js', 'decorator', 'module', 'injectable', 'guard', 'interceptor', or any NestJS request. Always fetch Context7 docs first."
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# NestJS Development
|
|
8
|
+
|
|
9
|
+
## Before You Start
|
|
10
|
+
|
|
11
|
+
**Context7:** Fetch current NestJS docs before generating code.
|
|
12
|
+
|
|
13
|
+
## Core Architecture
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
src/
|
|
17
|
+
├── app.module.ts # Root module
|
|
18
|
+
├── main.ts # Bootstrap
|
|
19
|
+
├── users/
|
|
20
|
+
│ ├── users.module.ts # Feature module
|
|
21
|
+
│ ├── users.controller.ts # HTTP layer
|
|
22
|
+
│ ├── users.service.ts # Business logic
|
|
23
|
+
│ ├── dto/ # Data transfer objects
|
|
24
|
+
│ └── entities/ # Database entities
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Pattern
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
@Module({
|
|
31
|
+
imports: [TypeOrmModule.forFeature([User])],
|
|
32
|
+
controllers: [UsersController],
|
|
33
|
+
providers: [UsersService],
|
|
34
|
+
exports: [UsersService],
|
|
35
|
+
})
|
|
36
|
+
export class UsersModule {}
|
|
37
|
+
|
|
38
|
+
@Controller("users")
|
|
39
|
+
export class UsersController {
|
|
40
|
+
constructor(private readonly usersService: UsersService) {}
|
|
41
|
+
|
|
42
|
+
@Get()
|
|
43
|
+
findAll() { return this.usersService.findAll(); }
|
|
44
|
+
|
|
45
|
+
@Post()
|
|
46
|
+
create(@Body() dto: CreateUserDto) { return this.usersService.create(dto); }
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Rules
|
|
51
|
+
|
|
52
|
+
- One module per feature domain
|
|
53
|
+
- Controllers handle HTTP, services handle business logic
|
|
54
|
+
- Use DTOs with class-validator for input validation
|
|
55
|
+
- Use Guards for auth, Interceptors for transforms, Pipes for validation
|
|
56
|
+
- Fetch Context7 docs for the specific NestJS version
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nextjs-development
|
|
3
|
+
description: "Use this skill when building with Next.js. Triggers: 'Next.js', 'next.js', 'app router', 'server component', 'SSR', 'SSG', 'ISR', or any Next.js request. Always fetch Context7 docs first as the API changes significantly between versions."
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Next.js Development
|
|
8
|
+
|
|
9
|
+
## Before You Start
|
|
10
|
+
|
|
11
|
+
**Context7:** MANDATORY. Next.js changes significantly between versions. Always fetch current docs before writing any Next.js code.
|
|
12
|
+
|
|
13
|
+
## App Router Basics
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
app/
|
|
17
|
+
├── layout.tsx # Root layout (wraps all pages)
|
|
18
|
+
├── page.tsx # Home page (/)
|
|
19
|
+
├── loading.tsx # Loading UI
|
|
20
|
+
├── error.tsx # Error boundary
|
|
21
|
+
├── not-found.tsx # 404 page
|
|
22
|
+
├── api/
|
|
23
|
+
│ └── route.ts # API route handler
|
|
24
|
+
└── dashboard/
|
|
25
|
+
├── layout.tsx # Dashboard layout
|
|
26
|
+
└── page.tsx # Dashboard page (/dashboard)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Server vs Client Components
|
|
30
|
+
|
|
31
|
+
Server Components (default): fetch data, access backend, no interactivity
|
|
32
|
+
Client Components (`"use client"`): event handlers, hooks, browser APIs
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
// Server Component (default)
|
|
36
|
+
export default async function Page() {
|
|
37
|
+
const data = await fetch("https://api.example.com/data");
|
|
38
|
+
return <div>{/* render data */}</div>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Client Component
|
|
42
|
+
"use client";
|
|
43
|
+
export default function Counter() {
|
|
44
|
+
const [count, setCount] = useState(0);
|
|
45
|
+
return <button onClick={() => setCount(c => c + 1)}>{count}</button>;
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Rules
|
|
50
|
+
|
|
51
|
+
- Default to Server Components. Only add "use client" when needed.
|
|
52
|
+
- Fetch Context7 docs for the specific Next.js version
|
|
53
|
+
- Use Route Handlers (app/api/) for API endpoints
|
|
54
|
+
- Use Server Actions for form handling and mutations
|
|
55
|
+
- Test both dev and production builds (behavior can differ)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallel-dispatch
|
|
3
|
+
description: "Use this skill when multiple independent tasks can be worked on simultaneously. Triggers: 'parallel', 'simultaneously', 'at the same time', 'fan out', or when 2+ tasks have no dependencies on each other's output."
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Parallel Dispatch
|
|
8
|
+
|
|
9
|
+
## What This Skill Does
|
|
10
|
+
|
|
11
|
+
Fan out independent work to parallel agents, then consolidate results. Use when tasks have no output dependencies between them.
|
|
12
|
+
|
|
13
|
+
## When to Parallelize
|
|
14
|
+
|
|
15
|
+
- Frontend + backend + tests (no shared output)
|
|
16
|
+
- Multiple independent research queries
|
|
17
|
+
- Linting + type checking + testing (separate concerns)
|
|
18
|
+
- Generating multiple documents or assets
|
|
19
|
+
|
|
20
|
+
## When to Serialize
|
|
21
|
+
|
|
22
|
+
- Research -> implementation (output informs next step)
|
|
23
|
+
- Schema design -> migration -> API routes (sequential dependency)
|
|
24
|
+
- Any chain where step N needs step N-1's output
|
|
25
|
+
|
|
26
|
+
## Pattern
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
1. Identify independent tasks
|
|
30
|
+
2. Write focused prompt for each (self-contained, no shared context)
|
|
31
|
+
3. Dispatch all simultaneously
|
|
32
|
+
4. Collect results
|
|
33
|
+
5. Consolidate: synthesize parallel results into unified output
|
|
34
|
+
6. Resolve conflicts between parallel outputs
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Rules
|
|
38
|
+
|
|
39
|
+
- Each parallel agent gets a self-contained prompt with all context it needs
|
|
40
|
+
- Never share mutable state between parallel agents
|
|
41
|
+
- Always have a consolidation step that synthesizes results
|
|
42
|
+
- If tasks turn out to have dependencies discovered during execution, switch to sequential
|
|
43
|
+
|
|
44
|
+
## Ensemble Decision (Cognitive Diversity)
|
|
45
|
+
|
|
46
|
+
For high-stakes decisions, create 3+ agents with genuinely different perspectives:
|
|
47
|
+
- Each gets the same problem but a different analytical lens (optimist vs pessimist, technical vs business, short-term vs long-term)
|
|
48
|
+
- Each produces an independent analysis
|
|
49
|
+
- An aggregator agent synthesizes all outputs, noting consensus and disagreement
|
|
50
|
+
- Final recommendation weighted by the quality of each agent's reasoning
|
|
51
|
+
|
|
52
|
+
Works for: architecture decisions, investment analysis, risk assessment, strategic planning.
|
|
53
|
+
|
|
54
|
+
## Mixture of Agents
|
|
55
|
+
|
|
56
|
+
For factual/research queries, route the same question to multiple LLM providers simultaneously. Synthesize independent results. Higher accuracy than any single model when the question has a definitive answer.
|
|
57
|
+
|
|
58
|
+
## LLM Map-Reduce (Sandboxed Batch Processing)
|
|
59
|
+
|
|
60
|
+
For processing large document batches where each document is untrusted:
|
|
61
|
+
|
|
62
|
+
### Map Phase
|
|
63
|
+
```
|
|
64
|
+
Documents[] → fan out → [Agent per document] → partial results[]
|
|
65
|
+
```
|
|
66
|
+
- Each agent runs in a sandboxed context (no cross-document state)
|
|
67
|
+
- Each agent processes one document and returns structured output
|
|
68
|
+
- Untrusted documents are wrapped with content boundaries (see content-wrapper skill)
|
|
69
|
+
|
|
70
|
+
### Reduce Phase
|
|
71
|
+
```
|
|
72
|
+
partial results[] → Aggregator Agent → final output
|
|
73
|
+
```
|
|
74
|
+
- Aggregator synthesizes all partial results
|
|
75
|
+
- Resolves conflicts between documents
|
|
76
|
+
- Produces unified summary or analysis
|
|
77
|
+
|
|
78
|
+
### Rules
|
|
79
|
+
- Each map agent gets only its assigned document (no cross-contamination)
|
|
80
|
+
- Map agents have reduced tool access (read-only, no network)
|
|
81
|
+
- Reduce agent validates consistency across partial results
|
|
82
|
+
- Maximum batch size: 50 documents per map-reduce job
|
|
83
|
+
- Failed map tasks are retried once, then marked as failed (not silently dropped)
|