Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .agency/plugins/ff-oce/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "ff-oce",
"description": "Fluid Framework On-Call Engineer agent and tools",
"version": "1.0.0"
}
Original file line number Diff line number Diff line change
@@ -1,42 +1,6 @@
---
name: ff-oce
description: 'Assists engineers on the Fluid Framework Client OCE rotation.'
mcp-servers:
ado:
type: local
command: agency
args: ["mcp", "ado", "--organization", "fluidframework"]
tools: ["*"]
ado-office:
type: local
command: agency
args: ["mcp", "ado", "--organization", "office"]
tools: ["*"]
enghub:
type: local
command: agency
args: ["mcp", "enghub"]
tools: ["*"]
icm:
type: local
command: agency
args: ["mcp", "icm"]
tools: ["*"]
kusto:
type: local
command: agency
args: ["mcp", "kusto", "--service-uri", "https://kusto.aria.microsoft.com/"]
tools: ["*"]
teams:
type: local
command: agency
args: ["mcp", "teams"]
tools: ["*"]
workiq:
type: local
command: agency
args: ["mcp", "workiq"]
tools: ["*"]
---

# Fluid Framework On-Call Engineer (OCE) Agent
Expand Down
5 changes: 5 additions & 0 deletions .agency/plugins/nori/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "nori",
"description": "Senior SWE profile — skills, subagents, and commands",
"version": "1.0.2"
}
13 changes: 0 additions & 13 deletions .repoverlay/library/ff-oce/repoverlay.ccl

This file was deleted.

4 changes: 0 additions & 4 deletions .repoverlay/library/nori/.nori-version

This file was deleted.

30 changes: 15 additions & 15 deletions .repoverlay/library/nori/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
- *CRITICAL* Add each element of this checklist to your Todo list using TodoWrite. DO NOT BE LAZY.
- Announce "Following Nori workflow..." to the user
<system-reminder> Do not skip any steps. Do not rationalize. Do not avoid reading skills. Even if you think you know what is in them, you MUST read the skill files. </system-reminder>
- Read `.claude/skills/using-skills/SKILL.md`
- Invoke the `using-skills` skill
- Check git status - are you on main, master, dev, or any similarly named protected branch?
- If yes: ask me if I want to create a branch or a worktree.
- If creating a worktree, read and follow `.claude/skills/using-git-worktrees/SKILL.md` to automatically create a worktree. Derive the branch name from my request.
- If creating a worktree, read and follow the `using-git-worktrees` skill to automatically create a worktree. Derive the branch name from my request.
- Ask me to pick a mode: nori-full-send or nori-copilot.
<system-reminder> In nori-full-send mode, the agent works with me to create a plan, and then operates autonomously until work is completed. </system-reminder>
<system-reminder> In nori-copilot mode, the agent works with me to create a plan, and then clearly telegraphs each step and asks for permission before continuing. </system-reminder>
Expand All @@ -17,19 +17,19 @@
<required>
- *CRITICAL* Add each element of this checklist to your Todo list using TodoWrite. DO NOT BE LAZY.
- Research how to best solve my question WITHOUT making code changes by doing the following:
- Search for relevant skills using Glob/Grep in `.claude/skills/`
- Search for relevant skills in the available skills list
- Use subagents to do your deep research. If you have access to the nori-knowledge-researcher subagent, use that one.
<system-reminder> You can run many research subagents in parallel. </system-reminder>
- Read and follow `.claude/skills/writing-plans/SKILL.md`
- Read and follow the `writing-plans` skill
- Present plan to me and ask for feedback.
- If I have feedback, modify the plan. Repeat until I approve.
<system-reminder> Do not stop here. Add *each* element of the checklist to your Todo list, including the ones below. </system-reminder>
- Use test driven development. Read and follow `.claude/skills/test-driven-development/SKILL.md`.
- Use test driven development. Read and follow the `test-driven-development` skill.
<system-reminder> Remember to write tests for all features first before writing any implementation </system-reminder>
- Move immediately to the next step in your TodoList. Do *NOT* just present your work and wait around.
- Check if the codebase uses noridocs.
- Update documentation, INCLUDING out of date documentation. Read and follow `.claude/skills/updating-noridocs/SKILL.md`
- Finish development with final checks. Read and follow `.claude/skills/finishing-a-development-branch/SKILL.md`
- Update documentation, INCLUDING out of date documentation. Read and follow the `updating-noridocs` skill
- Finish development with final checks. Read and follow the `finishing-a-development-branch` skill
</required>

<system-reminder>
Expand All @@ -45,17 +45,17 @@ Do not make changes to third party APIs.
- *CRITICAL* Add each element of this checklist to your Todo list using TodoWrite. DO NOT BE LAZY.
<system-reminder> Copilot mode should behave identically to full-send mode, just on your
- Research how to best solve my question WITHOUT making code changes by doing the following:
- Search for relevant skills using Glob/Grep in `.claude/skills/`
- Search for relevant skills in the available skills list
- Use subagents to do your deep research. If you have access to the nori-knowledge-researcher subagent, use that one.
<system-reminder> You can run many research subagents in parallel. </system-reminder>
- Read and follow `.claude/skills/writing-plans/SKILL.md`
- Read and follow the `writing-plans` skill
- Present plan to me and ask for feedback.
- If I have feedback, modify the plan. Repeat until I approve.
<system-reminder> Do not stop here. Add *each* element of the checklist to your Todo list, including the ones below. </system-reminder>
- Ask if I want to follow test driven development. If yes, read and follow `.claude/skills/test-driven-development/SKILL.md`
- Ask if I want to follow test driven development. If yes, read and follow the `test-driven-development` skill
<system-reminder> Remember to write tests for all features first before writing any implementation </system-reminder>
- Ask if I want to update docs, including out of date documentation. If yes, read and follow `.claude/skills/updating-noridocs/SKILL.md`
- Ask if I want to create a PR. If yes, read and follow `.claude/skills/finishing-a-development-branch/SKILL.md`
- Ask if I want to update docs, including out of date documentation. If yes, read and follow the `updating-noridocs` skill
- Ask if I want to create a PR. If yes, read and follow the `finishing-a-development-branch` skill
</required>


Expand Down Expand Up @@ -84,6 +84,6 @@ If you cannot find the source of the bug, STOP. Compile everything you have lear

**See also:**

- `.claude/skills/testing-anti-patterns/SKILL.md` - What NOT to do when writing tests
- `.claude/skills/systematic-debugging/SKILL.md` - Four-phase debugging framework
- `.claude/skills/root-cause-tracing/SKILL.md` - Backward tracing technique
- `testing-anti-patterns` skill - What NOT to do when writing tests
- `systematic-debugging` skill - Four-phase debugging framework
- `root-cause-tracing` skill - Backward tracing technique
40 changes: 0 additions & 40 deletions .repoverlay/library/nori/docs.md

This file was deleted.

74 changes: 0 additions & 74 deletions .repoverlay/library/nori/nori.json

This file was deleted.

5 changes: 0 additions & 5 deletions .repoverlay/library/nori/profile.json

This file was deleted.

31 changes: 0 additions & 31 deletions .repoverlay/library/nori/subagents/docs.md

This file was deleted.

21 changes: 21 additions & 0 deletions agency.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[profiles.ff-oce.mcps.builtins]
enghub = true
icm = true
teams = true
workiq = true

[profiles.ff-oce.mcps.builtins.ado]
organization = "fluidframework"

[profiles.ff-oce.mcps.builtins.ado-office]
type = "ado"
organization = "office"

[profiles.ff-oce.mcps.builtins.kusto]
service_uri = "https://kusto.aria.microsoft.com/"

[profiles.ff-oce.plugins]
default = ["local:./.agency/plugins/ff-oce"]

[profiles.nori.plugins]
default = ["local:./.agency/plugins/nori"]
5 changes: 2 additions & 3 deletions scripts/codespace-setup/agent-aliases.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ claude() {
dev() {
_ensure_agency || return 1
repoverlay switch --copy nori
agency claude --mcp 'ado --org fluidframework' --mcp 'workiq' --mcp 'enghub' "$@" -- --model opus
agency claude --profile nori --mcp 'ado --org fluidframework' --mcp 'workiq' --mcp 'enghub' "$@" -- --model opus
}

copilot() {
Expand All @@ -43,8 +43,7 @@ copilot() {

oce() {
_ensure_agency || return 1
repoverlay switch --copy ff-oce
agency copilot "$@" -- --agent ff-oce
agency copilot --profile ff-oce "$@" -- --agent ff-oce:ff-oce
}

ai-reset() {
Expand Down
Loading