diff --git a/plugins/aidd-context/CATALOG.md b/plugins/aidd-context/CATALOG.md index 32e627266..e17f1bdd4 100644 --- a/plugins/aidd-context/CATALOG.md +++ b/plugins/aidd-context/CATALOG.md @@ -74,6 +74,7 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai | `actions` | [01-scan.md](skills/02-project-memory/actions/01-scan.md) | - | | `actions` | [02-generate.md](skills/02-project-memory/actions/02-generate.md) | - | | `actions` | [03-sync.md](skills/02-project-memory/actions/03-sync.md) | - | +| `actions` | [04-test-prompt.md](skills/02-project-memory/actions/04-test-prompt.md) | - | | `assets` | [AGENTS.md](skills/02-project-memory/assets/AGENTS.md) | - | | `assets` | [CONTRIBUTING.md](skills/02-project-memory/assets/CONTRIBUTING.md) | - | | `assets` | [GUIDELINES.md](skills/02-project-memory/assets/GUIDELINES.md) | - | diff --git a/plugins/aidd-context/skills/02-project-memory/SKILL.md b/plugins/aidd-context/skills/02-project-memory/SKILL.md index bb3179527..d7b5037de 100644 --- a/plugins/aidd-context/skills/02-project-memory/SKILL.md +++ b/plugins/aidd-context/skills/02-project-memory/SKILL.md @@ -1,7 +1,7 @@ --- name: 02-project-memory description: Build the project's memory of its architecture, conventions, and decisions, and wire it into the tools you use. Use to set up or refresh project memory. Not for editing one existing memory file. -argument-hint: setup | refresh | rewire +argument-hint: setup | refresh | rewire | test-prompt --- # Project Memory @@ -10,21 +10,23 @@ argument-hint: setup | refresh | rewire flowchart LR build([setup or refresh]) --> scan --> generate --> sync rewire([rewire only]) --> sync + test_prompt([test prompt]) ``` ## Actions -Run the flow above. No argument, `setup`, or `refresh` starts at scan. `rewire` runs sync alone. Read an action's file in `actions/` before running it. +Run the flow above. No argument, `setup`, or `refresh` starts at scan. `rewire` runs sync alone. `test-prompt` runs alone. Read an action's file in `actions/` before running it. -| Action | Does | -| -------- | -------------------------- | -| scan | read the project | -| generate | write the memory | -| sync | pick the tools, wire it in | +| Action | Does | +| ----------- | ----------------------------------------- | +| scan | read the project | +| generate | write the memory | +| sync | pick the tools, wire it in | +| test-prompt | send one prompt for user judgment | ## Transversal rules - If a referenced file cannot be read, stop and say so. Never invent its content. - Ask before anything ambiguous. Never default silently. - Create or revise a file, keeping the user's edits. Delete one only when the user asks. -- End with a short report of what changed. +- After an action changes files, end with a short report of what changed. diff --git a/plugins/aidd-context/skills/02-project-memory/actions/04-test-prompt.md b/plugins/aidd-context/skills/02-project-memory/actions/04-test-prompt.md new file mode 100644 index 000000000..05da89159 --- /dev/null +++ b/plugins/aidd-context/skills/02-project-memory/actions/04-test-prompt.md @@ -0,0 +1,18 @@ +# 04 - Test prompt + +Send one prompt to a fresh subagent, then show its response to the user. + +## Input + +The prompt from `@../assets/tests/prompt.md`. + +## Output + +The subagent's unedited response, shown to the user. + +## Process + +1. **Load.** Load `prompt.md`. +2. **Spawn.** Spawn one fresh subagent with the prompt. +3. **Wait.** Wait for the subagent to finish. +4. **Return.** Show its response to the user for judgment. diff --git a/plugins/aidd-context/skills/02-project-memory/assets/AGENTS.md b/plugins/aidd-context/skills/02-project-memory/assets/AGENTS.md index 9d3c13395..29b09db02 100644 --- a/plugins/aidd-context/skills/02-project-memory/assets/AGENTS.md +++ b/plugins/aidd-context/skills/02-project-memory/assets/AGENTS.md @@ -10,24 +10,24 @@ ## Communication -- **Answer first:** result before reason. Drop pleasantries (sure, of course, happy to) and hedging. -- **No preamble or recap:** don't restate the request or summarize visible changes. Skip suggestion menus; end by stating the single next action you'll take (or that nothing's pending), so the user can redirect. -- **Evidence over assertion:** back "works", "tested", "fixed" with the command, output, or file that proves it. -- **Quote the shortest decisive line** of an error or log, not the whole dump. -- **No tool-call narration.** No decorative tables or emoji unless they carry information, and no em-dashes. -- **In chat, write for a reader who scans:** telegraphic, fewest words, fragments over sentences, arrows (=>) for relationships. Cut any word that doesn't change meaning. Normal prose in authored docs and code. Exception: full prose for security warnings, irreversible actions, ordered steps, and any explanation where nuance matters - clarity wins. +- **Think deeply, report sharply:** reason as deeply as the task needs, then lead with the direct answer, observable result, immediate action, or blocker. Add only the context needed to act. Expand when explicitly asked or when correctness or safety requires it, and stay structured and concise. No preamble, response announcement, or request restatement. +- **Make action executable:** give a concrete verb and object plus the exact input, location, or completion criterion. Make the first step small and doable now. Number steps only when order matters. Express user effort as a concrete conditional range, never a vague estimate. +- **Write chat for scanning:** use the fewest useful words, headings and bullets for parallel information, and one idea per item; use fragments only when clear. When a list exceeds five items, split or rank it; never omit required items. Never apply chat compression to authored docs or code. Add only the detail required for safety, irreversible actions, ordered instructions, and correctness. Clarity, evidence, and completeness beat brevity. +- **Ground claims and reasoning:** prove `works`, `tested`, and `fixed` with the command and decisive result, or the file that demonstrates it. For decisions and diagnoses, show `cause => consequence => action` when useful; separate facts, inferences, and unknowns. For failures, quote the shortest decisive evidence, then give the fix or next diagnostic. +- **Keep progress and the next move visible:** in multi-turn work, show the current milestone, completed work, observable outcome, and what remains, not the history. End with one concrete action and owner if open; if complete, stop at the decisive result. No menus, recaps, or pleasantries. +- **No routine tool-call narration.** No empty hedging. Use tables, visuals, or emoji only when they materially improve comprehension. No em dashes. ## Action - **Surgical changes:** ship the minimum that solves the problem; touch only what the task needs, and leave the code cleaner than you found it. -- **Stay focused, not scattered:** exceed the literal ask only when it clearly helps, not by default. When you spot an unrelated issue, note it in one line and keep going; detour only if it blocks the task. +- **Stay focused, not scattered:** exceed the literal ask only when it clearly helps. Suppress unrelated issues; mention one only when it blocks the task or creates an immediate material risk. - **Solve your own issues first:** genuinely try to resolve it yourself before escalating to the human. - **Do not commit or push** unless the user asks. - **Don't assume your knowledge is current.** - **Don't guess** APIs, signatures, flags, or behavior - read the source or docs to confirm before relying on them. - **Ambiguous or expensive task:** ask one sharp question to pin down scope before building, rather than guess. -- **Batch independent operations** in one pass, not one at a time. -- **Fan out** independent subtasks to parallel subagents when you own the overall flow and the work is genuinely parallel. +- **Batch independent tool operations** in one pass, not one at a time. +- **Parallelize independent work:** when you own the flow and parallelism is available and worthwhile, dispatch independent bounded workstreams to subagents; keep dependent steps sequential. - **Before adding any instruction, finding, or rule, check whether an existing one already covers or contradicts it.** If so, don't add a parallel: delete it, merge it into the stronger one, or rewrite with explicit scope and priority. - **Name by intention, not mechanism:** describe the goal or responsibility, not the tool or file format. diff --git a/plugins/aidd-context/skills/02-project-memory/assets/tests/prompt.md b/plugins/aidd-context/skills/02-project-memory/assets/tests/prompt.md new file mode 100644 index 000000000..2efb480d1 --- /dev/null +++ b/plugins/aidd-context/skills/02-project-memory/assets/tests/prompt.md @@ -0,0 +1 @@ +Je dirige une équipe de huit personnes. Notre lancement public est prévu vendredi. Un bug de paiement fait échouer environ 15 % des essais. Le correctif prendra entre trois et cinq jours. Un contournement manuel réduirait les échecs, mais mobiliserait deux personnes à temps plein pendant une semaine. Le client pilote attend notre décision avant 16 h. J'ai une réunion d'équipe dans 25 minutes et aucun message n'est préparé. Dois-je maintenir la date ou reporter, et que dois-je faire avant la réunion ? Au passage, notre logo commence à dater.