Give Agents Organizational Context
You generated an agent team and it works -- now you need to add organizational context like deployment targets, platform conventions, and team-specific constraints. This guide shows where each type of guidance belongs and how to keep it consistent as the standard evolves.
Prerequisites
Complete the
Configure Agents to Meet Your Engineering Standard
guide first -- this page assumes you have a working agent team
generated with
npx fit-pathway agent.
Use the organizational context slot
The organizational context slot carries
installation-scoped per-team facts that do not
belong on a track shared across teams: the repository names this
team works in, the manager handle, adjacent leads on neighbouring
teams, the active project list, and the escalation paths. Edit
data/pathway/organizational-context.yaml (sibling of
claude-settings.yaml) and the section reaches every
agent the next time you regenerate. The starter template ships a
populated example; replace the placeholder values or delete the file
if your installation has no per-team facts to add.
# data/pathway/organizational-context.yaml
repositories: [molecularforge, data-lake-infra, api-gateway]
team: pharma-platform
manager: athena
adjacentLeads:
- handle: iris
role: DX
- handle: prometheus
role: DS/AI
projects: [drug-discovery-pipeline, lab-data-portal]
escalationPaths:
- trigger: production page after hours
destination: pagerduty://pharma-platform-oncall
- trigger: security incident
destination: security@pharma.example.com
After npx fit-pathway agent, the rendered
.claude/CLAUDE.md carries the section:
## Organizational Context
- **Repositories:** molecularforge, data-lake-infra, api-gateway
- **Team:** pharma-platform
- **Manager:** athena
- **Adjacent leads:** iris (DX), prometheus (DS/AI)
- **Projects:** drug-discovery-pipeline, lab-data-portal
- **Escalation paths:**
- production page after hours → pagerduty://pharma-platform-oncall
- security incident → security@pharma.example.com
A top-level concern that has no value (or is an empty list) suppresses its bullet — partial population is valid. An entirely empty or absent slot suppresses the whole section, so the generator produces the same bytes it produced before the slot existed.
Use the slot for facts that change with the team. Use the
track-scoped teamInstructions for facts that match the
track everywhere it is used. The slot lives at the installation
level; teamInstructions lives on the track and
contaminates every other team that hires that track. Run
bunx fit-map validate to confirm your slot parses.
Marker contract for downstream tooling
Tooling that consumes the rendered
.claude/CLAUDE.md locates the organizational context
section by string match. The contract:
-
The section opens with the literal line
## Organizational Context. - Downstream tools detect the section by exact-string match on that line.
-
Tooling that needs the unique occurrence MUST match the LAST
occurrence of
## Organizational Contextin the file. The section is always appended last; the final match is robust against the unlikely case that a track author writes that heading insideteamInstructionsprose.
A worked example:
awk '/^## Organizational Context$/{i=NR} END{print i}' .claude/CLAUDE.md
prints the line number of the section in any CLAUDE.md that has one.
Understand the architecture
Pathway generates agent configurations into three layers backed by the installation-scoped slot above. Each layer has a distinct purpose, and information flows downward -- never upward.
.claude/
CLAUDE.md # Layer 1: Team Instructions
agents/
software-engineer--platform.agent.md # Layer 2: Agent Profile
skills/
task-completion/SKILL.md # Layer 3: Skills
incident-response/SKILL.md
| Layer | File | Loaded by | Contains |
|---|---|---|---|
| Team Instructions | .claude/CLAUDE.md |
Every agent, every run | Platform conventions, environment, architectural decisions |
| Agent Profile | .claude/agents/<name>.md |
One agent at a time | Identity, working style, constraints, skill index |
| Skills | .claude/skills/*/SKILL.md |
On demand | Procedure, references, and verification checklists |
The rules for what goes where follow from how these files are loaded:
-
Team Instructions -- content that every agent on
the project must know regardless of their specialization.
Environment variables, repository conventions, deployment targets,
shared architectural decisions. The track-scoped
teamInstructionsbody carries shared-across-teams content; the installation-scoped organizational-context slot (above) carries the per-team facts (repos, manager, adjacent leads, projects, escalation paths). Both layers render into the same.claude/CLAUDE.md. - Agent Profile -- content that distinguishes this agent from others. Identity, working style derived from emphasized behaviours, constraints specific to the discipline and track.
- Skills -- each skill folder holds a procedure (sequencing and decisions), references (data the procedure consults), and checklists (entry and exit verification). Each skill fires independently and should be self-contained.
Place guidance in the correct layer
When you need to add organizational context, ask: "Who needs to know this?"
| Who needs it | Where it goes | Example |
|---|---|---|
| Every agent on the project | Team Instructions | "All services deploy to AWS eu-west-1" |
| One role specialization | Agent Profile | "Platform engineers own backward compatibility" |
| Anyone doing a specific task | Skill | "Code review follows the four-step checklist in REVIEW.md" |
The --level flag is the per-invocation calibration
surface — distinct from teamInstructions (shared across
every agent on a track) and the organizational-context slot (shared
across every installation):
npx fit-pathway agent software_engineering --track=platform --level=J060
Set --level explicitly when two agents on the same team
must reflect different role-level expectations. Run the command once
per level rather than encoding the difference inside
teamInstructions, which contaminates every team using
the track.
Preview what Pathway generates for a given role to confirm placement:
npx fit-pathway agent software_engineering --track=platform
The output shows all three layers in order. Verify that the content you added appears in the correct section.
Avoid common anti-patterns
Three patterns cause agents to produce inconsistent output. Each stems from violating the layer boundaries.
Duplicated facts
The same fact stated in both team instructions and a skill file. When the fact changes, one copy gets updated and the other does not. The agent receives contradictory guidance depending on which file it reads first.
Wrong -- deployment target repeated in two layers:
# data/pathway/tracks/platform.yaml
agent:
teamInstructions: |
All services deploy to AWS eu-west-1 using ECS Fargate.
# data/pathway/capabilities/cloud_platforms.yaml
skills:
- id: cloud_platforms
agent:
focus: |
Deploy all services to AWS eu-west-1 using ECS Fargate.
Right -- state the fact once in
teamInstructions and have the skill reference it:
focus: Follow the deployment conventions defined in team
instructions.
Contradictory guidance
Two layers give conflicting instructions because they were written at different times -- for example, team instructions say "use REST" while a skill says "prefer gRPC." The agent has no way to resolve the conflict. Decide which layer owns the decision, state it there, and remove the conflicting statement.
Narrative in checklists
Skill checklists work because agents execute them item by item.
Narrative explanations inside checklist items dilute the signal. Put
explanations in the skill's focus or
instructions field; keep checklist items imperative.
Wrong:
readChecklist:
- >-
Review the PR description carefully. This matters because context is often
lost between the author's intent and the reviewer's interpretation, so
reading the description ensures alignment before reviewing code.
Right:
readChecklist:
- Read the PR description and confirm it states the change's intent.
Update agents when the standard changes
Agent configurations are derived from your engineering standard data. When the standard changes, regenerate the agent files to pick up those changes:
npx fit-pathway agent software_engineering --track=platform --output=.
Pathway overwrites .claude/ with the latest derived
configuration. Verify the updated skill list:
npx fit-pathway agent software_engineering --track=platform --skills
If a skill was added to the discipline's tier arrays, it appears here. If one was removed, it disappears. To see all available combinations:
npx fit-pathway agent --list
se-platform software_engineering platform, Software Engineering (Platform Engineering)
se-sre software_engineering sre, Software Engineering (Site Reliability Engineering)
Then run the agent command for each combination that
your project uses.
After regenerating, check three things:
-
Team instructions are current. Open
.claude/CLAUDE.mdand confirm the conventions still match your platform. - No hand-edits were lost. Regeneration overwrites generated files. Move hand-edits into the YAML source so they survive.
-
Skills match the discipline. Run
npx fit-pathway agent <discipline> --track=<track> --skillsand confirm.
Verify
Your organizational context is well-structured when:
- Each fact lives in exactly one layer. No team instruction is duplicated in a skill file. No agent profile restates what team instructions already say.
-
No layer contradicts another. Running
npx fit-pathway agent <discipline> --track=<track>and reading the output top to bottom, every statement is consistent. - Checklist items are imperative and verifiable. No narrative explanations inside checklist arrays.
-
Regeneration produces the expected output. After
updating the standard and running
npx fit-pathway agent ... --output=., the generated files reflect the change.
What's next
Configure Agents to Meet Your Engineering Standard
End the cycle of rejecting agent output for following generic practices — configure agents to meet the expectations the organization holds for humans.
Authoring Agent-Aligned Engineering Standards
Turn 'good engineering' into an operational definition so evaluations start from a shared foundation instead of private mental models.