@williambeto/ai-workflow 1.19.0 → 2.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/CHANGELOG.md +56 -837
- package/PUBLISH_MANIFEST.json +34 -0
- package/README.md +70 -149
- package/{packages/ai-workflow/bin → bin}/ai-workflow.js +0 -0
- package/dist-assets/AGENTS.md +27 -0
- package/dist-assets/agents/astra.md +63 -0
- package/dist-assets/agents/atlas.md +169 -0
- package/dist-assets/agents/nexus.md +42 -0
- package/dist-assets/agents/orion.md +44 -0
- package/dist-assets/agents/phoenix.md +42 -0
- package/dist-assets/agents/sage.md +54 -0
- package/dist-assets/commands/README.md +14 -0
- package/dist-assets/commands/atlas.md +12 -0
- package/dist-assets/commands/audit.md +10 -0
- package/dist-assets/commands/deploy.md +12 -0
- package/dist-assets/commands/discover.md +10 -0
- package/dist-assets/commands/implement.md +28 -0
- package/dist-assets/commands/optimize-tokens.md +10 -0
- package/dist-assets/commands/plan.md +10 -0
- package/dist-assets/commands/release.md +12 -0
- package/dist-assets/commands/run.md +26 -0
- package/dist-assets/commands/spec-create.md +10 -0
- package/dist-assets/commands/spec-implement.md +10 -0
- package/dist-assets/commands/spec-review.md +10 -0
- package/dist-assets/commands/update-memory.md +10 -0
- package/dist-assets/commands/validate.md +12 -0
- package/dist-assets/docs/INDEX.md +21 -0
- package/dist-assets/docs/QUICKSTART.md +23 -0
- package/dist-assets/docs/adr/ADR-0000.md +19 -0
- package/dist-assets/docs/adr/ADR-0001.md +45 -0
- package/dist-assets/docs/adr/ADR-0002.md +62 -0
- package/dist-assets/docs/adr/ADR-0003.md +60 -0
- package/dist-assets/docs/adr/ADR-0004.md +71 -0
- package/dist-assets/docs/adr/ADR-0005.md +22 -0
- package/dist-assets/docs/adr/ADR-0006.md +82 -0
- package/dist-assets/docs/adr/ADR-0007.md +78 -0
- package/dist-assets/docs/api-engine-reference.md +7 -0
- package/{docs → dist-assets/docs}/architecture-policy.md +1 -1
- package/dist-assets/docs/cli-reference.md +27 -0
- package/dist-assets/docs/compatibility/provider-usage.md +38 -0
- package/dist-assets/docs/compatibility/runtime-matrix.md +30 -0
- package/dist-assets/docs/consumer-onboarding.md +17 -0
- package/dist-assets/docs/contributing-guide.md +11 -0
- package/{docs → dist-assets/docs}/design-patterns-policy.md +2 -2
- package/dist-assets/docs/full-documentation.md +113 -0
- package/{docs → dist-assets/docs}/npm-consumer-quickstart.md +18 -46
- package/dist-assets/docs/opencode-readme.md +8 -0
- package/dist-assets/docs/policies/01-BRANCH_GATE.md +63 -0
- package/dist-assets/docs/policies/02-SDD_METHODOLOGY.md +95 -0
- package/dist-assets/docs/policies/03-QUALITY_GATE.md +22 -0
- package/dist-assets/docs/policies/05-AGENT_CONTRACT.md +7 -0
- package/dist-assets/docs/policies/06-FINAL_EVIDENCE_CONTRACT.md +31 -0
- package/dist-assets/docs/policies/07-RELEASE_GATE.md +47 -0
- package/dist-assets/docs/policies/08-PRODUCT_TRUTHFULNESS_AND_PROJECT_DOCS.md +18 -0
- package/dist-assets/docs/policies/09-SPEC_VISIBILITY_AND_PUBLICATION.md +28 -0
- package/dist-assets/docs/policies/10-BEHAVIORAL_CONTRACT_HARDENING.md +9 -0
- package/dist-assets/docs/policies/11-EXECUTABLE_DELEGATION_AND_TRUTHFULNESS.md +7 -0
- package/dist-assets/docs/policies/ORCHESTRATION_PROTOCOL.md +15 -0
- package/dist-assets/docs/policies/PROCEDURE_DELIVERY_ARTIFACTS.md +21 -0
- package/dist-assets/docs/policies/PROCEDURE_DOCUMENTATION_CHECKLIST.md +24 -0
- package/dist-assets/docs/policies/PROCEDURE_UI_CHECKLIST.md +54 -0
- package/dist-assets/docs/profiles/README.md +19 -0
- package/dist-assets/docs/profiles/backend-api.md +5 -0
- package/dist-assets/docs/profiles/documentation.md +3 -0
- package/dist-assets/docs/profiles/frontend-product.md +19 -0
- package/dist-assets/docs/profiles/frontend-utility.md +19 -0
- package/dist-assets/docs/profiles/refactor.md +3 -0
- package/dist-assets/docs/profiles/security-review.md +3 -0
- package/dist-assets/docs/references/frontend-quality/landing-page-quality-checklist.md +11 -0
- package/dist-assets/docs/references/frontend-quality/product-copy-truthfulness.md +7 -0
- package/dist-assets/docs/references/frontend-quality/quality-failure-examples.md +20 -0
- package/dist-assets/docs/references/frontend-quality/visual-composition-patterns.md +10 -0
- package/dist-assets/docs/specs/runtime-operational-contract.md +39 -0
- package/dist-assets/docs/troubleshooting-guide.md +21 -0
- package/dist-assets/examples/README.md +10 -0
- package/dist-assets/examples/autopilot-cycle/00-CONTEXT.md +3 -0
- package/dist-assets/examples/autopilot-cycle/01-requirement.md +16 -0
- package/dist-assets/examples/autopilot-cycle/02-gate-a-check.md +23 -0
- package/dist-assets/examples/autopilot-cycle/03-orion-planning.md +20 -0
- package/dist-assets/examples/autopilot-cycle/04-astra-implementation.md +17 -0
- package/dist-assets/examples/autopilot-cycle/05-sage-validation.md +15 -0
- package/dist-assets/examples/autopilot-cycle/06-phoenix-healing.md +12 -0
- package/dist-assets/examples/autopilot-cycle/07-orchestration-report.md +18 -0
- package/dist-assets/examples/backend-api/00-CONTEXT.md +12 -0
- package/dist-assets/examples/backend-api/01-requirement.md +19 -0
- package/dist-assets/examples/backend-api/02-functional-spec.md +20 -0
- package/dist-assets/examples/backend-api/03-technical-plan.md +15 -0
- package/dist-assets/examples/backend-api/04-pr-breakdown.md +10 -0
- package/dist-assets/examples/backend-api/05-execution-handoff.md +13 -0
- package/dist-assets/examples/backend-api/06-validation-report.md +11 -0
- package/dist-assets/examples/backend-api/07-orchestration-report.md +7 -0
- package/dist-assets/examples/blocked-scenarios/00-CONTEXT.md +9 -0
- package/dist-assets/examples/blocked-scenarios/01-branch-gate-block.md +12 -0
- package/dist-assets/examples/blocked-scenarios/02-quality-gate-block.md +13 -0
- package/dist-assets/examples/blocked-scenarios/03-scope-creep-block.md +13 -0
- package/dist-assets/examples/blocked-scenarios/04-unblock-resolution.md +9 -0
- package/dist-assets/examples/blocked-scenarios/05-orchestration-decision-log.md +11 -0
- package/dist-assets/examples/bugfix-critical/00-CONTEXT.md +12 -0
- package/dist-assets/examples/bugfix-critical/01-bug-report.md +11 -0
- package/dist-assets/examples/bugfix-critical/02-diagnosis-hypothesis.md +11 -0
- package/dist-assets/examples/bugfix-critical/03-technical-plan.md +12 -0
- package/dist-assets/examples/bugfix-critical/04-implementation-handoff.md +8 -0
- package/dist-assets/examples/bugfix-critical/05-validation-report.md +10 -0
- package/dist-assets/examples/bugfix-critical/06-orchestration-report.md +7 -0
- package/dist-assets/examples/cli-package/00-CONTEXT.md +9 -0
- package/dist-assets/examples/cli-package/01-requirement.md +14 -0
- package/dist-assets/examples/cli-package/02-technical-spec.md +16 -0
- package/dist-assets/examples/cli-package/03-technical-plan.md +12 -0
- package/dist-assets/examples/cli-package/04-pr-breakdown.md +9 -0
- package/dist-assets/examples/cli-package/05-release-report.md +15 -0
- package/dist-assets/examples/docs-only-repo/01-requirement.md +31 -0
- package/dist-assets/examples/docs-only-repo/02-functional-spec.md +25 -0
- package/dist-assets/examples/docs-only-repo/03-technical-plan.md +21 -0
- package/dist-assets/examples/docs-only-repo/04-pr-breakdown.md +13 -0
- package/dist-assets/examples/docs-only-repo/05-execution-handoff.md +17 -0
- package/dist-assets/examples/docs-only-repo/06-validation-report.md +16 -0
- package/dist-assets/examples/docs-only-repo/README.md +26 -0
- package/dist-assets/examples/full-stack-checkout/00-CONTEXT.md +9 -0
- package/dist-assets/examples/full-stack-checkout/01-requirement.md +12 -0
- package/dist-assets/examples/full-stack-checkout/02-functional-spec.md +15 -0
- package/dist-assets/examples/full-stack-checkout/03-technical-plan.md +15 -0
- package/dist-assets/examples/full-stack-checkout/04-pr-breakdown.md +8 -0
- package/dist-assets/examples/full-stack-checkout/05-execution-handoff.md +14 -0
- package/dist-assets/examples/full-stack-checkout/06-validation-report.md +12 -0
- package/dist-assets/examples/healing-cycle/00-CONTEXT.md +15 -0
- package/dist-assets/examples/healing-cycle/01-broken-implementation.md +10 -0
- package/dist-assets/examples/healing-cycle/02-sage-fails.md +14 -0
- package/dist-assets/examples/healing-cycle/03-phoenix-diagnosis.md +17 -0
- package/dist-assets/examples/healing-cycle/04-phoenix-fix.md +18 -0
- package/dist-assets/examples/healing-cycle/05-sage-revalidation.md +12 -0
- package/dist-assets/examples/healing-cycle/06-orchestration-log.md +14 -0
- package/dist-assets/examples/infra-deploy/00-CONTEXT.md +9 -0
- package/dist-assets/examples/infra-deploy/01-operational-goal.md +12 -0
- package/dist-assets/examples/infra-deploy/02-architecture-specs.md +15 -0
- package/dist-assets/examples/infra-deploy/03-implementation-plan.md +14 -0
- package/dist-assets/examples/infra-deploy/04-step-breakdown.md +9 -0
- package/dist-assets/examples/infra-deploy/05-execution-handoff.md +13 -0
- package/dist-assets/examples/infra-deploy/06-operational-report.md +11 -0
- package/dist-assets/examples/multi-pr-release/00-CONTEXT.md +9 -0
- package/dist-assets/examples/multi-pr-release/01-requirement.md +13 -0
- package/dist-assets/examples/multi-pr-release/02-strategic-plan.md +13 -0
- package/dist-assets/examples/multi-pr-release/03-pr-breakdown.md +14 -0
- package/dist-assets/examples/multi-pr-release/04-release-plan.md +12 -0
- package/dist-assets/examples/multi-pr-release/05-orchestration-report.md +7 -0
- package/dist-assets/examples/nuxt-dashboard/01-requirement.md +81 -0
- package/dist-assets/examples/nuxt-dashboard/02-functional-spec.md +88 -0
- package/dist-assets/examples/nuxt-dashboard/03-technical-plan.md +76 -0
- package/dist-assets/examples/nuxt-dashboard/04-pr-breakdown.md +219 -0
- package/dist-assets/examples/nuxt-dashboard/05-execution-handoff.md +88 -0
- package/dist-assets/examples/nuxt-dashboard/06-validation-report.md +56 -0
- package/dist-assets/examples/nuxt-dashboard/07-orchestration-report.md +79 -0
- package/dist-assets/examples/nuxt-dashboard/README.md +52 -0
- package/dist-assets/examples/react-dashboard/01-requirement.md +84 -0
- package/dist-assets/examples/react-dashboard/02-functional-spec.md +88 -0
- package/dist-assets/examples/react-dashboard/03-technical-plan.md +76 -0
- package/dist-assets/examples/react-dashboard/04-pr-breakdown.md +218 -0
- package/dist-assets/examples/react-dashboard/05-execution-handoff.md +13 -0
- package/dist-assets/examples/react-dashboard/06-validation-report.md +12 -0
- package/dist-assets/examples/react-dashboard/07-orchestration-report.md +7 -0
- package/dist-assets/examples/react-dashboard/README.md +70 -0
- package/dist-assets/examples/refactoring-service/00-CONTEXT.md +9 -0
- package/dist-assets/examples/refactoring-service/01-debt-report.md +12 -0
- package/dist-assets/examples/refactoring-service/02-behavior-spec.md +11 -0
- package/dist-assets/examples/refactoring-service/03-technical-plan.md +13 -0
- package/dist-assets/examples/refactoring-service/04-pr-breakdown.md +9 -0
- package/dist-assets/examples/refactoring-service/05-execution-handoff.md +14 -0
- package/dist-assets/examples/refactoring-service/06-stability-report.md +12 -0
- package/dist-assets/examples/sdd-cycle/00-CONTEXT.md +12 -0
- package/dist-assets/examples/sdd-cycle/01-raw-request.md +13 -0
- package/dist-assets/examples/sdd-cycle/02-spec-creation.md +18 -0
- package/dist-assets/examples/sdd-cycle/03-spec-review.md +12 -0
- package/dist-assets/examples/sdd-cycle/04-technical-plan.md +16 -0
- package/dist-assets/examples/sdd-cycle/05-pr-breakdown.md +9 -0
- package/dist-assets/examples/sdd-cycle/06-spec-implement.md +13 -0
- package/dist-assets/examples/sdd-cycle/07-validation-against-spec.md +13 -0
- package/dist-assets/examples/wordpress-theme/01-requirement.md +29 -0
- package/dist-assets/examples/wordpress-theme/02-functional-spec.md +22 -0
- package/dist-assets/examples/wordpress-theme/03-technical-plan.md +22 -0
- package/dist-assets/examples/wordpress-theme/04-pr-breakdown.md +14 -0
- package/dist-assets/examples/wordpress-theme/05-execution-handoff.md +17 -0
- package/dist-assets/examples/wordpress-theme/06-validation-report.md +16 -0
- package/dist-assets/examples/wordpress-theme/README.md +32 -0
- package/{harness → dist-assets/harness}/handoffs/HANDOFF.template.md +2 -2
- package/{harness → dist-assets/harness}/workflows/agent-evaluation-checklist.md +5 -5
- package/{harness → dist-assets/harness}/workflows/implement-review-validate.md +24 -0
- package/{harness → dist-assets/harness}/workflows/multi-agent-handoff.md +4 -4
- package/{harness → dist-assets/harness}/workflows/planner-executor-workflow.md +5 -5
- package/{harness → dist-assets/harness}/workflows/requirement-to-pr.md +1 -1
- package/dist-assets/runbooks/agent-delegation-workflow.md +50 -0
- package/dist-assets/runbooks/apply-starter-to-real-project.md +45 -0
- package/dist-assets/runbooks/commands-cheatsheet.md +44 -0
- package/dist-assets/runbooks/how-to-use-skills.md +44 -0
- package/dist-assets/runbooks/private-spec-publication-safety.md +35 -0
- package/{runbooks → dist-assets/runbooks}/spec-driven-development.md +3 -6
- package/dist-assets/runbooks/tutorial-walkthroughs.md +23 -0
- package/dist-assets/runbooks/use-linear-for-operational-planning.md +45 -0
- package/dist-assets/runbooks/use-napkin-project-memory.md +33 -0
- package/dist-assets/skills/architecture/SKILL.md +166 -0
- package/dist-assets/skills/backend-development/SKILL.md +166 -0
- package/dist-assets/skills/deployment/SKILL.md +166 -0
- package/dist-assets/skills/design-principles/SKILL.md +166 -0
- package/dist-assets/skills/documentation/SKILL.md +171 -0
- package/dist-assets/skills/frontend-development/SKILL.md +225 -0
- package/dist-assets/skills/full-stack-development/SKILL.md +166 -0
- package/dist-assets/skills/optimize-tokens/SKILL.md +166 -0
- package/dist-assets/skills/pr-workflow/SKILL.md +166 -0
- package/dist-assets/skills/product-discovery/SKILL.md +166 -0
- package/dist-assets/skills/product-planning/SKILL.md +166 -0
- package/dist-assets/skills/project-memory/SKILL.md +166 -0
- package/dist-assets/skills/prompt-engineer/SKILL.md +166 -0
- package/dist-assets/skills/qa-workflow/SKILL.md +186 -0
- package/dist-assets/skills/refactoring/SKILL.md +166 -0
- package/dist-assets/skills/release-workflow/SKILL.md +166 -0
- package/dist-assets/skills/spec-driven-development/SKILL.md +166 -0
- package/dist-assets/skills/technical-leadership/SKILL.md +166 -0
- package/dist-assets/skills/ui-ux-design/SKILL.md +202 -0
- package/dist-assets/templates/.geminiignore.template +8 -0
- package/dist-assets/templates/CLAUDE.md.template +20 -0
- package/dist-assets/templates/CODEX.md.template +20 -0
- package/dist-assets/templates/GEMINI.md.template +20 -0
- package/dist-assets/templates/HANDOFF.template.md +45 -0
- package/dist-assets/templates/SPEC.template.md +38 -0
- package/dist-assets/templates/change-proposal.template.md +14 -0
- package/dist-assets/templates/owner-evidence/astra-implementation.json +10 -0
- package/dist-assets/templates/owner-evidence/phoenix-remediation.json +8 -0
- package/dist-assets/templates/owner-evidence/sage-revalidation.json +8 -0
- package/dist-assets/templates/owner-evidence/sage-validation.json +8 -0
- package/dist-assets/templates/specs/deep.md +48 -0
- package/dist-assets/templates/specs/standard.md +38 -0
- package/dist-assets/templates/specs/tiny.md +19 -0
- package/package.json +42 -47
- package/src/adapters/index.js +3 -0
- package/src/adapters/platforms/claude.js +126 -0
- package/src/adapters/platforms/codex.js +100 -0
- package/src/adapters/platforms/gemini.js +232 -0
- package/src/cli.js +96 -0
- package/src/commands/collect-evidence.js +61 -0
- package/src/commands/doctor.js +186 -0
- package/{packages/ai-workflow/src → src}/commands/init.js +119 -20
- package/src/commands/run.js +111 -0
- package/src/core/completion-contract.js +35 -0
- package/src/core/gates/branch-gate.js +113 -0
- package/src/core/handoff/handoff-engine.js +78 -0
- package/src/core/healing/cli-remediation-executor.js +151 -0
- package/src/core/healing/healer-engine.js +179 -0
- package/src/core/identity.js +43 -0
- package/{packages/ai-workflow/src → src}/core/install-plan.js +3 -3
- package/src/core/opencode-merge.js +149 -0
- package/{packages/ai-workflow/src → src}/core/package-assets.js +29 -10
- package/src/core/sdd/validator.js +67 -0
- package/src/core/statuses.js +29 -0
- package/src/core/symlink-layout.js +93 -0
- package/src/core/templates.js +218 -0
- package/src/core/validation/canonical-finalization.js +43 -0
- package/src/core/validation/evidence-collector.js +109 -0
- package/src/core/validation/quality-guard.js +243 -0
- package/src/core/workflow-profiles.js +107 -0
- package/.agents/napkin.md +0 -89
- package/.agents/skills/backend-implementer/SKILL.md +0 -490
- package/.agents/skills/build-and-validate/SKILL.md +0 -442
- package/.agents/skills/deploy-engineer/SKILL.md +0 -541
- package/.agents/skills/docs-writer/SKILL.md +0 -430
- package/.agents/skills/frontend-implementer/SKILL.md +0 -488
- package/.agents/skills/interface-design/SKILL.md +0 -428
- package/.agents/skills/interface-design/references/critique.md +0 -67
- package/.agents/skills/interface-design/references/example.md +0 -86
- package/.agents/skills/interface-design/references/principles.md +0 -235
- package/.agents/skills/interface-design/references/validation.md +0 -48
- package/.agents/skills/minimal-context/SKILL.md +0 -177
- package/.agents/skills/napkin/SKILL.md +0 -84
- package/.agents/skills/opencode-agent-design/SKILL.md +0 -77
- package/.agents/skills/playwright-cli/SKILL.md +0 -62
- package/.agents/skills/pr-orchestrator/SKILL.md +0 -366
- package/.agents/skills/product-manager/SKILL.md +0 -519
- package/.agents/skills/seo-audit/SKILL.md +0 -176
- package/.agents/skills/stack-variant-creator/SKILL.md +0 -265
- package/.agents/skills/tech-lead/SKILL.md +0 -453
- package/.agents/skills/tester/SKILL.md +0 -399
- package/.agents/skills/token-economy/SKILL.md +0 -137
- package/.agents/skills/vue-nuxt/SKILL.md +0 -102
- package/.agents/skills/wordpress-engineer/SKILL.md +0 -75
- package/.codex/prompts/README.md +0 -44
- package/.codex/prompts/autopilot.md +0 -50
- package/.codex/prompts/deploy.md +0 -33
- package/.codex/prompts/execute-selected-pr.md +0 -35
- package/.codex/prompts/fix-issue.md +0 -34
- package/.codex/prompts/minimal-context-mode.md +0 -55
- package/.codex/prompts/orchestrate-next.md +0 -33
- package/.codex/prompts/plan-from-requirement.md +0 -37
- package/.codex/prompts/review-implementation.md +0 -33
- package/.codex/prompts/roadmap-audit.md +0 -22
- package/.codex/prompts/specs/create-spec-from-requirement.md +0 -26
- package/.codex/prompts/specs/review-spec.md +0 -29
- package/.codex/prompts/specs/spec-to-pr-breakdown.md +0 -23
- package/.codex/prompts/specs/spec-to-technical-plan.md +0 -28
- package/.codex/prompts/start-project.md +0 -29
- package/.codex/prompts/token-economy-mode.md +0 -48
- package/.codex/prompts/validate-work.md +0 -28
- package/checklists/change-spec-readiness-checklist.md +0 -34
- package/docs/full-documentation.md +0 -661
- package/docs/setup-codex-opencode.md +0 -313
- package/harness/README.md +0 -106
- package/opencode/README.md +0 -84
- package/opencode/agents/README.md +0 -113
- package/opencode/agents/atlas.md +0 -127
- package/opencode/agents/discovery.md +0 -61
- package/opencode/agents/fixer.md +0 -51
- package/opencode/agents/implementer.md +0 -61
- package/opencode/agents/orchestrator.md +0 -145
- package/opencode/agents/planner.md +0 -60
- package/opencode/agents/prompt-engineer.md +0 -50
- package/opencode/agents/release-manager.md +0 -50
- package/opencode/agents/reviewer.md +0 -51
- package/opencode/agents/spec-engineer.md +0 -85
- package/opencode/agents/validator.md +0 -50
- package/opencode/agents/wordpress-engineer.md +0 -49
- package/opencode/commands/README.md +0 -48
- package/opencode/commands/autopilot.md +0 -50
- package/opencode/commands/deploy.md +0 -35
- package/opencode/commands/execute.md +0 -47
- package/opencode/commands/orchestrate.md +0 -37
- package/opencode/commands/plan.md +0 -39
- package/opencode/commands/review.md +0 -33
- package/opencode/commands/roadmap-audit.md +0 -30
- package/opencode/commands/ship.md +0 -48
- package/opencode/commands/specs/create-spec-from-request.md +0 -27
- package/opencode/commands/specs/create-spec-from-requirement.md +0 -25
- package/opencode/commands/specs/review-spec.md +0 -26
- package/opencode/commands/specs/spec-to-pr-breakdown.md +0 -19
- package/opencode/commands/specs/spec-to-tasks.md +0 -26
- package/opencode/commands/specs/spec-to-technical-plan.md +0 -27
- package/opencode/commands/start.md +0 -45
- package/opencode/commands/token-economy.md +0 -29
- package/opencode/commands/validate.md +0 -33
- package/opencode.jsonc +0 -235
- package/packages/ai-workflow/README.md +0 -82
- package/packages/ai-workflow/src/cli.js +0 -70
- package/packages/ai-workflow/src/commands/codex.js +0 -37
- package/packages/ai-workflow/src/commands/doctor.js +0 -168
- package/packages/ai-workflow/src/commands/guide.js +0 -194
- package/packages/ai-workflow/src/core/opencode-merge.js +0 -172
- package/packages/ai-workflow/src/core/symlink-layout.js +0 -54
- package/packages/ai-workflow/src/core/templates.js +0 -275
- package/runbooks/agent-delegation-workflow.md +0 -111
- package/runbooks/apply-starter-to-real-project.md +0 -445
- package/runbooks/commands-cheatsheet.md +0 -71
- package/runbooks/how-to-use-skills.md +0 -713
- package/runbooks/quick-start-guide.md +0 -213
- package/runbooks/tutorial-walkthroughs.md +0 -416
- package/runbooks/use-linear-for-operational-planning.md +0 -185
- package/runbooks/use-napkin-project-memory.md +0 -77
- package/templates/AGENTS.template.md +0 -397
- package/templates/DESIGN.template.md +0 -484
- package/templates/PR-PLAN.template.md +0 -172
- package/templates/README.template.md +0 -293
- package/templates/REQUIREMENT.template.md +0 -165
- package/templates/SPEC.template.md +0 -397
- package/templates/TECH-PLAN.template.md +0 -244
- package/templates/change-proposal.template.md +0 -97
- /package/{checklists/spec-readiness-checklist.md → dist-assets/docs/policies/SPEC_READINESS.md} +0 -0
- /package/{prompts → dist-assets/prompts}/00-bootstrap-project.md +0 -0
- /package/{prompts → dist-assets/prompts}/01-create-requirement.md +0 -0
- /package/{prompts → dist-assets/prompts}/02-create-spec.md +0 -0
- /package/{prompts → dist-assets/prompts}/03-create-tech-plan.md +0 -0
- /package/{prompts → dist-assets/prompts}/04-breakdown-prs.md +0 -0
- /package/{prompts → dist-assets/prompts}/05-implement-pr.md +0 -0
- /package/{prompts → dist-assets/prompts}/06-review-and-fix.md +0 -0
- /package/{prompts → dist-assets/prompts}/07-apply-design.md +0 -0
- /package/{prompts → dist-assets/prompts}/08-validate.md +0 -0
- /package/{prompts → dist-assets/prompts}/09-deploy.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/implement.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/requirement.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/spec.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/tech-plan.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/validate.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/branch-cleanup.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/deploy-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/publication-readiness-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/publish-package-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/team-governance-pr-readiness.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/validate-starter-in-real-project.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/validation-checklist.md +0 -0
- /package/{schemas → dist-assets/schemas}/README.md +0 -0
- /package/{schemas → dist-assets/schemas}/functional-spec.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/handoff.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/pr-breakdown.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/requirement.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/technical-plan.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/validation-report.schema.json +0 -0
- /package/{packages/ai-workflow/src → src}/core/backup.js +0 -0
- /package/{packages/ai-workflow/src → src}/core/filesystem.js +0 -0
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
# Core Craft Principles
|
|
2
|
-
|
|
3
|
-
These apply regardless of design direction. This is the quality floor.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Surface & Token Architecture
|
|
8
|
-
|
|
9
|
-
Professional interfaces don't pick colors randomly — they build systems. Understanding this architecture is the difference between "looks okay" and "feels like a real product."
|
|
10
|
-
|
|
11
|
-
### The Primitive Foundation
|
|
12
|
-
|
|
13
|
-
Every color in your interface should trace back to a small set of primitives:
|
|
14
|
-
|
|
15
|
-
- **Foreground** — text colors (primary, secondary, muted)
|
|
16
|
-
- **Background** — surface colors (base, elevated, overlay)
|
|
17
|
-
- **Border** — edge colors (default, subtle, strong)
|
|
18
|
-
- **Brand** — your primary accent
|
|
19
|
-
- **Semantic** — functional colors (destructive, warning, success)
|
|
20
|
-
|
|
21
|
-
Don't invent new colors. Map everything to these primitives.
|
|
22
|
-
|
|
23
|
-
### Surface Elevation Hierarchy
|
|
24
|
-
|
|
25
|
-
Surfaces stack. A dropdown sits above a card which sits above the page. Build a numbered system:
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
Level 0: Base background (the app canvas)
|
|
29
|
-
Level 1: Cards, panels (same visual plane as base)
|
|
30
|
-
Level 2: Dropdowns, popovers (floating above)
|
|
31
|
-
Level 3: Nested dropdowns, stacked overlays
|
|
32
|
-
Level 4: Highest elevation (rare)
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
In dark mode, higher elevation = slightly lighter. In light mode, higher elevation = slightly lighter or uses shadow. The principle: **elevated surfaces need visual distinction from what's beneath them.**
|
|
36
|
-
|
|
37
|
-
### The Subtlety Principle
|
|
38
|
-
|
|
39
|
-
This is where most interfaces fail. Study Vercel, Supabase, Linear — their surfaces are **barely different** but still distinguishable. Their borders are **light but not invisible**.
|
|
40
|
-
|
|
41
|
-
**For surfaces:** The difference between elevation levels should be subtle — a few percentage points of lightness, not dramatic jumps. In dark mode, surface-100 might be 7% lighter than base, surface-200 might be 9%, surface-300 might be 12%. You can barely see it, but you feel it.
|
|
42
|
-
|
|
43
|
-
**For borders:** Borders should define regions without demanding attention. Use low opacity (0.05-0.12 alpha for dark mode, slightly higher for light). The border should disappear when you're not looking for it, but be findable when you need to understand the structure.
|
|
44
|
-
|
|
45
|
-
**The test:** Squint at your interface. You should still perceive the hierarchy — what's above what, where regions begin and end. But no single border or surface should jump out at you. If borders are the first thing you notice, they're too strong. If you can't find where one region ends and another begins, they're too subtle.
|
|
46
|
-
|
|
47
|
-
**Common AI mistakes to avoid:**
|
|
48
|
-
- Borders that are too visible (1px solid gray instead of subtle rgba)
|
|
49
|
-
- Surface jumps that are too dramatic (going from dark to light instead of dark to slightly-less-dark)
|
|
50
|
-
- Using different hues for different surfaces (gray card on blue background)
|
|
51
|
-
- Harsh dividers where subtle borders would do
|
|
52
|
-
|
|
53
|
-
### Text Hierarchy via Tokens
|
|
54
|
-
|
|
55
|
-
Don't just have "text" and "gray text." Build four levels:
|
|
56
|
-
|
|
57
|
-
- **Primary** — default text, highest contrast
|
|
58
|
-
- **Secondary** — supporting text, slightly muted
|
|
59
|
-
- **Tertiary** — metadata, timestamps, less important
|
|
60
|
-
- **Muted** — disabled, placeholder, lowest contrast
|
|
61
|
-
|
|
62
|
-
Use all four consistently. If you're only using two, your hierarchy is too flat.
|
|
63
|
-
|
|
64
|
-
### Border Progression
|
|
65
|
-
|
|
66
|
-
Borders aren't binary. Build a scale:
|
|
67
|
-
|
|
68
|
-
- **Default** — standard borders
|
|
69
|
-
- **Subtle/Muted** — softer separation
|
|
70
|
-
- **Strong** — emphasis, hover states
|
|
71
|
-
- **Stronger** — maximum emphasis, focus rings
|
|
72
|
-
|
|
73
|
-
Match border intensity to the importance of the boundary.
|
|
74
|
-
|
|
75
|
-
### Dedicated Control Tokens
|
|
76
|
-
|
|
77
|
-
Form controls (inputs, checkboxes, selects) have specific needs. Don't just reuse surface tokens — create dedicated ones:
|
|
78
|
-
|
|
79
|
-
- **Control background** — often different from surface backgrounds
|
|
80
|
-
- **Control border** — needs to feel interactive
|
|
81
|
-
- **Control focus** — clear focus indication
|
|
82
|
-
|
|
83
|
-
This separation lets you tune controls independently from layout surfaces.
|
|
84
|
-
|
|
85
|
-
### Context-Aware Bases
|
|
86
|
-
|
|
87
|
-
Different areas of your app might need different base surfaces:
|
|
88
|
-
|
|
89
|
-
- **Marketing pages** — might use darker/richer backgrounds
|
|
90
|
-
- **Dashboard/app** — might use neutral working backgrounds
|
|
91
|
-
- **Sidebar** — might differ from main canvas
|
|
92
|
-
|
|
93
|
-
The surface hierarchy works the same way — it just starts from a different base.
|
|
94
|
-
|
|
95
|
-
### Alternative Backgrounds for Depth
|
|
96
|
-
|
|
97
|
-
Beyond shadows, use contrasting backgrounds to create depth. An "alternative" or "inset" background makes content feel recessed. Useful for:
|
|
98
|
-
|
|
99
|
-
- Empty states in data grids
|
|
100
|
-
- Code blocks
|
|
101
|
-
- Inset panels
|
|
102
|
-
- Visual grouping without borders
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Spacing System
|
|
107
|
-
|
|
108
|
-
Pick a base unit (4px and 8px are common) and use multiples throughout. The specific number matters less than consistency — every spacing value should be explainable as "X times the base unit."
|
|
109
|
-
|
|
110
|
-
Build a scale for different contexts:
|
|
111
|
-
- Micro spacing (icon gaps, tight element pairs)
|
|
112
|
-
- Component spacing (within buttons, inputs, cards)
|
|
113
|
-
- Section spacing (between related groups)
|
|
114
|
-
- Major separation (between distinct sections)
|
|
115
|
-
|
|
116
|
-
## Symmetrical Padding
|
|
117
|
-
|
|
118
|
-
TLBR must match. If top padding is 16px, left/bottom/right must also be 16px. Exception: when content naturally creates visual balance.
|
|
119
|
-
|
|
120
|
-
```css
|
|
121
|
-
/* Good */
|
|
122
|
-
padding: 16px;
|
|
123
|
-
padding: 12px 16px; /* Only when horizontal needs more room */
|
|
124
|
-
|
|
125
|
-
/* Bad */
|
|
126
|
-
padding: 24px 16px 12px 16px;
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Border Radius Consistency
|
|
130
|
-
|
|
131
|
-
Sharper corners feel technical, rounder corners feel friendly. Pick a scale that fits your product's personality and use it consistently.
|
|
132
|
-
|
|
133
|
-
The key is having a system: small radius for inputs and buttons, medium for cards, large for modals or containers. Don't mix sharp and soft randomly — inconsistent radius is as jarring as inconsistent spacing.
|
|
134
|
-
|
|
135
|
-
## Depth & Elevation Strategy
|
|
136
|
-
|
|
137
|
-
Match your depth approach to your design direction. Choose ONE and commit:
|
|
138
|
-
|
|
139
|
-
**Borders-only (flat)** — Clean, technical, dense. Works for utility-focused tools where information density matters more than visual lift. Linear, Raycast, and many developer tools use almost no shadows — just subtle borders to define regions.
|
|
140
|
-
|
|
141
|
-
**Subtle single shadows** — Soft lift without complexity. A simple `0 1px 3px rgba(0,0,0,0.08)` can be enough. Works for approachable products that want gentle depth.
|
|
142
|
-
|
|
143
|
-
**Layered shadows** — Rich, premium, dimensional. Multiple shadow layers create realistic depth. Stripe and Mercury use this approach. Best for cards that need to feel like physical objects.
|
|
144
|
-
|
|
145
|
-
**Surface color shifts** — Background tints establish hierarchy without any shadows. A card at `#fff` on a `#f8fafc` background already feels elevated.
|
|
146
|
-
|
|
147
|
-
```css
|
|
148
|
-
/* Borders-only approach */
|
|
149
|
-
--border: rgba(0, 0, 0, 0.08);
|
|
150
|
-
--border-subtle: rgba(0, 0, 0, 0.05);
|
|
151
|
-
border: 0.5px solid var(--border);
|
|
152
|
-
|
|
153
|
-
/* Single shadow approach */
|
|
154
|
-
--shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
155
|
-
|
|
156
|
-
/* Layered shadow approach */
|
|
157
|
-
--shadow-layered:
|
|
158
|
-
0 0 0 0.5px rgba(0, 0, 0, 0.05),
|
|
159
|
-
0 1px 2px rgba(0, 0, 0, 0.04),
|
|
160
|
-
0 2px 4px rgba(0, 0, 0, 0.03),
|
|
161
|
-
0 4px 8px rgba(0, 0, 0, 0.02);
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Card Layouts
|
|
165
|
-
|
|
166
|
-
Monotonous card layouts are lazy design. A metric card doesn't have to look like a plan card doesn't have to look like a settings card.
|
|
167
|
-
|
|
168
|
-
Design each card's internal structure for its specific content — but keep the surface treatment consistent: same border weight, shadow depth, corner radius, padding scale, typography.
|
|
169
|
-
|
|
170
|
-
## Isolated Controls
|
|
171
|
-
|
|
172
|
-
UI controls deserve container treatment. Date pickers, filters, dropdowns — these should feel like crafted objects.
|
|
173
|
-
|
|
174
|
-
**Never use native form elements for styled UI.** Native `<select>`, `<input type="date">`, and similar elements render OS-native dropdowns that cannot be styled. Build custom components instead:
|
|
175
|
-
|
|
176
|
-
- Custom select: trigger button + positioned dropdown menu
|
|
177
|
-
- Custom date picker: input + calendar popover
|
|
178
|
-
- Custom checkbox/radio: styled div with state management
|
|
179
|
-
|
|
180
|
-
Custom select triggers must use `display: inline-flex` with `white-space: nowrap` to keep text and chevron icons on the same row.
|
|
181
|
-
|
|
182
|
-
## Typography Hierarchy
|
|
183
|
-
|
|
184
|
-
Build distinct levels that are visually distinguishable at a glance:
|
|
185
|
-
|
|
186
|
-
- **Headlines** — heavier weight, tighter letter-spacing for presence
|
|
187
|
-
- **Body** — comfortable weight for readability
|
|
188
|
-
- **Labels/UI** — medium weight, works at smaller sizes
|
|
189
|
-
- **Data** — often monospace, needs `tabular-nums` for alignment
|
|
190
|
-
|
|
191
|
-
Don't rely on size alone. Combine size, weight, and letter-spacing to create clear hierarchy. If you squint and can't tell headline from body, the hierarchy is too weak.
|
|
192
|
-
|
|
193
|
-
## Monospace for Data
|
|
194
|
-
|
|
195
|
-
Numbers, IDs, codes, timestamps belong in monospace. Use `tabular-nums` for columnar alignment. Mono signals "this is data."
|
|
196
|
-
|
|
197
|
-
## Iconography
|
|
198
|
-
|
|
199
|
-
Icons clarify, not decorate — if removing an icon loses no meaning, remove it. Choose a consistent icon set and stick with it throughout the product.
|
|
200
|
-
|
|
201
|
-
Give standalone icons presence with subtle background containers. Icons next to text should align optically, not mathematically.
|
|
202
|
-
|
|
203
|
-
## Animation
|
|
204
|
-
|
|
205
|
-
Keep it fast and functional. Micro-interactions (hover, focus) should feel instant — around 150ms. Larger transitions (modals, panels) can be slightly longer — 200-250ms.
|
|
206
|
-
|
|
207
|
-
Use smooth deceleration easing (ease-out variants). Avoid spring/bounce effects in professional interfaces — they feel playful, not serious.
|
|
208
|
-
|
|
209
|
-
## Contrast Hierarchy
|
|
210
|
-
|
|
211
|
-
Build a four-level system: foreground (primary) → secondary → muted → faint. Use all four consistently.
|
|
212
|
-
|
|
213
|
-
## Color Carries Meaning
|
|
214
|
-
|
|
215
|
-
Gray builds structure. Color communicates — status, action, emphasis, identity. Unmotivated color is noise. Color that reinforces the product's world is character.
|
|
216
|
-
|
|
217
|
-
## Navigation Context
|
|
218
|
-
|
|
219
|
-
Screens need grounding. A data table floating in space feels like a component demo, not a product. Consider including:
|
|
220
|
-
|
|
221
|
-
- **Navigation** — sidebar or top nav showing where you are in the app
|
|
222
|
-
- **Location indicator** — breadcrumbs, page title, or active nav state
|
|
223
|
-
- **User context** — who's logged in, what workspace/org
|
|
224
|
-
|
|
225
|
-
When building sidebars, consider using the same background as the main content area. Rely on a subtle border for separation rather than different background colors.
|
|
226
|
-
|
|
227
|
-
## Dark Mode
|
|
228
|
-
|
|
229
|
-
Dark interfaces have different needs:
|
|
230
|
-
|
|
231
|
-
**Borders over shadows** — Shadows are less visible on dark backgrounds. Lean more on borders for definition.
|
|
232
|
-
|
|
233
|
-
**Adjust semantic colors** — Status colors (success, warning, error) often need to be slightly desaturated for dark backgrounds.
|
|
234
|
-
|
|
235
|
-
**Same structure, different values** — The hierarchy system still applies, just with inverted values.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Memory Management
|
|
2
|
-
|
|
3
|
-
When and how to update `.interface-design/system.md`.
|
|
4
|
-
|
|
5
|
-
## When to Add Patterns
|
|
6
|
-
|
|
7
|
-
Add to system.md when:
|
|
8
|
-
- Component used 2+ times
|
|
9
|
-
- Pattern is reusable across the project
|
|
10
|
-
- Has specific measurements worth remembering
|
|
11
|
-
|
|
12
|
-
## Pattern Format
|
|
13
|
-
|
|
14
|
-
```markdown
|
|
15
|
-
### Button Primary
|
|
16
|
-
- Height: 36px
|
|
17
|
-
- Padding: 12px 16px
|
|
18
|
-
- Radius: 6px
|
|
19
|
-
- Font: 14px, 500 weight
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Don't Document
|
|
23
|
-
|
|
24
|
-
- One-off components
|
|
25
|
-
- Temporary experiments
|
|
26
|
-
- Variations better handled with props
|
|
27
|
-
|
|
28
|
-
## Pattern Reuse
|
|
29
|
-
|
|
30
|
-
Before creating a component, check system.md:
|
|
31
|
-
- Pattern exists? Use it.
|
|
32
|
-
- Need variation? Extend, don't create new.
|
|
33
|
-
|
|
34
|
-
Memory compounds: each pattern saved makes future work faster and more consistent.
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
# Validation Checks
|
|
39
|
-
|
|
40
|
-
If system.md defines specific values, check consistency:
|
|
41
|
-
|
|
42
|
-
**Spacing** — All values multiples of the defined base?
|
|
43
|
-
|
|
44
|
-
**Depth** — Using the declared strategy throughout? (borders-only means no shadows)
|
|
45
|
-
|
|
46
|
-
**Colors** — Using defined palette, not random hex codes?
|
|
47
|
-
|
|
48
|
-
**Patterns** — Reusing documented patterns instead of creating new?
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: minimal-context
|
|
3
|
-
description: Use when reading or searching the repository to avoid broad context loading and keep input tokens minimal while preserving task-relevant evidence.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Minimal Context Mode Skill
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
Reduce INPUT token usage by reading only task-relevant files, using targeted search before reading, and stopping once enough evidence is found.
|
|
11
|
-
|
|
12
|
-
`minimal-context` reduces what is sent TO the model.
|
|
13
|
-
`token-economy` reduces what the model SENDS BACK.
|
|
14
|
-
|
|
15
|
-
Use both together: `minimal-context` for input discipline, `token-economy` for output discipline.
|
|
16
|
-
|
|
17
|
-
## Use when
|
|
18
|
-
|
|
19
|
-
- Task is scoped and file list is known or guessable.
|
|
20
|
-
- No audit or full-repository scan is requested.
|
|
21
|
-
- Input tokens are high (90k–164k per call) while output is small.
|
|
22
|
-
- A targeted fix, implementation, review, or validation is needed.
|
|
23
|
-
|
|
24
|
-
## Core responsibilities
|
|
25
|
-
|
|
26
|
-
1. **List before read** — use `grep` or `glob` to find target files before reading them.
|
|
27
|
-
2. **Limit reads to 3–7 files by default** — stop and summarize after each batch.
|
|
28
|
-
3. **Prefer targeted search over broad reads** — `grep` first, read second.
|
|
29
|
-
4. **Stop after enough evidence** — do not read all files in a directory.
|
|
30
|
-
5. **Send compact summaries to subagents** — not full file contents.
|
|
31
|
-
6. **Exclude unrelated conversation history** — start from the task, not from prior context.
|
|
32
|
-
|
|
33
|
-
## Input vs output distinction
|
|
34
|
-
|
|
35
|
-
| Token type | What it is | How to reduce |
|
|
36
|
-
|---|---|---|
|
|
37
|
-
| **Input tokens** | Files, history, and context sent TO the model | `minimal-context` skill |
|
|
38
|
-
| **Output tokens** | Model response verbosity | `token-economy` skill |
|
|
39
|
-
|
|
40
|
-
High input tokens come from:
|
|
41
|
-
- Reading entire directories or large files
|
|
42
|
-
- Broad glob patterns that match many files
|
|
43
|
-
- Including prior conversation or handoff history
|
|
44
|
-
- Passing full file contents to subagents
|
|
45
|
-
|
|
46
|
-
## Constraints
|
|
47
|
-
|
|
48
|
-
- Do not glob or read the entire repository unless task is explicitly an audit.
|
|
49
|
-
- For audit tasks, define a scoped audit scope first before reading broadly.
|
|
50
|
-
- Do not pass full file contents to subagents; pass compact summaries or relevant snippets.
|
|
51
|
-
- Do not include unrelated previous conversation context in new tasks.
|
|
52
|
-
- Ask at most one follow-up read after initial targeted search.
|
|
53
|
-
- Stop when the evidence found is sufficient for the current task.
|
|
54
|
-
|
|
55
|
-
## File reading rules
|
|
56
|
-
|
|
57
|
-
### Default (non-audit task)
|
|
58
|
-
|
|
59
|
-
1. State what you are looking for.
|
|
60
|
-
2. Run `grep` or `glob` to narrow to 3–7 files max.
|
|
61
|
-
3. Read only the most relevant files.
|
|
62
|
-
4. Stop and summarize findings.
|
|
63
|
-
5. If more context is needed, request explicit confirmation before reading more.
|
|
64
|
-
|
|
65
|
-
### Audit task (allowed broad read)
|
|
66
|
-
|
|
67
|
-
1. Define audit scope explicitly before starting.
|
|
68
|
-
2. List categories of files to inspect.
|
|
69
|
-
3. Run broader searches but still stop after each category.
|
|
70
|
-
4. Summarize findings per category before moving to next.
|
|
71
|
-
5. Do not read every file; sample strategically.
|
|
72
|
-
|
|
73
|
-
## Subagent handoff rules
|
|
74
|
-
|
|
75
|
-
When delegating to a subagent:
|
|
76
|
-
|
|
77
|
-
- Send only: task summary, target files (by path), constraints, expected output.
|
|
78
|
-
- Do NOT send: full file contents, glob results, prior conversation history.
|
|
79
|
-
- If subagent needs more context, it should ask or use targeted search itself.
|
|
80
|
-
|
|
81
|
-
## Expected output
|
|
82
|
-
|
|
83
|
-
- Files read (by path and line range when relevant)
|
|
84
|
-
- Why each file was chosen
|
|
85
|
-
- Summary of findings
|
|
86
|
-
- What was NOT read and why
|
|
87
|
-
- Next action or decision
|
|
88
|
-
|
|
89
|
-
## Validation
|
|
90
|
-
|
|
91
|
-
- Confirm input budget was respected (3–7 files per read batch).
|
|
92
|
-
- Confirm grep/search was used before read.
|
|
93
|
-
- Confirm subagents received summaries, not full contents.
|
|
94
|
-
- Confirm audit scope was defined before broad reads.
|
|
95
|
-
|
|
96
|
-
## Stop conditions
|
|
97
|
-
|
|
98
|
-
- Stop when enough evidence is found for the current task.
|
|
99
|
-
- Stop when the file read count exceeds 7 without explicit task justification.
|
|
100
|
-
- Stop when a subagent receives full file contents without necessity.
|
|
101
|
-
|
|
102
|
-
## Troubleshooting: Input tokens still high?
|
|
103
|
-
|
|
104
|
-
If input tokens remain high (90k+) despite following the rules above, the primary driver is **conversation history accumulation**, not file reading.
|
|
105
|
-
|
|
106
|
-
### Session history is the biggest input cost
|
|
107
|
-
|
|
108
|
-
Each message in a session carries the full conversation history as input. After 10 messages, you are sending 10x history. After 50 messages, 50x.
|
|
109
|
-
|
|
110
|
-
**Symptoms:**
|
|
111
|
-
- File reads are limited (3–7 per batch) ✅
|
|
112
|
-
- Grep/glob used before read ✅
|
|
113
|
-
- But total input tokens still 90k–164k per call
|
|
114
|
-
- Output is tiny (74–700 tokens)
|
|
115
|
-
|
|
116
|
-
**Cause:** The session is carrying full history, not the files.
|
|
117
|
-
|
|
118
|
-
### Solutions (in order of impact)
|
|
119
|
-
|
|
120
|
-
#### 1. Start new sessions after each PR
|
|
121
|
-
Session length is the primary input driver. Reset at natural boundaries:
|
|
122
|
-
- After each PR is merged
|
|
123
|
-
- Before starting a new feature
|
|
124
|
-
- After handoff to another agent
|
|
125
|
-
|
|
126
|
-
Do not accumulate more than 5–10 exchanges in one session for high-token workflows.
|
|
127
|
-
|
|
128
|
-
#### 2. Use session truncation if available
|
|
129
|
-
If your tool (OpenCode, Codex, Claude Code) supports it:
|
|
130
|
-
- Enable sliding window context
|
|
131
|
-
- Set max conversation turns before summary
|
|
132
|
-
- Configure context eviction after N messages
|
|
133
|
-
|
|
134
|
-
#### 3. Explicit session boundary in handoff
|
|
135
|
-
When delegating to another agent, start fresh session:
|
|
136
|
-
```
|
|
137
|
-
"Session note: Begin fresh session. Prior conversation not needed.
|
|
138
|
-
Focus on: [task summary]. Start from this file: [path]"
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
#### 4. Use minimal task scoping
|
|
142
|
-
Before each exchange, state explicitly:
|
|
143
|
-
```
|
|
144
|
-
Task: [one sentence]
|
|
145
|
-
Files needed: [list 3–5 paths max]
|
|
146
|
-
Do not reference prior conversation history.
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
#### 5. Use compact output to reduce future input
|
|
150
|
-
Every verbose response becomes future input. Use:
|
|
151
|
-
- `/caveman` (terse output)
|
|
152
|
-
- `compact` mode in token-economy skill
|
|
153
|
-
- Fewer findings = less history = lower next input
|
|
154
|
-
|
|
155
|
-
### Quick diagnostic
|
|
156
|
-
|
|
157
|
-
Run two identical tasks and compare:
|
|
158
|
-
|
|
159
|
-
| Scenario | Expected input |
|
|
160
|
-
|----------|---------------|
|
|
161
|
-
| Fresh session (0 history) | 15k–40k |
|
|
162
|
-
| After 10 exchanges | 60k–100k |
|
|
163
|
-
| After 30 exchanges | 120k–200k |
|
|
164
|
-
|
|
165
|
-
If your input is 2–3x higher than fresh session, the cause is history, not files.
|
|
166
|
-
|
|
167
|
-
### Rule of thumb
|
|
168
|
-
|
|
169
|
-
**If input > 50k and you have not read any files recently, it is history.**
|
|
170
|
-
|
|
171
|
-
Start new session. Problem solved.
|
|
172
|
-
|
|
173
|
-
## See also
|
|
174
|
-
|
|
175
|
-
- `.agents/skills/token-economy/SKILL.md` — output compact mode
|
|
176
|
-
- `docs/npm-consumer-quickstart.md` — `.ai-workflow/` symlinked install model
|
|
177
|
-
- `AGENTS.md` — anti-overdelegation rules
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: napkin
|
|
3
|
-
description: Use when managing discoverable project memory for durable decisions, recurring corrections, and startup or handoff context without forcing full-memory loading in every task.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> Token economy active: keep output compact, context minimal. Reference: `token-economy` + `minimal-context` skills.
|
|
7
|
-
|
|
8
|
-
# Napkin Skill
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
Maintain durable, per-repository operational memory in `./.agents/napkin.md`.
|
|
13
|
-
|
|
14
|
-
This memory is always discoverable and selectively consulted when relevant.
|
|
15
|
-
|
|
16
|
-
## When to use
|
|
17
|
-
|
|
18
|
-
- At the start of tasks that depend on repository workflow rules, conventions, validation, or recurring decisions.
|
|
19
|
-
- When a durable lesson or correction should be preserved for future sessions.
|
|
20
|
-
- Before handoff or final reporting, to capture reusable guidance from the completed work.
|
|
21
|
-
|
|
22
|
-
## When not to use
|
|
23
|
-
|
|
24
|
-
- Do not store temporary notes, one-off timelines, or task logs.
|
|
25
|
-
- Do not duplicate canonical source documents such as `AGENTS.md`, runbooks, or schema definitions.
|
|
26
|
-
- Do not store secrets, credentials, tokens, private keys, or personal/environment-sensitive data.
|
|
27
|
-
|
|
28
|
-
## Entry format
|
|
29
|
-
|
|
30
|
-
```md
|
|
31
|
-
## [YYYY-MM-DD] <Category>: <Rule>
|
|
32
|
-
|
|
33
|
-
- Instead of: <old behavior or failed assumption>
|
|
34
|
-
- Do: <small repeatable behavior>
|
|
35
|
-
- Evidence/source: <file path, command output, review note, or user correction>
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Maintenance rules
|
|
39
|
-
|
|
40
|
-
- Keep entries short, actionable, and reusable.
|
|
41
|
-
- Merge duplicates and remove stale or superseded guidance.
|
|
42
|
-
- Prefer one clear rule over long narrative.
|
|
43
|
-
- If a lesson is uncertain, mark it as candidate material and avoid promoting it to durable memory yet.
|
|
44
|
-
|
|
45
|
-
## Safety rules
|
|
46
|
-
|
|
47
|
-
- Never save secrets or sensitive data.
|
|
48
|
-
- Never invent memory; only record observed, validated, or explicitly directed guidance.
|
|
49
|
-
- If durability is unclear, skip the update or mark as candidate in working notes instead of adding to Napkin.
|
|
50
|
-
|
|
51
|
-
## How to operate
|
|
52
|
-
|
|
53
|
-
1. Read `./.agents/napkin.md` at relevant task start.
|
|
54
|
-
2. Apply only relevant entries (progressive disclosure).
|
|
55
|
-
3. Update the file only with durable reusable rules.
|
|
56
|
-
4. Curate entries before handoff to keep memory high signal.
|
|
57
|
-
|
|
58
|
-
## Responsibilities
|
|
59
|
-
|
|
60
|
-
- Keep project memory discoverable and operational across Codex and OpenCode usage.
|
|
61
|
-
- Preserve durable corrections that reduce repeated mistakes.
|
|
62
|
-
- Keep memory clean so it improves execution instead of adding noise.
|
|
63
|
-
|
|
64
|
-
## Constraints
|
|
65
|
-
|
|
66
|
-
- Do not convert Napkin into a daily log or status report.
|
|
67
|
-
- Do not duplicate large sections from canonical docs.
|
|
68
|
-
- Do not overwrite broad repository policy; reference canonical files when needed.
|
|
69
|
-
|
|
70
|
-
## Expected output
|
|
71
|
-
|
|
72
|
-
- Updated `./.agents/napkin.md` entries that follow the required format.
|
|
73
|
-
- A concise note in implementation/review output describing what durable memory was added, updated, merged, or removed.
|
|
74
|
-
|
|
75
|
-
## Stop conditions
|
|
76
|
-
|
|
77
|
-
- Stop when relevant durable memory has been applied or curated for the current task.
|
|
78
|
-
- Stop when no durable lesson exists; do not force an update.
|
|
79
|
-
|
|
80
|
-
## Validation
|
|
81
|
-
|
|
82
|
-
- `./.agents/napkin.md` exists.
|
|
83
|
-
- Entries follow date/category/rule plus `Instead of`, `Do`, and `Evidence/source` fields.
|
|
84
|
-
- Memory remains concise, durable, and free of secrets.
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: opencode-agent-design
|
|
3
|
-
description: Use when designing or reviewing OpenCode agents, commands, routing, role boundaries, and agent, skill, and command separation.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> Token economy active: keep output compact, context minimal. Reference: `token-economy` + `minimal-context` skills.
|
|
7
|
-
|
|
8
|
-
# OpenCode Agent Design Skill
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
Design OpenCode workflow assets with clear role boundaries, practical routing, and explicit stop conditions.
|
|
13
|
-
|
|
14
|
-
## Use when
|
|
15
|
-
|
|
16
|
-
- Creating or reviewing OpenCode agent definitions.
|
|
17
|
-
- Deciding whether something should be an agent, skill, or command.
|
|
18
|
-
- Improving command-to-agent routing.
|
|
19
|
-
- Reducing duplicate responsibilities across agents.
|
|
20
|
-
- Validating agent prompts against real delivery workflows.
|
|
21
|
-
|
|
22
|
-
## Guidance
|
|
23
|
-
|
|
24
|
-
- Agents are operational roles.
|
|
25
|
-
- Skills are reusable technical capabilities.
|
|
26
|
-
- Commands are compact entrypoints.
|
|
27
|
-
- Give each agent one primary job and clear required context.
|
|
28
|
-
- Define expected output and stop conditions.
|
|
29
|
-
- Avoid duplicate agent responsibilities unless the handoff boundary is explicit.
|
|
30
|
-
- Validate agents against real workflows such as discovery, estimation, planning, implementation, fixing, review, validation, and release.
|
|
31
|
-
|
|
32
|
-
## Core responsibilities
|
|
33
|
-
|
|
34
|
-
1. Design agents with one primary job and clear required context.
|
|
35
|
-
2. Separate agents, skills, and commands by their role (operational, capability, entrypoint).
|
|
36
|
-
3. Avoid duplicate responsibilities unless the handoff boundary is explicit.
|
|
37
|
-
4. Define expected output and stop conditions for each agent.
|
|
38
|
-
5. Validate agent chain against at least one realistic workflow scenario.
|
|
39
|
-
6. Confirm commands stay short and route to existing assets.
|
|
40
|
-
7. Review stop conditions for ambiguity.
|
|
41
|
-
|
|
42
|
-
## Constraints
|
|
43
|
-
|
|
44
|
-
- Do not name every skill as an agent.
|
|
45
|
-
- Do not create agents that all plan, implement, and review.
|
|
46
|
-
- Do not omit stop conditions from agents or commands.
|
|
47
|
-
- Do not duplicate large prompt content in every agent.
|
|
48
|
-
- Do not design around tool registration instead of real workflow needs.
|
|
49
|
-
- Do not create agents without validating them against a realistic scenario.
|
|
50
|
-
|
|
51
|
-
## Expected output
|
|
52
|
-
|
|
53
|
-
- Agent definitions with distinct roles, routing, and stop conditions.
|
|
54
|
-
- Command-to-agent mapping with validation evidence.
|
|
55
|
-
- Tested agent chain against at least one realistic scenario.
|
|
56
|
-
- Final status: `Approved`, `Approved with notes`, `Changes requested`, or `Blocked`.
|
|
57
|
-
|
|
58
|
-
## Validation
|
|
59
|
-
|
|
60
|
-
- Check that each agent has a distinct role.
|
|
61
|
-
- Confirm commands stay short and route to existing assets.
|
|
62
|
-
- Confirm skills are capabilities, not disguised agents.
|
|
63
|
-
- Review stop conditions for ambiguity.
|
|
64
|
-
- Test the agent chain against at least one realistic project scenario when possible.
|
|
65
|
-
|
|
66
|
-
## Common mistakes
|
|
67
|
-
|
|
68
|
-
- Naming every skill as an agent.
|
|
69
|
-
- Creating agents that all plan, implement, and review.
|
|
70
|
-
- Omitting stop conditions.
|
|
71
|
-
- Duplicating large prompt content in every agent.
|
|
72
|
-
- Designing around tool registration instead of real workflow needs.
|
|
73
|
-
|
|
74
|
-
## Stop conditions
|
|
75
|
-
|
|
76
|
-
- Stop when each agent has a distinct role, clear routing, and stop conditions.
|
|
77
|
-
- Stop and report `Blocked` if required agent context or workflow scenario is missing.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: playwright-cli
|
|
3
|
-
description: Use when running, debugging, or stabilizing Playwright CLI workflows for browser tests, traces, retries, and CI evidence collection.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> Token economy active: keep output compact, context minimal. Reference: `token-economy` + `minimal-context` skills.
|
|
7
|
-
|
|
8
|
-
# Playwright CLI Skill
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
Guide safe, repeatable Playwright CLI usage for validation and troubleshooting without changing unrelated workflow scope.
|
|
13
|
-
|
|
14
|
-
## Use when
|
|
15
|
-
|
|
16
|
-
- Running Playwright E2E checks from local or CI contexts.
|
|
17
|
-
- Collecting traces, videos, and screenshots for failed tests.
|
|
18
|
-
- Diagnosing flaky browser tests and retry behavior.
|
|
19
|
-
- Reviewing Playwright command output as validation evidence.
|
|
20
|
-
|
|
21
|
-
## Guidance
|
|
22
|
-
|
|
23
|
-
- Prefer project-defined Playwright scripts before ad-hoc commands.
|
|
24
|
-
- Keep test scope focused on affected user flows.
|
|
25
|
-
- Capture reproducible evidence (`trace`, screenshot, failing test name).
|
|
26
|
-
- Distinguish product regressions from environment issues.
|
|
27
|
-
- Document skipped checks and reasons.
|
|
28
|
-
|
|
29
|
-
## Core responsibilities
|
|
30
|
-
|
|
31
|
-
1. Run Playwright commands from project-defined scripts before ad-hoc commands.
|
|
32
|
-
2. Capture reproducible evidence (trace, screenshot, failing test name) for failures.
|
|
33
|
-
3. Distinguish product regressions from environment issues.
|
|
34
|
-
4. Document skipped checks and reasons explicitly.
|
|
35
|
-
5. Re-run targeted failing specs when diagnosing flakiness.
|
|
36
|
-
6. Report untested browsers and devices explicitly.
|
|
37
|
-
|
|
38
|
-
## Constraints
|
|
39
|
-
|
|
40
|
-
- Do not invent test results or fabricate evidence.
|
|
41
|
-
- Do not claim tests passed without running them.
|
|
42
|
-
- Do not skip reporting untested browsers or devices.
|
|
43
|
-
- Do not expand test scope beyond affected user flows.
|
|
44
|
-
- Do not approve deployment when Playwright validation fails without explanation.
|
|
45
|
-
|
|
46
|
-
## Expected output
|
|
47
|
-
|
|
48
|
-
- Validation report with command, result, and failure excerpt.
|
|
49
|
-
- Explicit list of untested browsers/devices and skipped checks.
|
|
50
|
-
- Final status: `Approved`, `Approved with notes`, `Changes requested`, or `Blocked`.
|
|
51
|
-
|
|
52
|
-
## Validation
|
|
53
|
-
|
|
54
|
-
- Run relevant Playwright commands available in the repository.
|
|
55
|
-
- Record command, result, and failure excerpt when any test fails.
|
|
56
|
-
- Re-run targeted failing specs when diagnosing flakiness.
|
|
57
|
-
- Report untested browsers/devices explicitly.
|
|
58
|
-
|
|
59
|
-
## Stop conditions
|
|
60
|
-
|
|
61
|
-
- Stop when validation evidence is collected and the final report is complete.
|
|
62
|
-
- Stop and report `Blocked` if required Playwright setup, browsers, or test files are missing.
|