@actrun_ai/tastekit-core 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/compiler/compiler.d.ts +24 -0
- package/dist/compiler/compiler.d.ts.map +1 -0
- package/dist/compiler/compiler.js +153 -0
- package/dist/compiler/compiler.js.map +1 -0
- package/dist/compiler/constitution-compiler.d.ts +11 -0
- package/dist/compiler/constitution-compiler.d.ts.map +1 -0
- package/dist/compiler/constitution-compiler.js +154 -0
- package/dist/compiler/constitution-compiler.js.map +1 -0
- package/dist/compiler/derivation.d.ts +125 -0
- package/dist/compiler/derivation.d.ts.map +1 -0
- package/dist/compiler/derivation.js +109 -0
- package/dist/compiler/derivation.js.map +1 -0
- package/dist/compiler/guardrails-compiler.d.ts +11 -0
- package/dist/compiler/guardrails-compiler.d.ts.map +1 -0
- package/dist/compiler/guardrails-compiler.js +362 -0
- package/dist/compiler/guardrails-compiler.js.map +1 -0
- package/dist/compiler/index.d.ts +13 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +13 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/memory-compiler.d.ts +12 -0
- package/dist/compiler/memory-compiler.d.ts.map +1 -0
- package/dist/compiler/memory-compiler.js +293 -0
- package/dist/compiler/memory-compiler.js.map +1 -0
- package/dist/compiler/playbook-compiler.d.ts +15 -0
- package/dist/compiler/playbook-compiler.d.ts.map +1 -0
- package/dist/compiler/playbook-compiler.js +1143 -0
- package/dist/compiler/playbook-compiler.js.map +1 -0
- package/dist/compiler/skills-compiler.d.ts +15 -0
- package/dist/compiler/skills-compiler.d.ts.map +1 -0
- package/dist/compiler/skills-compiler.js +203 -0
- package/dist/compiler/skills-compiler.js.map +1 -0
- package/dist/domains/development-agent/domain.d.ts +8 -0
- package/dist/domains/development-agent/domain.d.ts.map +1 -0
- package/dist/domains/development-agent/domain.js +35 -0
- package/dist/domains/development-agent/domain.js.map +1 -0
- package/dist/domains/development-agent/index.d.ts +3 -0
- package/dist/domains/development-agent/index.d.ts.map +1 -0
- package/dist/domains/development-agent/index.js +3 -0
- package/dist/domains/development-agent/index.js.map +1 -0
- package/dist/domains/development-agent/rubric.d.ts +13 -0
- package/dist/domains/development-agent/rubric.d.ts.map +1 -0
- package/dist/domains/development-agent/rubric.js +451 -0
- package/dist/domains/development-agent/rubric.js.map +1 -0
- package/dist/domains/development-agent/skills/code-review.d.ts +25 -0
- package/dist/domains/development-agent/skills/code-review.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/code-review.js +146 -0
- package/dist/domains/development-agent/skills/code-review.js.map +1 -0
- package/dist/domains/development-agent/skills/debugging-issues.d.ts +25 -0
- package/dist/domains/development-agent/skills/debugging-issues.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/debugging-issues.js +155 -0
- package/dist/domains/development-agent/skills/debugging-issues.js.map +1 -0
- package/dist/domains/development-agent/skills/documenting-code.d.ts +19 -0
- package/dist/domains/development-agent/skills/documenting-code.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/documenting-code.js +92 -0
- package/dist/domains/development-agent/skills/documenting-code.js.map +1 -0
- package/dist/domains/development-agent/skills/index.d.ts +55 -0
- package/dist/domains/development-agent/skills/index.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/index.js +19 -0
- package/dist/domains/development-agent/skills/index.js.map +1 -0
- package/dist/domains/development-agent/skills/refactor-plan.d.ts +19 -0
- package/dist/domains/development-agent/skills/refactor-plan.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/refactor-plan.js +117 -0
- package/dist/domains/development-agent/skills/refactor-plan.js.map +1 -0
- package/dist/domains/development-agent/skills/writing-tests.d.ts +20 -0
- package/dist/domains/development-agent/skills/writing-tests.d.ts.map +1 -0
- package/dist/domains/development-agent/skills/writing-tests.js +93 -0
- package/dist/domains/development-agent/skills/writing-tests.js.map +1 -0
- package/dist/domains/general-agent/domain.d.ts +9 -0
- package/dist/domains/general-agent/domain.d.ts.map +1 -0
- package/dist/domains/general-agent/domain.js +36 -0
- package/dist/domains/general-agent/domain.js.map +1 -0
- package/dist/domains/general-agent/index.d.ts +4 -0
- package/dist/domains/general-agent/index.d.ts.map +1 -0
- package/dist/domains/general-agent/index.js +4 -0
- package/dist/domains/general-agent/index.js.map +1 -0
- package/dist/domains/general-agent/rubric.d.ts +8 -0
- package/dist/domains/general-agent/rubric.d.ts.map +1 -0
- package/dist/domains/general-agent/rubric.js +332 -0
- package/dist/domains/general-agent/rubric.js.map +1 -0
- package/dist/domains/general-agent/skills/context-synthesis.d.ts +19 -0
- package/dist/domains/general-agent/skills/context-synthesis.d.ts.map +1 -0
- package/dist/domains/general-agent/skills/context-synthesis.js +94 -0
- package/dist/domains/general-agent/skills/context-synthesis.js.map +1 -0
- package/dist/domains/general-agent/skills/index.d.ts +32 -0
- package/dist/domains/general-agent/skills/index.d.ts.map +1 -0
- package/dist/domains/general-agent/skills/index.js +11 -0
- package/dist/domains/general-agent/skills/index.js.map +1 -0
- package/dist/domains/general-agent/skills/task-orchestration.d.ts +19 -0
- package/dist/domains/general-agent/skills/task-orchestration.d.ts.map +1 -0
- package/dist/domains/general-agent/skills/task-orchestration.js +101 -0
- package/dist/domains/general-agent/skills/task-orchestration.js.map +1 -0
- package/dist/domains/index.d.ts +21 -0
- package/dist/domains/index.d.ts.map +1 -0
- package/dist/domains/index.js +37 -0
- package/dist/domains/index.js.map +1 -0
- package/dist/domains/types.d.ts +22 -0
- package/dist/domains/types.d.ts.map +1 -0
- package/dist/domains/types.js +2 -0
- package/dist/domains/types.js.map +1 -0
- package/dist/drift/consolidator.d.ts +47 -0
- package/dist/drift/consolidator.d.ts.map +1 -0
- package/dist/drift/consolidator.js +116 -0
- package/dist/drift/consolidator.js.map +1 -0
- package/dist/drift/detector.d.ts +79 -0
- package/dist/drift/detector.d.ts.map +1 -0
- package/dist/drift/detector.js +424 -0
- package/dist/drift/detector.js.map +1 -0
- package/dist/drift/index.d.ts +9 -0
- package/dist/drift/index.d.ts.map +1 -0
- package/dist/drift/index.js +9 -0
- package/dist/drift/index.js.map +1 -0
- package/dist/drift/proposal.d.ts +108 -0
- package/dist/drift/proposal.d.ts.map +1 -0
- package/dist/drift/proposal.js +2 -0
- package/dist/drift/proposal.js.map +1 -0
- package/dist/eval/index.d.ts +9 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js +9 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/eval/judge.d.ts +33 -0
- package/dist/eval/judge.d.ts.map +1 -0
- package/dist/eval/judge.js +209 -0
- package/dist/eval/judge.js.map +1 -0
- package/dist/eval/replay.d.ts +23 -0
- package/dist/eval/replay.d.ts.map +1 -0
- package/dist/eval/replay.js +42 -0
- package/dist/eval/replay.js.map +1 -0
- package/dist/eval/runner.d.ts +35 -0
- package/dist/eval/runner.d.ts.map +1 -0
- package/dist/eval/runner.js +52 -0
- package/dist/eval/runner.js.map +1 -0
- package/dist/generators/agents-md-generator.d.ts +9 -0
- package/dist/generators/agents-md-generator.d.ts.map +1 -0
- package/dist/generators/agents-md-generator.js +71 -0
- package/dist/generators/agents-md-generator.js.map +1 -0
- package/dist/generators/blocks/domain-context.d.ts +7 -0
- package/dist/generators/blocks/domain-context.d.ts.map +1 -0
- package/dist/generators/blocks/domain-context.js +26 -0
- package/dist/generators/blocks/domain-context.js.map +1 -0
- package/dist/generators/blocks/drift-awareness.d.ts +6 -0
- package/dist/generators/blocks/drift-awareness.d.ts.map +1 -0
- package/dist/generators/blocks/drift-awareness.js +28 -0
- package/dist/generators/blocks/drift-awareness.js.map +1 -0
- package/dist/generators/blocks/evaluation-criteria.d.ts +7 -0
- package/dist/generators/blocks/evaluation-criteria.d.ts.map +1 -0
- package/dist/generators/blocks/evaluation-criteria.js +18 -0
- package/dist/generators/blocks/evaluation-criteria.js.map +1 -0
- package/dist/generators/blocks/guardrails.d.ts +6 -0
- package/dist/generators/blocks/guardrails.d.ts.map +1 -0
- package/dist/generators/blocks/guardrails.js +44 -0
- package/dist/generators/blocks/guardrails.js.map +1 -0
- package/dist/generators/blocks/identity.d.ts +6 -0
- package/dist/generators/blocks/identity.d.ts.map +1 -0
- package/dist/generators/blocks/identity.js +36 -0
- package/dist/generators/blocks/identity.js.map +1 -0
- package/dist/generators/blocks/memory-policy.d.ts +6 -0
- package/dist/generators/blocks/memory-policy.d.ts.map +1 -0
- package/dist/generators/blocks/memory-policy.js +34 -0
- package/dist/generators/blocks/memory-policy.js.map +1 -0
- package/dist/generators/blocks/playbook-index.d.ts +7 -0
- package/dist/generators/blocks/playbook-index.d.ts.map +1 -0
- package/dist/generators/blocks/playbook-index.js +14 -0
- package/dist/generators/blocks/playbook-index.js.map +1 -0
- package/dist/generators/blocks/session-rhythm.d.ts +6 -0
- package/dist/generators/blocks/session-rhythm.d.ts.map +1 -0
- package/dist/generators/blocks/session-rhythm.js +11 -0
- package/dist/generators/blocks/session-rhythm.js.map +1 -0
- package/dist/generators/blocks/skills-index.d.ts +6 -0
- package/dist/generators/blocks/skills-index.d.ts.map +1 -0
- package/dist/generators/blocks/skills-index.js +36 -0
- package/dist/generators/blocks/skills-index.js.map +1 -0
- package/dist/generators/blocks/tool-usage.d.ts +6 -0
- package/dist/generators/blocks/tool-usage.d.ts.map +1 -0
- package/dist/generators/blocks/tool-usage.js +31 -0
- package/dist/generators/blocks/tool-usage.js.map +1 -0
- package/dist/generators/blocks/vocabulary.d.ts +7 -0
- package/dist/generators/blocks/vocabulary.d.ts.map +1 -0
- package/dist/generators/blocks/vocabulary.js +27 -0
- package/dist/generators/blocks/vocabulary.js.map +1 -0
- package/dist/generators/claude-hooks-compat.d.ts +33 -0
- package/dist/generators/claude-hooks-compat.d.ts.map +1 -0
- package/dist/generators/claude-hooks-compat.js +322 -0
- package/dist/generators/claude-hooks-compat.js.map +1 -0
- package/dist/generators/claude-md-generator.d.ts +12 -0
- package/dist/generators/claude-md-generator.d.ts.map +1 -0
- package/dist/generators/claude-md-generator.js +60 -0
- package/dist/generators/claude-md-generator.js.map +1 -0
- package/dist/generators/index.d.ts +11 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +11 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/soul-md-generator.d.ts +9 -0
- package/dist/generators/soul-md-generator.d.ts.map +1 -0
- package/dist/generators/soul-md-generator.js +104 -0
- package/dist/generators/soul-md-generator.js.map +1 -0
- package/dist/generators/types.d.ts +55 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +7 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/interview/index.d.ts +11 -0
- package/dist/interview/index.d.ts.map +1 -0
- package/dist/interview/index.js +11 -0
- package/dist/interview/index.js.map +1 -0
- package/dist/interview/interviewer.d.ts +94 -0
- package/dist/interview/interviewer.d.ts.map +1 -0
- package/dist/interview/interviewer.js +516 -0
- package/dist/interview/interviewer.js.map +1 -0
- package/dist/interview/questions.d.ts +15 -0
- package/dist/interview/questions.d.ts.map +1 -0
- package/dist/interview/questions.js +86 -0
- package/dist/interview/questions.js.map +1 -0
- package/dist/interview/rubric.d.ts +265 -0
- package/dist/interview/rubric.d.ts.map +1 -0
- package/dist/interview/rubric.js +74 -0
- package/dist/interview/rubric.js.map +1 -0
- package/dist/interview/session.d.ts +9 -0
- package/dist/interview/session.d.ts.map +1 -0
- package/dist/interview/session.js +33 -0
- package/dist/interview/session.js.map +1 -0
- package/dist/interview/universal-rubric.d.ts +11 -0
- package/dist/interview/universal-rubric.d.ts.map +1 -0
- package/dist/interview/universal-rubric.js +165 -0
- package/dist/interview/universal-rubric.js.map +1 -0
- package/dist/llm/index.d.ts +8 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +8 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/provider.d.ts +62 -0
- package/dist/llm/provider.d.ts.map +1 -0
- package/dist/llm/provider.js +24 -0
- package/dist/llm/provider.js.map +1 -0
- package/dist/llm/providers/anthropic.d.ts +18 -0
- package/dist/llm/providers/anthropic.d.ts.map +1 -0
- package/dist/llm/providers/anthropic.js +56 -0
- package/dist/llm/providers/anthropic.js.map +1 -0
- package/dist/llm/providers/ollama.d.ts +17 -0
- package/dist/llm/providers/ollama.d.ts.map +1 -0
- package/dist/llm/providers/ollama.js +45 -0
- package/dist/llm/providers/ollama.js.map +1 -0
- package/dist/llm/providers/openai.d.ts +19 -0
- package/dist/llm/providers/openai.d.ts.map +1 -0
- package/dist/llm/providers/openai.js +52 -0
- package/dist/llm/providers/openai.js.map +1 -0
- package/dist/llm/resolve.d.ts +11 -0
- package/dist/llm/resolve.d.ts.map +1 -0
- package/dist/llm/resolve.js +56 -0
- package/dist/llm/resolve.js.map +1 -0
- package/dist/mcp/binder.d.ts +28 -0
- package/dist/mcp/binder.d.ts.map +1 -0
- package/dist/mcp/binder.js +87 -0
- package/dist/mcp/binder.js.map +1 -0
- package/dist/mcp/client.d.ts +99 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +196 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/index.d.ts +9 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +9 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/inspector.d.ts +29 -0
- package/dist/mcp/inspector.d.ts.map +1 -0
- package/dist/mcp/inspector.js +44 -0
- package/dist/mcp/inspector.js.map +1 -0
- package/dist/schemas/bindings.d.ts +248 -0
- package/dist/schemas/bindings.d.ts.map +1 -0
- package/dist/schemas/bindings.js +34 -0
- package/dist/schemas/bindings.js.map +1 -0
- package/dist/schemas/constitution.d.ts +229 -0
- package/dist/schemas/constitution.d.ts.map +1 -0
- package/dist/schemas/constitution.js +47 -0
- package/dist/schemas/constitution.js.map +1 -0
- package/dist/schemas/evalpack.d.ts +322 -0
- package/dist/schemas/evalpack.d.ts.map +1 -0
- package/dist/schemas/evalpack.js +43 -0
- package/dist/schemas/evalpack.js.map +1 -0
- package/dist/schemas/guardrails.d.ts +171 -0
- package/dist/schemas/guardrails.d.ts.map +1 -0
- package/dist/schemas/guardrails.js +35 -0
- package/dist/schemas/guardrails.js.map +1 -0
- package/dist/schemas/index.d.ts +18 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +18 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/memory.d.ts +277 -0
- package/dist/schemas/memory.d.ts.map +1 -0
- package/dist/schemas/memory.js +42 -0
- package/dist/schemas/memory.js.map +1 -0
- package/dist/schemas/playbook.d.ts +270 -0
- package/dist/schemas/playbook.d.ts.map +1 -0
- package/dist/schemas/playbook.js +52 -0
- package/dist/schemas/playbook.js.map +1 -0
- package/dist/schemas/skills.d.ts +320 -0
- package/dist/schemas/skills.d.ts.map +1 -0
- package/dist/schemas/skills.js +84 -0
- package/dist/schemas/skills.js.map +1 -0
- package/dist/schemas/trace.d.ts +126 -0
- package/dist/schemas/trace.d.ts.map +1 -0
- package/dist/schemas/trace.js +70 -0
- package/dist/schemas/trace.js.map +1 -0
- package/dist/schemas/trust.d.ts +142 -0
- package/dist/schemas/trust.d.ts.map +1 -0
- package/dist/schemas/trust.js +30 -0
- package/dist/schemas/trust.js.map +1 -0
- package/dist/schemas/validators.d.ts +26 -0
- package/dist/schemas/validators.d.ts.map +1 -0
- package/dist/schemas/validators.js +79 -0
- package/dist/schemas/validators.js.map +1 -0
- package/dist/schemas/workspace.d.ts +725 -0
- package/dist/schemas/workspace.d.ts.map +1 -0
- package/dist/schemas/workspace.js +119 -0
- package/dist/schemas/workspace.js.map +1 -0
- package/dist/skills/constraints.d.ts +19 -0
- package/dist/skills/constraints.d.ts.map +1 -0
- package/dist/skills/constraints.js +91 -0
- package/dist/skills/constraints.js.map +1 -0
- package/dist/skills/generator.d.ts +13 -0
- package/dist/skills/generator.d.ts.map +1 -0
- package/dist/skills/generator.js +126 -0
- package/dist/skills/generator.js.map +1 -0
- package/dist/skills/graph.d.ts +42 -0
- package/dist/skills/graph.d.ts.map +1 -0
- package/dist/skills/graph.js +217 -0
- package/dist/skills/graph.js.map +1 -0
- package/dist/skills/index.d.ts +13 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +13 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/linter.d.ts +22 -0
- package/dist/skills/linter.d.ts.map +1 -0
- package/dist/skills/linter.js +201 -0
- package/dist/skills/linter.js.map +1 -0
- package/dist/skills/packer.d.ts +27 -0
- package/dist/skills/packer.d.ts.map +1 -0
- package/dist/skills/packer.js +72 -0
- package/dist/skills/packer.js.map +1 -0
- package/dist/skills/tracker.d.ts +27 -0
- package/dist/skills/tracker.d.ts.map +1 -0
- package/dist/skills/tracker.js +131 -0
- package/dist/skills/tracker.js.map +1 -0
- package/dist/skills/versioner.d.ts +19 -0
- package/dist/skills/versioner.d.ts.map +1 -0
- package/dist/skills/versioner.js +76 -0
- package/dist/skills/versioner.js.map +1 -0
- package/dist/tracing/index.d.ts +8 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +8 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/reader.d.ts +18 -0
- package/dist/tracing/reader.d.ts.map +1 -0
- package/dist/tracing/reader.js +34 -0
- package/dist/tracing/reader.js.map +1 -0
- package/dist/tracing/tracer.d.ts +22 -0
- package/dist/tracing/tracer.d.ts.map +1 -0
- package/dist/tracing/tracer.js +105 -0
- package/dist/tracing/tracer.js.map +1 -0
- package/dist/trust/auditor.d.ts +35 -0
- package/dist/trust/auditor.d.ts.map +1 -0
- package/dist/trust/auditor.js +78 -0
- package/dist/trust/auditor.js.map +1 -0
- package/dist/trust/index.d.ts +8 -0
- package/dist/trust/index.d.ts.map +1 -0
- package/dist/trust/index.js +8 -0
- package/dist/trust/index.js.map +1 -0
- package/dist/trust/manager.d.ts +18 -0
- package/dist/trust/manager.d.ts.map +1 -0
- package/dist/trust/manager.js +60 -0
- package/dist/trust/manager.js.map +1 -0
- package/dist/utils/filesystem.d.ts +15 -0
- package/dist/utils/filesystem.d.ts.map +1 -0
- package/dist/utils/filesystem.js +53 -0
- package/dist/utils/filesystem.js.map +1 -0
- package/dist/utils/hash.d.ts +7 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +15 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/yaml.d.ts +6 -0
- package/dist/utils/yaml.d.ts.map +1 -0
- package/dist/utils/yaml.js +14 -0
- package/dist/utils/yaml.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Development Agent Domain Rubric (Hybrid)
|
|
3
|
+
*
|
|
4
|
+
* Quick tier: Values-First (deep developer identity)
|
|
5
|
+
* Guided adds: Outcome-Centric (practical, what the agent produces)
|
|
6
|
+
* Operator adds: Workflow-Centric (deep process dives)
|
|
7
|
+
*
|
|
8
|
+
* Combined with 7 universal dimensions, this gives:
|
|
9
|
+
* quick=9, guided=20, operator=28
|
|
10
|
+
*/
|
|
11
|
+
export const DevelopmentAgentRubric = {
|
|
12
|
+
domain_id: 'development-agent',
|
|
13
|
+
version: '0.5.0',
|
|
14
|
+
interview_goal: 'Understand the developer\'s engineering philosophy, code quality standards, workflow preferences, and collaboration style to configure an agent that writes code the way they would.',
|
|
15
|
+
includes_universal: true,
|
|
16
|
+
dimensions: [
|
|
17
|
+
// === QUICK TIER: Values-First (5 dimensions) ===
|
|
18
|
+
{
|
|
19
|
+
id: 'engineering_identity',
|
|
20
|
+
name: 'Engineering Identity',
|
|
21
|
+
description: 'How they see themselves as a developer. Craftsperson, pragmatist, scientist, artist? What kind of engineer are they?',
|
|
22
|
+
maps_to: ['principles'],
|
|
23
|
+
depth_tiers: ['quick', 'guided', 'operator'],
|
|
24
|
+
priority: 'critical',
|
|
25
|
+
question_budget: { min: 1, max: 2 },
|
|
26
|
+
exploration_hints: [
|
|
27
|
+
'Ask how they would describe their engineering style in a sentence',
|
|
28
|
+
'Probe for role models or engineering philosophies they admire',
|
|
29
|
+
'Listen for self-identification: are they a systems thinker, product engineer, infrastructure person?',
|
|
30
|
+
'Understand whether they prioritize shipping or craftsmanship',
|
|
31
|
+
],
|
|
32
|
+
coverage_criteria: [
|
|
33
|
+
'Engineering identity/archetype captured',
|
|
34
|
+
'Primary motivation understood (shipping, quality, learning, impact)',
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: 'core_technical_values',
|
|
39
|
+
name: 'Core Technical Values',
|
|
40
|
+
description: 'Their 3-5 non-negotiable technical values. Simplicity, correctness, velocity, readability, performance, security — what matters most?',
|
|
41
|
+
maps_to: ['principles'],
|
|
42
|
+
depth_tiers: ['quick', 'guided', 'operator'],
|
|
43
|
+
priority: 'critical',
|
|
44
|
+
question_budget: { min: 1, max: 2 },
|
|
45
|
+
exploration_hints: [
|
|
46
|
+
'Ask what their top 3 non-negotiable values are when writing code',
|
|
47
|
+
'Challenge with tradeoff scenarios: "if you had to choose between readable and fast?"',
|
|
48
|
+
'Ask what annoys them most in a codebase',
|
|
49
|
+
'Listen for implicit values in their complaints and preferences',
|
|
50
|
+
],
|
|
51
|
+
coverage_criteria: [
|
|
52
|
+
'At least 3 core values identified',
|
|
53
|
+
'Priority ordering established',
|
|
54
|
+
'At least one tradeoff position expressed',
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 'collaboration_style',
|
|
59
|
+
name: 'Collaboration Style',
|
|
60
|
+
description: 'How they work with other developers and how the agent should fit into that. Code review expectations, pair programming mindset.',
|
|
61
|
+
maps_to: ['principles', 'tone'],
|
|
62
|
+
depth_tiers: ['quick', 'guided', 'operator'],
|
|
63
|
+
priority: 'important',
|
|
64
|
+
question_budget: { min: 0, max: 1 },
|
|
65
|
+
exploration_hints: [
|
|
66
|
+
'Ask if they think of the agent as a pair programmer, junior dev, or tool',
|
|
67
|
+
'Probe for code review preferences: what do they look for?',
|
|
68
|
+
'Understand async vs. sync collaboration preferences',
|
|
69
|
+
'At operator depth: how should the agent handle disagreements?',
|
|
70
|
+
],
|
|
71
|
+
coverage_criteria: [
|
|
72
|
+
'Agent relationship model established (peer, assistant, tool)',
|
|
73
|
+
'Code review expectations expressed',
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
id: 'learning_philosophy',
|
|
78
|
+
name: 'Learning & Growth Philosophy',
|
|
79
|
+
description: 'How they approach new technology, learning from mistakes, and experimentation in codebases.',
|
|
80
|
+
maps_to: ['tradeoffs', 'principles'],
|
|
81
|
+
depth_tiers: ['quick', 'guided', 'operator'],
|
|
82
|
+
priority: 'important',
|
|
83
|
+
question_budget: { min: 0, max: 1 },
|
|
84
|
+
exploration_hints: [
|
|
85
|
+
'Ask about their stance on new vs. battle-tested technology',
|
|
86
|
+
'Probe for how they learn best: docs, examples, trial and error?',
|
|
87
|
+
'Understand experimentation tolerance in production codebases',
|
|
88
|
+
],
|
|
89
|
+
coverage_criteria: [
|
|
90
|
+
'Innovation vs. stability position captured',
|
|
91
|
+
'Learning style understood',
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: 'failure_tolerance',
|
|
96
|
+
name: 'Failure & Mistake Philosophy',
|
|
97
|
+
description: 'How they think about bugs, mistakes, and learning from failures. Perfectionist or "fail fast"?',
|
|
98
|
+
maps_to: ['tradeoffs', 'principles'],
|
|
99
|
+
depth_tiers: ['quick', 'guided', 'operator'],
|
|
100
|
+
priority: 'important',
|
|
101
|
+
question_budget: { min: 0, max: 1 },
|
|
102
|
+
exploration_hints: [
|
|
103
|
+
'Ask what they do when they find a bug they introduced',
|
|
104
|
+
'Probe their stance on "move fast and break things" vs. careful shipping',
|
|
105
|
+
'Understand how they want the agent to handle its own mistakes',
|
|
106
|
+
],
|
|
107
|
+
coverage_criteria: [
|
|
108
|
+
'Error tolerance level captured',
|
|
109
|
+
'Agent mistake handling expectation set',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
// === GUIDED TIER adds: Outcome-Centric (11 dimensions) ===
|
|
113
|
+
{
|
|
114
|
+
id: 'code_quality_bar',
|
|
115
|
+
name: 'Code Quality Bar',
|
|
116
|
+
description: 'What "good code" means to them. Readable? Performant? Minimal? Well-tested? DRY? Pragmatic duplication?',
|
|
117
|
+
maps_to: ['principles'],
|
|
118
|
+
depth_tiers: ['guided', 'operator'],
|
|
119
|
+
priority: 'critical',
|
|
120
|
+
question_budget: { min: 1, max: 2 },
|
|
121
|
+
exploration_hints: [
|
|
122
|
+
'Ask what they notice first when reading someone else\'s code',
|
|
123
|
+
'Probe their DRY stance: is duplication sometimes acceptable?',
|
|
124
|
+
'Ask for their definition of "production-ready" code',
|
|
125
|
+
'Understand testing expectations as part of quality',
|
|
126
|
+
],
|
|
127
|
+
coverage_criteria: [
|
|
128
|
+
'Quality definition captured',
|
|
129
|
+
'Testing expectations as part of quality expressed',
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
id: 'output_format_preferences',
|
|
134
|
+
name: 'Output Format Preferences',
|
|
135
|
+
description: 'How they want the agent to present code. Full files? Diffs? Explanations alongside? Comments in code?',
|
|
136
|
+
maps_to: ['tone', 'domain_specific'],
|
|
137
|
+
depth_tiers: ['guided', 'operator'],
|
|
138
|
+
priority: 'important',
|
|
139
|
+
question_budget: { min: 0, max: 1 },
|
|
140
|
+
exploration_hints: [
|
|
141
|
+
'Ask if they prefer full file output or targeted diffs',
|
|
142
|
+
'Probe for explanation expectations: inline comments? separate section?',
|
|
143
|
+
'Understand verbosity preference: minimal changes or thorough context?',
|
|
144
|
+
],
|
|
145
|
+
coverage_criteria: [
|
|
146
|
+
'Output format preference expressed',
|
|
147
|
+
'Explanation style captured',
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
id: 'naming_conventions',
|
|
152
|
+
name: 'Naming Conventions',
|
|
153
|
+
description: 'Variable, function, file, and module naming philosophy. Case style, descriptiveness, abbreviation tolerance.',
|
|
154
|
+
maps_to: ['tone', 'domain_specific'],
|
|
155
|
+
depth_tiers: ['guided', 'operator'],
|
|
156
|
+
priority: 'important',
|
|
157
|
+
question_budget: { min: 0, max: 1 },
|
|
158
|
+
exploration_hints: [
|
|
159
|
+
'Ask about naming style: verbose descriptive or terse?',
|
|
160
|
+
'Probe for abbreviation tolerance',
|
|
161
|
+
'Ask about file naming: kebab-case? camelCase?',
|
|
162
|
+
'Understand naming-specific pet peeves',
|
|
163
|
+
],
|
|
164
|
+
coverage_criteria: [
|
|
165
|
+
'Naming style preference captured',
|
|
166
|
+
'At least one specific convention mentioned',
|
|
167
|
+
],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
id: 'code_structure_preferences',
|
|
171
|
+
name: 'Code Structure & Organization',
|
|
172
|
+
description: 'Module organization, file size limits, separation of concerns, directory structure opinions.',
|
|
173
|
+
maps_to: ['principles', 'domain_specific'],
|
|
174
|
+
depth_tiers: ['guided', 'operator'],
|
|
175
|
+
priority: 'important',
|
|
176
|
+
question_budget: { min: 0, max: 1 },
|
|
177
|
+
exploration_hints: [
|
|
178
|
+
'Ask about preferred file organization patterns',
|
|
179
|
+
'Probe for file size preferences: when is a file too big?',
|
|
180
|
+
'Understand separation of concerns philosophy',
|
|
181
|
+
'Ask about single responsibility at the module level',
|
|
182
|
+
],
|
|
183
|
+
coverage_criteria: [
|
|
184
|
+
'Organization philosophy captured',
|
|
185
|
+
'File size/complexity threshold expressed',
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
id: 'testing_output_expectations',
|
|
190
|
+
name: 'Testing Philosophy & Output',
|
|
191
|
+
description: 'Test naming, assertion style, what to test vs. skip, TDD vs. test-after, unit vs. integration focus.',
|
|
192
|
+
maps_to: ['principles', 'domain_specific'],
|
|
193
|
+
depth_tiers: ['guided', 'operator'],
|
|
194
|
+
priority: 'critical',
|
|
195
|
+
question_budget: { min: 1, max: 2 },
|
|
196
|
+
exploration_hints: [
|
|
197
|
+
'Ask about TDD vs. test-after preference',
|
|
198
|
+
'Probe for unit vs. integration vs. e2e balance',
|
|
199
|
+
'Ask about test naming conventions',
|
|
200
|
+
'Understand coverage expectations: percentage or coverage of critical paths?',
|
|
201
|
+
],
|
|
202
|
+
coverage_criteria: [
|
|
203
|
+
'Testing approach captured (TDD vs. test-after)',
|
|
204
|
+
'Coverage expectations expressed',
|
|
205
|
+
],
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
id: 'commit_message_format',
|
|
209
|
+
name: 'Commit Message Format',
|
|
210
|
+
description: 'Conventional commits, detail level, scope expectations, squash vs. granular commits.',
|
|
211
|
+
maps_to: ['tone', 'domain_specific'],
|
|
212
|
+
depth_tiers: ['guided', 'operator'],
|
|
213
|
+
priority: 'nice-to-have',
|
|
214
|
+
question_budget: { min: 0, max: 1 },
|
|
215
|
+
exploration_hints: [
|
|
216
|
+
'Ask about commit message format (conventional commits, free-form, etc.)',
|
|
217
|
+
'Probe for commit granularity: atomic or batched?',
|
|
218
|
+
'Understand squash-on-merge vs. clean history preferences',
|
|
219
|
+
],
|
|
220
|
+
coverage_criteria: [
|
|
221
|
+
'Commit format preference captured',
|
|
222
|
+
'Granularity preference expressed',
|
|
223
|
+
],
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
id: 'pr_description_quality',
|
|
227
|
+
name: 'PR Description Quality',
|
|
228
|
+
description: 'What a good PR description includes. Summary style, test plan, screenshots, linked issues.',
|
|
229
|
+
maps_to: ['tone', 'domain_specific'],
|
|
230
|
+
depth_tiers: ['guided', 'operator'],
|
|
231
|
+
priority: 'nice-to-have',
|
|
232
|
+
question_budget: { min: 0, max: 1 },
|
|
233
|
+
exploration_hints: [
|
|
234
|
+
'Ask what they always want to see in a PR description',
|
|
235
|
+
'Probe for template usage',
|
|
236
|
+
'Understand review expectations for the agent\'s PRs',
|
|
237
|
+
],
|
|
238
|
+
coverage_criteria: [
|
|
239
|
+
'PR description expectations captured',
|
|
240
|
+
],
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
id: 'documentation_voice',
|
|
244
|
+
name: 'Documentation Voice',
|
|
245
|
+
description: 'Technical writing style, audience assumptions, when docs are needed, inline vs. external documentation.',
|
|
246
|
+
maps_to: ['tone', 'domain_specific'],
|
|
247
|
+
depth_tiers: ['guided', 'operator'],
|
|
248
|
+
priority: 'important',
|
|
249
|
+
question_budget: { min: 0, max: 1 },
|
|
250
|
+
exploration_hints: [
|
|
251
|
+
'Ask when they think documentation is necessary vs. overkill',
|
|
252
|
+
'Probe for inline comment philosophy: minimal or thorough?',
|
|
253
|
+
'Understand README expectations',
|
|
254
|
+
],
|
|
255
|
+
coverage_criteria: [
|
|
256
|
+
'Documentation philosophy captured',
|
|
257
|
+
'Comment style preference expressed',
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
id: 'error_message_philosophy',
|
|
262
|
+
name: 'Error Message Philosophy',
|
|
263
|
+
description: 'User-facing vs. developer error messages. Actionable errors, error handling patterns.',
|
|
264
|
+
maps_to: ['principles', 'domain_specific'],
|
|
265
|
+
depth_tiers: ['guided', 'operator'],
|
|
266
|
+
priority: 'important',
|
|
267
|
+
question_budget: { min: 0, max: 1 },
|
|
268
|
+
exploration_hints: [
|
|
269
|
+
'Ask about their error handling philosophy: defensive or fail-fast?',
|
|
270
|
+
'Probe for error message quality expectations',
|
|
271
|
+
'Understand logging verbosity preferences',
|
|
272
|
+
],
|
|
273
|
+
coverage_criteria: [
|
|
274
|
+
'Error handling philosophy captured',
|
|
275
|
+
],
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
id: 'logging_approach',
|
|
279
|
+
name: 'Logging & Observability',
|
|
280
|
+
description: 'What to log, log levels, structured logging opinions, debugging approach.',
|
|
281
|
+
maps_to: ['domain_specific'],
|
|
282
|
+
depth_tiers: ['guided', 'operator'],
|
|
283
|
+
priority: 'important',
|
|
284
|
+
question_budget: { min: 0, max: 1 },
|
|
285
|
+
exploration_hints: [
|
|
286
|
+
'Ask about logging philosophy: when is a log line warranted?',
|
|
287
|
+
'Probe for structured logging opinions',
|
|
288
|
+
'Understand debugging approach: printf, debugger, or both?',
|
|
289
|
+
],
|
|
290
|
+
coverage_criteria: [
|
|
291
|
+
'Logging philosophy captured',
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
id: 'type_safety_stance',
|
|
296
|
+
name: 'Type Safety Stance',
|
|
297
|
+
description: 'Strict typing preferences, use of any/unknown, generics philosophy, type inference reliance.',
|
|
298
|
+
maps_to: ['principles', 'domain_specific'],
|
|
299
|
+
depth_tiers: ['guided', 'operator'],
|
|
300
|
+
priority: 'important',
|
|
301
|
+
question_budget: { min: 0, max: 1 },
|
|
302
|
+
exploration_hints: [
|
|
303
|
+
'Ask about strict mode, any vs. unknown, generics usage',
|
|
304
|
+
'Probe for type inference tolerance vs. explicit annotations',
|
|
305
|
+
'Understand opinions on type-driven development',
|
|
306
|
+
],
|
|
307
|
+
coverage_criteria: [
|
|
308
|
+
'Type safety preference captured',
|
|
309
|
+
],
|
|
310
|
+
},
|
|
311
|
+
// === OPERATOR TIER adds: Workflow-Centric (8 dimensions) ===
|
|
312
|
+
{
|
|
313
|
+
id: 'ci_cd_philosophy',
|
|
314
|
+
name: 'CI/CD Philosophy',
|
|
315
|
+
description: 'Pipeline expectations, deployment safety, rollback approach, branch protection opinions.',
|
|
316
|
+
maps_to: ['domain_specific', 'tradeoffs'],
|
|
317
|
+
depth_tiers: ['operator'],
|
|
318
|
+
priority: 'important',
|
|
319
|
+
question_budget: { min: 0, max: 1 },
|
|
320
|
+
exploration_hints: [
|
|
321
|
+
'Ask about deployment frequency and safety nets',
|
|
322
|
+
'Probe for rollback strategy',
|
|
323
|
+
'Understand branch protection and merge requirements',
|
|
324
|
+
],
|
|
325
|
+
coverage_criteria: [
|
|
326
|
+
'Deployment philosophy captured',
|
|
327
|
+
'Safety requirements expressed',
|
|
328
|
+
],
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
id: 'incident_response',
|
|
332
|
+
name: 'Incident Response',
|
|
333
|
+
description: 'How the agent should behave during outages or critical bugs. Urgency, communication, rollback authority.',
|
|
334
|
+
maps_to: ['taboos', 'domain_specific'],
|
|
335
|
+
depth_tiers: ['operator'],
|
|
336
|
+
priority: 'important',
|
|
337
|
+
question_budget: { min: 0, max: 1 },
|
|
338
|
+
exploration_hints: [
|
|
339
|
+
'Ask how the agent should handle production issues',
|
|
340
|
+
'Probe for escalation procedures',
|
|
341
|
+
'Understand hotfix vs. proper-fix tradeoff tolerance',
|
|
342
|
+
],
|
|
343
|
+
coverage_criteria: [
|
|
344
|
+
'Incident handling expectations set',
|
|
345
|
+
],
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
id: 'api_design_principles',
|
|
349
|
+
name: 'API Design Principles',
|
|
350
|
+
description: 'REST vs. GraphQL, versioning, error format, endpoint naming, backward compatibility opinions.',
|
|
351
|
+
maps_to: ['principles', 'domain_specific'],
|
|
352
|
+
depth_tiers: ['operator'],
|
|
353
|
+
priority: 'important',
|
|
354
|
+
question_budget: { min: 0, max: 1 },
|
|
355
|
+
exploration_hints: [
|
|
356
|
+
'Ask about API design opinions',
|
|
357
|
+
'Probe for backward compatibility stance',
|
|
358
|
+
'Understand error response format preferences',
|
|
359
|
+
],
|
|
360
|
+
coverage_criteria: [
|
|
361
|
+
'API design preferences captured',
|
|
362
|
+
],
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
id: 'technical_debt_management',
|
|
366
|
+
name: 'Technical Debt Management',
|
|
367
|
+
description: 'When to take on debt, when to pay it down, tracking approach, refactoring cadence.',
|
|
368
|
+
maps_to: ['tradeoffs', 'principles'],
|
|
369
|
+
depth_tiers: ['operator'],
|
|
370
|
+
priority: 'important',
|
|
371
|
+
question_budget: { min: 0, max: 1 },
|
|
372
|
+
exploration_hints: [
|
|
373
|
+
'Ask about their relationship with technical debt',
|
|
374
|
+
'Probe for refactoring triggers and boundaries',
|
|
375
|
+
'Understand boy scout rule adherence',
|
|
376
|
+
],
|
|
377
|
+
coverage_criteria: [
|
|
378
|
+
'Tech debt philosophy captured',
|
|
379
|
+
],
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
id: 'legacy_code_approach',
|
|
383
|
+
name: 'Legacy Code Approach',
|
|
384
|
+
description: 'How to handle legacy code. Migration strategies, strangler fig, big-bang rewrite opinions.',
|
|
385
|
+
maps_to: ['principles', 'domain_specific'],
|
|
386
|
+
depth_tiers: ['operator'],
|
|
387
|
+
priority: 'important',
|
|
388
|
+
question_budget: { min: 0, max: 1 },
|
|
389
|
+
exploration_hints: [
|
|
390
|
+
'Ask about their approach to working with legacy codebases',
|
|
391
|
+
'Probe for migration strategy preferences',
|
|
392
|
+
'Understand tolerance for "leave it as-is" vs. "improve as you go"',
|
|
393
|
+
],
|
|
394
|
+
coverage_criteria: [
|
|
395
|
+
'Legacy code approach captured',
|
|
396
|
+
],
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
id: 'mentoring_voice',
|
|
400
|
+
name: 'Mentoring & Teaching Voice',
|
|
401
|
+
description: 'If the agent is helping less experienced developers, what teaching style to use. Patient, Socratic, direct?',
|
|
402
|
+
maps_to: ['tone', 'principles'],
|
|
403
|
+
depth_tiers: ['operator'],
|
|
404
|
+
priority: 'nice-to-have',
|
|
405
|
+
question_budget: { min: 0, max: 1 },
|
|
406
|
+
exploration_hints: [
|
|
407
|
+
'Ask how they mentor junior developers',
|
|
408
|
+
'Probe for teaching philosophy: explain why or just show how?',
|
|
409
|
+
'Understand when the agent should be pedagogical vs. efficient',
|
|
410
|
+
],
|
|
411
|
+
coverage_criteria: [
|
|
412
|
+
'Teaching/mentoring style captured',
|
|
413
|
+
],
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
id: 'open_source_etiquette',
|
|
417
|
+
name: 'Open Source Etiquette',
|
|
418
|
+
description: 'Contributing to open source, license awareness, community interaction style.',
|
|
419
|
+
maps_to: ['principles', 'domain_specific'],
|
|
420
|
+
depth_tiers: ['operator'],
|
|
421
|
+
priority: 'nice-to-have',
|
|
422
|
+
question_budget: { min: 0, max: 1 },
|
|
423
|
+
exploration_hints: [
|
|
424
|
+
'Ask about open source contribution experience',
|
|
425
|
+
'Probe for license awareness and preference',
|
|
426
|
+
'Understand community engagement expectations',
|
|
427
|
+
],
|
|
428
|
+
coverage_criteria: [
|
|
429
|
+
'Open source stance captured',
|
|
430
|
+
],
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
id: 'tech_stack_opinions',
|
|
434
|
+
name: 'Tech Stack Opinions',
|
|
435
|
+
description: 'Strong opinions about frameworks, libraries, patterns. What they love, hate, and refuse to use.',
|
|
436
|
+
maps_to: ['domain_specific', 'principles'],
|
|
437
|
+
depth_tiers: ['operator'],
|
|
438
|
+
priority: 'important',
|
|
439
|
+
question_budget: { min: 0, max: 1 },
|
|
440
|
+
exploration_hints: [
|
|
441
|
+
'Ask about frameworks and libraries they love and hate',
|
|
442
|
+
'Probe for design pattern opinions',
|
|
443
|
+
'Understand "never use" list for technologies',
|
|
444
|
+
],
|
|
445
|
+
coverage_criteria: [
|
|
446
|
+
'Key tech stack opinions captured',
|
|
447
|
+
],
|
|
448
|
+
},
|
|
449
|
+
],
|
|
450
|
+
};
|
|
451
|
+
//# sourceMappingURL=rubric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubric.js","sourceRoot":"","sources":["../../../domains/development-agent/rubric.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Review Skill
|
|
3
|
+
*
|
|
4
|
+
* Analyze code against user's engineering principles and standards.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CodeReviewSkill: {
|
|
7
|
+
skill_id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
tags: string[];
|
|
11
|
+
risk_level: "low";
|
|
12
|
+
required_tools: string[];
|
|
13
|
+
compatible_runtimes: string[];
|
|
14
|
+
feeds_into: string[];
|
|
15
|
+
pipeline_phase: string;
|
|
16
|
+
context_model: "inherit";
|
|
17
|
+
skill_md_content: string;
|
|
18
|
+
bundled_files: {
|
|
19
|
+
path: string;
|
|
20
|
+
description: string;
|
|
21
|
+
load_when: string;
|
|
22
|
+
content: string;
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=code-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-review.d.ts","sourceRoot":"","sources":["../../../../domains/development-agent/skills/code-review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CA8I3B,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Review Skill
|
|
3
|
+
*
|
|
4
|
+
* Analyze code against user's engineering principles and standards.
|
|
5
|
+
*/
|
|
6
|
+
export const CodeReviewSkill = {
|
|
7
|
+
skill_id: 'code-review',
|
|
8
|
+
name: 'Code Review',
|
|
9
|
+
description: 'Reviews code for quality, standards compliance, and alignment with engineering principles. Use when reviewing pull requests, auditing code changes, doing pre-commit review, or when the user asks to check or review code.',
|
|
10
|
+
tags: ['development', 'code-review', 'quality'],
|
|
11
|
+
risk_level: 'low',
|
|
12
|
+
required_tools: ['file-system'],
|
|
13
|
+
compatible_runtimes: ['claude-code', 'openclaw', 'manus'],
|
|
14
|
+
feeds_into: ['refactor-plan'],
|
|
15
|
+
pipeline_phase: 'verify',
|
|
16
|
+
context_model: 'inherit',
|
|
17
|
+
skill_md_content: `# Code Review
|
|
18
|
+
|
|
19
|
+
## Purpose
|
|
20
|
+
|
|
21
|
+
Review code changes for quality, standards compliance, and alignment with the user's engineering principles. Produce actionable feedback.
|
|
22
|
+
|
|
23
|
+
## When to use
|
|
24
|
+
|
|
25
|
+
- Reviewing pull requests or code changes
|
|
26
|
+
- Auditing code quality against team standards
|
|
27
|
+
- Pre-commit review of own changes
|
|
28
|
+
- Onboarding review of unfamiliar codebases
|
|
29
|
+
|
|
30
|
+
## When NOT to use
|
|
31
|
+
|
|
32
|
+
- For automated linting (use linter tools directly)
|
|
33
|
+
- For performance benchmarking (use profiling tools)
|
|
34
|
+
- When the user wants code written, not reviewed (use refactor-plan instead)
|
|
35
|
+
|
|
36
|
+
## Inputs
|
|
37
|
+
|
|
38
|
+
- **target**: File paths, diff, or PR reference to review
|
|
39
|
+
- **focus**: Review focus areas (optional: security, performance, readability, architecture)
|
|
40
|
+
- **depth**: Review depth (quick, standard, thorough)
|
|
41
|
+
|
|
42
|
+
## Outputs
|
|
43
|
+
|
|
44
|
+
- **findings**: Structured review findings with:
|
|
45
|
+
- **summary**: Overall assessment
|
|
46
|
+
- **issues**: List of issues found, with severity (critical, warning, suggestion)
|
|
47
|
+
- **principle_alignment**: How the code aligns with user's engineering principles
|
|
48
|
+
- **positive_notes**: Things done well (important for balanced feedback)
|
|
49
|
+
|
|
50
|
+
## Procedure
|
|
51
|
+
|
|
52
|
+
### Step 1: Understand context
|
|
53
|
+
|
|
54
|
+
- Read the code changes and surrounding context
|
|
55
|
+
- Identify the purpose of the changes
|
|
56
|
+
- Check which engineering principles are most relevant
|
|
57
|
+
|
|
58
|
+
### Step 2: Review against principles
|
|
59
|
+
|
|
60
|
+
For each user principle that applies:
|
|
61
|
+
- Check if the code follows the principle
|
|
62
|
+
- Note violations with specific line references
|
|
63
|
+
- Note positive alignment
|
|
64
|
+
|
|
65
|
+
### Step 3: Check for common issues
|
|
66
|
+
|
|
67
|
+
- Security vulnerabilities (injection, auth, data exposure)
|
|
68
|
+
- Error handling gaps
|
|
69
|
+
- Edge cases not covered
|
|
70
|
+
- Naming and readability
|
|
71
|
+
- Test coverage gaps
|
|
72
|
+
|
|
73
|
+
### Step 4: Assess architecture
|
|
74
|
+
|
|
75
|
+
- Does the change fit the existing architecture?
|
|
76
|
+
- Are there unnecessary dependencies introduced?
|
|
77
|
+
- Is the abstraction level appropriate?
|
|
78
|
+
|
|
79
|
+
### Step 5: Format feedback
|
|
80
|
+
|
|
81
|
+
Structure findings by severity. Lead with the most important issues. Include positive notes.
|
|
82
|
+
|
|
83
|
+
## Quality checks
|
|
84
|
+
|
|
85
|
+
- [ ] All changed files reviewed
|
|
86
|
+
- [ ] Feedback references specific lines/sections
|
|
87
|
+
- [ ] Issues categorized by severity
|
|
88
|
+
- [ ] Positive aspects noted alongside issues
|
|
89
|
+
- [ ] Feedback aligns with user's engineering principles
|
|
90
|
+
- [ ] Suggestions are actionable
|
|
91
|
+
|
|
92
|
+
## Guardrail notes
|
|
93
|
+
|
|
94
|
+
Low risk — read-only analysis. No approval needed.
|
|
95
|
+
|
|
96
|
+
`,
|
|
97
|
+
bundled_files: [
|
|
98
|
+
{
|
|
99
|
+
path: 'references/REFERENCE.md',
|
|
100
|
+
description: 'Security checklist, architecture patterns, and severity classification guide',
|
|
101
|
+
load_when: 'Reviewing for security, assessing architecture, or classifying issue severity',
|
|
102
|
+
content: `# Code Review Reference
|
|
103
|
+
|
|
104
|
+
## Security Vulnerability Checklist
|
|
105
|
+
|
|
106
|
+
Check for these categories in order of severity:
|
|
107
|
+
|
|
108
|
+
### Critical
|
|
109
|
+
- **Injection**: SQL injection, command injection, XSS, template injection
|
|
110
|
+
- **Authentication bypass**: Missing auth checks, broken session management
|
|
111
|
+
- **Data exposure**: Secrets in code, PII in logs, unencrypted sensitive data
|
|
112
|
+
- **Privilege escalation**: Missing authorization checks on sensitive operations
|
|
113
|
+
|
|
114
|
+
### High
|
|
115
|
+
- **CSRF**: Missing CSRF tokens on state-changing endpoints
|
|
116
|
+
- **Path traversal**: Unsanitized file paths from user input
|
|
117
|
+
- **Insecure deserialization**: Parsing untrusted data without validation
|
|
118
|
+
- **Race conditions**: TOCTOU bugs, non-atomic check-then-act patterns
|
|
119
|
+
|
|
120
|
+
### Medium
|
|
121
|
+
- **Information disclosure**: Verbose error messages, stack traces in production
|
|
122
|
+
- **Missing rate limiting**: Endpoints vulnerable to brute force
|
|
123
|
+
- **Weak cryptography**: MD5/SHA1 for security, hardcoded keys
|
|
124
|
+
|
|
125
|
+
## Severity Classification Guide
|
|
126
|
+
|
|
127
|
+
| Severity | Criteria | Action |
|
|
128
|
+
|----------|----------|--------|
|
|
129
|
+
| **Critical** | Security vulnerability, data loss, crash in production | Must fix before merge |
|
|
130
|
+
| **Warning** | Logic error, missing edge case, performance issue | Should fix, can negotiate |
|
|
131
|
+
| **Suggestion** | Style, readability, alternative approach | Nice to have, author decides |
|
|
132
|
+
|
|
133
|
+
## Architecture Assessment
|
|
134
|
+
|
|
135
|
+
When reviewing architectural changes, check:
|
|
136
|
+
|
|
137
|
+
1. **Dependency direction**: Do dependencies point inward (clean architecture)?
|
|
138
|
+
2. **Abstraction level**: Is the new code at the right level of abstraction?
|
|
139
|
+
3. **Single responsibility**: Does each module/class have one reason to change?
|
|
140
|
+
4. **Interface boundaries**: Are public APIs minimal and well-defined?
|
|
141
|
+
5. **Testability**: Can the new code be tested in isolation?
|
|
142
|
+
`,
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=code-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-review.js","sourceRoot":"","sources":["../../../../domains/development-agent/skills/code-review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,6NAA6N;IAC1O,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC;IAC/C,UAAU,EAAE,KAAc;IAC1B,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,mBAAmB,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC;IACzD,UAAU,EAAE,CAAC,eAAe,CAAC;IAC7B,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,SAAkB;IAEjC,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EnB;IAGC,aAAa,EAAE;QACb;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,8EAA8E;YAC3F,SAAS,EAAE,+EAA+E;YAC1F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd;SACI;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debugging Issues Skill
|
|
3
|
+
*
|
|
4
|
+
* Systematic debugging with root cause investigation.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DebuggingIssuesSkill: {
|
|
7
|
+
skill_id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
tags: string[];
|
|
11
|
+
risk_level: "low";
|
|
12
|
+
required_tools: string[];
|
|
13
|
+
compatible_runtimes: string[];
|
|
14
|
+
feeds_into: string[];
|
|
15
|
+
pipeline_phase: string;
|
|
16
|
+
context_model: "inherit";
|
|
17
|
+
skill_md_content: string;
|
|
18
|
+
bundled_files: {
|
|
19
|
+
path: string;
|
|
20
|
+
description: string;
|
|
21
|
+
load_when: string;
|
|
22
|
+
content: string;
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=debugging-issues.d.ts.map
|