octocode-cli 1.2.10 → 1.2.11
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/out/octocode-cli.js +59 -65
- package/package.json +1 -1
- package/skills/octocode-engineer/SKILL.md +52 -36
package/package.json
CHANGED
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: octocode-engineer
|
|
3
|
-
description: "System-aware engineering skill for code understanding, safe implementation, refactoring, architecture review, and quality analysis. Use this before planning and for general task support when an agent must start with local Octocode tools, use AST search/tree-search to prove structure, and combine those checks with LSP and scanner results to understand
|
|
3
|
+
description: "System-aware engineering skill for code understanding, safe implementation, refactoring, architecture review, and quality analysis. Use this before planning and for general task support when an agent must start with local Octocode tools, use AST search/tree-search to prove structure, and combine those checks with LSP and scanner results to understand flows, feature surfaces, system summary, blast radius, contracts, documentation gaps, build/configuration risks, and architectural risk instead of looking only at one file. Aims to improve any system, and is especially effective for Node-based applications."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Octocode Engineer
|
|
7
7
|
|
|
8
8
|
This skill helps an agent investigate, change, and verify a codebase with system awareness.
|
|
9
9
|
|
|
10
|
-
Use this skill before
|
|
11
|
-
Use it as an organizer for agents: pick the right lens, choose the right tools, understand the system, then move into planning or implementation.
|
|
12
|
-
Use it with a senior-architect review posture: check whether the system is clear, modular, extensible, efficient, documented, and safe to evolve.
|
|
13
|
-
Start with local Octocode tools whenever they are available. Use AST to check and prove structural claims instead of trusting text search alone.
|
|
10
|
+
Use this skill before planning or implementation. Treat it as the agent organizer for understanding the system first, then acting with a senior-architect mindset.
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- validate important claims from more than one angle
|
|
12
|
+
Default operating mode:
|
|
13
|
+
1. Start with local Octocode tools for discovery and scope.
|
|
14
|
+
2. Use AST to prove structural claims.
|
|
15
|
+
3. Use LSP and scanner results to understand semantics, blast radius, and architecture.
|
|
16
|
+
4. Summarize the system, flows, features, and constraints in your own reasoning.
|
|
17
|
+
5. Only then decide whether to ask, plan, explain, or edit.
|
|
22
18
|
|
|
23
19
|
## What This Skill Does
|
|
24
20
|
|
|
25
21
|
Use this skill to:
|
|
26
|
-
-
|
|
22
|
+
- organize investigation and decision-making for almost any engineering task
|
|
23
|
+
- understand the main flows, summarize the system clearly, and identify what features and capabilities actually exist
|
|
24
|
+
- stay aware of which local Octocode, LSP, AST, scanner, and project tools are available before choosing an approach
|
|
27
25
|
- understand how a feature, bug, or module really works
|
|
28
26
|
- trace definitions, callers, callees, imports, and shared contracts
|
|
29
27
|
- find architectural issues such as cycles, chokepoints, coupling, hotspots, and layer violations
|
|
@@ -33,6 +31,7 @@ Use this skill to:
|
|
|
33
31
|
- flag rigid, naive, brittle, or clearly unnecessary code paths before they spread
|
|
34
32
|
- prevent patchy fixes that work locally but make the system harder to extend later
|
|
35
33
|
- improve both delivery velocity and long-term quality through smarter flows and better structure
|
|
34
|
+
- check build and configuration when needed or requested, including module-system mistakes such as incorrect ESM/CJS usage
|
|
36
35
|
- plan safer refactors with blast-radius awareness
|
|
37
36
|
- check that important critical aspects are documented when behavior, contracts, architecture, or operations depend on them
|
|
38
37
|
- verify that a change did not create new code-quality, architecture, or test-quality problems
|
|
@@ -45,11 +44,11 @@ It applies to any system, but is especially effective for Node and TypeScript ap
|
|
|
45
44
|
## When To Use It
|
|
46
45
|
|
|
47
46
|
Use this skill when the user asks to:
|
|
48
|
-
- help with almost any code or architecture task that benefits from better system understanding first
|
|
49
47
|
- understand code before changing it
|
|
50
48
|
- fix a bug in shared or unclear code
|
|
51
49
|
- refactor a module, package, or cross-file flow
|
|
52
50
|
- review code quality, architecture, or technical debt
|
|
51
|
+
- investigate build, runtime, package, or configuration issues when they affect behavior or delivery
|
|
53
52
|
- improve maintainability, modularity, contracts, or extensibility
|
|
54
53
|
- validate docs, plans, or RFCs against the real implementation
|
|
55
54
|
- check dead code, test gaps, security risks, or design problems
|
|
@@ -59,15 +58,17 @@ Use this skill when the user asks to:
|
|
|
59
58
|
## Core Mindset
|
|
60
59
|
|
|
61
60
|
1. System first, file second.
|
|
62
|
-
2.
|
|
63
|
-
3.
|
|
64
|
-
4.
|
|
65
|
-
5.
|
|
66
|
-
6.
|
|
67
|
-
7.
|
|
68
|
-
8.
|
|
69
|
-
9.
|
|
70
|
-
10.
|
|
61
|
+
2. Understand flows, features, and current system behavior before proposing fixes.
|
|
62
|
+
3. Root causes often live in boundaries, flows, ownership, coupling, build/configuration mistakes, or missing tests, not just in the visible line of code.
|
|
63
|
+
4. Important findings should be validated with at least 2 approaches when possible.
|
|
64
|
+
5. Prefer local Octocode tools first for discovery, scope, and evidence.
|
|
65
|
+
6. Use AST to check structural claims whenever text search may be misleading.
|
|
66
|
+
7. Keep a running system summary in mind: what exists, what owns what, what connects to what, and which tools can prove it.
|
|
67
|
+
8. Report confidence clearly: `confirmed`, `likely`, or `uncertain`.
|
|
68
|
+
9. Prefer clean, modular, contract-driven solutions over local patches.
|
|
69
|
+
10. For medium or large changes, understand blast radius and architecture before editing.
|
|
70
|
+
11. Track meaningful work with tasks or todos when the runtime supports it.
|
|
71
|
+
12. Ask the user at the right checkpoint when scope, risk, or tradeoffs are genuinely unclear.
|
|
71
72
|
|
|
72
73
|
## The Main Problem This Skill Solves
|
|
73
74
|
|
|
@@ -78,6 +79,7 @@ A function may look wrong, but the real issue may be:
|
|
|
78
79
|
- a shared module doing too much
|
|
79
80
|
- a weak boundary between layers
|
|
80
81
|
- weak or implicit contracts between modules, APIs, or types
|
|
82
|
+
- build or configuration mistakes, such as wrong ESM/CJS assumptions, broken module resolution, or incorrect package wiring
|
|
81
83
|
- inefficient loops, repeated work, or avoidable `O(n^2)` logic
|
|
82
84
|
- rigid or brittle code that is hard to extend without patching around it
|
|
83
85
|
- duplicate logic spread across packages
|
|
@@ -86,10 +88,12 @@ A function may look wrong, but the real issue may be:
|
|
|
86
88
|
- a quick patch that solves today but blocks safe extension tomorrow
|
|
87
89
|
|
|
88
90
|
Because of that, always look at:
|
|
91
|
+
- summary: what the system does, which features exist, and how the parts connect
|
|
89
92
|
- structure: where code lives and how modules are grouped
|
|
90
93
|
- architecture: dependencies, boundaries, cycles, hotspots, and ownership
|
|
91
94
|
- contracts: TypeScript types, interfaces, DTOs, schemas, and public module boundaries
|
|
92
95
|
- flows: entry points, call chains, data movement, and side effects
|
|
96
|
+
- build/config: package/module format, tsconfig/bundler/runtime assumptions, scripts, env wiring, and compatibility edges
|
|
93
97
|
- quality: clean code, low duplication, CSS hygiene, and maintainable module responsibilities
|
|
94
98
|
- efficiency: algorithmic complexity, repeated work, repeated queries, N+1 patterns, and unnecessary orchestration
|
|
95
99
|
- rigidity: brittle logic, over-coupled decisions, and code that is harder than necessary to extend
|
|
@@ -107,6 +111,7 @@ The target is a system that stays extendable, understandable, and fast to change
|
|
|
107
111
|
| Semantics | What symbol is this and who uses it? | `localSearchCode` -> LSP tools |
|
|
108
112
|
| Persistence | How is state stored and mutated? | schema files, SQL/Prisma/Mongoose definitions, migration files, repository/storage modules |
|
|
109
113
|
| Efficiency | Is the implementation doing avoidable work or unnecessary complexity? | scanner complexity findings, code read, query/storage access paths, tests/benchmarks when available |
|
|
114
|
+
| Build & Config | Is runtime/build setup correct for this feature or environment? | package/module config, tsconfig, bundler config, scripts, import/export patterns, build errors |
|
|
110
115
|
| Docs | Are critical behaviors, contracts, flows, and operational constraints documented? | docs/readmes, API docs, config docs, migration notes, code comments near boundaries |
|
|
111
116
|
| Structure | Does this pattern really exist? | `scripts/ast/search.js`, `scripts/ast/tree-search.js` |
|
|
112
117
|
| Architecture | Is this area hard or risky to change? | `scripts/run.js`, graph and flow modes |
|
|
@@ -200,6 +205,7 @@ Use supporting quality checks when the task touches the relevant surface area.
|
|
|
200
205
|
| duplication review | repeated logic, near-clones, copy-pasted flows, repeated CSS patterns, general redundancy |
|
|
201
206
|
| efficiency review | avoidable `O(n^2)` work, repeated scans, N+1 calls, wasteful transforms, unnecessary recomputation |
|
|
202
207
|
| rigidity review | brittle condition trees, hard-coded branching, patchy glue code, over-coupled modules, naive solutions |
|
|
208
|
+
| build/config review | ESM/CJS mismatch, bad module resolution, wrong script wiring, incompatible runtime assumptions, broken package setup |
|
|
203
209
|
| docs review | whether critical assumptions, contracts, flows, setup, migrations, and risks are documented where they should be |
|
|
204
210
|
| clean CSS review | selector scope, token reuse, naming clarity, dead styles, layout consistency |
|
|
205
211
|
| `knip` | unused exports, unused files, unused dependencies, dead integration edges |
|
|
@@ -235,13 +241,14 @@ For any non-trivial task, follow this order:
|
|
|
235
241
|
3. Map the package/module area with local tools.
|
|
236
242
|
4. Trace important symbols with LSP.
|
|
237
243
|
5. Validate and check structural claims with AST tools.
|
|
238
|
-
6. Check architecture, docs, and flow risk with the scanner and relevant
|
|
244
|
+
6. Check architecture, build/configuration, docs, and flow risk with the scanner and relevant project files.
|
|
239
245
|
7. Read the actual code with context.
|
|
240
|
-
8.
|
|
241
|
-
9.
|
|
246
|
+
8. Summarize the current system, flows, and feature surface before deciding on action.
|
|
247
|
+
9. Pause and ask the user if a real decision checkpoint appears.
|
|
248
|
+
10. Only then decide whether to explain, plan, or edit.
|
|
242
249
|
|
|
243
250
|
Short form:
|
|
244
|
-
`clarify -> track -> layout -> symbols -> structure -> architecture/docs -> code -> checkpoint -> action`
|
|
251
|
+
`clarify -> track -> layout -> symbols -> structure -> architecture/build/docs -> code -> summarize -> checkpoint -> action`
|
|
245
252
|
|
|
246
253
|
## How To Use This Skill
|
|
247
254
|
|
|
@@ -251,8 +258,10 @@ Short form:
|
|
|
251
258
|
2. Use `localSearchCode` to find the symbol or flow.
|
|
252
259
|
3. Use LSP to trace definitions, references, callers, and callees.
|
|
253
260
|
4. Read the relevant code only after the surrounding context is clear.
|
|
254
|
-
5.
|
|
255
|
-
6.
|
|
261
|
+
5. Summarize the key flows, feature surface, and boundaries in your own reasoning.
|
|
262
|
+
6. Check whether important contracts or critical flows are documented.
|
|
263
|
+
7. If build or runtime behavior is involved, inspect build/config assumptions.
|
|
264
|
+
8. If the area is shared, central, or suspicious, run a scoped scanner pass.
|
|
256
265
|
|
|
257
266
|
### For bug fixing
|
|
258
267
|
|
|
@@ -260,18 +269,19 @@ Short form:
|
|
|
260
269
|
2. Trace incoming callers and outgoing callees.
|
|
261
270
|
3. Check adjacent risk areas: error handling, retries, side effects, tests, shared consumers, and contract mismatches.
|
|
262
271
|
4. Use AST tools if the bug may involve a structural smell.
|
|
263
|
-
5.
|
|
264
|
-
6.
|
|
265
|
-
7.
|
|
266
|
-
8.
|
|
267
|
-
9. Check whether the
|
|
272
|
+
5. Check build/configuration if module format, runtime wiring, or packaging may be involved.
|
|
273
|
+
6. Use the scanner if the bug points to a hotspot, cycle, or orchestration problem.
|
|
274
|
+
7. Fix the smallest layer that solves the root cause, not just the symptom.
|
|
275
|
+
8. Prefer a clean boundary or contract fix over a narrow patch if the issue is systemic.
|
|
276
|
+
9. Check whether the bug is caused by redundant work, inefficient flow, or rigid branching.
|
|
277
|
+
10. Check whether the risky behavior and fix assumptions should be documented.
|
|
268
278
|
|
|
269
279
|
### For refactors
|
|
270
280
|
|
|
271
281
|
1. Measure blast radius with `lspFindReferences` and `lspCallHierarchy`.
|
|
272
282
|
2. Check architecture health in the target area with `scripts/run.js --scope=...`.
|
|
273
283
|
3. Look for similar patterns nearby with AST or local search.
|
|
274
|
-
4. Check whether duplication, weak contracts,
|
|
284
|
+
4. Check whether duplication, weak contracts, bad boundaries, or build/config friction are the real refactor driver.
|
|
275
285
|
5. Plan the change if multiple files, packages, or shared symbols are involved.
|
|
276
286
|
6. Prefer extracting modules, clarifying contracts, simplifying flows, and removing redundant work over cosmetic reshuffling.
|
|
277
287
|
7. Implement incrementally.
|
|
@@ -285,7 +295,7 @@ Short form:
|
|
|
285
295
|
3. Use local tools to understand the folder and package layout.
|
|
286
296
|
4. Use LSP to verify the real dependency pressure around candidate modules.
|
|
287
297
|
5. Read representative files to explain why the structure is problematic.
|
|
288
|
-
6. Check whether contracts, duplication,
|
|
298
|
+
6. Check whether contracts, duplication, module boundaries, and build/runtime setup support extensibility.
|
|
289
299
|
7. Check whether critical architectural constraints are documented.
|
|
290
300
|
8. Report both local code issues and system-level causes.
|
|
291
301
|
|
|
@@ -301,6 +311,7 @@ Short form:
|
|
|
301
311
|
| Can I prove this structural claim? | AST search/tree-search + targeted code read |
|
|
302
312
|
| Are contracts weak or inconsistent? | LSP on public symbols + code read + scanner/AST signals |
|
|
303
313
|
| Is this implementation inefficient? | scanner complexity signals + code read + persistence/query path review |
|
|
314
|
+
| Is build/config part of the problem? | scripts/config review + import/export patterns + build/type errors + package/module checks |
|
|
304
315
|
| Is this dead code? | `lspFindReferences` + AST import/export check + scanner dead-code signals |
|
|
305
316
|
| Is this module risky to change? | scanner scope + LSP references/call flow + code read |
|
|
306
317
|
| Is the problem architectural? | scanner graph/flow + local structure + LSP on chokepoints |
|
|
@@ -315,6 +326,7 @@ Short form:
|
|
|
315
326
|
- find consumers and callers
|
|
316
327
|
- inspect tests around the changed path
|
|
317
328
|
- check whether the area is a hotspot, cycle member, or shared boundary
|
|
329
|
+
- check whether build/configuration assumptions are part of the behavior
|
|
318
330
|
- check contracts: types, inputs, outputs, schemas, and public APIs
|
|
319
331
|
- check whether critical behavior and constraints are documented
|
|
320
332
|
- check for duplication before adding another branch or helper
|
|
@@ -327,6 +339,7 @@ Short form:
|
|
|
327
339
|
- prefer the smallest change that fixes the real issue
|
|
328
340
|
- prefer the cleanest modular fix that keeps the system extendable
|
|
329
341
|
- maintain clear contracts, especially in TypeScript-heavy code
|
|
342
|
+
- keep build/configuration consistent with runtime expectations, especially around ESM/CJS boundaries
|
|
330
343
|
- reduce redundancy and avoid layering new logic on top of rigid or naive code when a cleaner simplification is possible
|
|
331
344
|
- improve inefficient flows when they are part of the real problem
|
|
332
345
|
- keep CSS clean and scoped if the task touches frontend styling
|
|
@@ -338,6 +351,7 @@ Short form:
|
|
|
338
351
|
- run lint and build or type-check as appropriate
|
|
339
352
|
- run CSS checks when styles changed
|
|
340
353
|
- run `knip` when refactors may have left dead exports, files, or deps behind
|
|
354
|
+
- verify build and configuration still match runtime/module expectations
|
|
341
355
|
- re-check changed symbols with LSP after renames or moves
|
|
342
356
|
- run a scoped scanner pass for non-trivial changes
|
|
343
357
|
- verify important critical aspects are documented if the task changed them
|
|
@@ -367,6 +381,7 @@ Examples:
|
|
|
367
381
|
- Never skip local Octocode discovery when those tools are available.
|
|
368
382
|
- Never present an important structural claim without checking it with AST when AST can prove it.
|
|
369
383
|
- Never stop at code style if the deeper issue is structure or flow.
|
|
384
|
+
- Never ignore build or configuration evidence when behavior may depend on package/module/runtime setup.
|
|
370
385
|
- Never prefer a quick patch when the real issue is contracts, boundaries, duplication, or architecture.
|
|
371
386
|
- Never ignore obvious inefficiency, redundancy, or rigid code if it materially hurts extensibility or clarity.
|
|
372
387
|
- Never add new duplication if an existing abstraction or module should be improved instead.
|
|
@@ -394,6 +409,7 @@ A good result from this skill should answer all of these:
|
|
|
394
409
|
- What is the blast radius?
|
|
395
410
|
- Are the contracts clear and safe?
|
|
396
411
|
- Is the problem local, structural, or architectural?
|
|
412
|
+
- Is build/configuration part of the issue?
|
|
397
413
|
- Is the implementation efficient enough, or is avoidable complexity hurting it?
|
|
398
414
|
- Is the system becoming cleaner, more modular, and easier to extend?
|
|
399
415
|
- Are important critical aspects documented?
|