devrites 7.1.2 → 7.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.
- package/CHANGELOG.md +6 -0
- package/README.md +9 -4
- package/docs/dsh.md +46 -0
- package/engine/internal/devritespaths/paths.go +2 -0
- package/engine/internal/hostpack/hostpack.go +29 -5
- package/engine/internal/install/apply.go +14 -2
- package/engine/internal/install/install.go +7 -3
- package/engine/internal/install/merge.go +1 -0
- package/engine/internal/install/preflight.go +9 -2
- package/engine/internal/install/update.go +1 -1
- package/engine/internal/lib/dispatch_packet.go +1 -1
- package/pack/generated/README.md +3 -1
- package/pack/generated/dsh/AGENTS.md +20 -0
- package/pack/generated/dsh/agents/devrites-code-reviewer.md +180 -0
- package/pack/generated/dsh/agents/devrites-devex-reviewer.md +137 -0
- package/pack/generated/dsh/agents/devrites-doubt-reviewer.md +100 -0
- package/pack/generated/dsh/agents/devrites-evidence-scout.md +93 -0
- package/pack/generated/dsh/agents/devrites-frontend-reviewer.md +139 -0
- package/pack/generated/dsh/agents/devrites-performance-reviewer.md +142 -0
- package/pack/generated/dsh/agents/devrites-plan-drafter.md +113 -0
- package/pack/generated/dsh/agents/devrites-plan-reviewer.md +167 -0
- package/pack/generated/dsh/agents/devrites-proof-runner.md +101 -0
- package/pack/generated/dsh/agents/devrites-retrospector.md +82 -0
- package/pack/generated/dsh/agents/devrites-security-auditor.md +146 -0
- package/pack/generated/dsh/agents/devrites-simplifier-reviewer.md +113 -0
- package/pack/generated/dsh/agents/devrites-slice-wright.md +240 -0
- package/pack/generated/dsh/agents/devrites-spec-reviewer.md +105 -0
- package/pack/generated/dsh/agents/devrites-strategy-reviewer.md +109 -0
- package/pack/generated/dsh/agents/devrites-test-analyst.md +110 -0
- package/pack/generated/dsh/agents/devrites-upgrade-planner.md +107 -0
- package/pack/generated/dsh/agents/fast-builder.md +92 -0
- package/pack/generated/dsh/agents/fast-checker.md +61 -0
- package/pack/generated/dsh/agents/fast-critic.md +71 -0
- package/pack/generated/dsh/agents/fast-planner.md +95 -0
- package/pack/generated/dsh/agents/overhaul-backend-engineer.md +70 -0
- package/pack/generated/dsh/agents/overhaul-boundary.md +64 -0
- package/pack/generated/dsh/agents/overhaul-craft.md +85 -0
- package/pack/generated/dsh/agents/overhaul-frontend-engineer.md +73 -0
- package/pack/generated/dsh/agents/overhaul-implementer.md +72 -0
- package/pack/generated/dsh/agents/overhaul-recon.md +77 -0
- package/pack/generated/dsh/agents/overhaul-specialist.md +67 -0
- package/pack/generated/dsh/agents/overhaul-verifier.md +73 -0
- package/pack/generated/dsh/runtime/cordis.patch.yml +1450 -0
- package/pack/generated/dsh/runtime/specialist.mjs +62 -0
- package/pack/generated/dsh/skills/devrites-api-interface/SKILL.md +65 -0
- package/pack/generated/dsh/skills/devrites-audit/SKILL.md +60 -0
- package/pack/generated/dsh/skills/devrites-browser-proof/SKILL.md +109 -0
- package/pack/generated/dsh/skills/devrites-browser-proof/reference/browser-performance.md +19 -0
- package/pack/generated/dsh/skills/devrites-browser-proof/reference/visual-verdict.md +38 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/SKILL.md +119 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/build-the-loop.md +58 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/cleanup-and-classify.md +41 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/hypotheses.md +23 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/instrumentation.md +21 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/regression-test.md +33 -0
- package/pack/generated/dsh/skills/devrites-debug-recovery/reference/trace.md +25 -0
- package/pack/generated/dsh/skills/devrites-doubt/SKILL.md +83 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/SKILL.md +89 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/craft.md +63 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/design-references.md +120 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/fullstack.md +46 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/quality-standards.md +286 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/reuse-first.md +53 -0
- package/pack/generated/dsh/skills/devrites-frontend-craft/reference/shape.md +61 -0
- package/pack/generated/dsh/skills/devrites-interview/SKILL.md +107 -0
- package/pack/generated/dsh/skills/devrites-lib/SKILL.md +98 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/candidate-integrity.md +59 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/intent-map.md +86 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/orchestration-profiles.md +48 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/parallel-dispatch.md +184 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/reply-contract.md +123 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/README.md +70 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/acceptance-preserving-reslice.md +32 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/afk-hitl.md +467 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/agents.md +231 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/anti-patterns.md +50 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/architecture-health.md +64 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/assumption-checkpoints.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/audit-coverage.md +107 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/browser-proof-checklist.md +37 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/ci-cd.md +62 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-index.md +111 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-navigation.md +69 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/code-review.md +178 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/coding-style.md +53 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/context-hygiene.md +136 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/core.md +202 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/data-integrity.md +144 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/debug-recovery.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/definition-of-done.md +25 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/deprecation.md +49 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/developer-experience.md +128 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/development-workflow.md +31 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/documentation.md +55 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/duplicate-code.md +129 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/edge-case-trace.md +94 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/elicitation.md +114 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/error-handling.md +49 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/gates.md +159 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/git-workflow.md +51 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/glossary.md +40 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/hooks.md +41 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/integration-reliability.md +121 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/loop-operations.md +123 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/observability.md +90 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/one-shot-actions.md +105 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/patterns.md +70 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/performance.md +88 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/principles.md +56 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/prose-style.md +127 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/release/ship-checklist.md +12 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/repository-topology.md +82 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/README.md +28 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ci-workflows.md +50 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/default.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/go.md +47 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/python.md +46 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/react.md +55 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/shell.md +40 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/stack-profile.md +155 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review/ts-js.md +74 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/review-checklist.md +14 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/security-checklist.md +30 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/security.md +283 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/skill-authoring.md +269 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/spec-grammar.md +214 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/test-proof-checklist.md +18 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/testing.md +295 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/tooling.md +125 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/verification-methods.md +143 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/windows.md +60 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/standards/workflow-artifacts.md +435 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/code.md +44 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/comparison.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/diagram.md +51 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/index.md +66 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/input.md +46 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/outline-template.md +106 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/plan.md +48 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/slides.md +40 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/visual-playbooks/table.md +42 -0
- package/pack/generated/dsh/skills/devrites-lib/reference/workspace-artifact-schema.md +312 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/SKILL.md +81 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/reference/banned-phrases.md +132 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/reference/examples.md +136 -0
- package/pack/generated/dsh/skills/devrites-prose-craft/reference/structures.md +196 -0
- package/pack/generated/dsh/skills/devrites-source-driven/SKILL.md +54 -0
- package/pack/generated/dsh/skills/devrites-ux-shape/SKILL.md +135 -0
- package/pack/generated/dsh/skills/devrites-ux-shape/reference/brief-template.md +108 -0
- package/pack/generated/dsh/skills/devrites-ux-shape/reference/visual-direction-probe.md +50 -0
- package/pack/generated/dsh/skills/overhaul/SKILL.md +221 -0
- package/pack/generated/dsh/skills/overhaul/references/audit-domains.md +390 -0
- package/pack/generated/dsh/skills/overhaul/references/lifecycle.md +314 -0
- package/pack/generated/dsh/skills/overhaul/references/orchestration.md +291 -0
- package/pack/generated/dsh/skills/overhaul/references/records.md +203 -0
- package/pack/generated/dsh/skills/overhaul/references/repair-and-measurement.md +310 -0
- package/pack/generated/dsh/skills/overhaul/references/review-and-report.md +139 -0
- package/pack/generated/dsh/skills/overhaul/references/scope-and-safety.md +233 -0
- package/pack/generated/dsh/skills/overhaul/references/scoring.md +261 -0
- package/pack/generated/dsh/skills/overhaul/references/stack-profiles.md +316 -0
- package/pack/generated/dsh/skills/rite/SKILL.md +157 -0
- package/pack/generated/dsh/skills/rite/reference/menu.md +49 -0
- package/pack/generated/dsh/skills/rite-adopt/SKILL.md +64 -0
- package/pack/generated/dsh/skills/rite-adopt/reference/adoption.md +25 -0
- package/pack/generated/dsh/skills/rite-adopt/reference/anti-patterns.md +19 -0
- package/pack/generated/dsh/skills/rite-autocomplete/SKILL.md +167 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/decision-policy.md +44 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/lookahead.md +50 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +164 -0
- package/pack/generated/dsh/skills/rite-autocomplete/reference/stop-conditions.md +118 -0
- package/pack/generated/dsh/skills/rite-build/SKILL.md +126 -0
- package/pack/generated/dsh/skills/rite-build/reference/afk-discipline.md +153 -0
- package/pack/generated/dsh/skills/rite-build/reference/anti-patterns.md +27 -0
- package/pack/generated/dsh/skills/rite-build/reference/checkpoint-protocol.md +115 -0
- package/pack/generated/dsh/skills/rite-build/reference/checkpoint.md +79 -0
- package/pack/generated/dsh/skills/rite-build/reference/frontend-trigger.md +39 -0
- package/pack/generated/dsh/skills/rite-build/reference/one-slice-cycle.md +57 -0
- package/pack/generated/dsh/skills/rite-build/reference/output.md +29 -0
- package/pack/generated/dsh/skills/rite-build/reference/parallel-batch.md +260 -0
- package/pack/generated/dsh/skills/rite-build/reference/phase-contract.md +130 -0
- package/pack/generated/dsh/skills/rite-build/reference/spec-drift-guard.md +91 -0
- package/pack/generated/dsh/skills/rite-build/reference/tdd.md +27 -0
- package/pack/generated/dsh/skills/rite-build/reference/wright-dispatch.md +198 -0
- package/pack/generated/dsh/skills/rite-clarify/SKILL.md +104 -0
- package/pack/generated/dsh/skills/rite-clarify/reference/anti-patterns.md +24 -0
- package/pack/generated/dsh/skills/rite-clarify/reference/decision-coverage.md +56 -0
- package/pack/generated/dsh/skills/rite-converge/SKILL.md +167 -0
- package/pack/generated/dsh/skills/rite-converge/reference/anti-patterns.md +35 -0
- package/pack/generated/dsh/skills/rite-converge/reference/convergence-assessment.md +70 -0
- package/pack/generated/dsh/skills/rite-customize/SKILL.md +64 -0
- package/pack/generated/dsh/skills/rite-define/SKILL.md +203 -0
- package/pack/generated/dsh/skills/rite-define/reference/anti-patterns.md +26 -0
- package/pack/generated/dsh/skills/rite-define/reference/gates.md +160 -0
- package/pack/generated/dsh/skills/rite-define/reference/plan-template.md +153 -0
- package/pack/generated/dsh/skills/rite-doctor/SKILL.md +107 -0
- package/pack/generated/dsh/skills/rite-dogfood/SKILL.md +57 -0
- package/pack/generated/dsh/skills/rite-explain/SKILL.md +154 -0
- package/pack/generated/dsh/skills/rite-explain/reference/intake.md +89 -0
- package/pack/generated/dsh/skills/rite-fast/SKILL.md +185 -0
- package/pack/generated/dsh/skills/rite-fast/reference/artifacts.md +107 -0
- package/pack/generated/dsh/skills/rite-fast/reference/check-and-triage.md +51 -0
- package/pack/generated/dsh/skills/rite-frame/SKILL.md +119 -0
- package/pack/generated/dsh/skills/rite-frame/reference/failure-modes.md +66 -0
- package/pack/generated/dsh/skills/rite-handoff/SKILL.md +117 -0
- package/pack/generated/dsh/skills/rite-handoff/reference/handoff-template.md +56 -0
- package/pack/generated/dsh/skills/rite-harness/SKILL.md +76 -0
- package/pack/generated/dsh/skills/rite-harness/reference/feature-map.md +60 -0
- package/pack/generated/dsh/skills/rite-learn/SKILL.md +107 -0
- package/pack/generated/dsh/skills/rite-plan/SKILL.md +215 -0
- package/pack/generated/dsh/skills/rite-plan/reference/anti-patterns.md +34 -0
- package/pack/generated/dsh/skills/rite-plan/reference/dependency-graph.md +48 -0
- package/pack/generated/dsh/skills/rite-plan/reference/replan-and-repair.md +114 -0
- package/pack/generated/dsh/skills/rite-plan/reference/slicing.md +187 -0
- package/pack/generated/dsh/skills/rite-plan/reference/task-breakdown.md +50 -0
- package/pack/generated/dsh/skills/rite-polish/SKILL.md +128 -0
- package/pack/generated/dsh/skills/rite-polish/reference/adr-promotion.md +11 -0
- package/pack/generated/dsh/skills/rite-polish/reference/anti-ai-slop.md +210 -0
- package/pack/generated/dsh/skills/rite-polish/reference/anti-patterns.md +30 -0
- package/pack/generated/dsh/skills/rite-polish/reference/backend-polish.md +80 -0
- package/pack/generated/dsh/skills/rite-polish/reference/browser-polish-evidence.md +33 -0
- package/pack/generated/dsh/skills/rite-polish/reference/code.md +87 -0
- package/pack/generated/dsh/skills/rite-polish/reference/design-memory.md +117 -0
- package/pack/generated/dsh/skills/rite-polish/reference/design-system-discovery.md +8 -0
- package/pack/generated/dsh/skills/rite-polish/reference/harden-checklist.md +110 -0
- package/pack/generated/dsh/skills/rite-polish/reference/ledger.md +67 -0
- package/pack/generated/dsh/skills/rite-polish/reference/ui.md +146 -0
- package/pack/generated/dsh/skills/rite-pov/SKILL.md +71 -0
- package/pack/generated/dsh/skills/rite-pr-feedback/SKILL.md +61 -0
- package/pack/generated/dsh/skills/rite-pressure-test/SKILL.md +76 -0
- package/pack/generated/dsh/skills/rite-prototype/SKILL.md +106 -0
- package/pack/generated/dsh/skills/rite-prove/SKILL.md +151 -0
- package/pack/generated/dsh/skills/rite-prove/reference/acceptance-proof.md +88 -0
- package/pack/generated/dsh/skills/rite-prove/reference/anti-patterns.md +25 -0
- package/pack/generated/dsh/skills/rite-prove/reference/browser-proof.md +51 -0
- package/pack/generated/dsh/skills/rite-prove/reference/failure-triage.md +53 -0
- package/pack/generated/dsh/skills/rite-prove/reference/proof-ladder.md +39 -0
- package/pack/generated/dsh/skills/rite-prove/reference/test-command-discovery.md +36 -0
- package/pack/generated/dsh/skills/rite-quick/SKILL.md +97 -0
- package/pack/generated/dsh/skills/rite-resolve/SKILL.md +113 -0
- package/pack/generated/dsh/skills/rite-resolve/reference/answer-protocol.md +129 -0
- package/pack/generated/dsh/skills/rite-review/SKILL.md +190 -0
- package/pack/generated/dsh/skills/rite-review/reference/anti-patterns.md +32 -0
- package/pack/generated/dsh/skills/rite-review/reference/cognitive-load.md +90 -0
- package/pack/generated/dsh/skills/rite-review/reference/feature-scoped-review.md +26 -0
- package/pack/generated/dsh/skills/rite-review/reference/five-axis-review.md +66 -0
- package/pack/generated/dsh/skills/rite-review/reference/nielsen-heuristics.md +126 -0
- package/pack/generated/dsh/skills/rite-review/reference/performance-checklist.md +99 -0
- package/pack/generated/dsh/skills/rite-review/reference/performance-review.md +14 -0
- package/pack/generated/dsh/skills/rite-review/reference/security-review.md +44 -0
- package/pack/generated/dsh/skills/rite-seal/SKILL.md +99 -0
- package/pack/generated/dsh/skills/rite-seal/reference/anti-patterns.md +29 -0
- package/pack/generated/dsh/skills/rite-seal/reference/final-evidence.md +41 -0
- package/pack/generated/dsh/skills/rite-seal/reference/go-no-go.md +32 -0
- package/pack/generated/dsh/skills/rite-seal/reference/output.md +5 -0
- package/pack/generated/dsh/skills/rite-seal/reference/phase-contract.md +56 -0
- package/pack/generated/dsh/skills/rite-seal/reference/risk-and-rollback.md +56 -0
- package/pack/generated/dsh/skills/rite-seal/reference/seal-template.md +32 -0
- package/pack/generated/dsh/skills/rite-ship/SKILL.md +101 -0
- package/pack/generated/dsh/skills/rite-ship/reference/anti-patterns.md +28 -0
- package/pack/generated/dsh/skills/rite-ship/reference/close-out.md +69 -0
- package/pack/generated/dsh/skills/rite-ship/reference/git-ship.md +128 -0
- package/pack/generated/dsh/skills/rite-ship/reference/rollout.md +62 -0
- package/pack/generated/dsh/skills/rite-ship/reference/ship-template.md +40 -0
- package/pack/generated/dsh/skills/rite-spec/SKILL.md +169 -0
- package/pack/generated/dsh/skills/rite-spec/reference/acceptance-criteria.md +31 -0
- package/pack/generated/dsh/skills/rite-spec/reference/ai-spec-template.md +40 -0
- package/pack/generated/dsh/skills/rite-spec/reference/anti-patterns.md +27 -0
- package/pack/generated/dsh/skills/rite-spec/reference/interview-patterns.md +56 -0
- package/pack/generated/dsh/skills/rite-spec/reference/investigation.md +83 -0
- package/pack/generated/dsh/skills/rite-spec/reference/question-protocol.md +36 -0
- package/pack/generated/dsh/skills/rite-spec/reference/references-intake.md +62 -0
- package/pack/generated/dsh/skills/rite-spec/reference/spec-checklists.md +89 -0
- package/pack/generated/dsh/skills/rite-spec/reference/spec-template.md +160 -0
- package/pack/generated/dsh/skills/rite-spec/reference/state-workspace.md +240 -0
- package/pack/generated/dsh/skills/rite-status/SKILL.md +74 -0
- package/pack/generated/dsh/skills/rite-temper/SKILL.md +137 -0
- package/pack/generated/dsh/skills/rite-temper/reference/anti-patterns.md +30 -0
- package/pack/generated/dsh/skills/rite-temper/reference/review-dimensions.md +66 -0
- package/pack/generated/dsh/skills/rite-temper/reference/scope-modes.md +52 -0
- package/pack/generated/dsh/skills/rite-temper/reference/significance.md +55 -0
- package/pack/generated/dsh/skills/rite-temper/reference/strategy-template.md +101 -0
- package/pack/generated/dsh/skills/rite-upgrade/SKILL.md +142 -0
- package/pack/generated/dsh/skills/rite-vet/SKILL.md +242 -0
- package/pack/generated/dsh/skills/rite-vet/reference/anti-patterns.md +43 -0
- package/pack/generated/dsh/skills/rite-vet/reference/artifacts.md +248 -0
- package/pack/generated/dsh/skills/rite-vet/reference/cross-model.md +19 -0
- package/pack/generated/dsh/skills/rite-vet/reference/depth.md +59 -0
- package/pack/generated/dsh/skills/rite-vet/reference/eng-lenses.md +48 -0
- package/pack/generated/dsh/skills/rite-vet/reference/review-axes.md +210 -0
- package/pack/generated/dsh/skills/rite-watch-pr/SKILL.md +87 -0
- package/pack/generated/dsh/skills/rite-zoom-out/SKILL.md +76 -0
- package/package.json +3 -1
- package/scripts/build-host-artifacts.sh +6 -2
- package/scripts/dsh-generate.py +135 -0
- package/scripts/dsh-specialist.mjs +62 -0
- package/scripts/install-lib.sh +3 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-prose-craft
|
|
3
|
+
description: Rewrite prose to remove AI tells while preserving meaning and voice. Use for artifacts, replies, commits, or PR copy; not code comments or UI craft.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/prose-style.md"],"triggers":{"word-choice":["devrites-prose-craft/reference/banned-phrases.md"],"structure":["devrites-prose-craft/reference/structures.md"],"examples":["devrites-prose-craft/reference/examples.md"]}} -->
|
|
7
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --skill devrites-prose-craft` (no workspace: `--out <path>`) bundles every file named below into one deduplicated read. Trigger names map to the conditional rules in the sections that follow.
|
|
8
|
+
|
|
9
|
+
# devrites-prose-craft: prose that reads human
|
|
10
|
+
|
|
11
|
+
Write for a teammate who will rely on the result. Remove model-shaped filler without sanding
|
|
12
|
+
off the author's voice or weakening technical content.
|
|
13
|
+
|
|
14
|
+
## When this fires
|
|
15
|
+
- A text-generating phase composes an artifact: `/rite-spec` (overview, rationale),
|
|
16
|
+
`/rite-define` / `/rite-plan` (plan narrative), `/rite-temper` / `/rite-vet` (review prose),
|
|
17
|
+
`/rite-review` / `/rite-seal` (findings + verdict prose), `/rite-ship` (commit/PR body),
|
|
18
|
+
`devrites-doubt` / `/rite-handoff` (notes).
|
|
19
|
+
- Any phase composes substantive **user-facing prose** beyond the shared reply
|
|
20
|
+
labels.
|
|
21
|
+
|
|
22
|
+
## Two modes
|
|
23
|
+
- **Rewrite (default).** When DevRites writes the artifact/reply or polishes it, fix the prose
|
|
24
|
+
in place.
|
|
25
|
+
- **Detect-only.** When auditing prose you shouldn't silently change, such as a user's existing
|
|
26
|
+
`spec.md` at `/rite-adopt` or text under `/rite-review`, list the tells with quotes and leave
|
|
27
|
+
the text untouched. Mirrors `devrites-audit`'s read-only stance.
|
|
28
|
+
|
|
29
|
+
Order findings by severity: **P0** credibility-killers (vague attribution, a marketing
|
|
30
|
+
adjective standing in for evidence, a false/unsourced claim, cutoff disclaimers, unfilled
|
|
31
|
+
placeholders, citation markup, AI-tool tracking URLs) → **P1** obvious tells (negative
|
|
32
|
+
parallelism, filler openers, em-dash tics, reasoning-chain scaffolding, narrated candor)
|
|
33
|
+
→ **P2** polish (rhythm, word choice, 1B clarity edits). A quick pass fixes P0 + P1 and
|
|
34
|
+
stops; a full pass takes P2 too. Flags are writing-quality signals, not authorship proof.
|
|
35
|
+
In detect-only, report Tier 1A (figurative filler) separately from Tier 1B (wordiness).
|
|
36
|
+
|
|
37
|
+
## Process
|
|
38
|
+
|
|
39
|
+
1. **Calibrate.** Choose rewrite or detect-only mode, split prose from technical sections, and
|
|
40
|
+
set the voice baseline: an explicit user sample first, then neighboring project prose, then
|
|
41
|
+
the source text itself. Fall back to flat, direct prose. Done when every section has a
|
|
42
|
+
register and one voice baseline.
|
|
43
|
+
2. **Protect.** Apply the preservation contract in
|
|
44
|
+
[`prose-style.md`](../devrites-lib/reference/standards/prose-style.md) before changing words.
|
|
45
|
+
Leave tables, YAML frontmatter, URLs, and file paths untouched unless the caller asked to
|
|
46
|
+
change them. Scan for clusters of tells; one isolated marker is not a verdict. Done when
|
|
47
|
+
every claim, constraint, identifier, example, quotation, and deliberate uncertainty is
|
|
48
|
+
accounted for. Admitted reviewer rows (`Finding:`/`Basis:`), `Outcome:`/`Verdict:`
|
|
49
|
+
lines, counts, and the candidate binding are technical register: skip them, because
|
|
50
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md#return-budget) § Return budget
|
|
51
|
+
(the root never rewrites an admitted row) wins over this skill.
|
|
52
|
+
3. **Rewrite.** Remove P0/P1 tells and P2 when the caller asked for a full pass. Match the
|
|
53
|
+
baseline's vocabulary and cadence without inventing facts, opinions, or quirks. Done when the
|
|
54
|
+
same reader can make the same decisions from the rewrite as from the source.
|
|
55
|
+
4. **Audit.** Compare source and result, read the prose aloud, and run the relevant references
|
|
56
|
+
below. Diff severity labels, REQ/AC/finding IDs, counts, verdict words, rankings,
|
|
57
|
+
order/causality claims, and `file:line` pointers between source and result; any
|
|
58
|
+
difference fails the pass. Done when the preservation contract passes, the technical
|
|
59
|
+
register remains exact, and no in-scope tell remains. **Failing case:** a pass turns
|
|
60
|
+
"3 Important" into "several issues" or upgrades a hedged note to "Critical".
|
|
61
|
+
|
|
62
|
+
## References
|
|
63
|
+
|
|
64
|
+
- Always read [`prose-style.md`](../devrites-lib/reference/standards/prose-style.md) for the two
|
|
65
|
+
registers, preservation contract, and core checks.
|
|
66
|
+
- Load [`reference/banned-phrases.md`](reference/banned-phrases.md) when word choice or tone is
|
|
67
|
+
the problem (trigger `word-choice`).
|
|
68
|
+
- Load [`reference/structures.md`](reference/structures.md) when sentence shape, rhythm, or
|
|
69
|
+
formatting is the problem.
|
|
70
|
+
- Load [`reference/examples.md`](reference/examples.md) when the target artifact's shape is
|
|
71
|
+
unclear.
|
|
72
|
+
|
|
73
|
+
## Boundaries
|
|
74
|
+
|
|
75
|
+
This skill edits language, not facts. When style and fidelity conflict, fidelity wins.
|
|
76
|
+
|
|
77
|
+
## Output
|
|
78
|
+
|
|
79
|
+
- **Rewrite:** replace the target prose; add no editing commentary unless the caller's contract
|
|
80
|
+
asks for it.
|
|
81
|
+
- **Detect-only:** return ordered P0/P1/P2 findings with the exact phrase and a concrete fix.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Phrases & words to cut
|
|
2
|
+
|
|
3
|
+
Load this when scrubbing prose. The lists are calibrated for a coding agent: the **AI
|
|
4
|
+
vocabulary** section marks which words are *always* slop versus which are legitimate in
|
|
5
|
+
technical writing, so the skill doesn't flatten a real spec into vagueness.
|
|
6
|
+
|
|
7
|
+
## Throat-clearing openers (cut — state the point)
|
|
8
|
+
|
|
9
|
+
- "Here's the thing:" / "Here's what / why / how [X]"
|
|
10
|
+
- "It's worth noting that" / "It's important to note that"
|
|
11
|
+
- "Let me be clear" / "I'll be honest" / "To be honest"
|
|
12
|
+
- "The uncomfortable truth is" / "The reality is" / "It turns out"
|
|
13
|
+
- "Make no mistake" / "At its core" / "At the end of the day"
|
|
14
|
+
- "When it comes to [X]" / "In today's [fast-paced / digital] world"
|
|
15
|
+
|
|
16
|
+
Any "here's what/this/that" or "it's worth noting" is runway before the point. Delete it and
|
|
17
|
+
start at the point.
|
|
18
|
+
|
|
19
|
+
## Emphasis crutches (delete — they add no information)
|
|
20
|
+
|
|
21
|
+
- "Let that sink in." / "Full stop." / "Period."
|
|
22
|
+
- "This matters because" / "Here's why that matters"
|
|
23
|
+
- "This is the deepest problem" / "the stakes are high" / "the consequences are real"
|
|
24
|
+
- "Notably," / "Interestingly," / "Importantly," / "Surprisingly," stacked to tell the
|
|
25
|
+
reader how to feel. One "notably" in a long note is fine; three in a short paragraph
|
|
26
|
+
is emphasis stacking. Cut the cue; leave the fact.
|
|
27
|
+
|
|
28
|
+
## Hedging stacks (make the claim or cut it)
|
|
29
|
+
|
|
30
|
+
- "it's important to note that, generally, in most cases…"
|
|
31
|
+
- "perhaps", "could potentially", "it could be argued that", "one might say"
|
|
32
|
+
|
|
33
|
+
Stacked hedges read as a model covering itself. One honest qualifier is fine; a stack is slop.
|
|
34
|
+
|
|
35
|
+
## Sycophancy & chatbot artifacts (remove entirely)
|
|
36
|
+
|
|
37
|
+
These leak the assistant register into artifacts and replies:
|
|
38
|
+
|
|
39
|
+
- "Great question!" / "You're absolutely right!" / "Certainly!" / "Of course!"
|
|
40
|
+
- "I hope this helps!" / "Let me know if you need anything else" / "Feel free to reach out"
|
|
41
|
+
- "Let's explore" / "Let's break this down" / "Let's dive in" / "First, let's consider"
|
|
42
|
+
|
|
43
|
+
A `decisions.md` entry or a `seal.md` verdict is a document, not a chat turn. No
|
|
44
|
+
pleasantries, no tour-guide openers. Start at the point.
|
|
45
|
+
|
|
46
|
+
## Assistant leaks (P0 — delete on sight)
|
|
47
|
+
|
|
48
|
+
These are paste fingerprints, not style. Strip the leak; keep any real fact it was
|
|
49
|
+
wrapping. Presence is a publishing bug, not an authorship tribunal.
|
|
50
|
+
|
|
51
|
+
- **Cutoff disclaimers.** "As of my last update", "based on my training data", "I don't
|
|
52
|
+
have access to…". Find the fact or drop the sentence.
|
|
53
|
+
- **Unfilled placeholders.** `[Your Name]`, `[INSERT SOURCE]`, `2025-XX-XX`, HTML
|
|
54
|
+
comments that say `TODO` / `insert` / `fill in`. Fill or delete. Never ship the slot.
|
|
55
|
+
- **Citation markup.** `citeturn`, `oaicite`, `oai_citation`, `grok_card`,
|
|
56
|
+
`[attached_file:N]`. Delete the token. If the cite mattered, replace it with a real
|
|
57
|
+
link.
|
|
58
|
+
- **AI-tool tracking URLs.** Strip `utm_source=chatgpt.com` / `copilot.com` /
|
|
59
|
+
`openai` / `claude.ai` / `perplexity.ai` and `referrer=grok.com`. Keep the rest of
|
|
60
|
+
the query string (`?page=2` stays).
|
|
61
|
+
|
|
62
|
+
## Business jargon → plain language
|
|
63
|
+
|
|
64
|
+
| Avoid | Use instead |
|
|
65
|
+
|---|---|
|
|
66
|
+
| Navigate (challenges) | handle, address |
|
|
67
|
+
| Unpack (the analysis) | explain, examine |
|
|
68
|
+
| Lean into | accept, commit to |
|
|
69
|
+
| Landscape (figurative) | situation, field, area |
|
|
70
|
+
| Game-changer | significant, important |
|
|
71
|
+
| Deep dive | analysis, examination |
|
|
72
|
+
| Circle back / revisit later | return to |
|
|
73
|
+
| Moving forward | next, from now on |
|
|
74
|
+
| On the same page | aligned, agreed |
|
|
75
|
+
|
|
76
|
+
## AI vocabulary — calibrated (this is the adaptation that matters)
|
|
77
|
+
|
|
78
|
+
Word lists are blunt instruments. A coding agent must not "fix" a spec that legitimately says
|
|
79
|
+
a system is *robust* under load or exposes a *comprehensive* API. Tiers, with a 1A/1B split:
|
|
80
|
+
|
|
81
|
+
**Tier 1A — always slop, replace on sight (figurative filler, never load-bearing in a spec).**
|
|
82
|
+
A cluster is a writing-quality signal, not proof of who wrote the passage.
|
|
83
|
+
|
|
84
|
+
delve / delve into, tapestry, beacon, embark, testament to, realm, landscape (figurative),
|
|
85
|
+
pave the way, shed light on, game-changer, unlock the potential, ever-evolving, vibrant,
|
|
86
|
+
multifaceted, holistic, paradigm (as praise), groundbreaking, transformative, cutting-edge.
|
|
87
|
+
|
|
88
|
+
**Tier 1B — always replace for clarity; not authorship evidence.**
|
|
89
|
+
Wordiness and inflated formality. Same edit as 1A, weaker claim: these also appear in
|
|
90
|
+
careful human writing. In detect-only, report 1B separately from 1A. A 1B hit must not
|
|
91
|
+
push a passage toward an "AI wrote this" conclusion.
|
|
92
|
+
|
|
93
|
+
| Replace | With |
|
|
94
|
+
|---|---|
|
|
95
|
+
| utilize | use |
|
|
96
|
+
| in order to | to |
|
|
97
|
+
| due to the fact that | because |
|
|
98
|
+
| commence | start, begin |
|
|
99
|
+
| ascertain | find out, determine |
|
|
100
|
+
| endeavor | try, attempt |
|
|
101
|
+
|
|
102
|
+
**Tier 2 — slop in prose, legitimate in technical context (keep the meaning, judge by use):**
|
|
103
|
+
robust, comprehensive, seamless, leverage, harness, facilitate, underpin, streamline,
|
|
104
|
+
foster, ecosystem, scalable.
|
|
105
|
+
- In a sentence selling the work ("a robust, scalable, seamless solution") → cut; say what it
|
|
106
|
+
does and what proves it.
|
|
107
|
+
- In a precise technical claim ("the retry path is robust to a dropped connection — see
|
|
108
|
+
`evidence.md`") → keep. The word carries a real, tested meaning.
|
|
109
|
+
|
|
110
|
+
**Tier 3 — flag by density, not per-word:** ordinary words (`important`, `key`, `various`,
|
|
111
|
+
`significant`) become slop only when they cluster. If a paragraph leans on three of them, it's
|
|
112
|
+
saying nothing — name the specific thing instead.
|
|
113
|
+
|
|
114
|
+
**Co-occurrence tell:** these words travel in packs. Where you find one Tier-1 word, look for
|
|
115
|
+
its neighbours (delve / boasts / bolstered / crucial / pivotal cluster together). One sighting
|
|
116
|
+
means scan the whole passage.
|
|
117
|
+
|
|
118
|
+
**Match inflected forms.** Each entry covers the word *and* its variants — adverb (`-ly`),
|
|
119
|
+
gerund (`-ing`), plural, conjugations: `delve` also catches `delving` / `delved`; `leverage`
|
|
120
|
+
catches `leveraging` / `leveraged`. The exception is a variant with a distinct, legitimate
|
|
121
|
+
meaning (`real` the intensifier vs `real` meaning factual) — judge it by use, same as the
|
|
122
|
+
tier calibration above.
|
|
123
|
+
|
|
124
|
+
## Adverbs (cut empty intensifiers; keep load-bearing ones)
|
|
125
|
+
|
|
126
|
+
Cut the emphasis adverbs that add nothing: really, very, just, literally, genuinely, honestly,
|
|
127
|
+
simply, actually, truly, fundamentally, inherently, inevitably, basically.
|
|
128
|
+
|
|
129
|
+
Keep adverbs that change meaning or precision: "validate **server-side**", "fail **closed**",
|
|
130
|
+
"runs **concurrently**", "**explicitly** typed". The rule is "cut the empty intensifier", not
|
|
131
|
+
"delete every -ly word" — over-applying the no-adverb rule is its own kind of damage in
|
|
132
|
+
technical writing.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Before / after — DevRites artifacts & replies
|
|
2
|
+
|
|
3
|
+
Real shapes DevRites emits. Each pair keeps the technical content and strips the voice. Note
|
|
4
|
+
how the calibration preserves precise lists and identifiers while cutting the prose slop.
|
|
5
|
+
|
|
6
|
+
## 1. `spec.md` overview
|
|
7
|
+
|
|
8
|
+
**Before (slop):**
|
|
9
|
+
> In today's fast-paced data landscape, this feature delivers a robust, scalable, and seamless
|
|
10
|
+
> CSV export capability. It's not just about exporting data — it's about empowering users to
|
|
11
|
+
> unlock the full potential of their information. This is a pivotal step forward.
|
|
12
|
+
|
|
13
|
+
**After:**
|
|
14
|
+
> Export the report table to CSV. Users currently copy rows by hand; this adds a one-click
|
|
15
|
+
> download. Scope: the reports table only, server-side streaming so memory stays flat on large
|
|
16
|
+
> exports.
|
|
17
|
+
|
|
18
|
+
Cut the jargon, the negative-parallelism hook, and the importance inflation. Kept what the
|
|
19
|
+
feature is, who it's for, and the scope boundary.
|
|
20
|
+
|
|
21
|
+
## 2. Acceptance criteria (technical register — precision stays)
|
|
22
|
+
|
|
23
|
+
**Keep this as-is — do NOT "humanize" it:**
|
|
24
|
+
> - AC-001: A `GET /reports/:id/export?format=csv` returns `200` with `Content-Type: text/csv`.
|
|
25
|
+
> - AC-002: Rows stream; peak memory stays under 50 MB for a 1M-row export.
|
|
26
|
+
> - AC-003: An unknown `format` returns `400` with `{ "error": "unsupported format" }`.
|
|
27
|
+
|
|
28
|
+
Three items, exact identifiers, exact status codes. This is the technical register working
|
|
29
|
+
correctly. The skill leaves it alone.
|
|
30
|
+
|
|
31
|
+
## 3. `decisions.md` entry
|
|
32
|
+
|
|
33
|
+
**Before (slop):**
|
|
34
|
+
> We made the strategic decision to leverage a streaming approach. This robust solution
|
|
35
|
+
> seamlessly handles large datasets and represents a best-in-class architecture that will
|
|
36
|
+
> empower the system to scale effortlessly.
|
|
37
|
+
|
|
38
|
+
**After:**
|
|
39
|
+
> Stream rows to the response instead of buffering the full file. Buffering OOM-ed on a
|
|
40
|
+
> 1M-row export in testing (see `evidence.md`). Trade-off: streaming rules out a total-row
|
|
41
|
+
> count in the header. Revisit if the UI needs an upfront progress bar.
|
|
42
|
+
|
|
43
|
+
Named the decision, the reason (with evidence), and the trade-off. That's what an ADR is for.
|
|
44
|
+
|
|
45
|
+
## 4. `review.md` / `seal.md` finding
|
|
46
|
+
|
|
47
|
+
**Before (slop):**
|
|
48
|
+
> Important: it's worth noting that the error handling at `export.ts:42` could potentially be
|
|
49
|
+
> more robust, which fundamentally matters for production readiness. It catches every error and
|
|
50
|
+
> returns `500 "something went wrong"`, even for a bad `format` param, where AC-003 expects a
|
|
51
|
+
> `400` with the specific message. Catching the parse error narrowly and letting the rest
|
|
52
|
+
> propagate would arguably be the way to go.
|
|
53
|
+
|
|
54
|
+
**After:**
|
|
55
|
+
> Important — `export.ts:42` catches every error and returns `500 "something went wrong"`. A
|
|
56
|
+
> bad `format` param should be a `400` with the specific message (AC-003). Catch the parse error
|
|
57
|
+
> narrowly; let the rest propagate.
|
|
58
|
+
|
|
59
|
+
Kept the stated severity, `file:line`, status codes, and AC id; added none. A Before without
|
|
60
|
+
them stays hedged in the After, never upgraded to a severity or ID it did not state.
|
|
61
|
+
|
|
62
|
+
## 5. Chat reply
|
|
63
|
+
|
|
64
|
+
**Before (slop):**
|
|
65
|
+
> Great question! I've gone ahead and implemented the export feature. It's not just functional
|
|
66
|
+
> — it's production-ready. Let me know if you need anything else!
|
|
67
|
+
|
|
68
|
+
**After:**
|
|
69
|
+
> Built slice 3 (CSV streaming). Tests pass (`npm test -- export` → 14 passing), peak memory
|
|
70
|
+
> 38 MB on the 1M-row fixture. Next: `/rite-build` slice 4 (pagination).
|
|
71
|
+
|
|
72
|
+
Dropped the pleasantries, the "not just X" inflation, and the closing offer. Led with what's
|
|
73
|
+
done and the evidence; ended on one runnable next action, not a "Want me to continue?" stall.
|
|
74
|
+
|
|
75
|
+
## 6. Commit body
|
|
76
|
+
|
|
77
|
+
**Before (slop):**
|
|
78
|
+
> This commit introduces a comprehensive and robust solution that seamlessly enables users to
|
|
79
|
+
> leverage powerful new export capabilities.
|
|
80
|
+
|
|
81
|
+
**After:**
|
|
82
|
+
> Buffering the whole CSV OOM-ed on >100k rows. Stream rows to the response so memory stays
|
|
83
|
+
> flat. Rules out an upfront total-count header; tracked in #123.
|
|
84
|
+
|
|
85
|
+
Followed [`git-workflow.md`](../../devrites-lib/reference/standards/git-workflow.md): the *why*, wrapped, in plain language.
|
|
86
|
+
|
|
87
|
+
## 7. Fidelity when evidence is incomplete
|
|
88
|
+
|
|
89
|
+
**Before (slop, but informative):**
|
|
90
|
+
> It is important to note that the importer retries twice after a `429`. The available evidence
|
|
91
|
+
> does not clearly indicate whether a third attempt is dropped or queued. In either case, the
|
|
92
|
+
> alert text is `Import delayed`.
|
|
93
|
+
|
|
94
|
+
**After:**
|
|
95
|
+
> The importer retries twice after a `429`. We do not have a production trace showing whether a
|
|
96
|
+
> third attempt is dropped or queued. The alert text remains `Import delayed`.
|
|
97
|
+
|
|
98
|
+
Cut the opener and vague phrasing. Kept the retry count, status code, evidence gap, two possible
|
|
99
|
+
outcomes, and exact alert text. A smoother sentence that picked one outcome would be fabrication.
|
|
100
|
+
|
|
101
|
+
## 8. `review.md` finding (narrated candor)
|
|
102
|
+
|
|
103
|
+
**Before (slop):**
|
|
104
|
+
> I want to be upfront: two caveats I would rather flag than let you discover later. First,
|
|
105
|
+
> Windows is untested. Second, the numbers in the commit message don't reproduce on this
|
|
106
|
+
> hardware. Let me think step by step about what that means for seal.
|
|
107
|
+
|
|
108
|
+
**After:**
|
|
109
|
+
> Two caveats: Windows is untested, and the numbers in the commit message don't reproduce on
|
|
110
|
+
> this hardware. Seal stays NO-GO until those are measured or scoped out.
|
|
111
|
+
|
|
112
|
+
Cut the candor frame and the reasoning-chain opener. Kept both caveats and the gate implication.
|
|
113
|
+
|
|
114
|
+
## 9. Chat reply (prompt restatement)
|
|
115
|
+
|
|
116
|
+
**Before (slop):**
|
|
117
|
+
> That's a great question. You're asking about whether we should stream the export. Thanks for
|
|
118
|
+
> the rollback plan you already wrote — that legwork is what made this possible. Breaking this
|
|
119
|
+
> down: streaming avoids the OOM.
|
|
120
|
+
|
|
121
|
+
**After:**
|
|
122
|
+
> Stream the export. Buffering OOM-ed on the 1M-row fixture (see `evidence.md`). Your rollback
|
|
123
|
+
> plan still applies.
|
|
124
|
+
|
|
125
|
+
Dropped the prompt echo, the recap-flattery, and "Breaking this down". Led with the decision
|
|
126
|
+
and the evidence.
|
|
127
|
+
|
|
128
|
+
## The pattern across all nine
|
|
129
|
+
|
|
130
|
+
1. Lead with the concrete thing (what it is, what's done, what's wrong).
|
|
131
|
+
2. Replace every "robust/seamless/leverage" flourish with the specific behavior + its proof.
|
|
132
|
+
3. Drop negative-parallelism hooks ("not just X, it's Y"), importance labels ("pivotal"),
|
|
133
|
+
candor frames ("I want to be upfront"), and reasoning-chain scaffolding ("let me think
|
|
134
|
+
step by step").
|
|
135
|
+
4. Keep the technical register intact: exact identifiers, status codes, numbered criteria,
|
|
136
|
+
real enumerations. Precision is not slop.
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Structures to avoid
|
|
2
|
+
|
|
3
|
+
The sentence- and paragraph-level shapes that mark machine-written prose. Each row is a
|
|
4
|
+
pattern and its fix. Calibrated: the slop is the *decorative* version; the genuine structural
|
|
5
|
+
version (a real enumeration, a real contrast that carries information) stays.
|
|
6
|
+
|
|
7
|
+
## Negative parallelism — the "not X, it's Y" family
|
|
8
|
+
|
|
9
|
+
The single most recognizable tell. It mimics insight by manufacturing a contrast.
|
|
10
|
+
|
|
11
|
+
| Pattern | Fix |
|
|
12
|
+
|---|---|
|
|
13
|
+
| "It's not X, it's Y." / "It isn't X. It's Y." | State Y. "Y is the cause." |
|
|
14
|
+
| "Not just X, but Y." / "Not only X but also Y." | State both plainly, or just Y if X is filler. |
|
|
15
|
+
| "The question isn't X. It's Y." | Ask the real question once, or state the answer. |
|
|
16
|
+
| "This isn't about X. It's about Y." | "This is about Y." |
|
|
17
|
+
| "X isn't the problem. Y is." | "Y is the problem." |
|
|
18
|
+
| "No X. No Y. Just Z." | "Z." or a normal sentence naming Z. |
|
|
19
|
+
| Negation chain: "No fluff, no filler, no jargon." / "It didn't ask. It didn't wait." | Say what the thing is. One negation earns its place when the reader would assume the opposite; a drumroll of them does not. Carve-out: factual inventories ("takes no arguments, no headers, and no body") stay. |
|
|
20
|
+
|
|
21
|
+
Drop the negation; lead with the thing you actually mean.
|
|
22
|
+
|
|
23
|
+
## Rule of three / decorative tricolon
|
|
24
|
+
|
|
25
|
+
AI defaults to three-item adjective or benefit triplets. The fix depends on whether the three
|
|
26
|
+
items are *real*.
|
|
27
|
+
|
|
28
|
+
- **Decorative triad** — "innovative, transformative, and groundbreaking", "fast, reliable, and
|
|
29
|
+
scalable" as a flourish → cut to the one that's true and provable, or delete.
|
|
30
|
+
- **Real enumeration** — three acceptance criteria, three slices, three status codes the
|
|
31
|
+
endpoint returns → **keep all three.** This is precision, not slop. The technical register
|
|
32
|
+
needs the complete list.
|
|
33
|
+
|
|
34
|
+
Test: if removing one item loses information a reader needs, it's a real list — keep it. If the
|
|
35
|
+
three are interchangeable adjectives, it's a triad — cut it.
|
|
36
|
+
|
|
37
|
+
## Importance inflation
|
|
38
|
+
|
|
39
|
+
Announcing significance instead of showing it. Let the reader judge weight.
|
|
40
|
+
|
|
41
|
+
| Pattern | Fix |
|
|
42
|
+
|---|---|
|
|
43
|
+
| "a pivotal moment", "a broader movement" | Describe what happened; drop the significance label. |
|
|
44
|
+
| "The implications are significant." | Name the specific implication. |
|
|
45
|
+
| "This is a critical step." | Show why it's required (the dependency, the gate, the risk). |
|
|
46
|
+
|
|
47
|
+
## Vague attribution — cite the source or drop it
|
|
48
|
+
|
|
49
|
+
The prose twin of DevRites's evidence discipline (`devrites-source-driven`, `evidence.md`). An
|
|
50
|
+
unnamed authority is not a source; it inflates one person's claim into consensus.
|
|
51
|
+
|
|
52
|
+
| Pattern | Fix |
|
|
53
|
+
|---|---|
|
|
54
|
+
| "Experts believe…", "Studies show…", "Research suggests…" | Name the study/doc/benchmark, or cut the appeal and state the claim on its own merits. |
|
|
55
|
+
| "Best practice says…", "The community recommends…", "It's widely agreed…" | Link the source (an RFC, the framework docs, a measured result), or make the call yourself and own it in `decisions.md`. |
|
|
56
|
+
|
|
57
|
+
If you can't name who holds the view, you don't have a source — you have a guess. State it as one.
|
|
58
|
+
|
|
59
|
+
## Abstract category nouns — name the specific items
|
|
60
|
+
|
|
61
|
+
"Various factors", "several considerations", "a number of issues" say nothing. Replace the
|
|
62
|
+
category word with the actual items.
|
|
63
|
+
|
|
64
|
+
| Pattern | Fix |
|
|
65
|
+
|---|---|
|
|
66
|
+
| "improvements across various metrics" | "cuts p95 latency 120ms→80ms and halves the query count" |
|
|
67
|
+
| "there are several considerations" | List the considerations, or name the one that matters. |
|
|
68
|
+
| "performance issues", "some edge cases" | Name the N+1 query; name the empty-input and the 10k-row cases. |
|
|
69
|
+
|
|
70
|
+
Offender words to catch: factors, aspects, considerations, issues, elements, things, areas,
|
|
71
|
+
metrics (unnamed). In a spec or `decisions.md`, the specific item is the whole point.
|
|
72
|
+
|
|
73
|
+
## False agency — name who acts
|
|
74
|
+
|
|
75
|
+
Giving inanimate things human verbs. Common in machine prose because it avoids naming the actor.
|
|
76
|
+
|
|
77
|
+
| Pattern | Fix |
|
|
78
|
+
|---|---|
|
|
79
|
+
| "the data tells us" | "the grader reads X and returns Y" |
|
|
80
|
+
| "the decision emerges" | "we chose X because…" |
|
|
81
|
+
| "the complaint becomes a fix" | "the team fixed it in slice 3" |
|
|
82
|
+
| "the test ensures correctness" | "the test asserts `total === 42`" |
|
|
83
|
+
|
|
84
|
+
Front the actor: the script, the gate, the function, the engineer, or "you".
|
|
85
|
+
|
|
86
|
+
## Dramatic fragmentation & rhetorical setups
|
|
87
|
+
|
|
88
|
+
| Pattern | Fix |
|
|
89
|
+
|---|---|
|
|
90
|
+
| "[Noun]. That's it. That's the [thing]." | One complete sentence. |
|
|
91
|
+
| "X. And Y. And Z." (staccato for drama) | Join into normal sentences; vary length. |
|
|
92
|
+
| "The result? Devastating." (self-posed Q&A) | Fold into a statement. |
|
|
93
|
+
| "What if [reframe]?" as a hook | Make the point directly. |
|
|
94
|
+
| "Think about it:" / "Here's what I mean:" | Delete; the next sentence already does the work. |
|
|
95
|
+
| Performed insight: "that's not nothing", "the punchline is", "sit with that", "that's the whole point", "Turns out…" | State the claim the phrase was gesturing at. One hit can be voice; several in one piece is a tell. |
|
|
96
|
+
|
|
97
|
+
## Inflated constructions
|
|
98
|
+
|
|
99
|
+
Three small tells that pad a plain sentence into something that sounds weightier than it is.
|
|
100
|
+
|
|
101
|
+
| Pattern | Fix |
|
|
102
|
+
|---|---|
|
|
103
|
+
| **Copula-dodge** — "X serves as / functions as / stands as / boasts / features…" | Use the plain verb. "The gateway **is** the entry point", "the module **has** three handlers". |
|
|
104
|
+
| **Participle tail** — "…, highlighting its importance", "…, reflecting broader trends", "…, underscoring its role as a dynamic hub" | Cut the trailing `-ing` clause; it adds fake depth, not information. |
|
|
105
|
+
| **Aphorism formula** — "X is the Y of Z" ("caching is the heartbeat of the system"), "X is not a tool but a Y" | State the actual property. "The cache holds the hot rows so the DB isn't hit on every request." |
|
|
106
|
+
| **Invented concept label** — coining a pseudo-term as if it's established: "the N+1 tax", "the supervision paradox", "the abstraction trap" | Name the concrete thing and skip the coined label, or define it once if it genuinely recurs. |
|
|
107
|
+
|
|
108
|
+
## Passive voice (prose register)
|
|
109
|
+
|
|
110
|
+
Every prose sentence wants a subject doing something. Passive hides the actor and drains energy.
|
|
111
|
+
|
|
112
|
+
| Pattern | Fix |
|
|
113
|
+
|---|---|
|
|
114
|
+
| "It was decided that…" | "We decided…" |
|
|
115
|
+
| "Mistakes were made." | Name who, and what. |
|
|
116
|
+
| "The endpoint is called by the client." | "The client calls the endpoint." |
|
|
117
|
+
|
|
118
|
+
Calibration: passive is fine when the actor is genuinely unknown or irrelevant ("the row is
|
|
119
|
+
deleted on cascade"). Don't contort a sentence to name an actor that doesn't matter.
|
|
120
|
+
|
|
121
|
+
## Rhythm
|
|
122
|
+
|
|
123
|
+
- Don't run three same-length sentences in a row; don't stack three short fragments for effect.
|
|
124
|
+
- Don't end every paragraph on a punchy one-liner. Vary where the weight lands.
|
|
125
|
+
- **Em-dashes:** at most one per paragraph, used where a comma or period won't do. Multiple per
|
|
126
|
+
paragraph is the tell. (Catch both the em-dash `—` and the `--` substitute.)
|
|
127
|
+
- Don't open consecutive sentences with the same Wh- word ("What makes this… What this means…")
|
|
128
|
+
as a crutch; lead with the subject.
|
|
129
|
+
|
|
130
|
+
## Formatting tells
|
|
131
|
+
|
|
132
|
+
- **No "Bold term: explanation" bullet lists** as the default structure for prose — the most
|
|
133
|
+
recognizable AI formatting pattern. Use real prose, or a plain bullet, unless the document's
|
|
134
|
+
existing style genuinely uses definition lists (a glossary, an API reference).
|
|
135
|
+
- No emoji in headings or section titles (artifacts and code both).
|
|
136
|
+
- Don't over-bold. Bold the one load-bearing term, not every noun.
|
|
137
|
+
|
|
138
|
+
## Reasoning-chain scaffolding
|
|
139
|
+
|
|
140
|
+
Internal monologue leaking into published prose. The reader needs the conclusion and the
|
|
141
|
+
evidence, not the tour of how the model thought.
|
|
142
|
+
|
|
143
|
+
| Pattern | Fix |
|
|
144
|
+
|---|---|
|
|
145
|
+
| "Let me think step by step", "Breaking this down", "To approach this systematically" | State the conclusion, then the evidence. |
|
|
146
|
+
| "Here's my thought process", "Working through this logically", "Step 1:" as inner narration | Numbered *argument* stays; numbered *self-talk* goes. |
|
|
147
|
+
|
|
148
|
+
A `review.md` finding that walks error paths in order is an argument. A chat reply that
|
|
149
|
+
announces "First, let's consider…" is scaffolding.
|
|
150
|
+
|
|
151
|
+
## Narrated candor
|
|
152
|
+
|
|
153
|
+
Announcing that you are about to be honest, instead of being honest.
|
|
154
|
+
|
|
155
|
+
| Pattern | Fix |
|
|
156
|
+
|---|---|
|
|
157
|
+
| "I want to be upfront:", "To be fully transparent:", "Two caveats I would rather flag than let you discover later:" | "Two caveats:" plus the caveats. |
|
|
158
|
+
| "Rather than bury this, I'll say it plainly:" | Say it. |
|
|
159
|
+
|
|
160
|
+
**Deletion test.** Cut the frame. If nothing is lost, it was never content.
|
|
161
|
+
|
|
162
|
+
**Keep:** the disclosure itself ("I haven't tested this on Windows"), and a real
|
|
163
|
+
conflict-of-interest label ("I own shares in the company discussed here").
|
|
164
|
+
|
|
165
|
+
## Prompt restatement and recap-flattery
|
|
166
|
+
|
|
167
|
+
| Pattern | Fix |
|
|
168
|
+
|---|---|
|
|
169
|
+
| "You're asking about…", "To answer your question…", "That's a great question. The…" | Answer. The reader knows what they asked. |
|
|
170
|
+
| Recap-flattery: restating the other person's own work back at them as praise before the point | Substance first. If thanks is warranted: one plain clause, no recap. |
|
|
171
|
+
|
|
172
|
+
Distinct from sycophancy ("Great question!"), which validates the reader without recapping
|
|
173
|
+
their work.
|
|
174
|
+
|
|
175
|
+
## Self-labeling significance
|
|
176
|
+
|
|
177
|
+
After listing items, pointing back and labeling one as contrarian / clever / the real story.
|
|
178
|
+
|
|
179
|
+
| Pattern | Fix |
|
|
180
|
+
|---|---|
|
|
181
|
+
| "That last move is the contrarian one." / "This is the interesting part." / "The third bullet is the real story." | Put the load-bearing item first, or expand it with specifics, and cut the label. |
|
|
182
|
+
|
|
183
|
+
If the move is actually contrarian, the description already shows it. The label is unearned
|
|
184
|
+
when the reader cannot see the contrast without it.
|
|
185
|
+
|
|
186
|
+
## Diff-anchored writing
|
|
187
|
+
|
|
188
|
+
Docs or comments narrating the edit instead of describing the thing as it is.
|
|
189
|
+
|
|
190
|
+
| Pattern | Fix |
|
|
191
|
+
|---|---|
|
|
192
|
+
| "This function was added to replace the previous approach of iterating through all items." | "This function uses a hash map for O(1) lookups." |
|
|
193
|
+
|
|
194
|
+
**Carve-out:** changelogs, release notes, migration guides, and `decisions.md` narrate
|
|
195
|
+
change on purpose. Leave them. The tell is a README, comment, or spec overview written as
|
|
196
|
+
archaeology of the last diff.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devrites-source-driven
|
|
3
|
+
description: Verify uncertain framework or library behavior in installed source or official docs. Use for unfamiliar APIs; not internal code.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
<!-- loads: {"always":["devrites-lib/reference/standards/core.md","devrites-lib/reference/standards/tooling.md"],"triggers":{"agents":["devrites-lib/reference/standards/agents.md"]},"workspace":["state.md","spec.md","plan.md","decisions.md","evidence.md","references.md"],"workspaceByRole":{"evidence-scout":["state.md","spec.md","plan.md","references.md"]}} -->
|
|
7
|
+
> Read-set manifest: `devrites-engine context --skills-root .dsh/skills <slug> --skill devrites-source-driven` (no workspace: `--out <path>`) bundles every file named below into one deduplicated read.
|
|
8
|
+
|
|
9
|
+
# devrites-source-driven: verify, don't guess
|
|
10
|
+
|
|
11
|
+
When library behavior matters and is uncertain, verify it against installed source or
|
|
12
|
+
authoritative documentation before relying on it.
|
|
13
|
+
|
|
14
|
+
## When to trigger
|
|
15
|
+
- You're about to rely on an API signature, default, config key, or behavior you're not
|
|
16
|
+
sure of.
|
|
17
|
+
- The docs in memory might be stale (the project pins a different version).
|
|
18
|
+
- Tests can't easily prove the assumption, but it drives the implementation.
|
|
19
|
+
- An error message points at framework behavior you don't fully understand.
|
|
20
|
+
|
|
21
|
+
## How
|
|
22
|
+
1. **Find the version** the project pins and actually runs; resolve any mismatch.
|
|
23
|
+
2. **Apply the hierarchy, citation, and currentness contract** in
|
|
24
|
+
[`tooling.md`](../devrites-lib/reference/standards/tooling.md#research-provenance-staleness-and-cost).
|
|
25
|
+
context7 is a lookup tool, not authority above version-matched source/docs.
|
|
26
|
+
3. **Confirm the specific fact:** the signature, the default, the edge behavior, not a
|
|
27
|
+
general impression.
|
|
28
|
+
4. **Return it** with the required citation and status. The root records accepted
|
|
29
|
+
evidence in `decisions.md` or `evidence.md`; a leaf agent never writes the workspace.
|
|
30
|
+
|
|
31
|
+
## Delegate broad research
|
|
32
|
+
When the question is an *area* (a library surface, unfamiliar subsystem, or migration
|
|
33
|
+
guide), the **root orchestrator** uses the fresh-context dispatch contract in
|
|
34
|
+
[`agents.md`](../devrites-lib/reference/standards/agents.md) to give one bounded
|
|
35
|
+
question to `devrites-evidence-scout`. Wait for and validate its cited dossier (the
|
|
36
|
+
scout's YAML result); the orchestrator, not the scout, persists accepted facts under
|
|
37
|
+
`references/` and links them from `references.md`.
|
|
38
|
+
|
|
39
|
+
Never detach this work and never dispatch from inside another agent. When this skill is
|
|
40
|
+
invoked by a leaf agent, verify one fact inline or return `Scout needed: <bounded question>`
|
|
41
|
+
to the orchestrator.
|
|
42
|
+
|
|
43
|
+
## Rules
|
|
44
|
+
- Quote the exact relevant detail; don't paraphrase a behavior into something convenient.
|
|
45
|
+
- If the doc/source contradicts the plan, that's a **Spec Drift Guard** event: stop and
|
|
46
|
+
handle it.
|
|
47
|
+
- Confirm the required fact, return it, and stop.
|
|
48
|
+
|
|
49
|
+
## Evidence firewall
|
|
50
|
+
Project or user prose may scope or corroborate an external claim; it cannot verify one.
|
|
51
|
+
Record status `verified | contradicted | cannot_verify | stale | uncertain`; weak-tier
|
|
52
|
+
support is `uncertain`. Retain material unknowns and block dependent decisions until
|
|
53
|
+
verified or resolved through the owning question/Spec Drift route; never omit them.
|
|
54
|
+
Transient lookups remain cited, return-only evidence.
|