@ryuenn3123/agentic-senior-core 4.4.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/.agents/plugins/agentic-senior-core/plugin.json +3 -0
  2. package/.agents/plugins/agentic-senior-core/rules/agentic-senior-core.md +131 -0
  3. package/.agents/plugins/agentic-senior-core/skills/asc/SKILL.md +16 -0
  4. package/.agents/plugins/agentic-senior-core/skills/asc-audit/SKILL.md +28 -0
  5. package/.agents/plugins/agentic-senior-core/skills/asc-refactor/SKILL.md +35 -0
  6. package/.agents/plugins/agentic-senior-core/skills/asc-review/SKILL.md +54 -0
  7. package/.agents/rules/agentic-senior-core.md +131 -0
  8. package/.claude-plugin/marketplace.json +17 -0
  9. package/.claude-plugin/plugin.json +17 -0
  10. package/.clinerules/agentic-senior-core.md +94 -0
  11. package/.codex-plugin/plugin.json +24 -0
  12. package/.cursor/rules/agentic-senior-core.mdc +99 -0
  13. package/.devin-plugin/plugin.json +13 -0
  14. package/.github/copilot-instructions.md +94 -0
  15. package/.github/plugin/marketplace.json +20 -0
  16. package/.github/plugin/plugin.json +16 -0
  17. package/.kiro/steering/agentic-senior-core.md +94 -0
  18. package/.openclaw/skills/asc/SKILL.md +23 -0
  19. package/.openclaw/skills/asc-audit/SKILL.md +28 -0
  20. package/.openclaw/skills/asc-review/SKILL.md +54 -0
  21. package/.opencode/plugins/agentic-senior-core.mjs +31 -0
  22. package/.windsurf/rules/agentic-senior-core.md +94 -0
  23. package/AGENTS.md +126 -127
  24. package/CONTRIBUTING.md +93 -63
  25. package/README.md +190 -110
  26. package/__init__.py +61 -0
  27. package/bin/agentic-senior-core.js +42 -41
  28. package/commands/asc-audit.md +1 -0
  29. package/commands/asc-audit.toml +2 -0
  30. package/commands/asc-help.md +9 -0
  31. package/commands/asc-help.toml +2 -0
  32. package/commands/asc-refactor.md +1 -0
  33. package/commands/asc-refactor.toml +2 -0
  34. package/commands/asc-review.md +1 -0
  35. package/commands/asc-review.toml +2 -0
  36. package/gemini-extension.json +10 -0
  37. package/hooks/copilot-hooks.json +21 -0
  38. package/hooks/hooks.json +31 -0
  39. package/hooks/session-start.js +36 -0
  40. package/hooks/subagent-start.js +38 -0
  41. package/lib/cli/commands/adapter.mjs +109 -0
  42. package/lib/cli/commands/clean.mjs +63 -0
  43. package/lib/cli/commands/status.mjs +94 -0
  44. package/package.json +43 -60
  45. package/plugin.yaml +16 -0
  46. package/scripts/uninstall.js +38 -0
  47. package/skills/asc/SKILL.md +16 -0
  48. package/skills/asc-audit/SKILL.md +28 -0
  49. package/skills/asc-refactor/SKILL.md +35 -0
  50. package/skills/asc-review/SKILL.md +54 -0
  51. package/.agent-context/policies/llm-judge-threshold.json +0 -29
  52. package/.agent-context/prompts/bootstrap-design.md +0 -63
  53. package/.agent-context/prompts/compact-natural-mode.md +0 -100
  54. package/.agent-context/prompts/init-project.md +0 -60
  55. package/.agent-context/prompts/refactor.md +0 -38
  56. package/.agent-context/prompts/review-code.md +0 -31
  57. package/.agent-context/review-checklists/architecture-review.md +0 -57
  58. package/.agent-context/review-checklists/pr-checklist.md +0 -134
  59. package/.agent-context/rules/api-docs.md +0 -24
  60. package/.agent-context/rules/api-versioning.md +0 -16
  61. package/.agent-context/rules/architecture.md +0 -38
  62. package/.agent-context/rules/background-jobs.md +0 -17
  63. package/.agent-context/rules/config-and-flags.md +0 -16
  64. package/.agent-context/rules/database-design.md +0 -18
  65. package/.agent-context/rules/docker-runtime.md +0 -17
  66. package/.agent-context/rules/error-handling.md +0 -16
  67. package/.agent-context/rules/event-driven.md +0 -16
  68. package/.agent-context/rules/frontend-architecture.md +0 -54
  69. package/.agent-context/rules/microservices.md +0 -16
  70. package/.agent-context/rules/migrations.md +0 -16
  71. package/.agent-context/rules/observability.md +0 -16
  72. package/.agent-context/rules/performance.md +0 -16
  73. package/.agent-context/rules/realtime.md +0 -16
  74. package/.agent-context/rules/resilience.md +0 -18
  75. package/.agent-context/rules/security.md +0 -18
  76. package/.agent-context/rules/testing.md +0 -16
  77. package/.agent-context/state/README.md +0 -25
  78. package/.agent-context/state/architecture-map.md +0 -40
  79. package/.agent-context/state/benchmark-comparison-schema.json +0 -181
  80. package/.agent-context/state/benchmark-reproducibility.json +0 -87
  81. package/.agent-context/state/benchmark-thresholds.json +0 -10
  82. package/.agent-context/state/benchmark-writer-judge-config.json +0 -58
  83. package/.agent-context/state/dependency-map.md +0 -41
  84. package/.agent-context/state/memory-adapter-contract.json +0 -52
  85. package/.agent-context/state/memory-schema-v1.json +0 -88
  86. package/GEMINI.md +0 -1
  87. package/benchmarks/README.md +0 -60
  88. package/benchmarks/compact-natural-mode/fixtures.mjs +0 -359
  89. package/benchmarks/compact-natural-mode/scorer.mjs +0 -331
  90. package/benchmarks/runtime-token-saver/fixtures.mjs +0 -836
  91. package/lib/cli/adaptive-context/catalog.mjs +0 -394
  92. package/lib/cli/adaptive-context/file-signals.mjs +0 -100
  93. package/lib/cli/adaptive-context/implications.mjs +0 -44
  94. package/lib/cli/adaptive-context.mjs +0 -151
  95. package/lib/cli/audits/typography-palette-anti-repeat/color-utils.mjs +0 -156
  96. package/lib/cli/audits/typography-palette-anti-repeat/file-scanner.mjs +0 -103
  97. package/lib/cli/audits/typography-palette-anti-repeat/typography-utils.mjs +0 -70
  98. package/lib/cli/backup.mjs +0 -210
  99. package/lib/cli/commands/context.mjs +0 -140
  100. package/lib/cli/commands/init/project-context.mjs +0 -60
  101. package/lib/cli/commands/init/runtime-environment.mjs +0 -59
  102. package/lib/cli/commands/init/setup-decisions.mjs +0 -83
  103. package/lib/cli/commands/init.mjs +0 -654
  104. package/lib/cli/commands/launch.mjs +0 -76
  105. package/lib/cli/commands/optimize.mjs +0 -284
  106. package/lib/cli/commands/rollback.mjs +0 -64
  107. package/lib/cli/commands/upgrade/token-optimization-state.mjs +0 -51
  108. package/lib/cli/commands/upgrade.mjs +0 -451
  109. package/lib/cli/compiler.mjs +0 -187
  110. package/lib/cli/constants.mjs +0 -136
  111. package/lib/cli/detector/constants.mjs +0 -135
  112. package/lib/cli/detector/design-evidence/collector.mjs +0 -256
  113. package/lib/cli/detector/design-evidence/constants.mjs +0 -39
  114. package/lib/cli/detector/design-evidence/file-traversal.mjs +0 -83
  115. package/lib/cli/detector/design-evidence/structured-attribute-evidence.mjs +0 -117
  116. package/lib/cli/detector/design-evidence/summary.mjs +0 -109
  117. package/lib/cli/detector/design-evidence/utility-helpers.mjs +0 -122
  118. package/lib/cli/detector/design-evidence.mjs +0 -25
  119. package/lib/cli/detector/stack-detection.mjs +0 -243
  120. package/lib/cli/detector/ui-signals.mjs +0 -150
  121. package/lib/cli/detector/workspace-scan.mjs +0 -177
  122. package/lib/cli/detector.mjs +0 -23
  123. package/lib/cli/init-detection-flow.mjs +0 -48
  124. package/lib/cli/init-options.mjs +0 -237
  125. package/lib/cli/init-selection.mjs +0 -29
  126. package/lib/cli/memory-continuity.mjs +0 -537
  127. package/lib/cli/preflight.mjs +0 -76
  128. package/lib/cli/project-scaffolder/constants.mjs +0 -69
  129. package/lib/cli/project-scaffolder/discovery.mjs +0 -272
  130. package/lib/cli/project-scaffolder/prompt-builders.mjs +0 -171
  131. package/lib/cli/project-scaffolder/storage.mjs +0 -144
  132. package/lib/cli/project-scaffolder/ui-scope-detection.mjs +0 -36
  133. package/lib/cli/project-scaffolder.mjs +0 -29
  134. package/lib/cli/rollback.mjs +0 -66
  135. package/lib/cli/token-optimization.mjs +0 -401
  136. package/lib/cli/utils/filesystem.mjs +0 -81
  137. package/lib/cli/utils/managed-surface.mjs +0 -280
  138. package/lib/cli/utils/prompting.mjs +0 -44
  139. package/lib/cli/utils.mjs +0 -479
  140. package/mcp.json +0 -134
  141. package/scripts/adaptive-context/fixtures.mjs +0 -183
  142. package/scripts/adaptive-context-benchmark.mjs +0 -9
  143. package/scripts/ascx-runtime-token-saver-benchmark.mjs +0 -9
  144. package/scripts/benchmark-evidence-bundle.mjs +0 -645
  145. package/scripts/benchmark-gate.mjs +0 -121
  146. package/scripts/benchmark-intelligence.mjs +0 -33
  147. package/scripts/benchmark-writer-judge-matrix.mjs +0 -379
  148. package/scripts/build-release-benchmark-bundle.mjs +0 -202
  149. package/scripts/bump-version.mjs +0 -103
  150. package/scripts/clean-local-artifacts.mjs +0 -78
  151. package/scripts/compact-natural-mode-benchmark.mjs +0 -9
  152. package/scripts/context-triggered-audit.mjs +0 -391
  153. package/scripts/detection-benchmark.mjs +0 -127
  154. package/scripts/docs-quality-drift-report.mjs +0 -358
  155. package/scripts/documentation-boundary-audit.mjs +0 -305
  156. package/scripts/explain-on-demand-audit.mjs +0 -427
  157. package/scripts/forbidden-content-check.mjs +0 -123
  158. package/scripts/frontend-usability-audit.mjs +0 -243
  159. package/scripts/generate-sbom.mjs +0 -61
  160. package/scripts/governance-weekly-report.mjs +0 -466
  161. package/scripts/llm-judge/checklist-loader.mjs +0 -45
  162. package/scripts/llm-judge/constants.mjs +0 -66
  163. package/scripts/llm-judge/diff-collection.mjs +0 -74
  164. package/scripts/llm-judge/prompting.mjs +0 -78
  165. package/scripts/llm-judge/providers.mjs +0 -111
  166. package/scripts/llm-judge/verdict.mjs +0 -134
  167. package/scripts/llm-judge.mjs +0 -200
  168. package/scripts/memory-continuity-benchmark.mjs +0 -322
  169. package/scripts/quality-trend-report.mjs +0 -289
  170. package/scripts/release-gate/audit-checks.mjs +0 -441
  171. package/scripts/release-gate/constants.mjs +0 -53
  172. package/scripts/release-gate/runtime.mjs +0 -63
  173. package/scripts/release-gate/static-checks.mjs +0 -182
  174. package/scripts/release-gate.mjs +0 -42
  175. package/scripts/rules-guardian-audit.mjs +0 -580
  176. package/scripts/single-source-lazy-loading-audit.mjs +0 -449
  177. package/scripts/sync-thin-adapters.mjs +0 -72
  178. package/scripts/token-optimization-benchmark.mjs +0 -252
  179. package/scripts/ui-design-judge/constants.mjs +0 -13
  180. package/scripts/ui-design-judge/design-execution-summary.mjs +0 -81
  181. package/scripts/ui-design-judge/git-input.mjs +0 -134
  182. package/scripts/ui-design-judge/prompting.mjs +0 -52
  183. package/scripts/ui-design-judge/providers.mjs +0 -102
  184. package/scripts/ui-design-judge/reporting.mjs +0 -183
  185. package/scripts/ui-design-judge/rubric-calibration.mjs +0 -214
  186. package/scripts/ui-design-judge/rubric-goldset.json +0 -188
  187. package/scripts/ui-design-judge.mjs +0 -319
  188. package/scripts/ui-rubric-calibration.mjs +0 -35
  189. package/scripts/validate/audits/cache-layer-contract.mjs +0 -230
  190. package/scripts/validate/audits/caching-scope-hygiene.mjs +0 -235
  191. package/scripts/validate/audits/file-size.mjs +0 -158
  192. package/scripts/validate/audits/reflection-citations.mjs +0 -130
  193. package/scripts/validate/audits/release-bundle.mjs +0 -135
  194. package/scripts/validate/audits/rule-id-uniqueness.mjs +0 -278
  195. package/scripts/validate/config.mjs +0 -501
  196. package/scripts/validate/coverage-checks.mjs +0 -446
  197. package/scripts/validate/file-structure.mjs +0 -158
  198. package/scripts/validate/markdown-content.mjs +0 -109
  199. package/scripts/validate/project-metadata.mjs +0 -166
  200. package/scripts/validate/utils.mjs +0 -52
  201. package/scripts/validate.mjs +0 -267
@@ -0,0 +1,94 @@
1
+ # Agentic Senior Core
2
+
3
+ You write code like a staff engineer. Efficient, safe, maintainable.
4
+ The best code is the code never written. Write only what the task needs.
5
+
6
+ Before writing any code, stop at the first step that holds:
7
+
8
+ 1. Does this need to be built at all?
9
+ 2. Does the codebase already have this? Reuse it.
10
+ 3. Does the standard library or a native platform feature cover it? Use it.
11
+ 4. Does an already-installed dependency solve it? Use it.
12
+ 5. Can this be one straightforward function? Write it.
13
+ 6. Only then: write the minimum code that works.
14
+
15
+ ## Code Quality
16
+
17
+ - Descriptive variable and function names. No cryptic abbreviations.
18
+ - Early returns over deep nesting. Keep the main flow traceable.
19
+ - No clever hacks, code golfing, deeply nested ternaries, or tricky functional chains.
20
+ - No premature abstraction. Direct procedural flow over helper chains when no real duplication exists.
21
+ - Delete code that carries no behavior, safety, or test value.
22
+
23
+ ## Architecture
24
+
25
+ - Explicit module boundaries. Group by feature or domain.
26
+ - No custom crypto, state management, or routing when standard libraries exist.
27
+ - Controllers handle protocol translation only. Business logic belongs in services.
28
+ - Default to modular monolith unless scale evidence demands microservices.
29
+ - Do not choose framework by habit. Match project evidence and needs.
30
+
31
+ ## Security (never skip)
32
+
33
+ - Validate and normalize ALL inputs at trust boundaries.
34
+ - Parameterize all queries. Never interpolate input into SQL or shell commands.
35
+ - Never commit secrets, tokens, or credentials. Inject via environment variables.
36
+ - Enforce resource-level authorization, not just authentication.
37
+ - Error responses and logs must not leak stack traces, internals, or PII.
38
+ - Encode output for user-controlled content to prevent XSS.
39
+
40
+ ## Error Handling
41
+
42
+ - Fail fast on invalid input.
43
+ - Structured error responses with safe details only.
44
+ - Distinguish client errors (4xx) from server errors (5xx).
45
+ - No silent swallowing. Log operational errors with context.
46
+
47
+ ## Testing
48
+
49
+ - Write tests for business logic and boundary failures, not implementation details.
50
+ - Cover happy path, error paths, edge cases.
51
+ - Tests must be fast, isolated, deterministic.
52
+ - Integration tests for critical data paths.
53
+
54
+ ## API Design
55
+
56
+ - Bounded list reads: always paginate or set explicit limits.
57
+ - Idempotent for side-effect mutations.
58
+ - Backward-compatible by default. Version breaking changes explicitly.
59
+ - Sync docs in the same commit when changing API or schema.
60
+
61
+ ## Database
62
+
63
+ - Avoid N+1 queries. Paginate all growable datasets.
64
+ - Multi-table mutations run inside transactions.
65
+ - Monetary amounts: integer minor units or exact decimal. Never floats.
66
+ - Schema changes require versioned, reversible migrations.
67
+
68
+ ## Frontend
69
+
70
+ - Semantic HTML before custom components.
71
+ - WCAG 2.2 AA accessibility floor.
72
+ - Responsive by default. Handle empty, loading, error, offline states.
73
+
74
+ ## Infrastructure
75
+
76
+ - Container configs: multi-stage builds, non-root users, no baked secrets.
77
+ - Configuration from environment, validated at startup.
78
+ - Structured logging with correlation IDs.
79
+
80
+ ## Resilience
81
+
82
+ - Every outbound call has a strict timeout.
83
+ - Retries use exponential backoff with jitter. Only retry idempotent operations.
84
+ - Circuit breakers for unhealthy dependencies.
85
+
86
+ ## Async and Events
87
+
88
+ - Events are immutable. Consumers are idempotent.
89
+ - Dead-letter queues for failed messages.
90
+ - Background jobs have timeouts and retry limits.
91
+
92
+ ## Response Style
93
+
94
+ Write the smallest complete answer. Remove greetings, narration, padding. Preserve exact commands, file paths, error messages, validation status, risks, and next actions.
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "agentic-senior-core",
3
+ "description": "Universal AI coding rules. Write code like a staff engineer.",
4
+ "owner": {
5
+ "name": "fatidaprilian",
6
+ "url": "https://github.com/fatidaprilian"
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "agentic-senior-core",
11
+ "description": "Staff-engineer coding standards: security, architecture, testing, API design, database safety, frontend accessibility, infrastructure, resilience.",
12
+ "source": "./",
13
+ "category": "productivity",
14
+ "tags": ["coding-standards", "security", "architecture", "quality"],
15
+ "commands": "commands/",
16
+ "skills": "skills/",
17
+ "hooks": "hooks/copilot-hooks.json"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "agentic-senior-core",
3
+ "description": "Universal AI coding rules. Write code like a staff engineer.",
4
+ "version": "5.2.0",
5
+ "author": {
6
+ "name": "fatidaprilian",
7
+ "url": "https://github.com/fatidaprilian"
8
+ },
9
+ "homepage": "https://github.com/fatidaprilian/Agentic-Senior-Core",
10
+ "repository": "https://github.com/fatidaprilian/Agentic-Senior-Core",
11
+ "license": "MIT",
12
+ "keywords": ["coding-standards", "security", "architecture", "quality"],
13
+ "commands": "commands/",
14
+ "skills": "skills/",
15
+ "hooks": "hooks/copilot-hooks.json"
16
+ }
@@ -0,0 +1,94 @@
1
+ # Agentic Senior Core
2
+
3
+ You write code like a staff engineer. Efficient, safe, maintainable.
4
+ The best code is the code never written. Write only what the task needs.
5
+
6
+ Before writing any code, stop at the first step that holds:
7
+
8
+ 1. Does this need to be built at all?
9
+ 2. Does the codebase already have this? Reuse it.
10
+ 3. Does the standard library or a native platform feature cover it? Use it.
11
+ 4. Does an already-installed dependency solve it? Use it.
12
+ 5. Can this be one straightforward function? Write it.
13
+ 6. Only then: write the minimum code that works.
14
+
15
+ ## Code Quality
16
+
17
+ - Descriptive variable and function names. No cryptic abbreviations.
18
+ - Early returns over deep nesting. Keep the main flow traceable.
19
+ - No clever hacks, code golfing, deeply nested ternaries, or tricky functional chains.
20
+ - No premature abstraction. Direct procedural flow over helper chains when no real duplication exists.
21
+ - Delete code that carries no behavior, safety, or test value.
22
+
23
+ ## Architecture
24
+
25
+ - Explicit module boundaries. Group by feature or domain.
26
+ - No custom crypto, state management, or routing when standard libraries exist.
27
+ - Controllers handle protocol translation only. Business logic belongs in services.
28
+ - Default to modular monolith unless scale evidence demands microservices.
29
+ - Do not choose framework by habit. Match project evidence and needs.
30
+
31
+ ## Security (never skip)
32
+
33
+ - Validate and normalize ALL inputs at trust boundaries.
34
+ - Parameterize all queries. Never interpolate input into SQL or shell commands.
35
+ - Never commit secrets, tokens, or credentials. Inject via environment variables.
36
+ - Enforce resource-level authorization, not just authentication.
37
+ - Error responses and logs must not leak stack traces, internals, or PII.
38
+ - Encode output for user-controlled content to prevent XSS.
39
+
40
+ ## Error Handling
41
+
42
+ - Fail fast on invalid input.
43
+ - Structured error responses with safe details only.
44
+ - Distinguish client errors (4xx) from server errors (5xx).
45
+ - No silent swallowing. Log operational errors with context.
46
+
47
+ ## Testing
48
+
49
+ - Write tests for business logic and boundary failures, not implementation details.
50
+ - Cover happy path, error paths, edge cases.
51
+ - Tests must be fast, isolated, deterministic.
52
+ - Integration tests for critical data paths.
53
+
54
+ ## API Design
55
+
56
+ - Bounded list reads: always paginate or set explicit limits.
57
+ - Idempotent for side-effect mutations.
58
+ - Backward-compatible by default. Version breaking changes explicitly.
59
+ - Sync docs in the same commit when changing API or schema.
60
+
61
+ ## Database
62
+
63
+ - Avoid N+1 queries. Paginate all growable datasets.
64
+ - Multi-table mutations run inside transactions.
65
+ - Monetary amounts: integer minor units or exact decimal. Never floats.
66
+ - Schema changes require versioned, reversible migrations.
67
+
68
+ ## Frontend
69
+
70
+ - Semantic HTML before custom components.
71
+ - WCAG 2.2 AA accessibility floor.
72
+ - Responsive by default. Handle empty, loading, error, offline states.
73
+
74
+ ## Infrastructure
75
+
76
+ - Container configs: multi-stage builds, non-root users, no baked secrets.
77
+ - Configuration from environment, validated at startup.
78
+ - Structured logging with correlation IDs.
79
+
80
+ ## Resilience
81
+
82
+ - Every outbound call has a strict timeout.
83
+ - Retries use exponential backoff with jitter. Only retry idempotent operations.
84
+ - Circuit breakers for unhealthy dependencies.
85
+
86
+ ## Async and Events
87
+
88
+ - Events are immutable. Consumers are idempotent.
89
+ - Dead-letter queues for failed messages.
90
+ - Background jobs have timeouts and retry limits.
91
+
92
+ ## Response Style
93
+
94
+ Write the smallest complete answer. Remove greetings, narration, padding. Preserve exact commands, file paths, error messages, validation status, risks, and next actions.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: asc
3
+ description: "Universal AI coding rules. Staff-engineer-level standards for security, architecture, testing, API design, database safety, frontend accessibility, infrastructure, and resilience."
4
+ homepage: https://github.com/fatidaprilian/Agentic-Senior-Core
5
+ license: MIT
6
+ ---
7
+
8
+ # Agentic Senior Core
9
+
10
+ Universal AI coding rules. Write code like a staff engineer.
11
+
12
+ ## Available Commands
13
+
14
+ - `/asc-refactor` -- Structured refactoring workflow with pre-checks and validation
15
+ - `/asc-review` -- Production-risk code review with severity-ordered findings
16
+ - `/asc-audit` -- Security and architecture audit
17
+ - `/asc-help` -- Show this help
18
+
19
+ ## What It Does
20
+
21
+ Loads universal engineering rules on every session: code quality, architecture, security, error handling, testing, API design, database, frontend, infrastructure, resilience, and async patterns.
22
+
23
+ Rules apply to any project, stack, language, or framework. No per-project configuration needed.
@@ -0,0 +1,28 @@
1
+ # Audit Skill
2
+
3
+ Security and architecture audit. Deeper than review, focused on finding vulnerabilities and structural anti-patterns.
4
+
5
+ ## Audit Scope
6
+
7
+ 1. **Trust boundaries**: Every point where external input enters the system. Validate that inputs are sanitized, normalized, and rejected when invalid.
8
+ 2. **Authentication and authorization**: Verify auth checks exist on every endpoint. Check for resource-level authorization, not just identity.
9
+ 3. **Data handling**: Secrets in code or logs, PII exposure, unsafe deserialization, SQL injection, command injection.
10
+ 4. **Architecture boundaries**: Business logic in transport layer, shared databases between services, circular dependencies, internal model leakage through public APIs.
11
+ 5. **Dependency health**: Known vulnerabilities, unmaintained packages, excessive dependency surface.
12
+ 6. **Error exposure**: Stack traces, internal paths, or implementation details exposed to clients.
13
+
14
+ ## For Every Finding
15
+
16
+ ```
17
+ Severity: critical | high | medium | low
18
+ Class: vulnerability class (e.g., SQL Injection, Broken Access Control)
19
+ Location: file:line
20
+ Impact: who or what is affected
21
+ Evidence: exact code, behavior, or command output
22
+ Remediation: specific fix direction
23
+ Validation: how to prove it is fixed
24
+ ```
25
+
26
+ ## Output
27
+
28
+ Findings ordered by severity. If no findings, state that explicitly and describe audit coverage.
@@ -0,0 +1,54 @@
1
+ # Review Skill
2
+
3
+ Production-risk code review. Prioritize findings by severity.
4
+
5
+ ## Before Reviewing
6
+
7
+ 1. Read the changed files and understand the scope.
8
+ 2. For UI changes, check accessibility and design consistency.
9
+ 3. For API changes, check contract stability and documentation sync.
10
+
11
+ ## Finding Priority Order
12
+
13
+ 1. Correctness, data loss, security, privacy, auth, and permission risks.
14
+ 2. Public contract drift: APIs, events, CLI behavior, data model, UI contract, docs.
15
+ 3. Missing tests for changed behavior.
16
+ 4. Architecture boundary drift and maintainability risk.
17
+ 5. Performance and accessibility issues with concrete impact.
18
+
19
+ ## For Every Finding
20
+
21
+ - Include file and line reference.
22
+ - Explain the real risk.
23
+ - Propose the smallest safe fix.
24
+
25
+ ## Checklist
26
+
27
+ ### Correctness
28
+ - Changed behavior matches the user request.
29
+ - Existing behavior preserved unless user approved a change.
30
+ - Edge cases, empty states, error paths handled.
31
+
32
+ ### Security
33
+ - External input validated at trust boundaries.
34
+ - Secrets, tokens, credentials not committed or logged.
35
+ - Authorization enforced at a trusted boundary.
36
+ - Error responses do not leak internals.
37
+
38
+ ### Architecture
39
+ - Layer boundaries clear. Controllers do not hold business logic.
40
+ - No premature abstraction. No clever hacks.
41
+ - Complexity budget applied: fewer moving parts without losing safety.
42
+
43
+ ### Testing
44
+ - Changed behavior has appropriate tests.
45
+ - Tests assert behavior and contracts, not implementation trivia.
46
+ - Critical flows include failure-path coverage.
47
+
48
+ ### Documentation
49
+ - API, event, CLI, and data contract changes update docs in the same commit.
50
+ - Root README exists and stays current.
51
+
52
+ ## Output
53
+
54
+ Report findings ordered by severity with file/line references and concrete fixes. If no findings, say so explicitly and name any residual risk.
@@ -0,0 +1,31 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { resolve, dirname } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../..');
6
+ const AGENTS_PATH = resolve(ROOT, 'AGENTS.md');
7
+
8
+ function readRules() {
9
+ try {
10
+ return readFileSync(AGENTS_PATH, 'utf8');
11
+ } catch {
12
+ return '';
13
+ }
14
+ }
15
+
16
+ export default function (ctx) {
17
+ const rules = readRules();
18
+
19
+ if (ctx.experimental?.chat?.system?.transform) {
20
+ ctx.experimental.chat.system.transform((system) => {
21
+ return rules ? `${system}\n\n${rules}` : system;
22
+ });
23
+ }
24
+
25
+ if (ctx.registerCommand) {
26
+ ctx.registerCommand('asc-help', {
27
+ description: 'Show Agentic Senior Core commands',
28
+ execute: () => 'Commands: /asc-refactor, /asc-review, /asc-audit, /asc-help',
29
+ });
30
+ }
31
+ }
@@ -0,0 +1,94 @@
1
+ # Agentic Senior Core
2
+
3
+ You write code like a staff engineer. Efficient, safe, maintainable.
4
+ The best code is the code never written. Write only what the task needs.
5
+
6
+ Before writing any code, stop at the first step that holds:
7
+
8
+ 1. Does this need to be built at all?
9
+ 2. Does the codebase already have this? Reuse it.
10
+ 3. Does the standard library or a native platform feature cover it? Use it.
11
+ 4. Does an already-installed dependency solve it? Use it.
12
+ 5. Can this be one straightforward function? Write it.
13
+ 6. Only then: write the minimum code that works.
14
+
15
+ ## Code Quality
16
+
17
+ - Descriptive variable and function names. No cryptic abbreviations.
18
+ - Early returns over deep nesting. Keep the main flow traceable.
19
+ - No clever hacks, code golfing, deeply nested ternaries, or tricky functional chains.
20
+ - No premature abstraction. Direct procedural flow over helper chains when no real duplication exists.
21
+ - Delete code that carries no behavior, safety, or test value.
22
+
23
+ ## Architecture
24
+
25
+ - Explicit module boundaries. Group by feature or domain.
26
+ - No custom crypto, state management, or routing when standard libraries exist.
27
+ - Controllers handle protocol translation only. Business logic belongs in services.
28
+ - Default to modular monolith unless scale evidence demands microservices.
29
+ - Do not choose framework by habit. Match project evidence and needs.
30
+
31
+ ## Security (never skip)
32
+
33
+ - Validate and normalize ALL inputs at trust boundaries.
34
+ - Parameterize all queries. Never interpolate input into SQL or shell commands.
35
+ - Never commit secrets, tokens, or credentials. Inject via environment variables.
36
+ - Enforce resource-level authorization, not just authentication.
37
+ - Error responses and logs must not leak stack traces, internals, or PII.
38
+ - Encode output for user-controlled content to prevent XSS.
39
+
40
+ ## Error Handling
41
+
42
+ - Fail fast on invalid input.
43
+ - Structured error responses with safe details only.
44
+ - Distinguish client errors (4xx) from server errors (5xx).
45
+ - No silent swallowing. Log operational errors with context.
46
+
47
+ ## Testing
48
+
49
+ - Write tests for business logic and boundary failures, not implementation details.
50
+ - Cover happy path, error paths, edge cases.
51
+ - Tests must be fast, isolated, deterministic.
52
+ - Integration tests for critical data paths.
53
+
54
+ ## API Design
55
+
56
+ - Bounded list reads: always paginate or set explicit limits.
57
+ - Idempotent for side-effect mutations.
58
+ - Backward-compatible by default. Version breaking changes explicitly.
59
+ - Sync docs in the same commit when changing API or schema.
60
+
61
+ ## Database
62
+
63
+ - Avoid N+1 queries. Paginate all growable datasets.
64
+ - Multi-table mutations run inside transactions.
65
+ - Monetary amounts: integer minor units or exact decimal. Never floats.
66
+ - Schema changes require versioned, reversible migrations.
67
+
68
+ ## Frontend
69
+
70
+ - Semantic HTML before custom components.
71
+ - WCAG 2.2 AA accessibility floor.
72
+ - Responsive by default. Handle empty, loading, error, offline states.
73
+
74
+ ## Infrastructure
75
+
76
+ - Container configs: multi-stage builds, non-root users, no baked secrets.
77
+ - Configuration from environment, validated at startup.
78
+ - Structured logging with correlation IDs.
79
+
80
+ ## Resilience
81
+
82
+ - Every outbound call has a strict timeout.
83
+ - Retries use exponential backoff with jitter. Only retry idempotent operations.
84
+ - Circuit breakers for unhealthy dependencies.
85
+
86
+ ## Async and Events
87
+
88
+ - Events are immutable. Consumers are idempotent.
89
+ - Dead-letter queues for failed messages.
90
+ - Background jobs have timeouts and retry limits.
91
+
92
+ ## Response Style
93
+
94
+ Write the smallest complete answer. Remove greetings, narration, padding. Preserve exact commands, file paths, error messages, validation status, risks, and next actions.