@event4u/agent-config 1.14.0 → 1.16.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/.agent-src/commands/agent-handoff.md +1 -1
- package/.agent-src/commands/bug-fix.md +3 -3
- package/.agent-src/commands/bug-investigate.md +2 -2
- package/.agent-src/commands/chat-history-checkpoint.md +3 -3
- package/.agent-src/commands/chat-history-clear.md +2 -2
- package/.agent-src/commands/chat-history-resume.md +2 -2
- package/.agent-src/commands/chat-history.md +3 -3
- package/.agent-src/commands/check-current-md.md +44 -33
- package/.agent-src/commands/commit-in-chunks.md +43 -23
- package/.agent-src/commands/compress.md +34 -2
- package/.agent-src/commands/council-design.md +96 -0
- package/.agent-src/commands/council-optimize.md +115 -0
- package/.agent-src/commands/council-pr.md +123 -0
- package/.agent-src/commands/council.md +219 -0
- package/.agent-src/commands/create-pr.md +23 -0
- package/.agent-src/commands/do-and-judge.md +3 -3
- package/.agent-src/commands/do-in-steps.md +4 -4
- package/.agent-src/commands/e2e-heal.md +1 -1
- package/.agent-src/commands/e2e-plan.md +1 -1
- package/.agent-src/commands/feature-dev.md +8 -0
- package/.agent-src/commands/feature-explore.md +6 -1
- package/.agent-src/commands/feature-plan.md +33 -2
- package/.agent-src/commands/feature-refactor.md +5 -0
- package/.agent-src/commands/feature-roadmap.md +8 -3
- package/.agent-src/commands/feature.md +58 -0
- package/.agent-src/commands/fix-ci.md +5 -0
- package/.agent-src/commands/fix-portability.md +7 -2
- package/.agent-src/commands/fix-pr-bot-comments.md +5 -0
- package/.agent-src/commands/fix-pr-comments.md +5 -0
- package/.agent-src/commands/fix-pr-developer-comments.md +5 -0
- package/.agent-src/commands/fix-references.md +5 -0
- package/.agent-src/commands/fix-seeder.md +5 -0
- package/.agent-src/commands/fix.md +60 -0
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/judge.md +1 -1
- package/.agent-src/commands/memory-add.md +3 -3
- package/.agent-src/commands/memory-full.md +2 -2
- package/.agent-src/commands/memory-promote.md +2 -2
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/onboard.md +17 -8
- package/.agent-src/commands/optimize-agents.md +6 -1
- package/.agent-src/commands/optimize-augmentignore.md +14 -0
- package/.agent-src/commands/optimize-rtk-filters.md +5 -0
- package/.agent-src/commands/optimize-skills.md +6 -1
- package/.agent-src/commands/optimize.md +54 -0
- package/.agent-src/commands/propose-memory.md +2 -2
- package/.agent-src/commands/refine-ticket.md +9 -7
- package/.agent-src/commands/review-changes.md +61 -9
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/roadmap-create.md +42 -4
- package/.agent-src/commands/roadmap-execute.md +9 -7
- package/.agent-src/commands/set-cost-profile.md +11 -3
- package/.agent-src/commands/sync-agent-settings.md +11 -2
- package/.agent-src/commands/tests-create.md +1 -1
- package/.agent-src/commands/tests-execute.md +2 -3
- package/.agent-src/commands/upstream-contribute.md +1 -1
- package/.agent-src/contexts/authority/commit-mechanics.md +57 -0
- package/.agent-src/contexts/authority/destructive-mechanics.md +66 -0
- package/.agent-src/contexts/authority/scope-mechanics.md +87 -0
- package/.agent-src/contexts/execution/autonomy-detection.md +54 -0
- package/.agent-src/contexts/execution/autonomy-examples.md +90 -0
- package/.agent-src/contexts/execution/autonomy-mechanics.md +29 -0
- package/.agent-src/contexts/execution/verification-mechanics.md +80 -0
- package/.agent-src/personas/README.md +1 -1
- package/.agent-src/rules/agent-authority.md +24 -0
- package/.agent-src/rules/architecture.md +1 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/.agent-src/rules/artifact-engagement-recording.md +2 -2
- package/.agent-src/rules/ask-when-uncertain.md +1 -1
- package/.agent-src/rules/augment-portability.md +56 -37
- package/.agent-src/rules/autonomous-execution.md +78 -114
- package/.agent-src/rules/capture-learnings.md +1 -1
- package/.agent-src/rules/chat-history-cadence.md +109 -0
- package/.agent-src/rules/chat-history-ownership.md +123 -0
- package/.agent-src/rules/chat-history-visibility.md +96 -0
- package/.agent-src/rules/cli-output-handling.md +1 -1
- package/.agent-src/rules/{command-suggestion.md → command-suggestion-policy.md} +10 -9
- package/.agent-src/rules/commit-conventions.md +1 -1
- package/.agent-src/rules/commit-policy.md +43 -61
- package/.agent-src/rules/context-hygiene.md +3 -3
- package/.agent-src/rules/direct-answers.md +2 -2
- package/.agent-src/rules/docs-sync.md +1 -1
- package/.agent-src/rules/e2e-testing.md +1 -1
- package/.agent-src/rules/guidelines.md +4 -4
- package/.agent-src/rules/improve-before-implement.md +2 -2
- package/.agent-src/rules/language-and-tone.md +41 -96
- package/.agent-src/rules/minimal-safe-diff.md +3 -3
- package/.agent-src/rules/model-recommendation.md +4 -4
- package/.agent-src/rules/no-cheap-questions.md +89 -0
- package/.agent-src/rules/non-destructive-by-default.md +25 -59
- package/.agent-src/rules/onboarding-gate.md +5 -5
- package/.agent-src/rules/review-routing-awareness.md +9 -9
- package/.agent-src/rules/roadmap-progress-sync.md +132 -80
- package/.agent-src/rules/role-mode-adherence.md +3 -3
- package/.agent-src/rules/scope-control.md +65 -46
- package/.agent-src/rules/security-sensitive-stop.md +2 -2
- package/.agent-src/rules/size-enforcement.md +3 -2
- package/.agent-src/rules/think-before-action.md +5 -5
- package/.agent-src/rules/token-efficiency.md +4 -4
- package/.agent-src/rules/{ui-audit-before-build.md → ui-audit-gate.md} +3 -3
- package/.agent-src/rules/user-interaction.md +31 -7
- package/.agent-src/rules/verify-before-complete.md +12 -67
- package/.agent-src/scripts/update_roadmap_progress.py +65 -8
- package/.agent-src/skills/ai-council/SKILL.md +333 -0
- package/.agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/.agent-src/skills/blade-ui/SKILL.md +30 -11
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/.agent-src/skills/command-routing/SKILL.md +1 -1
- package/.agent-src/skills/command-writing/SKILL.md +16 -5
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +1 -1
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
- package/.agent-src/skills/developer-like-execution/SKILL.md +2 -2
- package/.agent-src/skills/existing-ui-audit/SKILL.md +24 -9
- package/.agent-src/skills/fe-design/SKILL.md +20 -15
- package/.agent-src/skills/file-editor/SKILL.md +9 -0
- package/.agent-src/skills/flux/SKILL.md +1 -1
- package/.agent-src/skills/git-workflow/SKILL.md +1 -1
- package/.agent-src/skills/guideline-writing/SKILL.md +11 -11
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
- package/.agent-src/skills/livewire/SKILL.md +27 -8
- package/.agent-src/skills/override-management/SKILL.md +2 -2
- package/.agent-src/skills/php-coder/SKILL.md +1 -1
- package/.agent-src/skills/playwright-testing/SKILL.md +2 -2
- package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/readme-writing/SKILL.md +1 -1
- package/.agent-src/skills/readme-writing-package/SKILL.md +1 -1
- package/.agent-src/skills/receiving-code-review/SKILL.md +1 -1
- package/.agent-src/skills/refine-ticket/SKILL.md +30 -24
- package/.agent-src/skills/review-routing/SKILL.md +2 -2
- package/.agent-src/skills/roadmap-management/SKILL.md +22 -16
- package/.agent-src/skills/rule-writing/SKILL.md +1 -1
- package/.agent-src/skills/skill-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +6 -6
- package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +1 -1
- package/.agent-src/skills/upstream-contribute/SKILL.md +3 -3
- package/.agent-src/skills/validate-feature-fit/SKILL.md +2 -2
- package/.agent-src/skills/{verify-before-complete → verify-completion-evidence}/SKILL.md +2 -2
- package/.agent-src/templates/agent-settings.md +9 -9
- package/.agent-src/templates/contexts/auth-model.md +1 -1
- package/.agent-src/templates/roadmaps.md +9 -8
- package/.agent-src/templates/scripts/README.md +2 -2
- package/.agent-src/templates/scripts/memory_lookup.py +1 -1
- package/.agent-src/templates/scripts/telemetry/aggregator.py +16 -1
- package/.agent-src/templates/scripts/telemetry/engagement.py +59 -0
- package/.agent-src/templates/scripts/telemetry/report_renderer.py +28 -1
- package/.agent-src/templates/scripts/telemetry_record.py +14 -1
- package/.agent-src/templates/scripts/work_engine/__init__.py +2 -2
- package/.agent-src/templates/scripts/work_engine/cli.py +64 -461
- package/.agent-src/templates/scripts/work_engine/cli_args.py +116 -0
- package/.agent-src/templates/scripts/work_engine/delivery_state.py +3 -3
- package/.agent-src/templates/scripts/work_engine/directives/backend/__init__.py +1 -1
- package/.agent-src/templates/scripts/work_engine/directives/backend/implement.py +1 -1
- package/.agent-src/templates/scripts/work_engine/directives/backend/memory.py +1 -1
- package/.agent-src/templates/scripts/work_engine/directives/backend/plan.py +1 -1
- package/.agent-src/templates/scripts/work_engine/directives/backend/report.py +1 -1
- package/.agent-src/templates/scripts/work_engine/dispatcher.py +1 -1
- package/.agent-src/templates/scripts/work_engine/emitters.py +43 -0
- package/.agent-src/templates/scripts/work_engine/errors.py +19 -0
- package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +76 -0
- package/.agent-src/templates/scripts/work_engine/input_builders.py +163 -0
- package/.agent-src/templates/scripts/work_engine/migration/v0_to_v1.py +34 -2
- package/.agent-src/templates/scripts/work_engine/persona_policy.py +1 -1
- package/.agent-src/templates/scripts/work_engine/resolvers/prompt.py +1 -1
- package/.agent-src/templates/scripts/work_engine/state_io.py +202 -0
- package/.claude-plugin/marketplace.json +10 -2
- package/AGENTS.md +16 -12
- package/CHANGELOG.md +206 -9
- package/README.md +51 -52
- package/config/agent-settings.template.yml +58 -1
- package/config/gitignore-block.txt +3 -0
- package/docs/MIGRATION.md +122 -0
- package/docs/architecture.md +83 -34
- package/docs/catalog.md +331 -0
- package/docs/contracts/STABILITY.md +134 -0
- package/docs/contracts/adr-chat-history-split.md +132 -0
- package/docs/contracts/adr-command-suggestion.md +146 -0
- package/docs/contracts/adr-implement-ticket-runtime.md +122 -0
- package/docs/contracts/adr-product-ui-track.md +384 -0
- package/docs/contracts/adr-prompt-driven-execution.md +187 -0
- package/docs/contracts/agent-memory-contract.md +149 -0
- package/docs/contracts/artifact-engagement-flow.md +262 -0
- package/docs/contracts/command-clusters.md +126 -0
- package/docs/contracts/command-suggestion-flow.md +148 -0
- package/docs/contracts/implement-ticket-flow.md +628 -0
- package/docs/contracts/linear-ai-rules-inclusion.md +143 -0
- package/docs/contracts/linear-ai-three-layers.md +131 -0
- package/docs/contracts/load-context-schema.md +186 -0
- package/docs/contracts/rule-interactions.md +107 -0
- package/docs/contracts/rule-interactions.yml +238 -0
- package/docs/contracts/rule-priority-hierarchy.md +87 -0
- package/docs/contracts/ui-stack-extension.md +236 -0
- package/docs/contracts/ui-track-flow.md +338 -0
- package/docs/customization.md +14 -0
- package/docs/end-to-end-walkthroughs.md +165 -0
- package/docs/getting-started.md +27 -9
- package/docs/github-topics.md +12 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +79 -0
- package/{.agent-src → docs}/guidelines/docs/readme-size-and-splitting.md +26 -25
- package/docs/guidelines/php/git.md +164 -0
- package/docs/installation.md +42 -6
- package/docs/migrations/commands-1.15.0.md +112 -0
- package/docs/showcase.md +9 -4
- package/docs/skills-catalog.md +14 -8
- package/docs/ui-track-mental-model.md +121 -0
- package/llms.txt +13 -7
- package/package.json +1 -1
- package/scripts/agent-config +23 -0
- package/scripts/ai_council/__init__.py +39 -0
- package/scripts/ai_council/_default_prices.py +41 -0
- package/scripts/ai_council/_one_off_rebalancing_audit.py +149 -0
- package/scripts/ai_council/_one_off_roundtrip.py +106 -0
- package/scripts/ai_council/budget_guard.py +172 -0
- package/scripts/ai_council/bundler.py +261 -0
- package/scripts/ai_council/clients.py +381 -0
- package/scripts/ai_council/modes.py +127 -0
- package/scripts/ai_council/orchestrator.py +350 -0
- package/scripts/ai_council/pricing.py +213 -0
- package/scripts/ai_council/project_context.py +159 -0
- package/scripts/ai_council/prompts.py +232 -0
- package/scripts/ai_council/session.py +144 -0
- package/scripts/build_linear_digest.py +4 -4
- package/scripts/check_always_budget.py +126 -0
- package/scripts/check_augmentignore.py +69 -0
- package/scripts/check_command_count_messaging.py +120 -0
- package/scripts/check_portability.py +57 -0
- package/scripts/check_public_catalog_links.py +122 -0
- package/scripts/check_public_links.py +185 -0
- package/scripts/check_references.py +5 -1
- package/scripts/check_roadmap_trackable.py +111 -0
- package/scripts/command_suggester/cooldown.py +1 -1
- package/scripts/generate_index.py +266 -0
- package/scripts/install_anthropic_key.sh +5 -0
- package/scripts/install_openai_key.sh +106 -0
- package/scripts/lint_load_context.py +163 -0
- package/scripts/lint_no_new_atomic_commands.py +179 -0
- package/scripts/lint_rule_interactions.py +149 -0
- package/scripts/memory_lookup.py +1 -1
- package/scripts/release.py +297 -64
- package/scripts/schemas/command.schema.json +20 -0
- package/scripts/schemas/rule.schema.json +10 -0
- package/scripts/skill_linter.py +26 -4
- package/scripts/sync_agent_settings.py +1 -1
- package/scripts/update_counts.py +19 -4
- package/scripts/update_prices.py +124 -0
- package/.agent-src/guidelines/php/git.md +0 -96
- package/.agent-src/rules/chat-history.md +0 -200
- /package/.agent-src/rules/{slash-commands.md → slash-command-routing-policy.md} +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/agent-interaction-and-decision-quality.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/break-glass-usage.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/developer-judgment.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/engineering-memory-data-format.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/layered-settings.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/memory-access.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/naming.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/output-patterns.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/review-routing-data-format.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/role-contracts.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/role-mode-router.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/runtime-layer.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/self-improvement-pipeline.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/size-and-scope.md +0 -0
- /package/{.agent-src → docs}/guidelines/agent-infra/tool-integration.md +0 -0
- /package/{.agent-src → docs}/guidelines/e2e/playwright.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/api-design.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/artisan-commands.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/blade-ui.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/controllers.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/database.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/eloquent.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/flux.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/general.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/jobs.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/livewire.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/logging.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/naming.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/dependency-injection.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/dtos.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/events.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/factory.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/pipelines.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/policies.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/repositories.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/service-layer.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns/strategy.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/patterns.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/performance.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/resources.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/security.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/sql.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/validations.md +0 -0
- /package/{.agent-src → docs}/guidelines/php/websocket.md +0 -0
|
@@ -8,7 +8,9 @@ source: package
|
|
|
8
8
|
|
|
9
9
|
## Positioning — reference, not executor
|
|
10
10
|
|
|
11
|
-
`fe-design` is a **universal reference skill**, not an executor.
|
|
11
|
+
`fe-design` is a **universal reference skill**, not an executor. It carries
|
|
12
|
+
stack-agnostic heuristics that the UI directive set cites; it does **not**
|
|
13
|
+
own the flow.
|
|
12
14
|
|
|
13
15
|
| Concern | Owner |
|
|
14
16
|
|---|---|
|
|
@@ -35,7 +37,10 @@ Do NOT use this skill to:
|
|
|
35
37
|
|
|
36
38
|
## How the directive set cites this skill
|
|
37
39
|
|
|
38
|
-
`directives/ui/design.py` produces the design brief (layout, components,
|
|
40
|
+
`directives/ui/design.py` produces the design brief (layout, components,
|
|
41
|
+
states, microcopy, a11y). The brief picks heuristics from this reference
|
|
42
|
+
when the audit doesn't already pin a project pattern. Stack-specific
|
|
43
|
+
choices come from the dispatched implementation skill, not from here.
|
|
39
44
|
|
|
40
45
|
## Component Architecture
|
|
41
46
|
|
|
@@ -53,7 +58,8 @@ Page layout
|
|
|
53
58
|
└── Footer (static)
|
|
54
59
|
```
|
|
55
60
|
|
|
56
|
-
|
|
61
|
+
The stack-specific mapping (Blade partial vs. Livewire component vs.
|
|
62
|
+
React island vs. Vue SFC) is the apply-step's concern, not this skill's.
|
|
57
63
|
|
|
58
64
|
### When to use what (kind, not framework)
|
|
59
65
|
|
|
@@ -69,7 +75,7 @@ Stack-specific mapping (Blade partial vs. Livewire component vs. React island vs
|
|
|
69
75
|
|
|
70
76
|
- **One stateful component per concern** — don't build mega-components.
|
|
71
77
|
- **Compose with reusable UI components** for shared shells, headers, fields.
|
|
72
|
-
- **Use the project's library primitives first** — never rebuild what the design system provides (audit findings tell you which).
|
|
78
|
+
- **Use the project's library primitives first** — never rebuild what the design system already provides (audit findings tell you which).
|
|
73
79
|
- **Extract when used 3+ times** — DRY applies to UI too.
|
|
74
80
|
|
|
75
81
|
## Form Design
|
|
@@ -194,20 +200,20 @@ Step indicator (1 — 2 — 3)
|
|
|
194
200
|
|
|
195
201
|
When `directives/ui/design.py` (or any caller) cites this skill:
|
|
196
202
|
|
|
197
|
-
1. **Confirm audit ran first** — `state.ui_audit` from [`existing-ui-audit`](../existing-ui-audit/SKILL.md) is mandatory. Stop and request audit if missing.
|
|
198
|
-
2. **Pick smallest matching section** — Component Architecture, Form Design, Table Design, Responsive Strategy, Accessibility, or UX Principles. Cite by H2/H3 heading, never paste whole skill.
|
|
199
|
-
3. **Defer to audit findings** — when audit pins a project pattern (token, primitive, layout convention), use it.
|
|
200
|
-
4. **Defer to stack apply skill** — Blade vs. Livewire vs. Flux vs. React-shadcn choices come from dispatched implementation skill, never from this reference.
|
|
201
|
-
5. **Surface conflicts** — if heuristic here contradicts an audit finding or stack convention, name both and let caller decide; do not silently pick.
|
|
203
|
+
1. **Confirm the audit ran first** — `state.ui_audit` from [`existing-ui-audit`](../existing-ui-audit/SKILL.md) is mandatory. Stop and request the audit if missing.
|
|
204
|
+
2. **Pick the smallest matching section** — Component Architecture, Form Design, Table Design, Responsive Strategy, Accessibility, or UX Principles. Cite by H2/H3 heading, never paste the whole skill.
|
|
205
|
+
3. **Defer to audit findings** — when the audit pins a project pattern (token, primitive, layout convention), use it. The heuristics here are fallbacks for gaps, not overrides.
|
|
206
|
+
4. **Defer to the stack apply skill** — Blade vs. Livewire vs. Flux vs. React-shadcn choices come from the dispatched implementation skill, never from this reference.
|
|
207
|
+
5. **Surface conflicts** — if a heuristic here contradicts an audit finding or stack convention, name both and let the caller decide; do not silently pick.
|
|
202
208
|
|
|
203
209
|
## Output format
|
|
204
210
|
|
|
205
211
|
When this skill's content is folded into a design brief or review:
|
|
206
212
|
|
|
207
|
-
1. Quote cited heuristic verbatim, with H2/H3 heading and one-line "why this applies" tie-back to request.
|
|
208
|
-
2. Map each heuristic to a concrete artifact in brief (component, form section, table column, breakpoint rule, a11y check, UX state).
|
|
209
|
-
3. Keep stack-agnostic — never name Blade/Livewire/Flux/React primitives in cited prose; apply step adds those.
|
|
210
|
-
4. Mark anything overridden by audit findings as `[audit override]` and link to audit entry.
|
|
213
|
+
1. Quote the cited heuristic verbatim, with the H2/H3 heading and a one-line "why this applies" tie-back to the request.
|
|
214
|
+
2. Map each heuristic to a concrete artifact in the brief (component, form section, table column, breakpoint rule, a11y check, UX state).
|
|
215
|
+
3. Keep stack-agnostic — never name Blade/Livewire/Flux/React primitives in the cited prose; the apply step adds those.
|
|
216
|
+
4. Mark anything overridden by audit findings as `[audit override]` and link to the audit entry.
|
|
211
217
|
|
|
212
218
|
## Related
|
|
213
219
|
|
|
@@ -222,7 +228,7 @@ When this skill's content is folded into a design brief or review:
|
|
|
222
228
|
|
|
223
229
|
## Gotcha
|
|
224
230
|
|
|
225
|
-
- Don't design components without running `existing-ui-audit` first — audit's component/token inventory is canonical for "what already exists in this project". Reinventing is the #1 failure mode.
|
|
231
|
+
- Don't design components without running `existing-ui-audit` first — the audit's component/token inventory is the canonical source for "what already exists in this project". Reinventing is the #1 failure mode.
|
|
226
232
|
- Heuristics in this reference apply across stacks; do not promote them to project rules without checking the audit.
|
|
227
233
|
- Mobile-first is not optional — every layout must work on 320px width.
|
|
228
234
|
|
|
@@ -232,4 +238,3 @@ When this skill's content is folded into a design brief or review:
|
|
|
232
238
|
- Do NOT use fixed pixel widths for responsive layouts.
|
|
233
239
|
- Do NOT ignore accessibility requirements.
|
|
234
240
|
- Do NOT use this skill as an executor — it is a reference cited by `directives/ui/design.py`.
|
|
235
|
-
|
|
@@ -8,6 +8,8 @@ execution:
|
|
|
8
8
|
allowed_tools: []
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
<!-- cloud_safe: noop -->
|
|
12
|
+
|
|
11
13
|
# file-editor
|
|
12
14
|
|
|
13
15
|
## When to use
|
|
@@ -127,3 +129,10 @@ code app/Models/User.php
|
|
|
127
129
|
- Do NOT prompt the user about IDE settings during normal work — suggest `/onboard` (for first-run) or editing `.agent-settings.yml` directly.
|
|
128
130
|
- Do NOT open files that were only read, not edited.
|
|
129
131
|
- Do NOT open more than 10 files at once — summarize instead.
|
|
132
|
+
|
|
133
|
+
## Cloud Behavior
|
|
134
|
+
|
|
135
|
+
On cloud surfaces (Claude.ai Web, Skills API) this skill is **fully inert** —
|
|
136
|
+
there is no local IDE to open files in, no `.agent-settings.yml` to read, and
|
|
137
|
+
no shell handler available. The cloud agent simply finishes its edits and
|
|
138
|
+
reports back; file-opening is a local-agent concern.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: flux
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when the project uses `livewire/flux` — dispatched by `directives/ui/{apply,review,polish}.py`. Covers Flux components, slots, variants, and form primitives."
|
|
4
4
|
source: package
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ Do NOT use when:
|
|
|
20
20
|
|
|
21
21
|
## Conventions
|
|
22
22
|
|
|
23
|
-
→ See guideline `guidelines/php/git.md` for branch naming, commit messages, PR conventions.
|
|
23
|
+
→ See guideline `docs/guidelines/php/git.md` for branch naming, commit messages, PR conventions.
|
|
24
24
|
→ See `commit-conventions` rule for commit format, types, and scope rules.
|
|
25
25
|
→ Use `conventional-commits-writing` skill for generating/reviewing commit messages.
|
|
26
26
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: guideline-writing
|
|
3
|
-
description: "Use when creating or editing a guideline in
|
|
3
|
+
description: "Use when creating or editing a guideline in docs/guidelines/ — reference material cited by skills, no auto-triggers — even when the user just says 'write up our naming conventions'."
|
|
4
4
|
source: package
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ source: package
|
|
|
10
10
|
|
|
11
11
|
## When to use
|
|
12
12
|
|
|
13
|
-
* Creating a new guideline in
|
|
13
|
+
* Creating a new guideline in `docs/guidelines/{topic}/{name}.md`
|
|
14
14
|
* Rewriting an existing guideline (not a typo fix)
|
|
15
15
|
* Extracting reference material out of a bloated skill or rule
|
|
16
16
|
* Consolidating repeated explanations from multiple skills
|
|
@@ -42,7 +42,7 @@ Creating or materially rewriting a guideline **must** go through Understand
|
|
|
42
42
|
|
|
43
43
|
* **Understand** — which skills or rules will cite this guideline? If the
|
|
44
44
|
answer is "none", the guideline has no home — stop.
|
|
45
|
-
* **Research** — **inspect** `guidelines/` for overlap and grep
|
|
45
|
+
* **Research** — **inspect** `docs/guidelines/` for overlap and grep
|
|
46
46
|
`.agent-src.uncompressed/` for pages that already cover the topic.
|
|
47
47
|
**Analyze** 1–2 peer guidelines in the same topic folder for tone.
|
|
48
48
|
* **Draft** — propose location (topic folder + filename) and outline. Only
|
|
@@ -50,7 +50,7 @@ Creating or materially rewriting a guideline **must** go through Understand
|
|
|
50
50
|
|
|
51
51
|
### 1. Pick the right topic folder
|
|
52
52
|
|
|
53
|
-
Folders under
|
|
53
|
+
Folders under `docs/guidelines/`:
|
|
54
54
|
|
|
55
55
|
| Folder | Contents |
|
|
56
56
|
|---|---|
|
|
@@ -89,7 +89,7 @@ approval-gated flow as for skills and rules.
|
|
|
89
89
|
A guideline is useless if nothing cites it. Before closing the task:
|
|
90
90
|
|
|
91
91
|
* Add a link from at least one skill or rule using the pattern
|
|
92
|
-
`→ See 'guidelines/{topic}/{name}.md' for full X`.
|
|
92
|
+
`→ See 'docs/guidelines/{topic}/{name}.md' for full X`.
|
|
93
93
|
* Keep the citing skill/rule **executable** — do not hollow it out into a
|
|
94
94
|
pointer. (Normative source: [`preservation-guard`](../../rules/preservation-guard.md).)
|
|
95
95
|
|
|
@@ -107,16 +107,16 @@ Above the split signal, break by sub-topic into sibling files in the same folder
|
|
|
107
107
|
|
|
108
108
|
### 6. Validate
|
|
109
109
|
|
|
110
|
-
* Run `python3 scripts/skill_linter.py
|
|
110
|
+
* Run `python3 scripts/skill_linter.py docs/guidelines/{topic}/{name}.md`
|
|
111
111
|
→ 0 FAIL (guidelines have relaxed linting but must still parse).
|
|
112
|
-
* Run `bash scripts/compress.sh --sync` →
|
|
112
|
+
* Run `bash scripts/compress.sh --sync` → projects updates.
|
|
113
113
|
* Run `python3 scripts/check_references.py` → no broken links.
|
|
114
114
|
* Run the full CI pipeline locally (see `Taskfile.yml` in this repo for
|
|
115
115
|
the script list) — must exit 0 except for tolerated warnings.
|
|
116
116
|
|
|
117
117
|
## Output format
|
|
118
118
|
|
|
119
|
-
1. Complete guideline at
|
|
119
|
+
1. Complete guideline at `docs/guidelines/{topic}/{name}.md`
|
|
120
120
|
2. At least one skill or rule linking to it
|
|
121
121
|
3. Linter + `check_references.py` clean
|
|
122
122
|
4. `bash scripts/compress.sh --sync` confirmation
|
|
@@ -135,7 +135,7 @@ Above the split signal, break by sub-topic into sibling files in the same folder
|
|
|
135
135
|
* Do NOT add `type:` or `alwaysApply:` to the frontmatter
|
|
136
136
|
* Do NOT embed numbered procedures — those belong in skills
|
|
137
137
|
* Do NOT create an orphan guideline with no inbound links
|
|
138
|
-
* Do NOT
|
|
138
|
+
* Do NOT reintroduce `.agent-src.uncompressed/guidelines/` — relocated to `docs/guidelines/`
|
|
139
139
|
|
|
140
140
|
## Cloud Behavior
|
|
141
141
|
|
|
@@ -151,7 +151,7 @@ validation:
|
|
|
151
151
|
* Self-check the body: reference material, no numbered procedures,
|
|
152
152
|
named in a topic folder.
|
|
153
153
|
* Tell the user to save under
|
|
154
|
-
|
|
154
|
+
`docs/guidelines/{topic}/{name}.md` and run
|
|
155
155
|
`task sync && task lint-skills && task check-refs` locally before
|
|
156
156
|
committing.
|
|
157
157
|
* Do not call the linter, ref-checker, or compressor — they only
|
|
@@ -161,7 +161,7 @@ validation:
|
|
|
161
161
|
|
|
162
162
|
Good guideline name + description:
|
|
163
163
|
|
|
164
|
-
> Path: `guidelines/agent-infra/size-and-scope.md`
|
|
164
|
+
> Path: `docs/guidelines/agent-infra/size-and-scope.md`
|
|
165
165
|
> Description: "Golden size rules for rules, skills, commands, and guidelines"
|
|
166
166
|
|
|
167
167
|
Bad:
|
|
@@ -119,7 +119,7 @@ Choose one:
|
|
|
119
119
|
|
|
120
120
|
A grep that returns zero hits is **not** proof of no overlap. Knowledge in
|
|
121
121
|
this package is distributed across **four surfaces** — `skills/`, `rules/`,
|
|
122
|
-
`guidelines/`, `commands/`. Skip any of them and recall drops to ~25 %.
|
|
122
|
+
`docs/guidelines/`, `commands/`. Skip any of them and recall drops to ~25 %.
|
|
123
123
|
Run all four steps before declaring "no overlap":
|
|
124
124
|
|
|
125
125
|
**Step 1 — list all four surfaces.** Directory taxonomy is free evidence:
|
|
@@ -127,11 +127,11 @@ Run all four steps before declaring "no overlap":
|
|
|
127
127
|
```bash
|
|
128
128
|
ls .agent-src.uncompressed/skills/ \
|
|
129
129
|
.agent-src.uncompressed/rules/ \
|
|
130
|
-
|
|
130
|
+
docs/guidelines/ \
|
|
131
131
|
.agent-src.uncompressed/commands/
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
Sub-directories matter — `guidelines/php/patterns/`, `guidelines/agent-infra/`,
|
|
134
|
+
Sub-directories matter — `docs/guidelines/php/patterns/`, `docs/guidelines/agent-infra/`,
|
|
135
135
|
etc. carry topic taxonomies a flat file scan misses. Always descend one level.
|
|
136
136
|
|
|
137
137
|
**Step 2 — grep with both vocabularies.** Search for **solution-words** *and*
|
|
@@ -194,7 +194,7 @@ The output of this skill is a **curated proposal** under
|
|
|
194
194
|
`.augment/templates/agents/proposal.example.md` (shipped by the
|
|
195
195
|
package). This is the input to the five-stage pipeline
|
|
196
196
|
(capture → classify → propose → gate → upstream); see
|
|
197
|
-
[`self-improvement-pipeline`](
|
|
197
|
+
[`self-improvement-pipeline`](../../../docs/guidelines/agent-infra/self-improvement-pipeline.md).
|
|
198
198
|
|
|
199
199
|
Mandatory fields the draft MUST fill:
|
|
200
200
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: livewire
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when the project's frontend stack is Livewire — dispatched by `directives/ui/{apply,review,polish}.py`. Covers reactive state, events, lifecycle hooks, and component/view separation."
|
|
4
4
|
source: package
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,11 @@ source: package
|
|
|
8
8
|
|
|
9
9
|
## Positioning — dispatched, not standalone
|
|
10
10
|
|
|
11
|
-
`livewire` is the **apply-step executor** for the Livewire stack.
|
|
11
|
+
`livewire` is the **apply-step executor** for the Livewire stack. It is
|
|
12
|
+
invoked by [`directives/ui/apply.py`](../../templates/scripts/work_engine/directives/ui/apply.py)
|
|
13
|
+
once the design brief is locked, and revisited by `review.py` /
|
|
14
|
+
`polish.py` during the design-review loop. It does **not** own the
|
|
15
|
+
flow, does **not** drive the audit, and does **not** lock the design.
|
|
12
16
|
|
|
13
17
|
| Concern | Owner |
|
|
14
18
|
|---|---|
|
|
@@ -77,12 +81,27 @@ Do NOT use when:
|
|
|
77
81
|
|
|
78
82
|
### Review pass — a11y findings + preview envelope
|
|
79
83
|
|
|
80
|
-
When dispatched by `directives/ui/review.py` (test slot)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
When this skill is dispatched by `directives/ui/review.py` (test slot)
|
|
85
|
+
or `directives/ui/polish.py` (verify slot) — i.e. a review/polish run,
|
|
86
|
+
not the initial apply — it also emits:
|
|
87
|
+
|
|
88
|
+
- `state.ui_review.a11y` — `{violations: [{rule, selector, severity}, ...],
|
|
89
|
+
severity_floor?, accepted_violations?}`. Use the same `(rule, selector)`
|
|
90
|
+
shape as `state.ui_audit.a11y_baseline` so the engine's de-dup matches
|
|
91
|
+
pre-existing entries on replay. Omit the envelope on apply passes; the
|
|
92
|
+
engine's `_apply_a11y_gate` only fires when a baseline is present.
|
|
93
|
+
- `state.ui_review.preview` — `{render_ok: bool, screenshot_path?,
|
|
94
|
+
dom_dump_path?, error?, skipped?}`. `render_ok: false` with `error`
|
|
95
|
+
populated triggers the `preview_render_failed` halt; `render_ok: true`
|
|
96
|
+
with `screenshot_path` threads the screenshot into the delivery
|
|
97
|
+
report's `artifacts` list. Browser tooling (Playwright/Cypress/…) is
|
|
98
|
+
a consumer-project dependency — this package does not ship one.
|
|
99
|
+
|
|
100
|
+
Polish dispatch: when the dispatcher skips `review` because a previous
|
|
101
|
+
review pass already returned `SUCCESS`, this skill MUST itself
|
|
102
|
+
synthesise the updated `state.ui_review.findings` (including any
|
|
103
|
+
remaining `a11y_violation` entries) so the engine's gate sees the
|
|
104
|
+
current state on the next polish round.
|
|
86
105
|
|
|
87
106
|
## Gotcha
|
|
88
107
|
|
|
@@ -70,13 +70,13 @@ Override files **must match the original filename** exactly:
|
|
|
70
70
|
| `.augment/rules/php-coding.md` | `agents/overrides/rules/php-coding.md` |
|
|
71
71
|
| `.augment/skills/eloquent/SKILL.md` | `agents/overrides/skills/eloquent.md` |
|
|
72
72
|
| `.augment/commands/feature-plan.md` | `agents/overrides/commands/feature-plan.md` |
|
|
73
|
-
|
|
|
73
|
+
| `../../../docs/guidelines/php/controllers.md` | `agents/overrides/guidelines/php-controllers.md` |
|
|
74
74
|
| `.augment/templates/roadmaps.md` | `agents/overrides/templates/roadmaps.md` |
|
|
75
75
|
|
|
76
76
|
**Skills** are flattened: the original lives in a directory (`skills/{name}/SKILL.md`),
|
|
77
77
|
but the override is a single file (`skills/{name}.md`).
|
|
78
78
|
|
|
79
|
-
**Guidelines** are flattened with a prefix: `guidelines/php/controllers.md` → `guidelines/php-controllers.md`.
|
|
79
|
+
**Guidelines** are flattened with a prefix: `docs/guidelines/php/controllers.md` → `guidelines/php-controllers.md`.
|
|
80
80
|
|
|
81
81
|
**Templates** keep their original filename: `templates/roadmaps.md` → `templates/roadmaps.md`.
|
|
82
82
|
|
|
@@ -54,7 +54,7 @@ Trigger keywords in the task or surrounding code:
|
|
|
54
54
|
- allowlist constants: `private const SUPPORTED_FOO = [Type::A, Type::B]`
|
|
55
55
|
|
|
56
56
|
→ Run the sniff test in
|
|
57
|
-
[`guidelines/php/patterns/strategy.md`](
|
|
57
|
+
[`docs/guidelines/php/patterns/strategy.md`](../../../docs/guidelines/php/patterns/strategy.md#sniff-test--when-an-enumstring-discriminator-wants-to-become-a-strategy).
|
|
58
58
|
Two "yes" answers → propose Strategy + Registry **before** adding the new
|
|
59
59
|
branch. Three "yes" → it is already overdue and the refactor is the change.
|
|
60
60
|
|
|
@@ -16,12 +16,12 @@ Use this skill when:
|
|
|
16
16
|
- Debugging flaky E2E tests
|
|
17
17
|
- Configuring Playwright for CI/CD
|
|
18
18
|
|
|
19
|
-
**Guideline:**
|
|
19
|
+
**Guideline:** `../../../docs/guidelines/e2e/playwright.md` — full conventions, config templates, CI setup.
|
|
20
20
|
**Rule:** `.augment/rules/e2e-testing.md` — constraints enforced during E2E test work.
|
|
21
21
|
|
|
22
22
|
## Procedure: Write Playwright tests
|
|
23
23
|
|
|
24
|
-
1. **Read the guideline** —
|
|
24
|
+
1. **Read the guideline** — `../../../docs/guidelines/e2e/playwright.md` for detailed conventions.
|
|
25
25
|
2. **Check Playwright config** — `playwright.config.ts` for browsers, base URL, timeouts.
|
|
26
26
|
3. **Check existing tests** — match patterns in `tests/e2e/` or `e2e/`.
|
|
27
27
|
4. **Check test utilities** — look for page objects, fixtures, helpers.
|
|
@@ -136,7 +136,7 @@ Structure checks:
|
|
|
136
136
|
- No duplication between README and `/docs/` (drifts over time)
|
|
137
137
|
- Each `/docs/` file linked from README is self-contained (not just a fragment)
|
|
138
138
|
|
|
139
|
-
→ See `guidelines/docs/readme-size-and-splitting.md` for full thresholds,
|
|
139
|
+
→ See `docs/guidelines/docs/readme-size-and-splitting.md` for full thresholds,
|
|
140
140
|
splitting strategies, anti-patterns.
|
|
141
141
|
|
|
142
142
|
## Output format
|
|
@@ -100,7 +100,7 @@ lines: split deep content to `/docs/` or `references/`. Use `<details>`
|
|
|
100
100
|
only for secondary, bulky content — never for install, first example, or
|
|
101
101
|
requirements.
|
|
102
102
|
|
|
103
|
-
→ See `guidelines/docs/readme-size-and-splitting.md` for thresholds,
|
|
103
|
+
→ See `docs/guidelines/docs/readme-size-and-splitting.md` for thresholds,
|
|
104
104
|
splitting strategies (reference-split, deep-link tables, collapsibles),
|
|
105
105
|
multi-audience handling, anti-patterns.
|
|
106
106
|
|
|
@@ -138,7 +138,7 @@ links over stacked inline blocks. Occasionally-needed detail (long
|
|
|
138
138
|
platform quirks, troubleshooting): use `<details>` — never for install,
|
|
139
139
|
first example, or requirements.
|
|
140
140
|
|
|
141
|
-
→ See `guidelines/docs/readme-size-and-splitting.md` for thresholds,
|
|
141
|
+
→ See `docs/guidelines/docs/readme-size-and-splitting.md` for thresholds,
|
|
142
142
|
deep-link-table pattern, collapsibles, anti-patterns (premature
|
|
143
143
|
splitting, duplication between README and `/docs/`).
|
|
144
144
|
|
|
@@ -75,7 +75,7 @@ For each blocking/important comment:
|
|
|
75
75
|
* Check whether the suggested fix would break another test or caller
|
|
76
76
|
* Check `git blame` / history — current code may be that way for a reason
|
|
77
77
|
* **Consult memory for prior context.** Via
|
|
78
|
-
[`memory-access`](
|
|
78
|
+
[`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md),
|
|
79
79
|
call `retrieve(types=["historical-patterns", "architecture-decisions"],
|
|
80
80
|
keys=<files in the review>, limit=3)`. A registered historical pattern
|
|
81
81
|
may confirm the reviewer's concern (accept) or an architecture
|
|
@@ -47,19 +47,24 @@ execution:
|
|
|
47
47
|
|
|
48
48
|
## Language strategy
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
The refined output's prose language is picked once, up front, and
|
|
51
|
+
applied to every section (refined description, risks, persona voices,
|
|
52
|
+
orchestration notes, close-prompt). Fallback order — first hit wins:
|
|
52
53
|
|
|
53
|
-
1. **User-message language.**
|
|
54
|
-
|
|
54
|
+
1. **User-message language.** If the latest user message is in
|
|
55
|
+
German, the entire output is German; if English, English; etc.
|
|
56
|
+
This honours the global `language-and-tone` iron law.
|
|
55
57
|
2. **Ticket body language.** When the user's message is ambiguous
|
|
56
|
-
(one-word `/refine-ticket PROJ-123`), mirror the language the
|
|
57
|
-
is written in
|
|
58
|
-
3. **`.agent-settings.yml` default
|
|
59
|
-
|
|
58
|
+
(one-word `/refine-ticket PROJ-123`), mirror the language the
|
|
59
|
+
ticket is written in — detected from the summary + description.
|
|
60
|
+
3. **`.agent-settings.yml` default.** If both are silent or unclear,
|
|
61
|
+
fall back to the project default in `.agent-settings.yml`
|
|
62
|
+
(`personal.language` or equivalent). If that is also missing,
|
|
63
|
+
default to English.
|
|
60
64
|
|
|
61
|
-
Quoted identifiers (keys, paths,
|
|
62
|
-
prose mirrors the
|
|
65
|
+
Quoted identifiers (ticket keys, file paths, command names, code
|
|
66
|
+
snippets) stay in their native form. Only the prose mirrors the
|
|
67
|
+
selected language.
|
|
63
68
|
|
|
64
69
|
## Inputs (four equivalent paths)
|
|
65
70
|
|
|
@@ -88,8 +93,8 @@ Delegate to `jira-ticket` §1-3:
|
|
|
88
93
|
If pasted text: skip API, parse markdown, extract title + AC
|
|
89
94
|
bullets + body.
|
|
90
95
|
|
|
91
|
-
**Auto-fetch parent (Phase F4).** Before detection, check the
|
|
92
|
-
type and fold parent context in:
|
|
96
|
+
**Auto-fetch parent (Phase F4).** Before detection, check the
|
|
97
|
+
issue type and fold parent context in:
|
|
93
98
|
|
|
94
99
|
```python
|
|
95
100
|
from scripts.refine_ticket_detect import (
|
|
@@ -105,18 +110,19 @@ if issuetype_needs_parent(ticket["issuetype"]):
|
|
|
105
110
|
```
|
|
106
111
|
|
|
107
112
|
Rules:
|
|
108
|
-
- Applies to `Story` and `Sub-task` (and Linear / Shortcut
|
|
109
|
-
`Task` / `Bug` / `Epic` skip the auto-fetch unless a
|
|
110
|
-
|
|
113
|
+
- Applies to `Story` and `Sub-task` (and their Linear / Shortcut
|
|
114
|
+
equivalents). `Task` / `Bug` / `Epic` skip the auto-fetch unless a
|
|
115
|
+
`parent` link field is already populated — in that case the agent
|
|
116
|
+
folds explicitly without the issuetype guard.
|
|
111
117
|
- `fold_parent_context()` is idempotent; folding twice with the same
|
|
112
118
|
parent does not duplicate the block.
|
|
113
|
-
-
|
|
114
|
-
to orchestration notes:
|
|
119
|
+
- When the parent fetch fails (404, permission, network), skip the
|
|
120
|
+
fold and append a line to orchestration notes:
|
|
115
121
|
*"Parent `<key>` not reachable — AC may lack upstream context."*
|
|
116
122
|
|
|
117
|
-
Parent AC lines surfaced this way must be cited verbatim in the
|
|
118
|
-
output's *Open questions* section so the user sees which
|
|
119
|
-
come from the parent.
|
|
123
|
+
Parent AC lines surfaced this way must be cited verbatim in the
|
|
124
|
+
refined output's *Open questions* section so the user sees which
|
|
125
|
+
constraints come from the parent.
|
|
120
126
|
|
|
121
127
|
### 2. Inspect ticket + detect orchestration triggers
|
|
122
128
|
|
|
@@ -246,8 +252,8 @@ so the user can grab it verbatim.
|
|
|
246
252
|
|
|
247
253
|
## Close-prompt (mandatory final step)
|
|
248
254
|
|
|
249
|
-
**Probe write access first (Phase F6).**
|
|
250
|
-
|
|
255
|
+
**Probe write access first (Phase F6).** Before rendering, do a
|
|
256
|
+
cheap upfront check:
|
|
251
257
|
|
|
252
258
|
```python
|
|
253
259
|
from scripts.refine_ticket_detect import render_close_prompt
|
|
@@ -271,8 +277,8 @@ Behaviour:
|
|
|
271
277
|
| Probe failed (`None`) | Full three-option prompt; skill degrades to copy-paste on selection (v1 fallback) |
|
|
272
278
|
|
|
273
279
|
Per user interaction rules, accept number or free text. `editmeta`
|
|
274
|
-
is cheap and cacheable; cache per Jira project key for
|
|
275
|
-
re-probe on project change.
|
|
280
|
+
is cheap and cacheable; cache the result per Jira project key for
|
|
281
|
+
the session, re-probe on project change.
|
|
276
282
|
|
|
277
283
|
## Output format
|
|
278
284
|
|
|
@@ -53,7 +53,7 @@ back. If neither file exists, emit the generic role-based fallback
|
|
|
53
53
|
using [`reviewer-awareness`](../../rules/reviewer-awareness.md).
|
|
54
54
|
|
|
55
55
|
**Also** pull agent-written signals via the shared abstraction (see
|
|
56
|
-
[`memory-access`](
|
|
56
|
+
[`memory-access`](../../../docs/guidelines/agent-infra/memory-access.md)):
|
|
57
57
|
|
|
58
58
|
```python
|
|
59
59
|
from scripts.memory_lookup import retrieve
|
|
@@ -189,7 +189,7 @@ Data source: <"ownership-map.yml + historical-bug-patterns.yml"
|
|
|
189
189
|
|
|
190
190
|
- [`reviewer-awareness`](../../rules/reviewer-awareness.md)
|
|
191
191
|
- [`review-routing-awareness`](../../rules/review-routing-awareness.md)
|
|
192
|
-
- [`review-routing-data-format`](
|
|
192
|
+
- [`review-routing-data-format`](../../../docs/guidelines/agent-infra/review-routing-data-format.md)
|
|
193
193
|
- [`create-pr-description`](../create-pr-description/SKILL.md)
|
|
194
194
|
- [`judge-test-coverage`](../judge-test-coverage/SKILL.md) — consumes
|
|
195
195
|
the `required_test` entries from matched patterns.
|
|
@@ -30,12 +30,13 @@ the dashboard **in the same response**.
|
|
|
30
30
|
`count_open == 0` (pure `[x]`, or `[x]` + `[~]`/`[-]`), `git mv`
|
|
31
31
|
it into `agents/roadmaps/archive/` **before** regenerating — see
|
|
32
32
|
the auto-archive decision table under "Check completion status"
|
|
33
|
-
below. A 100%-complete roadmap left in `agents/roadmaps/` makes
|
|
34
|
-
|
|
33
|
+
below. A 100%-complete roadmap left in `agents/roadmaps/` makes the
|
|
34
|
+
next reader think work is still open.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
Batching edits in one response is fine — one final
|
|
38
|
-
replying is enough. But the response must not end
|
|
36
|
+
This is enforced by the [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md)
|
|
37
|
+
rule. Batching multiple edits in one response is fine — one final
|
|
38
|
+
regeneration before replying is enough. But the response must not end
|
|
39
|
+
without it.
|
|
39
40
|
|
|
40
41
|
## Procedure: Manage a roadmap
|
|
41
42
|
|
|
@@ -100,11 +101,13 @@ Every roadmap follows this structure:
|
|
|
100
101
|
|
|
101
102
|
## Key rules for roadmaps
|
|
102
103
|
|
|
103
|
-
### Checkboxes
|
|
104
|
+
### Checkboxes — mandatory, not decorative
|
|
104
105
|
|
|
106
|
+
- **Every active roadmap MUST contain at least one `- [ ]` per non-intro phase.** Decision tables, ICE matrices, and block-sequencing tables are valid rationale, but they do not satisfy this rule on their own — pair them with a `## Phase N` or `## Implementation Checklist` section whose checkboxes execute the decision. A roadmap without checkboxes is invisible to `agents/roadmaps-progress.md` and violates [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md) Iron Law #2.
|
|
105
107
|
- Every actionable step uses `- [ ]` (unchecked) or `- [x]` (completed).
|
|
106
108
|
- Mark steps as `[x]` immediately after completing them.
|
|
107
109
|
- Never remove completed steps — they serve as history.
|
|
110
|
+
- **Status is binary: `ready` (default, implicit) or `draft`.** New roadmaps are created **ready** unless the user explicitly says otherwise — `ready` is implicit and need not be written. A roadmap that is still being authored, awaiting upstream decisions, or capturing options without a worked plan declares `status: draft` in YAML frontmatter at the top of the file. Drafts are hidden from `agents/roadmaps-progress.md` until the flag is removed or flipped to `ready`. There are no other status values; legacy banners (`**Status: directional**`, `Status: capture-only`, `mode: feedback`) are removed.
|
|
108
111
|
|
|
109
112
|
### Phases
|
|
110
113
|
|
|
@@ -138,12 +141,13 @@ Every roadmap implicitly includes these gates (run after each step that changes
|
|
|
138
141
|
1. Ask the user for goal, context-create, and phases.
|
|
139
142
|
2. Use the template structure from `.augment/templates/roadmaps.md`.
|
|
140
143
|
3. Review with the user iteratively until approved.
|
|
141
|
-
4. **Branch & release questions —
|
|
142
|
-
Default: stay on current branch, no version numbers in
|
|
143
|
-
Only propose a separate branch
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
4. **Branch & release questions — at most once, only if genuinely useful.**
|
|
145
|
+
Default: stay on the current branch, no version numbers in the
|
|
146
|
+
roadmap. Only propose a separate branch when there is concrete,
|
|
147
|
+
evidence-based reason (e.g. risky migration benefits from a spike).
|
|
148
|
+
Never include release versions, deprecation dates, or git tags in
|
|
149
|
+
the roadmap text. If the user declines, do **not** re-propose during
|
|
150
|
+
`roadmap-execute`. Decline = silence. See [`scope-control`](../../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
|
|
147
151
|
5. Save with a kebab-case filename (e.g. `optimize-webhook-jobs.md`).
|
|
148
152
|
6. Regenerate the dashboard so the new roadmap is included.
|
|
149
153
|
|
|
@@ -272,8 +276,10 @@ Command:
|
|
|
272
276
|
./agent-config roadmap:progress-check # CI: fail if stale
|
|
273
277
|
```
|
|
274
278
|
|
|
275
|
-
The `./agent-config` wrapper
|
|
276
|
-
installer and
|
|
279
|
+
The `./agent-config` wrapper lives in the project root (written by the
|
|
280
|
+
package installer, gitignored) and delegates to the master CLI inside
|
|
281
|
+
`node_modules/@event4u/agent-config/` or `vendor/event4u/agent-config/`.
|
|
282
|
+
No global tooling required.
|
|
277
283
|
|
|
278
284
|
The dashboard is a **read-only snapshot**. Do not edit it by hand — regenerate it.
|
|
279
285
|
|
|
@@ -309,5 +315,5 @@ The dashboard is a **read-only snapshot**. Do not edit it by hand — regenerate
|
|
|
309
315
|
- Do NOT archive roadmaps with open `[ ]` items without asking the user.
|
|
310
316
|
- Do NOT delete roadmaps — always move to `archive/` or `skipped/`.
|
|
311
317
|
- Do NOT use `skipped/` as a dumping ground for partially-finished work — that is what `archive/` with deferred items is for.
|
|
312
|
-
- Do NOT assign version numbers, git tags, deprecation dates, or release identifiers to phases. Hard rule — see [`scope-control`](../../rules/scope-control.md#git-operations--permission-gated).
|
|
313
|
-
- Do NOT propose a branch switch while executing a roadmap.
|
|
318
|
+
- Do NOT assign version numbers, git tags, deprecation dates, or release identifiers to phases. Roadmaps plan work; releases and tags are decided by the user separately. Hard rule — see [`scope-control`](../../rules/scope-control.md#git-operations--permission-gated).
|
|
319
|
+
- Do NOT propose a branch switch while executing a roadmap. The branch question is settled at creation time; if the user already declined (or you never asked because it wasn't sensible), stay silent. See [`scope-control`](../../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
|
|
@@ -85,7 +85,7 @@ no silent edits, max two rounds.
|
|
|
85
85
|
### 4. Enforce the size budget
|
|
86
86
|
|
|
87
87
|
Normative source: [`size-enforcement`](../../rules/size-enforcement.md) +
|
|
88
|
-
`guidelines/agent-infra/size-and-scope.md`.
|
|
88
|
+
`docs/guidelines/agent-infra/size-and-scope.md`.
|
|
89
89
|
|
|
90
90
|
| Category | Target |
|
|
91
91
|
|---|---|
|
|
@@ -83,7 +83,7 @@ The highest-signal content in a skill. Documents failure patterns.
|
|
|
83
83
|
|
|
84
84
|
### Killer 5: Monolithic Blob
|
|
85
85
|
|
|
86
|
-
Skill exceeds size limits (see `guidelines/agent-infra/size-and-scope.md`).
|
|
86
|
+
Skill exceeds size limits (see `docs/guidelines/agent-infra/size-and-scope.md`).
|
|
87
87
|
|
|
88
88
|
**Check:** Review at >300 lines. Strongly consider split at >1200 words / >1500 words.
|
|
89
89
|
**Fix:** Extract reference tables, templates, and examples into separate files
|