From fc634280a404160d9ae9ad8f1cde33d1a2a26fb8 Mon Sep 17 00:00:00 2001 From: "david.delagneau" Date: Tue, 28 Apr 2026 07:24:23 -0600 Subject: [PATCH] feat: add shared workflow and skill references in .agents and update GEMINI.md for clarity on workspace structure --- .agent | 1 + .agents/skills/ai-prompt-engineering/SKILL.md | 1 + .../copilot-prompt-engineering/SKILL.md | 1 + .agents/skills/ios-swift-answering/SKILL.md | 1 + .agents/skills/ios-testing-strategy/SKILL.md | 1 + .../professional-communication/SKILL.md | 1 + .agents/skills/status-reporting/SKILL.md | 1 + .agents/skills/swiftui-xflow-review/SKILL.md | 1 + .../skills/workspace-memory-curation/SKILL.md | 1 + GEMINI.md | 29 +++++++++++++++++++ README.md | 26 +++++++++++++++++ agent-memory/behavior/agent-behavior.md | 6 ++-- agent-memory/maps/tooling.md | 13 +++++++++ workflows/opencode-entry.md | 2 ++ 14 files changed, 82 insertions(+), 3 deletions(-) create mode 120000 .agent create mode 120000 .agents/skills/ai-prompt-engineering/SKILL.md create mode 120000 .agents/skills/copilot-prompt-engineering/SKILL.md create mode 120000 .agents/skills/ios-swift-answering/SKILL.md create mode 120000 .agents/skills/ios-testing-strategy/SKILL.md create mode 120000 .agents/skills/professional-communication/SKILL.md create mode 120000 .agents/skills/status-reporting/SKILL.md create mode 120000 .agents/skills/swiftui-xflow-review/SKILL.md create mode 120000 .agents/skills/workspace-memory-curation/SKILL.md create mode 100644 GEMINI.md diff --git a/.agent b/.agent new file mode 120000 index 0000000..c0ca468 --- /dev/null +++ b/.agent @@ -0,0 +1 @@ +.agents \ No newline at end of file diff --git a/.agents/skills/ai-prompt-engineering/SKILL.md b/.agents/skills/ai-prompt-engineering/SKILL.md new file mode 120000 index 0000000..75a1726 --- /dev/null +++ b/.agents/skills/ai-prompt-engineering/SKILL.md @@ -0,0 +1 @@ +../../rules/ai-prompt-engineering.md \ No newline at end of file diff --git a/.agents/skills/copilot-prompt-engineering/SKILL.md b/.agents/skills/copilot-prompt-engineering/SKILL.md new file mode 120000 index 0000000..f6978f3 --- /dev/null +++ b/.agents/skills/copilot-prompt-engineering/SKILL.md @@ -0,0 +1 @@ +../../rules/copilot-prompt-engineering.md \ No newline at end of file diff --git a/.agents/skills/ios-swift-answering/SKILL.md b/.agents/skills/ios-swift-answering/SKILL.md new file mode 120000 index 0000000..20fccc1 --- /dev/null +++ b/.agents/skills/ios-swift-answering/SKILL.md @@ -0,0 +1 @@ +../../rules/ios-swift-answering.md \ No newline at end of file diff --git a/.agents/skills/ios-testing-strategy/SKILL.md b/.agents/skills/ios-testing-strategy/SKILL.md new file mode 120000 index 0000000..1fca700 --- /dev/null +++ b/.agents/skills/ios-testing-strategy/SKILL.md @@ -0,0 +1 @@ +../../rules/ios-testing-strategy.md \ No newline at end of file diff --git a/.agents/skills/professional-communication/SKILL.md b/.agents/skills/professional-communication/SKILL.md new file mode 120000 index 0000000..2970c9e --- /dev/null +++ b/.agents/skills/professional-communication/SKILL.md @@ -0,0 +1 @@ +../../rules/professional-communication.md \ No newline at end of file diff --git a/.agents/skills/status-reporting/SKILL.md b/.agents/skills/status-reporting/SKILL.md new file mode 120000 index 0000000..dedb7a2 --- /dev/null +++ b/.agents/skills/status-reporting/SKILL.md @@ -0,0 +1 @@ +../../rules/status-reporting.md \ No newline at end of file diff --git a/.agents/skills/swiftui-xflow-review/SKILL.md b/.agents/skills/swiftui-xflow-review/SKILL.md new file mode 120000 index 0000000..97d97d3 --- /dev/null +++ b/.agents/skills/swiftui-xflow-review/SKILL.md @@ -0,0 +1 @@ +../../rules/swiftui-xflow-review.md \ No newline at end of file diff --git a/.agents/skills/workspace-memory-curation/SKILL.md b/.agents/skills/workspace-memory-curation/SKILL.md new file mode 120000 index 0000000..479fd2b --- /dev/null +++ b/.agents/skills/workspace-memory-curation/SKILL.md @@ -0,0 +1 @@ +../../rules/workspace-memory-curation.md \ No newline at end of file diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..cf6ac9f --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,29 @@ +# Gemini Workspace Entry + +Use this file as the Gemini CLI entry point for this workspace. + +Shared rules and context already live in the normal workspace files. Do not duplicate or reinterpret them here. + +Read these first: + +@./AGENTS.md +@./README.md +@./agent-memory/README.md +@./project-knowledge/00-start/start-here.md +@./project-knowledge/01-current/current-work.md +@./project-knowledge/01-current/work-items.md + +## Tool Surface + +- `AGENTS.md` is the primary shared rule file. +- `.agents/` is the canonical shared cross-platform surface for workflows and reusable rule/skill content. +- `.opencode/` is the OpenCode compatibility/runtime surface. +- `.agent/` is an alias for tools that expect the singular directory naming. +- `project-knowledge/` is canonical project memory. +- `agent-memory/` is agent operating memory. + +## Gemini-Specific Notes + +- Prefer the shared workspace rules over model improvisation. +- Before answering current-state questions, inspect the current-work files and latest relevant daily note. +- If a prompt changes durable project understanding or reusable agent behavior, update the smallest correct canonical file. diff --git a/README.md b/README.md index 4ec6d06..97e7765 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ This repository is not the product codebase. It is an operational context layer The reusable logic lives in `core/`. The clean project second brain lives in `project-knowledge/`. Agent operating memory lives in `agent-memory/`. Fidelity-specific setup lives in the active profile under `profiles/fidelity/`. +Shared cross-platform workflow/rule content lives in `.agents/`. OpenCode reads that content through `.opencode/` compatibility paths, and Gemini-compatible entry context starts at `GEMINI.md`. + --- ## Purpose @@ -70,6 +72,23 @@ Agent operating memory. - `workflows/` -> AI-to-AI prompting and workspace behavior model - `maps/` -> agent-side navigation maps +### /.agents + +Shared cross-platform workflow and rule source. + +- `workflows/` -> reusable workflow definitions used by OpenCode-compatible commands and Antigravity-compatible workflow views +- `rules/` -> reusable skill/rule content +- `skills/` -> skill-path compatibility layer pointing at `rules/` + +### /.opencode + +OpenCode runtime surface. + +- `commands/` -> OpenCode slash commands, currently linked to `.agents/workflows/` +- `skills/` -> OpenCode skills, currently linked to shared `.agents/` content +- `agents/` -> OpenCode agent definitions +- `plugins/` -> OpenCode-specific plugins + ### /core Project-independent workspace logic. @@ -230,6 +249,13 @@ Project commands live under `.opencode/commands/` and are intended to: This keeps AI output tied to the latest workspace state instead of relying on chat memory alone. +Cross-platform note: + +- `.agents/` is the shared source of truth for reusable workflows/rules +- `.opencode/` is the OpenCode execution layer +- `.agent/` may exist as a naming alias for tools that look for singular agent directories +- `GEMINI.md` is the Gemini CLI entrypoint for shared workspace context + --- ## Generic Commands diff --git a/agent-memory/behavior/agent-behavior.md b/agent-memory/behavior/agent-behavior.md index 19a3a28..f548972 100644 --- a/agent-memory/behavior/agent-behavior.md +++ b/agent-memory/behavior/agent-behavior.md @@ -124,9 +124,9 @@ If a correction applies to a command, prompt, skill, agent, or reusable rule, up Examples: -- A standup formatting correction should update `prompts/standup.md` and `.agents/workflows/standup.md`. +- A standup formatting correction should update `prompts/standup.md` and the shared workflow in `.agents/workflows/standup.md`. - A Mattermost freshness correction should update the Mattermost command/plugin instructions. -- A Copilot prompt-structure correction should update `prompts/copilot-prompt.md`, `.agents/workflows/copilot-prompt.md`, or the Copilot skill. +- A Copilot prompt-structure correction should update `prompts/copilot-prompt.md`, `.agents/workflows/copilot-prompt.md`, or the shared skill/rule source. - A Swift answer-quality correction should update the relevant iOS skill or `project-knowledge/03-context/ios/` guidance. Keep the daily log as evidence of what happened, but make the reusable behavior live in the file that controls that behavior. @@ -193,7 +193,7 @@ When the role is not explicit, store: Use for explicit confirmed decisions with ongoing impact. -### `.agents/workflows/`, `.agents/rules/`, `prompts/`, and `agent-memory/` +### `.agents/workflows/`, `.agents/rules/`, `.agents/skills/`, `.opencode/`, `prompts/`, and `agent-memory/` Use these when the new information changes how the workspace should operate: diff --git a/agent-memory/maps/tooling.md b/agent-memory/maps/tooling.md index 75951e9..989ec04 100644 --- a/agent-memory/maps/tooling.md +++ b/agent-memory/maps/tooling.md @@ -13,6 +13,17 @@ Commands, prompts, skills, workflows, and automation surfaces that make the work --- +## Shared Source + +- Shared workflow/rule source: `.agents/` +- Shared workflow index: `.agents/workflows/index.md` +- Shared skills/rules source: `.agents/rules/` +- Shared skills compatibility path: `.agents/skills/` +- Singular alias for compatible tools: `.agent/` +- Gemini entrypoint: `GEMINI.md` + +--- + ## OpenCode Agents - [AI Workspace Core Map](ai-workspace-core.md) @@ -23,6 +34,7 @@ Commands, prompts, skills, workflows, and automation surfaces that make the work ## Commands +- Shared workflows source: `.agents/workflows/` - Commands index: `.opencode/commands/index.md` - Workspace context: `.opencode/commands/workspace-context.md` - Memory health: `.opencode/commands/memory-health.md` @@ -38,6 +50,7 @@ Commands, prompts, skills, workflows, and automation surfaces that make the work ## Skills +- Shared skills source: `.agents/skills/` - Skills index: `.opencode/skills/index.md` - Workspace memory curation: `.opencode/skills/workspace-memory-curation/SKILL.md` - Professional communication: `.opencode/skills/professional-communication/SKILL.md` diff --git a/workflows/opencode-entry.md b/workflows/opencode-entry.md index 4a8919a..cb251d9 100644 --- a/workflows/opencode-entry.md +++ b/workflows/opencode-entry.md @@ -12,6 +12,7 @@ Use OpenCode as the daily AI entry point for this workspace without losing proje 2. Run `opencode` from the integrated terminal at the repository root. 3. Use the `fidelity` primary agent for this project profile, or the generic `workspace` agent for reusable profile work. 4. Let project-level config load from `AGENTS.md`, `opencode.json`, `.opencode/commands/`, and `.opencode/plugins/`. +5. Treat `.agents/` as the shared source for reusable workflows and skill/rule content; `.opencode/` is the OpenCode runtime view over that source. --- @@ -30,6 +31,7 @@ Use OpenCode as the daily AI entry point for this workspace without losing proje - Project instructions load automatically from `opencode.json`. - Root rules also load automatically from `AGENTS.md`. +- Shared workflow/rule content can stay centralized in `.agents/` while OpenCode keeps using `.opencode/`. - The main context command reads the reusable `core/`, active profile, stable workspace files, and today's log. - Stable context is split by systems, workstreams, process, people, and decisions so the agent can pull the right layer instead of overloading one project file. - Live communication context can be refreshed into `ai/inbox/` using the configured connector.