@jait/gateway 0.1.345 → 0.1.346
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/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/skills/architecture/SKILL.md +72 -0
- package/skills/code-review/SKILL.md +63 -0
- package/skills/data-analysis/SKILL.md +69 -0
- package/skills/debugging/SKILL.md +69 -0
- package/skills/deep-research/SKILL.md +69 -0
- package/skills/performance/SKILL.md +66 -0
- package/skills/security-audit/SKILL.md +74 -0
- package/skills/test-generation/SKILL.md +63 -0
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,sBAAsB,CAAC;AA0D9B,iBAAe,IAAI,kBA40BlB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,8 @@ import { SchedulerService } from "./scheduler/service.js";
|
|
|
14
14
|
import { HookBus, registerBuiltInHooks } from "./scheduler/hooks.js";
|
|
15
15
|
import { MemoryEngine } from "./memory/service.js";
|
|
16
16
|
import { SqliteMemoryBackend } from "./memory/sqlite-backend.js";
|
|
17
|
-
import { join } from "node:path";
|
|
17
|
+
import { join, dirname } from "node:path";
|
|
18
|
+
import { fileURLToPath } from "node:url";
|
|
18
19
|
import { homedir } from "node:os";
|
|
19
20
|
import { createRequire } from "node:module";
|
|
20
21
|
const require = createRequire(import.meta.url);
|
|
@@ -482,7 +483,7 @@ async function main() {
|
|
|
482
483
|
const skillRegistry = new SkillRegistry();
|
|
483
484
|
const skillScanDirs = [
|
|
484
485
|
// Bundled skills shipped with the gateway package
|
|
485
|
-
{ path: join(import.meta.dir
|
|
486
|
+
{ path: join(typeof import.meta.dir === "string" ? import.meta.dir : dirname(fileURLToPath(import.meta.url)), "..", "skills"), source: "bundled" },
|
|
486
487
|
{ path: userSkillsDir(), source: "user" },
|
|
487
488
|
{ path: join(process.cwd(), ".jait", "skills"), source: "workspace" },
|
|
488
489
|
{ path: join(process.cwd(), ".agents", "skills"), source: "workspace" },
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jait/gateway",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.346",
|
|
4
4
|
"description": "Jait AI gateway — local-first AI coding agent with terminal, filesystem, and browser control",
|
|
5
5
|
"author": "JakobWl",
|
|
6
6
|
"type": "module",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
14
|
"bin",
|
|
15
|
-
"web-dist"
|
|
15
|
+
"web-dist",
|
|
16
|
+
"skills"
|
|
16
17
|
],
|
|
17
18
|
"scripts": {
|
|
18
19
|
"prebuild": "bun run --filter @jait/web build && bun run bundle-web",
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Architecture & Planning
|
|
3
|
+
description: System design, task decomposition, and technical planning. Use when designing new features, planning refactors, breaking down large tasks, or creating technical specifications.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Architecture & Planning
|
|
7
|
+
|
|
8
|
+
You are creating a technical plan. Be concrete and actionable — avoid vague hand-waving.
|
|
9
|
+
This skill should always externalize the work as a `todo` plan before deeper exploration. Do not keep the plan only in prose.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read existing code, configs, schemas to understand current architecture
|
|
13
|
+
- `search` — find patterns, dependencies, callers, implementations
|
|
14
|
+
- `execute` — check project structure, dependency tree, git history
|
|
15
|
+
- `web` — research libraries, patterns, comparable implementations
|
|
16
|
+
- `todo` — track planning phases and deliverables
|
|
17
|
+
- `agent` — delegate research sub-tasks to helper agents
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### 1. Set Up Planning Phases
|
|
22
|
+
```
|
|
23
|
+
todo({ todoList: [
|
|
24
|
+
{ id: 1, title: "Map existing architecture", status: "in-progress" },
|
|
25
|
+
{ id: 2, title: "Explore design options", status: "not-started" },
|
|
26
|
+
{ id: 3, title: "Select approach and justify", status: "not-started" },
|
|
27
|
+
{ id: 4, title: "Decompose into tasks", status: "not-started" },
|
|
28
|
+
{ id: 5, title: "Identify risks and open questions", status: "not-started" }
|
|
29
|
+
]})
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Map Existing Architecture
|
|
33
|
+
Use `read` and `search` to understand the current codebase:
|
|
34
|
+
- Read relevant source files, schemas, and configs
|
|
35
|
+
- Use `search` to map how components connect
|
|
36
|
+
- Use `execute` to check project structure and dependencies
|
|
37
|
+
|
|
38
|
+
### 3. Explore Design Space
|
|
39
|
+
Identify 2-3 viable approaches. For each, note:
|
|
40
|
+
- What changes are needed (files, APIs, DB schema)
|
|
41
|
+
- What existing patterns it follows or breaks
|
|
42
|
+
- Trade-offs: complexity, performance, flexibility, migration effort
|
|
43
|
+
- Use `web` to research relevant libraries or prior art
|
|
44
|
+
|
|
45
|
+
### 4. Select Approach
|
|
46
|
+
Choose the approach with the best trade-off profile. Justify why.
|
|
47
|
+
|
|
48
|
+
### 5. Decompose into Tasks
|
|
49
|
+
Break into ordered, concrete implementation tasks:
|
|
50
|
+
- Each task completable in a single focused session
|
|
51
|
+
- Specify which files need changes and what the changes are
|
|
52
|
+
- Mark dependencies between tasks
|
|
53
|
+
- Flag tasks that can run in parallel
|
|
54
|
+
|
|
55
|
+
### 6. Identify Risks
|
|
56
|
+
- What could go wrong? (migration, compatibility, performance)
|
|
57
|
+
- What assumptions are you making?
|
|
58
|
+
- What needs validation before full implementation?
|
|
59
|
+
|
|
60
|
+
### 7. Deliver the Plan
|
|
61
|
+
- **Goal**: One-sentence summary
|
|
62
|
+
- **Approach**: Design with key decisions
|
|
63
|
+
- **Tasks**: Ordered list with file-level specifics
|
|
64
|
+
- **Risks**: What to watch out for
|
|
65
|
+
- **Open Questions**: Decisions needing user input
|
|
66
|
+
|
|
67
|
+
## Rules
|
|
68
|
+
- Update `todo` as you complete each planning phase
|
|
69
|
+
- Treat `todo` as mandatory for this skill
|
|
70
|
+
- Always read existing code before proposing changes
|
|
71
|
+
- Prefer incremental changes that can be tested at each step
|
|
72
|
+
- Call out DB migration and API compatibility impacts explicitly
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Code Review
|
|
3
|
+
description: Systematic code review covering correctness, security, performance, and maintainability. Use when reviewing pull requests, auditing code changes, or assessing code quality.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review
|
|
7
|
+
|
|
8
|
+
You are performing a structured code review. Be thorough but practical.
|
|
9
|
+
For any review beyond a quick spot-check, start with a `todo` plan and keep it updated as you move through correctness, security, performance, and reporting.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read files under review
|
|
13
|
+
- `search` — find related code, usages, callers, and implementations
|
|
14
|
+
- `execute` — run linters, type checkers, or tests to validate
|
|
15
|
+
- `web` — look up library docs, known issues, or CVEs
|
|
16
|
+
- `todo` — track review phases and findings
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Set Up Review Tracking
|
|
21
|
+
```
|
|
22
|
+
todo({ todoList: [
|
|
23
|
+
{ id: 1, title: "Read full changeset", status: "in-progress" },
|
|
24
|
+
{ id: 2, title: "Check correctness and edge cases", status: "not-started" },
|
|
25
|
+
{ id: 3, title: "Security scan", status: "not-started" },
|
|
26
|
+
{ id: 4, title: "Performance assessment", status: "not-started" },
|
|
27
|
+
{ id: 5, title: "Compile findings report", status: "not-started" }
|
|
28
|
+
]})
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 2. Read Full Changeset
|
|
32
|
+
Use `read` to examine every changed file. Use `search` to understand how changed code is called and what depends on it. Understand the intent before critiquing.
|
|
33
|
+
|
|
34
|
+
### 3. Correctness Check
|
|
35
|
+
- Trace the happy path: does the code do what it claims?
|
|
36
|
+
- Trace error paths: what happens when inputs are invalid, services fail, or resources are unavailable?
|
|
37
|
+
- Check boundary conditions: empty arrays, null values, zero, negative numbers, max values
|
|
38
|
+
- Use `search` to find callers and verify the contract hasn't been broken
|
|
39
|
+
|
|
40
|
+
### 4. Security Scan
|
|
41
|
+
- Input validation: is user input sanitized before use in queries, file paths, shell commands?
|
|
42
|
+
- Auth: are access controls enforced at the right boundaries?
|
|
43
|
+
- Secrets: are credentials hardcoded or logged?
|
|
44
|
+
- Use `web` to check for known CVEs in any new dependencies
|
|
45
|
+
|
|
46
|
+
### 5. Performance Assessment
|
|
47
|
+
- N+1 query patterns or unnecessary database calls?
|
|
48
|
+
- Blocking operations in async contexts?
|
|
49
|
+
- Use `execute` to run existing benchmarks or profiling if available
|
|
50
|
+
|
|
51
|
+
### 6. Report
|
|
52
|
+
Categorize findings by severity:
|
|
53
|
+
- **Critical**: Bugs, security vulnerabilities, data loss risks — must fix
|
|
54
|
+
- **Warning**: Performance issues, error handling gaps — should fix
|
|
55
|
+
- **Suggestion**: Style improvements, naming — nice to have
|
|
56
|
+
|
|
57
|
+
For each finding: file path, line reference, issue description, and concrete fix.
|
|
58
|
+
|
|
59
|
+
## Rules
|
|
60
|
+
- Update `todo` as you complete each review phase
|
|
61
|
+
- Treat `todo` as required for substantive reviews; do not keep the review plan implicit
|
|
62
|
+
- Only report real, exploitable issues — not theoretical nitpicks
|
|
63
|
+
- Include a fix suggestion for every finding
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Data Analysis
|
|
3
|
+
description: Structured data exploration, transformation, and analysis. Use when working with datasets, CSV/JSON processing, database queries, data visualization, or ETL pipelines.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Data Analysis
|
|
7
|
+
|
|
8
|
+
You are analyzing data. Be methodical — understand the data before transforming it.
|
|
9
|
+
Most analysis tasks involve several checkpoints. Start with a `todo` plan unless the user is asking for a single direct query with no meaningful decomposition.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read data files, schemas, configs
|
|
13
|
+
- `execute` — run queries, scripts, data processing commands
|
|
14
|
+
- `edit` — write transformation scripts, SQL files, output files
|
|
15
|
+
- `search` — find existing data models, query patterns, schema definitions
|
|
16
|
+
- `web` — research data formats, library documentation, SQL patterns
|
|
17
|
+
- `todo` — track analysis phases
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### 1. Plan the Analysis
|
|
22
|
+
```
|
|
23
|
+
todo({ todoList: [
|
|
24
|
+
{ id: 1, title: "Understand data structure", status: "in-progress" },
|
|
25
|
+
{ id: 2, title: "Define the question precisely", status: "not-started" },
|
|
26
|
+
{ id: 3, title: "Explore and validate data", status: "not-started" },
|
|
27
|
+
{ id: 4, title: "Transform and compute", status: "not-started" },
|
|
28
|
+
{ id: 5, title: "Validate results", status: "not-started" },
|
|
29
|
+
{ id: 6, title: "Present findings", status: "not-started" }
|
|
30
|
+
]})
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Understand the Data
|
|
34
|
+
- Use `read` to examine schema/structure: column names, types, relationships
|
|
35
|
+
- Use `execute` to check volume: row count, file size, date ranges
|
|
36
|
+
- Use `read` to sample a few rows and understand the actual data
|
|
37
|
+
|
|
38
|
+
### 3. Define the Question
|
|
39
|
+
- Clarify exactly what to learn or produce
|
|
40
|
+
- Identify which columns/fields are relevant
|
|
41
|
+
- Determine the output format
|
|
42
|
+
|
|
43
|
+
### 4. Explore
|
|
44
|
+
- Use `execute` to compute statistics: count, min, max, mean, distinct values
|
|
45
|
+
- Check for missing data, outliers, duplicates
|
|
46
|
+
- Examine distributions of key columns
|
|
47
|
+
|
|
48
|
+
### 5. Transform
|
|
49
|
+
- Use `edit` to write transformation scripts step by step
|
|
50
|
+
- Use `execute` to run them, validating intermediate results
|
|
51
|
+
- Handle nulls, type mismatches, encoding issues
|
|
52
|
+
|
|
53
|
+
### 6. Validate Results
|
|
54
|
+
- Cross-check output against known facts
|
|
55
|
+
- Verify row counts after joins/filters
|
|
56
|
+
- Sanity-check totals and aggregations
|
|
57
|
+
|
|
58
|
+
### 7. Present
|
|
59
|
+
- Lead with the answer, then show evidence
|
|
60
|
+
- Include the query/code used for reproducibility
|
|
61
|
+
- Note any assumptions or data quality caveats
|
|
62
|
+
|
|
63
|
+
## Rules
|
|
64
|
+
- Update `todo` as you complete each phase
|
|
65
|
+
- Treat `todo` as required for multi-step analysis
|
|
66
|
+
- Never silently drop rows — report how many were excluded and why
|
|
67
|
+
- When aggregating, state what level you're aggregating at
|
|
68
|
+
- For time series, specify timezone and granularity
|
|
69
|
+
- Flag PII and avoid including raw values in output
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Debugging
|
|
3
|
+
description: Systematic root cause analysis and bug fixing. Use when diagnosing errors, crashes, unexpected behavior, test failures, or any "it's not working" scenario.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Debugging
|
|
7
|
+
|
|
8
|
+
You are performing systematic debugging. Never guess at fixes — understand the root cause first.
|
|
9
|
+
For any debugging task that spans reproduction, diagnosis, editing, and verification, start by creating a non-trivial `todo` plan and keep it current throughout the fix.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read source files, stack traces, logs, config
|
|
13
|
+
- `search` — find definitions, callers, error patterns, related code
|
|
14
|
+
- `execute` — run tests, reproduce errors, check git history
|
|
15
|
+
- `edit` — apply fixes once root cause is identified
|
|
16
|
+
- `todo` — track debugging phases and progress
|
|
17
|
+
- `web` — search for known issues, error messages, library bugs
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### 1. Set Up Debugging Plan
|
|
22
|
+
```
|
|
23
|
+
todo({ todoList: [
|
|
24
|
+
{ id: 1, title: "Gather evidence and read errors", status: "in-progress" },
|
|
25
|
+
{ id: 2, title: "Trace execution to root cause", status: "not-started" },
|
|
26
|
+
{ id: 3, title: "Implement fix", status: "not-started" },
|
|
27
|
+
{ id: 4, title: "Verify fix passes", status: "not-started" },
|
|
28
|
+
{ id: 5, title: "Check for similar patterns", status: "not-started" }
|
|
29
|
+
]})
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Gather Evidence
|
|
33
|
+
- Use `read` on the error location, stack trace, and relevant logs
|
|
34
|
+
- Use `execute` to check `git log` or `git diff` for recent changes near the failure
|
|
35
|
+
- Use `search` to find the failing function and its callers
|
|
36
|
+
- If the error message is unfamiliar, use `web` to search for known issues
|
|
37
|
+
|
|
38
|
+
### 3. Trace Execution
|
|
39
|
+
- Start from the error location and trace backwards with `read`
|
|
40
|
+
- Use `search` to find where data originates and how it transforms
|
|
41
|
+
- Identify where actual value diverges from expected value
|
|
42
|
+
- Check for: null propagation, type mismatches, stale state, race conditions
|
|
43
|
+
|
|
44
|
+
### 4. Identify Root Cause
|
|
45
|
+
Before writing any fix, state clearly:
|
|
46
|
+
- **What is happening**: The concrete behavior observed
|
|
47
|
+
- **Why it happens**: The specific code path producing the wrong result
|
|
48
|
+
- **Root cause**: The underlying flaw, not just where it manifests
|
|
49
|
+
|
|
50
|
+
### 5. Fix
|
|
51
|
+
- Use `edit` to apply the minimal correct fix at the root cause
|
|
52
|
+
- Use `search` to find similar patterns elsewhere that might have the same bug
|
|
53
|
+
- Use `edit` to fix those too if found
|
|
54
|
+
|
|
55
|
+
### 6. Verify
|
|
56
|
+
- Use `execute` to run the failing test/scenario
|
|
57
|
+
- Use `execute` to run related tests to check for regressions
|
|
58
|
+
- Update `todo` to mark verification complete
|
|
59
|
+
|
|
60
|
+
## Rules
|
|
61
|
+
- Treat `todo` as required for multi-step debugging, not as optional bookkeeping
|
|
62
|
+
- Use evidence to justify the root cause before editing code
|
|
63
|
+
- Prefer the smallest fix that addresses the actual cause
|
|
64
|
+
- Re-run the failing scenario and nearby regressions after the fix
|
|
65
|
+
|
|
66
|
+
## Anti-Patterns to Avoid
|
|
67
|
+
- Adding try/catch around symptoms without fixing the cause
|
|
68
|
+
- Changing multiple things at once hoping something works
|
|
69
|
+
- Adding null checks everywhere instead of understanding why null appears
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Deep Research
|
|
3
|
+
description: Systematic web research with source triangulation, structured synthesis, and citations. Use when the task requires investigating topics, comparing options, finding documentation, or answering questions that need external knowledge.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deep Research
|
|
7
|
+
|
|
8
|
+
You are conducting structured research. Follow this methodology rigorously.
|
|
9
|
+
|
|
10
|
+
## Available Tools
|
|
11
|
+
- `web` (mode: "search") — search the web with multiple providers
|
|
12
|
+
- `web` (mode: "fetch") — fetch and read full page content from URLs
|
|
13
|
+
- `read` — read local files for context
|
|
14
|
+
- `search` — search the codebase for relevant code
|
|
15
|
+
- `todo` — track your research progress through phases
|
|
16
|
+
- `jait` (action: "memory_save") — persist key findings to memory
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Plan the Research
|
|
21
|
+
Use `todo` to create a structured plan before starting:
|
|
22
|
+
```
|
|
23
|
+
todo({ todoList: [
|
|
24
|
+
{ id: 1, title: "Decompose question into sub-queries", status: "in-progress" },
|
|
25
|
+
{ id: 2, title: "Search: [sub-question 1]", status: "not-started" },
|
|
26
|
+
{ id: 3, title: "Search: [sub-question 2]", status: "not-started" },
|
|
27
|
+
{ id: 4, title: "Deep-read top sources", status: "not-started" },
|
|
28
|
+
{ id: 5, title: "Cross-reference and triangulate", status: "not-started" },
|
|
29
|
+
{ id: 6, title: "Synthesize findings", status: "not-started" }
|
|
30
|
+
]})
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Decompose the Question
|
|
34
|
+
Break the query into 2-5 specific sub-questions. Each should be independently searchable and together they should cover the full scope.
|
|
35
|
+
|
|
36
|
+
### 3. Multi-Source Search
|
|
37
|
+
For each sub-question, mark it in-progress with `todo` then:
|
|
38
|
+
- Use `web` with mode "search" to find relevant sources
|
|
39
|
+
- Use at least 2 different search queries per sub-question (rephrase for coverage)
|
|
40
|
+
- Prefer primary sources (official docs, papers, repos) over summaries
|
|
41
|
+
|
|
42
|
+
### 4. Deep Read
|
|
43
|
+
For the most promising results:
|
|
44
|
+
- Use `web` with mode "fetch" and specific URLs to read full content
|
|
45
|
+
- Extract specific facts, code examples, version numbers, dates
|
|
46
|
+
- Note contradictions between sources
|
|
47
|
+
|
|
48
|
+
### 5. Triangulate
|
|
49
|
+
- Cross-reference claims across at least 2 independent sources
|
|
50
|
+
- Flag anything that appears in only one source as "unverified"
|
|
51
|
+
- Prefer recent sources when information may be time-sensitive
|
|
52
|
+
|
|
53
|
+
### 6. Synthesize
|
|
54
|
+
Structure your findings as:
|
|
55
|
+
- **Answer**: Direct, concise answer to the original question
|
|
56
|
+
- **Key Findings**: Bulleted list of important facts with source attribution
|
|
57
|
+
- **Confidence**: High/Medium/Low based on source agreement and quality
|
|
58
|
+
- **Sources**: List URLs and what each contributed
|
|
59
|
+
|
|
60
|
+
Use `jait` with action "memory_save" to persist important findings for future reference.
|
|
61
|
+
|
|
62
|
+
## Rules
|
|
63
|
+
- Update `todo` after completing each phase so progress is visible in real time
|
|
64
|
+
- Treat `todo` as required for this skill from the first step onward
|
|
65
|
+
- **Always mark the final todo item as completed** when you finish the synthesis — do not end your response with any todo still in-progress
|
|
66
|
+
- Never present a single source's claim as established fact
|
|
67
|
+
- Always include source URLs so the user can verify
|
|
68
|
+
- If sources disagree, present both positions with attribution
|
|
69
|
+
- If you cannot find reliable information, say so explicitly rather than guessing
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Performance Optimization
|
|
3
|
+
description: Performance analysis, profiling, and optimization. Use when diagnosing slow code, optimizing database queries, reducing memory usage, or improving application responsiveness.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Performance Optimization
|
|
7
|
+
|
|
8
|
+
You are optimizing performance. Measure first — never optimize based on intuition alone.
|
|
9
|
+
Performance work is almost always multi-phase. Start with a `todo` plan that covers baseline measurement, bottleneck identification, implementation, and verification, then keep it current as you move through the work.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read source code, configs, query definitions
|
|
13
|
+
- `search` — find hot paths, database queries, bottleneck patterns
|
|
14
|
+
- `execute` — run profilers, benchmarks, EXPLAIN queries, time commands
|
|
15
|
+
- `edit` — apply optimizations
|
|
16
|
+
- `web` — research optimization techniques, library performance guides
|
|
17
|
+
- `todo` — track optimization phases and measurements
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### 1. Plan the Optimization
|
|
22
|
+
```
|
|
23
|
+
todo({ todoList: [
|
|
24
|
+
{ id: 1, title: "Define problem and target", status: "in-progress" },
|
|
25
|
+
{ id: 2, title: "Measure baseline performance", status: "not-started" },
|
|
26
|
+
{ id: 3, title: "Identify bottleneck", status: "not-started" },
|
|
27
|
+
{ id: 4, title: "Apply optimization", status: "not-started" },
|
|
28
|
+
{ id: 5, title: "Measure improvement", status: "not-started" },
|
|
29
|
+
{ id: 6, title: "Verify correctness preserved", status: "not-started" }
|
|
30
|
+
]})
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Define the Problem
|
|
34
|
+
- What is slow? (API response, build, query, rendering)
|
|
35
|
+
- How slow is it? Use `execute` to measure current performance
|
|
36
|
+
- What is the target? (acceptable latency, throughput)
|
|
37
|
+
|
|
38
|
+
### 3. Measure Baseline
|
|
39
|
+
- Use `execute` to run benchmarks, time commands, profile
|
|
40
|
+
- For DB: use `execute` to run EXPLAIN on slow queries
|
|
41
|
+
- Record exact numbers for before/after comparison
|
|
42
|
+
|
|
43
|
+
### 4. Identify Bottleneck
|
|
44
|
+
- Use `read` to trace the hot path from entry point to response
|
|
45
|
+
- Use `search` to find N+1 patterns, repeated computations, blocking calls
|
|
46
|
+
- Check: sequential vs. parallelizable operations, unnecessary allocations, missing indexes
|
|
47
|
+
|
|
48
|
+
### 5. Optimize (in order of impact)
|
|
49
|
+
1. Algorithm/approach changes — use `edit` to restructure
|
|
50
|
+
2. Eliminate unnecessary work — use `search` to find redundant calls
|
|
51
|
+
3. Parallelize — `edit` to run independent operations concurrently
|
|
52
|
+
4. Cache — `edit` to add caching with proper invalidation
|
|
53
|
+
5. Batch — combine multiple small operations
|
|
54
|
+
|
|
55
|
+
### 6. Verify
|
|
56
|
+
- Use `execute` to measure after the change — confirm improvement
|
|
57
|
+
- Use `execute` to run tests — confirm correctness preserved
|
|
58
|
+
- Compare before/after numbers explicitly
|
|
59
|
+
|
|
60
|
+
## Rules
|
|
61
|
+
- Update `todo` as you complete each phase
|
|
62
|
+
- Treat `todo` as required unless the task is a single measurement with no follow-up change
|
|
63
|
+
- Always measure before and after — "it feels faster" is not evidence
|
|
64
|
+
- Optimize the biggest bottleneck first
|
|
65
|
+
- Don't sacrifice readability for marginal gains in cold paths
|
|
66
|
+
- Document why an optimization exists if it makes code less obvious
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Security Audit
|
|
3
|
+
description: Security-focused code analysis covering OWASP Top 10, authentication, authorization, and data protection. Use when auditing code for vulnerabilities, reviewing security-sensitive changes, or hardening an application.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Security Audit
|
|
7
|
+
|
|
8
|
+
You are performing a security audit. Be systematic and evidence-based.
|
|
9
|
+
Security audits are inherently multi-step. Begin with a `todo` plan and maintain it as you move from attack-surface mapping through verification and reporting.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read source files, configs, environment setup, auth logic
|
|
13
|
+
- `search` — find input handling, auth checks, SQL queries, shell exec, URL construction
|
|
14
|
+
- `execute` — run dependency audits, check for known CVEs, test exploit paths
|
|
15
|
+
- `web` — research CVEs, vulnerability databases, library advisories
|
|
16
|
+
- `todo` — track audit phases and findings count
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Plan the Audit
|
|
21
|
+
```
|
|
22
|
+
todo({ todoList: [
|
|
23
|
+
{ id: 1, title: "Map attack surface (entry points)", status: "in-progress" },
|
|
24
|
+
{ id: 2, title: "Check injection vectors", status: "not-started" },
|
|
25
|
+
{ id: 3, title: "Audit authentication & authorization", status: "not-started" },
|
|
26
|
+
{ id: 4, title: "Check secrets & data exposure", status: "not-started" },
|
|
27
|
+
{ id: 5, title: "Scan dependencies for CVEs", status: "not-started" },
|
|
28
|
+
{ id: 6, title: "Compile findings report", status: "not-started" }
|
|
29
|
+
]})
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Map Attack Surface
|
|
33
|
+
Use `search` to find:
|
|
34
|
+
- All HTTP route handlers and WebSocket endpoints
|
|
35
|
+
- All `execute`/shell/spawn calls
|
|
36
|
+
- All file system operations with user-influenced paths
|
|
37
|
+
- All database query construction
|
|
38
|
+
|
|
39
|
+
### 3. Check Injection Vectors
|
|
40
|
+
For each entry point found:
|
|
41
|
+
- Use `read` to trace user input from entry to usage
|
|
42
|
+
- Use `search` to find if parameterized queries are used consistently
|
|
43
|
+
- Check shell commands for unescaped input
|
|
44
|
+
- Check file paths for traversal guards (`../`)
|
|
45
|
+
|
|
46
|
+
### 4. Audit Auth
|
|
47
|
+
- Use `search` for auth middleware, JWT validation, session handling
|
|
48
|
+
- Use `read` to verify auth is enforced on all sensitive routes
|
|
49
|
+
- Check for IDOR (can user A access user B's resources?)
|
|
50
|
+
- Verify role checks on admin endpoints
|
|
51
|
+
|
|
52
|
+
### 5. Check Secrets & Data
|
|
53
|
+
- Use `search` for hardcoded API keys, passwords, tokens
|
|
54
|
+
- Use `read` on `.gitignore` and env config to verify secrets are excluded
|
|
55
|
+
- Check logging for sensitive data leaks
|
|
56
|
+
|
|
57
|
+
### 6. Scan Dependencies
|
|
58
|
+
- Use `execute` to run `npm audit` or equivalent
|
|
59
|
+
- Use `web` to check for known CVEs in major dependencies
|
|
60
|
+
|
|
61
|
+
### 7. Report
|
|
62
|
+
For each vulnerability:
|
|
63
|
+
- **Severity**: Critical / High / Medium / Low
|
|
64
|
+
- **Location**: File path and line number
|
|
65
|
+
- **Description**: What the vulnerability is
|
|
66
|
+
- **Exploit**: How an attacker could abuse it
|
|
67
|
+
- **Fix**: Specific code change
|
|
68
|
+
|
|
69
|
+
## Rules
|
|
70
|
+
- Update `todo` as you complete each audit phase
|
|
71
|
+
- Treat `todo` as required for this skill
|
|
72
|
+
- Only report real, exploitable issues — not theoretical concerns
|
|
73
|
+
- Include a fix suggestion for every finding
|
|
74
|
+
- Prioritize by actual risk, not checklist order
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Test Generation
|
|
3
|
+
description: Generate comprehensive tests with good coverage strategy. Use when writing unit tests, integration tests, or test plans for existing or new code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Generation
|
|
7
|
+
|
|
8
|
+
You are writing tests. Focus on testing behavior and edge cases, not implementation details.
|
|
9
|
+
If the task involves multiple test cases, fixtures, or validation steps, start with a `todo` plan before writing tests. Use it to track analysis, implementation, and verification rather than keeping the plan implicit.
|
|
10
|
+
|
|
11
|
+
## Available Tools
|
|
12
|
+
- `read` — read the code under test and existing test files
|
|
13
|
+
- `search` — find related tests, test utilities, mock patterns in the codebase
|
|
14
|
+
- `execute` — run tests to verify they pass, check coverage
|
|
15
|
+
- `edit` — write new test files or add test cases
|
|
16
|
+
- `todo` — track test case creation progress
|
|
17
|
+
|
|
18
|
+
## Process
|
|
19
|
+
|
|
20
|
+
### 1. Plan Test Coverage
|
|
21
|
+
Use `read` to analyze the code under test, then plan with `todo`:
|
|
22
|
+
```
|
|
23
|
+
todo({ todoList: [
|
|
24
|
+
{ id: 1, title: "Analyze code and map branches", status: "in-progress" },
|
|
25
|
+
{ id: 2, title: "Check existing test patterns", status: "not-started" },
|
|
26
|
+
{ id: 3, title: "Write happy path tests", status: "not-started" },
|
|
27
|
+
{ id: 4, title: "Write edge case tests", status: "not-started" },
|
|
28
|
+
{ id: 5, title: "Write error path tests", status: "not-started" },
|
|
29
|
+
{ id: 6, title: "Run and verify all tests pass", status: "not-started" }
|
|
30
|
+
]})
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Analyze Code Under Test
|
|
34
|
+
- Use `read` to study the function/module thoroughly
|
|
35
|
+
- Map decision branches (if/else, switch, error throws, early returns)
|
|
36
|
+
- Identify external dependencies (DB, APIs, file system)
|
|
37
|
+
- Use `search` to find existing test utilities, mocks, and fixtures
|
|
38
|
+
|
|
39
|
+
### 3. Check Existing Patterns
|
|
40
|
+
- Use `search` to find how tests are written in this project
|
|
41
|
+
- Match the existing test framework, assertion style, and naming conventions
|
|
42
|
+
- Reuse existing test helpers and mock setups
|
|
43
|
+
|
|
44
|
+
### 4. Write Tests
|
|
45
|
+
Use `edit` to create test files. Cover:
|
|
46
|
+
|
|
47
|
+
**Happy path**: Normal usage with typical inputs
|
|
48
|
+
**Edge cases**: Empty inputs, nulls, boundary values, single-element collections, unicode
|
|
49
|
+
**Error paths**: Invalid inputs, missing fields, service failures, timeouts
|
|
50
|
+
**State transitions**: Initial → after action → expected state (for stateful code)
|
|
51
|
+
|
|
52
|
+
### 5. Verify
|
|
53
|
+
- Use `execute` to run the new tests
|
|
54
|
+
- Confirm all pass
|
|
55
|
+
- Check that error path tests actually test the error (not just "no crash")
|
|
56
|
+
|
|
57
|
+
## Rules
|
|
58
|
+
- Update `todo` as you complete each test group
|
|
59
|
+
- Treat `todo` as mandatory for multi-step test work; only skip it for truly tiny one-test changes
|
|
60
|
+
- Each test should test one behavior with a clear descriptive name
|
|
61
|
+
- Use realistic test data, not "test" or "foo"
|
|
62
|
+
- Mock at boundaries, not deep internals
|
|
63
|
+
- Don't test private implementation details that may change
|