agentleFS
upex-galaxyupex-galaxy/agentic-qa-boilerplate/.agents/skills/project-context/SKILL.md

project-context

Skill26 starsChanged 9 days agoMITView on GitHub

Generate or refresh the business context maps (the HTML maps inside business-data-context, business-api-context and business-e2e-context) and the master test plan. Use for business-data-map, business-api-map, business-e2e-map, business-feature-map, user journeys map, master-test-plan, refresh project context, refresh all context, entity map, feature inventory, API business map, or risk-ranked test roadmap. Also scaffolds a project-owned <aspect>-context skill for any other aspect (context-skill mode), and builds the coverage inventory (coverage mode: coverage gaps, gap list, weak tests, what is not tested, behaviours vs tests). Routes exactly one mode at a time unless refresh-all is explicit. UPDATE regenerates only stale sections and always shows a diff and waits for approval before writing.

33 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use code-review.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 6 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 24 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Stop the run on a hard dependency failure or a rejected overwrite.

    line 25
  2. Distinctive:

    NEVER invent business facts.

    line 26
  3. Very specific:

    After a successful artifact write, add the pointer to .agents/instructions/agent-project.md ONLY when that pointer is missing.

    line 27
  4. Very specific:

    If the user does not identify a mode, ask which artifact to refresh.

    line 47
  5. Distinctive:

    Run sequentially and complete each reference's own validation and approval gate before loading the next:

    line 51
  6. Distinctive:

    Stop on a hard dependency failure or rejected overwrite.

    line 58
  7. Distinctive:

    Read every available source required by the selected reference.

    line 62
  8. Distinctive:

    CREATE mode may write the missing artifact after analysis.

    line 63
  9. Very specific:

    UPDATE mode must generate a candidate, show the diff summary, and wait for explicit approval before overwriting.

    line 64
  10. Very specific:

    After a successful artifact write, update the context pointers in .agents/instructions/agent-project.md (the project-owned overlay) only …

    line 66

“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Project Context

Own the regenerative project-context artifacts without duplicating their workflows across harness commands. The business maps live inside their context skills as HTML (agentic-qa-core/references/business-context-maps.md); this skill generates them and updates their stale sections.

Compact Rules

  • Exactly ONE mode per run: data · e2e (synonym features) · api · test-plan · refresh-all · context-skill · coverage. Load only that mode's reference; never open a second one in the same pass.
  • context-skill scaffolds a project-owned <aspect>-context for an aspect the shipped context map skills (CONTEXT_MAP_SKILLS) do not cover (../agentic-qa-core/references/skill-scaffold.md §3): it cites its sources and never copies them. refresh-all never includes it. Its router row goes in the ## Project context skills table of .agents/instructions/agent-project.md, its trigger phrases in that file's triggers:; NEVER in agent-skills-and-mcps.md, which bun sync overwrites.
  • coverage reads the maps, the KATA manifest and the TMS and buckets every behaviour (automated · manual-only · weak · uncovered); refresh-all never includes it. It writes only <<PRIMARY_ROOT>>/.session/project-context/coverage/ (companion files: this skill opts out of the session Phase 0) and never edits a test or a map. The weak verdict and the risk level are agent judgments with one evidence line per row; the buckets, order and diff are bun run context:coverage classify. Coverage Tech Stories are created only after a person approves the gap list, picked by weight (mkd deck for per-item choices, the question tool for one yes/no).
  • Mode → reference → output: see the Mode routing table. A map mode writes ONLY its own skill's references/<map>.html; the legacy markdown files a project may hold (the skill's legacy list in CONTEXT_MAP_SKILLS, cli/lib/context-maps.ts) are read as input and never deleted. Domain vocabulary and architecture come from the maps project-discovery generates: bun run context:map business-domain-context and bun run context:map infra-context, never a .context/ file. test-plan → references/test-plan.md → the ## Master Test Plan section of the QA Master Test Plan Epic description in Jira (cached by the sync at .context/PBI/qa-artifacts/master-test-plan.md; never a local file).
  • User did not name a mode → ASK. NEVER infer refresh-all from a generic "refresh the context" request.
  • refresh-all runs strictly data → e2e → api → test-plan, one at a time. Each reference's own validation and approval gate must close before the next is loaded. Never skip ahead.
  • Artifact missing (or a placeholder map) = CREATE mode: may write once the analysis completes. Artifact exists = UPDATE mode: generate a candidate (for a map: only its stale sections), show the diff summary, WAIT for explicit approval. NEVER overwrite an existing artifact without that approval, and NEVER regenerate a whole generated map.
  • Stop the run on a hard dependency failure or a rejected overwrite. A missing SOFT dependency is not a stop: record it as a Discovery Gap and continue, exactly as the selected reference defines.
  • NEVER invent business facts. Read every source the selected reference requires; anything unverified belongs under the output's mandatory discovery-gaps section, not asserted in the body.
  • After a successful artifact write, add the pointer to .agents/instructions/agent-project.md ONLY when that pointer is missing. NEVER write it into AGENTS.md (boilerplate-owned, size-budgeted) or add operational prose to CLAUDE.md. Placement per framework-development/references/instructions-doctrine.md §4, then bun run instructions:check; any other instruction change is /framework-development mode instructions.
  • Mode from $ARGUMENTS: when its first token matches a mode in the Mode routing table, that token IS the mode and the rest is forwarded to it unchanged (/project-context data on Claude Code, "project-context mode data" in prose on OpenCode and Codex, /skill:project-context data on Pi). No matching first token → ASK which mode.
  • Before any step that uses a declared capability (metadata.requires_capabilities: db, api-schema, diagrams for the maps' figures), run the point-of-use check in agentic-qa-core/references/preflight-gate.md §8: resolve by tool-name suffix, and when no available tool provides it STOP and name the capability + how to enable it, never a silent fallback.

Read full SKILL.md when: the requested mode is ambiguous, a refresh-all chain fails mid-sequence, or you need the selected reference's own analysis steps and validation gate.

Mode routing

Resolve one mode from the invocation: the first token of $ARGUMENTS when it names a mode below (or features, the synonym of e2e), otherwise ask. Load only the reference named in that row. The former business-*-map and master-test-plan command names survive as trigger phrases only.

ModeTrigger phrasesReferenceOutput
databusiness-data-map, entity/data mapreferences/data.md.agents/skills/business-data-context/references/business-data-map.html
e2ebusiness-e2e-map, business-feature-map, features, user journeys, feature inventoryreferences/e2e.md.agents/skills/business-e2e-context/references/business-e2e-map.html
apibusiness-api-map, API business mapreferences/api.md.agents/skills/business-api-context/references/business-api-map.html
test-planmaster-test-plan, risk-ranked test roadmapreferences/test-plan.mdMTP Epic description in Jira (cache: .context/PBI/qa-artifacts/master-test-plan.md)
refresh-allrefresh all project contextall four references, one at a timeall four outputs
context-skillcontext skill, scaffold <aspect>-context for another aspectreferences/context-skill.md.agents/skills/<aspect>-context/ (project-owned, never shipped upstream)
coveragecoverage inventory, coverage gaps, gap list, weak tests, what is not tested, behaviours vs testsreferences/coverage.md<<PRIMARY_ROOT>>/.session/project-context/coverage/gap-list.{json,md}; coverage Tech Stories in Jira only after approval

If the user does not identify a mode, ask which artifact to refresh. Do not infer refresh-all from a generic request.

refresh-all dependency order

Run sequentially and complete each reference's own validation and approval gate before loading the next:

  1. data
  2. e2e
  3. api
  4. test-plan

Stop on a hard dependency failure or rejected overwrite. Do not skip ahead. Missing soft dependencies remain Discovery Gaps exactly as each reference defines.

Shared contract

  • Read every available source required by the selected reference. Never invent business facts.
  • CREATE mode may write the missing artifact after analysis.
  • UPDATE mode must generate a candidate, show the diff summary, and wait for explicit approval before overwriting. In coverage the gap list is a recomputed session file, not an artifact: the approval gate applies to the tracker write it proposes.
  • Each output includes ## Discovery Gaps for unverified facts.
  • After a successful artifact write, update the context pointers in .agents/instructions/agent-project.md (the project-owned overlay) only when a pointer is missing. AGENTS.md is boilerplate-owned and size-budgeted, so it never receives them. Never add operational prose to CLAUDE.md.
  • A map mode writes into a business context skill that already exists (delivered by bun sync, never scaffolded here). After it writes, the mode reviews that skill's ## Rules and gotchas against the new map and PROPOSES any change; it never rewrites a rule.
  • $ARGUMENTS minus the mode token are forwarded unchanged to the selected mode.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.