{"owner":"Tracer-Cloud","repo":"opensre","hasSkills":true,"totalSkillsCount":5,"totalTokensCount":2500,"categories":["root-instruction","claude-rule","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"opensre":{"command":"npx","args":["-y","@modelcontextprotocol/server-opensre"]}}},"found":["AGENTS.md","CLAUDE.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"AGENTS.md":"# OpenSRE agent instructions\n\nKeep this file to repository-wide rules and task-specific reading directions.\nBefore editing, read applicable package `AGENTS.md` files; load linked references\nonly for the work they govern. Put explanations and incident history in references,\nnot here.\n\n## Human-owned files (mandatory)\n\nAgents must never create, edit, rename, move, or delete any `SKILL.md` anywhere\nin this repository or `core/agent_harness/prompts/opensre_system_prompt.md`,\nincluding frontmatter. A direct request, failing check, or trivial change does\nnot override this rule. Otherwise, only suggest changes in chat or the PR\n(quote current and proposed text), leave the file untouched, and report blocked\nwork while delivering everything else.\n\n**Sole exception — literal Ctrl-H replacements.** An agent may apply an exact\nfind-and-replace of a word or sentence when the user supplies both the current\ntext and the replacement text verbatim. The replacement is absolute: swap the\ngiven string for the given string, character for character, and touch nothing\nelse — no rewording, no reflowing, no \"while I'm here\" fixes, no frontmatter\nbumps unless the user spelled those out the same way. If the old text is\nambiguous, missing, or the user described the change rather than dictating it,\nthe exception does not apply; fall back to suggesting.\n\nSkills guide model reasoning, not deterministic pipelines. Supporting scripts\nmay handle only a few narrow mechanical chores, declared in\n`references/script-tools.md`; decisions, branching, and end-to-end workflows\nmust not move into those scripts. Suggest a real tool when needed.\n\n## Commands and delivery\n\n- Install the environment and push hook: `make install`.\n- Run this checkout: `uv run opensre …` from the repository root.\n- Run Python with `uv run python …`.\n- Follow [CI.md](CI.md) for scoped local validation, every push/PR, and CI/review\n  follow-through. Do not add broader local validation requirements.\n- Use the [PR template](.github/PULL_REQUEST_TEMPLATE.md), including AI disclosure.\n\n## Repository-wide conventions\n\n- Use strict typing, one clear purpose per module, and concise contract-focused\n  docstrings. Preserve non-obvious invariants and rationale, not bug history.\n- Keep `__init__.py` files to public imports and `__all__`; implementation and\n  side effects belong in focused modules.\n- Protocol methods added or changed have a docstring as their **only** body:\n  no `...`, `pass`, or `raise NotImplementedError`. Do not mass-convert unrelated\n  existing stubs or trust a clean typecheck/CodeQL scan to enforce this rule.\n- Use `http.HTTPStatus` constants, never numeric HTTP status literals, in source\n  and tests.\n- Env-var names and shared static constants belong in domain leaf modules under\n  `config/constants/`, re-exported by its `__init__.py`. Only names used solely\n  inside `config/llm_settings.py` may live there; do not create auth import cycles.\n- Put behavior in its owning domain/provider/vendor module. Check sibling\n  patterns first; keep orchestration and shared dispatch thin, registries limited\n  to metadata/defaults, and shared UI generic. Two or more related feature-specific\n  functions belong in a dedicated module. Do not add provider-specific branches\n  to files serving multiple providers; delegate to a dedicated module instead.\n- Follow architecture boundaries: `core/` and `integrations/` never import from\n  `surfaces/`. Break import cycles with shared leaf modules, not lazy imports.\n- After refactoring, migrate imports/tests and remove compatibility-only\n  forwarding modules in the same change; keep one canonical import path.\n- Never hide failing behavior behind constant-condition toggles or skip tests\n  to conceal failures.\n- Natural-language intent belongs to the action agent: no regex/keyword/fuzzy\n  routing or deterministic bypasses. The interactive-shell planner never denies\n  turns; do not restore `mark_unhandled` or `UNHANDLED:`. Follow the applicable\n  harness/shell instructions for explicit-command exceptions and handoff tags.\n- Redact exception details at external HTTP/chat response boundaries, not shared\n  call sites. Log full detail server-side with `logger` and `capture_exception`;\n  return a generic message or exception type name. Local terminal output may\n  retain detail, but external responses must not expose provider/model internals.\n- Cached LLM clients serve concurrent turns. Retry decisions must use facts\n  captured from the current request, not mutable shared client flags.\n\n## Tests, UI, docs, and performance\n\n- Prefer one high-signal test per failure class: security/isolation, concurrency,\n  crash/shutdown, package/transport boundaries, and real regressions. Thin redundant\n  mock-call, vocabulary, success, and control-flow-only tests unless they are the\n  only coverage of a contract; exercise real loops/wiring where relevant.\n- Before behavior-preserving refactors, add a characterization test and confirm\n  it passes on the original code; keep it green through the change. Optimize\n  afterward and include any benchmark in the PR.\n- On hot paths, use sets/maps for repeated membership/lookups, reuse resolved\n  values, avoid repeated `deepcopy`/serialization/sorting, and verify cached\n  objects are not mutated. Leave cold code simple.\n- CLI/UI inputs must show required/optional fields and defaults, validate forms\n  and direct commands consistently before saving, and preserve values on errors.\n- `docs/` is user-facing: include actions, required/optional values, commands,\n  env vars, and invisible gotchas—not internal APIs or bug history. Add new\n  `.mdx` pages to `docs/docs.json` so they appear in navigation.\n\n## Read when relevant\n\n| Work | Required reference |\n| --- | --- |\n| Package structure or ownership | [Architecture and repo map](docs/ARCHITECTURE.md); [core naming](docs/NAMING.md) for `core/` changes |\n| Tools or integrations | [Placement policy](docs/tool-placement-policy.md) and [contributor guide / definition of done](docs/adding-tools-and-integrations.md) before adding or approving one; import contracts via `core.tool` and authoring helpers via `core.tool_framework` |\n| Persistence or migrations | [PERSISTENCE.md](PERSISTENCE.md) |\n| CLI, REPL, or shared-terminal presentation | [Shared terminal UI rules and visual verification](surfaces/interactive_shell/ui/AGENTS.md) |\n| Agent execution or action policy | [Harness rules](core/agent_harness/AGENTS.md), [shell rules](surfaces/interactive_shell/AGENTS.md), and [action policy](docs/interactive-shell-action-policy.md) |\n| LLM providers, retries, or tool schemas | [Hosted LLM rules](core/llm/AGENTS.md) and [request/schema notes](CONTRIBUTOR_NOTES.md#llm-requests-and-tool-schemas) |\n| Test fakes or test typing | [Test notes](CONTRIBUTOR_NOTES.md#test-fakes-and-typing) |\n| CodeQL/code-quality findings | [Safe remediation notes](CONTRIBUTOR_NOTES.md#codeql-and-code-quality) |\n| Human skill/prompt proposals | [Prompt rules](core/agent_harness/prompts/AGENTS.md) and [skill contract](core/agent_harness/prompts/skills/AGENTS.md); these do not authorize edits to protected files |\n","CLAUDE.md":"@AGENTS.md @CLAUDE_PERSONAL.md\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/plugin.json)"},"files":{"AGENTS.md":"# OpenSRE agent instructions\n\nKeep this file to repository-wide rules and task-specific reading directions.\nBefore editing, read applicable package `AGENTS.md` files; load linked references\nonly for the work they govern. Put explanations and incident history in references,\nnot here.\n\n## Human-owned files (mandatory)\n\nAgents must never create, edit, rename, move, or delete any `SKILL.md` anywhere\nin this repository or `core/agent_harness/prompts/opensre_system_prompt.md`,\nincluding frontmatter. A direct request, failing check, or trivial change does\nnot override this rule. Otherwise, only suggest changes in chat or the PR\n(quote current and proposed text), leave the file untouched, and report blocked\nwork while delivering everything else.\n\n**Sole exception — literal Ctrl-H replacements.** An agent may apply an exact\nfind-and-replace of a word or sentence when the user supplies both the current\ntext and the replacement text verbatim. The replacement is absolute: swap the\ngiven string for the given string, character for character, and touch nothing\nelse — no rewording, no reflowing, no \"while I'm here\" fixes, no frontmatter\nbumps unless the user spelled those out the same way. If the old text is\nambiguous, missing, or the user described the change rather than dictating it,\nthe exception does not apply; fall back to suggesting.\n\nSkills guide model reasoning, not deterministic pipelines. Supporting scripts\nmay handle only a few narrow mechanical chores, declared in\n`references/script-tools.md`; decisions, branching, and end-to-end workflows\nmust not move into those scripts. Suggest a real tool when needed.\n\n## Commands and delivery\n\n- Install the environment and push hook: `make install`.\n- Run this checkout: `uv run opensre …` from the repository root.\n- Run Python with `uv run python …`.\n- Follow [CI.md](CI.md) for scoped local validation, every push/PR, and CI/review\n  follow-through. Do not add broader local validation requirements.\n- Use the [PR template](.github/PULL_REQUEST_TEMPLATE.md), including AI disclosure.\n\n## Repository-wide conventions\n\n- Use strict typing, one clear purpose per module, and concise contract-focused\n  docstrings. Preserve non-obvious invariants and rationale, not bug history.\n- Keep `__init__.py` files to public imports and `__all__`; implementation and\n  side effects belong in focused modules.\n- Protocol methods added or changed have a docstring as their **only** body:\n  no `...`, `pass`, or `raise NotImplementedError`. Do not mass-convert unrelated\n  existing stubs or trust a clean typecheck/CodeQL scan to enforce this rule.\n- Use `http.HTTPStatus` constants, never numeric HTTP status literals, in source\n  and tests.\n- Env-var names and shared static constants belong in domain leaf modules under\n  `config/constants/`, re-exported by its `__init__.py`. Only names used solely\n  inside `config/llm_settings.py` may live there; do not create auth import cycles.\n- Put behavior in its owning domain/provider/vendor module. Check sibling\n  patterns first; keep orchestration and shared dispatch thin, registries limited\n  to metadata/defaults, and shared UI generic. Two or more related feature-specific\n  functions belong in a dedicated module. Do not add provider-specific branches\n  to files serving multiple providers; delegate to a dedicated module instead.\n- Follow architecture boundaries: `core/` and `integrations/` never import from\n  `surfaces/`. Break import cycles with shared leaf modules, not lazy imports.\n- After refactoring, migrate imports/tests and remove compatibility-only\n  forwarding modules in the same change; keep one canonical import path.\n- Never hide failing behavior behind constant-condition toggles or skip tests\n  to conceal failures.\n- Natural-language intent belongs to the action agent: no regex/keyword/fuzzy\n  routing or deterministic bypasses. The interactive-shell planner never denies\n  turns; do not restore `mark_unhandled` or `UNHANDLED:`. Follow the applicable\n  harness/shell instructions for explicit-command exceptions and handoff tags.\n- Redact exception details at external HTTP/chat response boundaries, not shared\n  call sites. Log full detail server-side with `logger` and `capture_exception`;\n  return a generic message or exception type name. Local terminal output may\n  retain detail, but external responses must not expose provider/model internals.\n- Cached LLM clients serve concurrent turns. Retry decisions must use facts\n  captured from the current request, not mutable shared client flags.\n\n## Tests, UI, docs, and performance\n\n- Prefer one high-signal test per failure class: security/isolation, concurrency,\n  crash/shutdown, package/transport boundaries, and real regressions. Thin redundant\n  mock-call, vocabulary, success, and control-flow-only tests unless they are the\n  only coverage of a contract; exercise real loops/wiring where relevant.\n- Before behavior-preserving refactors, add a characterization test and confirm\n  it passes on the original code; keep it green through the change. Optimize\n  afterward and include any benchmark in the PR.\n- On hot paths, use sets/maps for repeated membership/lookups, reuse resolved\n  values, avoid repeated `deepcopy`/serialization/sorting, and verify cached\n  objects are not mutated. Leave cold code simple.\n- CLI/UI inputs must show required/optional fields and defaults, validate forms\n  and direct commands consistently before saving, and preserve values on errors.\n- `docs/` is user-facing: include actions, required/optional values, commands,\n  env vars, and invisible gotchas—not internal APIs or bug history. Add new\n  `.mdx` pages to `docs/docs.json` so they appear in navigation.\n\n## Read when relevant\n\n| Work | Required reference |\n| --- | --- |\n| Package structure or ownership | [Architecture and repo map](docs/ARCHITECTURE.md); [core naming](docs/NAMING.md) for `core/` changes |\n| Tools or integrations | [Placement policy](docs/tool-placement-policy.md) and [contributor guide / definition of done](docs/adding-tools-and-integrations.md) before adding or approving one; import contracts via `core.tool` and authoring helpers via `core.tool_framework` |\n| Persistence or migrations | [PERSISTENCE.md](PERSISTENCE.md) |\n| CLI, REPL, or shared-terminal presentation | [Shared terminal UI rules and visual verification](surfaces/interactive_shell/ui/AGENTS.md) |\n| Agent execution or action policy | [Harness rules](core/agent_harness/AGENTS.md), [shell rules](surfaces/interactive_shell/AGENTS.md), and [action policy](docs/interactive-shell-action-policy.md) |\n| LLM providers, retries, or tool schemas | [Hosted LLM rules](core/llm/AGENTS.md) and [request/schema notes](CONTRIBUTOR_NOTES.md#llm-requests-and-tool-schemas) |\n| Test fakes or test typing | [Test notes](CONTRIBUTOR_NOTES.md#test-fakes-and-typing) |\n| CodeQL/code-quality findings | [Safe remediation notes](CONTRIBUTOR_NOTES.md#codeql-and-code-quality) |\n| Human skill/prompt proposals | [Prompt rules](core/agent_harness/prompts/AGENTS.md) and [skill contract](core/agent_harness/prompts/skills/AGENTS.md); these do not authorize edits to protected files |\n","CLAUDE.md":"@AGENTS.md @CLAUDE_PERSONAL.md\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# OpenSRE agent instructions\n\nKeep this file to repository-wide rules and task-specific reading directions.\nBefore editing, read applicable package `AGENTS.md` files; load linked references\nonly for the work they govern. Put explanations and incident history in references,\nnot here.\n\n## Human-owned files (mandatory)\n\nAgents must never create, edit, rename, move, or delete any `SKILL.md` anywhere\nin this repository or `core/agent_harness/prompts/opensre_system_prompt.md`,\nincluding frontmatter. A direct request, failing check, or trivial change does\nnot override this rule. Otherwise, only suggest changes in chat or the PR\n(quote current and proposed text), leave the file untouched, and report blocked\nwork while delivering everything else.\n\n**Sole exception — literal Ctrl-H replacements.** An agent may apply an exact\nfind-and-replace of a word or sentence when the user supplies both the current\ntext and the replacement text verbatim. The replacement is absolute: swap the\ngiven string for the given string, character for character, and touch nothing\nelse — no rewording, no reflowing, no \"while I'm here\" fixes, no frontmatter\nbumps unless the user spelled those out the same way. If the old text is\nambiguous, missing, or the user described the change rather than dictating it,\nthe exception does not apply; fall back to suggesting.\n\nSkills guide model reasoning, not deterministic pipelines. Supporting scripts\nmay handle only a few narrow mechanical chores, declared in\n`references/script-tools.md`; decisions, branching, and end-to-end workflows\nmust not move into those scripts. Suggest a real tool when needed.\n\n## Commands and delivery\n\n- Install the environment and push hook: `make install`.\n- Run this checkout: `uv run opensre …` from the repository root.\n- Run Python with `uv run python …`.\n- Follow [CI.md](CI.md) for scoped local validation, every push/PR, and CI/review\n  follow-through. Do not add broader local validation requirements.\n- Use the [PR template](.github/PULL_REQUEST_TEMPLATE.md), including AI disclosure.\n\n## Repository-wide conventions\n\n- Use strict typing, one clear purpose per module, and concise contract-focused\n  docstrings. Preserve non-obvious invariants and rationale, not bug history.\n- Keep `__init__.py` files to public imports and `__all__`; implementation and\n  side effects belong in focused modules.\n- Protocol methods added or changed have a docstring as their **only** body:\n  no `...`, `pass`, or `raise NotImplementedError`. Do not mass-convert unrelated\n  existing stubs or trust a clean typecheck/CodeQL scan to enforce this rule.\n- Use `http.HTTPStatus` constants, never numeric HTTP status literals, in source\n  and tests.\n- Env-var names and shared static constants belong in domain leaf modules under\n  `config/constants/`, re-exported by its `__init__.py`. Only names used solely\n  inside `config/llm_settings.py` may live there; do not create auth import cycles.\n- Put behavior in its owning domain/provider/vendor module. Check sibling\n  patterns first; keep orchestration and shared dispatch thin, registries limited\n  to metadata/defaults, and shared UI generic. Two or more related feature-specific\n  functions belong in a dedicated module. Do not add provider-specific branches\n  to files serving multiple providers; delegate to a dedicated module instead.\n- Follow architecture boundaries: `core/` and `integrations/` never import from\n  `surfaces/`. Break import cycles with shared leaf modules, not lazy imports.\n- After refactoring, migrate imports/tests and remove compatibility-only\n  forwarding modules in the same change; keep one canonical import path.\n- Never hide failing behavior behind constant-condition toggles or skip tests\n  to conceal failures.\n- Natural-language intent belongs to the action agent: no regex/keyword/fuzzy\n  routing or deterministic bypasses. The interactive-shell planner never denies\n  turns; do not restore `mark_unhandled` or `UNHANDLED:`. Follow the applicable\n  harness/shell instructions for explicit-command exceptions and handoff tags.\n- Redact exception details at external HTTP/chat response boundaries, not shared\n  call sites. Log full detail server-side with `logger` and `capture_exception`;\n  return a generic message or exception type name. Local terminal output may\n  retain detail, but external responses must not expose provider/model internals.\n- Cached LLM clients serve concurrent turns. Retry decisions must use facts\n  captured from the current request, not mutable shared client flags.\n\n## Tests, UI, docs, and performance\n\n- Prefer one high-signal test per failure class: security/isolation, concurrency,\n  crash/shutdown, package/transport boundaries, and real regressions. Thin redundant\n  mock-call, vocabulary, success, and control-flow-only tests unless they are the\n  only coverage of a contract; exercise real loops/wiring where relevant.\n- Before behavior-preserving refactors, add a characterization test and confirm\n  it passes on the original code; keep it green through the change. Optimize\n  afterward and include any benchmark in the PR.\n- On hot paths, use sets/maps for repeated membership/lookups, reuse resolved\n  values, avoid repeated `deepcopy`/serialization/sorting, and verify cached\n  objects are not mutated. Leave cold code simple.\n- CLI/UI inputs must show required/optional fields and defaults, validate forms\n  and direct commands consistently before saving, and preserve values on errors.\n- `docs/` is user-facing: include actions, required/optional values, commands,\n  env vars, and invisible gotchas—not internal APIs or bug history. Add new\n  `.mdx` pages to `docs/docs.json` so they appear in navigation.\n\n## Read when relevant\n\n| Work | Required reference |\n| --- | --- |\n| Package structure or ownership | [Architecture and repo map](docs/ARCHITECTURE.md); [core naming](docs/NAMING.md) for `core/` changes |\n| Tools or integrations | [Placement policy](docs/tool-placement-policy.md) and [contributor guide / definition of done](docs/adding-tools-and-integrations.md) before adding or approving one; import contracts via `core.tool` and authoring helpers via `core.tool_framework` |\n| Persistence or migrations | [PERSISTENCE.md](PERSISTENCE.md) |\n| CLI, REPL, or shared-terminal presentation | [Shared terminal UI rules and visual verification](surfaces/interactive_shell/ui/AGENTS.md) |\n| Agent execution or action policy | [Harness rules](core/agent_harness/AGENTS.md), [shell rules](surfaces/interactive_shell/AGENTS.md), and [action policy](docs/interactive-shell-action-policy.md) |\n| LLM providers, retries, or tool schemas | [Hosted LLM rules](core/llm/AGENTS.md) and [request/schema notes](CONTRIBUTOR_NOTES.md#llm-requests-and-tool-schemas) |\n| Test fakes or test typing | [Test notes](CONTRIBUTOR_NOTES.md#test-fakes-and-typing) |\n| CodeQL/code-quality findings | [Safe remediation notes](CONTRIBUTOR_NOTES.md#codeql-and-code-quality) |\n| Human skill/prompt proposals | [Prompt rules](core/agent_harness/prompts/AGENTS.md) and [skill contract](core/agent_harness/prompts/skills/AGENTS.md); these do not authorize edits to protected files |\n","isInternal":false,"tokens":1588,"sizeBytes":7139},{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"@AGENTS.md @CLAUDE_PERSONAL.md\n","isInternal":false,"tokens":12,"sizeBytes":31},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":199},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":185},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":178}],"systemPromptSnippet":"<yakaai_skills repo=\"Tracer-Cloud/opensre\">\n<!-- File: AGENTS.md (Tokens: ~1588 | Category: root-instruction) -->\n# OpenSRE agent instructions\n\nKeep this file to repository-wide rules and task-specific reading directions.\nBefore editing, read applicable package `AGENTS.md` files; load linked references\nonly for the work they govern. Put explanations and incident history in references,\nnot here.\n\n## Human-owned files (mandatory)\n\nAgents must never create, edit, rename, move, or delete any `SKILL.md` anywhere\nin this repository or `core/agent_harness/prompts/opensre_system_prompt.md`,\nincluding frontmatter. A direct request, failing check, or trivial change does\nnot override this rule. Otherwise, only suggest changes in chat or the PR\n(quote current and proposed text), leave the file untouched, and report blocked\nwork while delivering everything else.\n\n**Sole exception — literal Ctrl-H replacements.** An agent may apply an exact\nfind-and-replace of a word or sentence when the user supplies both the current\ntext and the replacement text verbatim. The replacement is absolute: swap the\ngiven string for the given string, character for character, and touch nothing\nelse — no rewording, no reflowing, no \"while I'm here\" fixes, no frontmatter\nbumps unless the user spelled those out the same way. If the old text is\nambiguous, missing, or the user described the change rather than dictating it,\nthe exception does not apply; fall back to suggesting.\n\nSkills guide model reasoning, not deterministic pipelines. Supporting scripts\nmay handle only a few narrow mechanical chores, declared in\n`references/script-tools.md`; decisions, branching, and end-to-end workflows\nmust not move into those scripts. Suggest a real tool when needed.\n\n## Commands and delivery\n\n- Install the environment and push hook: `make install`.\n- Run this checkout: `uv run opensre …` from the repository root.\n- Run Python with `uv run python …`.\n- Follow [CI.md](CI.md) for scoped local validation, every push/PR, and CI/review\n  follow-through. Do not add broader local validation requirements.\n- Use the [PR template](.github/PULL_REQUEST_TEMPLATE.md), including AI disclosure.\n\n## Repository-wide conventions\n\n- Use strict typing, one clear purpose per module, and concise contract-focused\n  docstrings. Preserve non-obvious invariants and rationale, not bug history.\n- Keep `__init__.py` files to public imports and `__all__`; implementation and\n  side effects belong in focused modules.\n- Protocol methods added or changed have a docstring as their **only** body:\n  no `...`, `pass`, or `raise NotImplementedError`. Do not mass-convert unrelated\n  existing stubs or trust a clean typecheck/CodeQL scan to enforce this rule.\n- Use `http.HTTPStatus` constants, never numeric HTTP status literals, in source\n  and tests.\n- Env-var names and shared static constants belong in domain leaf modules under\n  `config/constants/`, re-exported by its `__init__.py`. Only names used solely\n  inside `config/llm_settings.py` may live there; do not create auth import cycles.\n- Put behavior in its owning domain/provider/vendor module. Check sibling\n  patterns first; keep orchestration and shared dispatch thin, registries limited\n  to metadata/defaults, and shared UI generic. Two or more related feature-specific\n  functions belong in a dedicated module. Do not add provider-specific branches\n  to files serving multiple providers; delegate to a dedicated module instead.\n- Follow architecture boundaries: `core/` and `integrations/` never import from\n  `surfaces/`. Break import cycles with shared leaf modules, not lazy imports.\n- After refactoring, migrate imports/tests and remove compatibility-only\n  forwarding modules in the same change; keep one canonical import path.\n- Never hide failing behavior behind constant-condition toggles or skip tests\n  to conceal failures.\n- Natural-language intent belongs to the action agent: no regex/keyword/fuzzy\n  routing or deterministic bypasses. The interactive-shell planner never denies\n  turns; do not restore `mark_unhandled` or `UNHANDLED:`. Follow the applicable\n  harness/shell instructions for explicit-command exceptions and handoff tags.\n- Redact exception details at external HTTP/chat response boundaries, not shared\n  call sites. Log full detail server-side with `logger` and `capture_exception`;\n  return a generic message or exception type name. Local terminal output may\n  retain detail, but external responses must not expose provider/model internals.\n- Cached LLM clients serve concurrent turns. Retry decisions must use facts\n  captured from the current request, not mutable shared client flags.\n\n## Tests, UI, docs, and performance\n\n- Prefer one high-signal test per failure class: security/isolation, concurrency,\n  crash/shutdown, package/transport boundaries, and real regressions. Thin redundant\n  mock-call, vocabulary, success, and control-flow-only tests unless they are the\n  only coverage of a contract; exercise real loops/wiring where relevant.\n- Before behavior-preserving refactors, add a characterization test and confirm\n  it passes on the original code; keep it green through the change. Optimize\n  afterward and include any benchmark in the PR.\n- On hot paths, use sets/maps for repeated membership/lookups, reuse resolved\n  values, avoid repeated `deepcopy`/serialization/sorting, and verify cached\n  objects are not mutated. Leave cold code simple.\n- CLI/UI inputs must show required/optional fields and defaults, validate forms\n  and direct commands consistently before saving, and preserve values on errors.\n- `docs/` is user-facing: include actions, required/optional values, commands,\n  env vars, and invisible gotchas—not internal APIs or bug history. Add new\n  `.mdx` pages to `docs/docs.json` so they appear in navigation.\n\n## Read when relevant\n\n| Work | Required reference |\n| --- | --- |\n| Package structure or ownership | [Architecture and repo map](docs/ARCHITECTURE.md); [core naming](docs/NAMING.md) for `core/` changes |\n| Tools or integrations | [Placement policy](docs/tool-placement-policy.md) and [contributor guide / definition of done](docs/adding-tools-and-integrations.md) before adding or approving one; import contracts via `core.tool` and authoring helpers via `core.tool_framework` |\n| Persistence or migrations | [PERSISTENCE.md](PERSISTENCE.md) |\n| CLI, REPL, or shared-terminal presentation | [Shared terminal UI rules and visual verification](surfaces/interactive_shell/ui/AGENTS.md) |\n| Agent execution or action policy | [Harness rules](core/agent_harness/AGENTS.md), [shell rules](surfaces/interactive_shell/AGENTS.md), and [action policy](docs/interactive-shell-action-policy.md) |\n| LLM providers, retries, or tool schemas | [Hosted LLM rules](core/llm/AGENTS.md) and [request/schema notes](CONTRIBUTOR_NOTES.md#llm-requests-and-tool-schemas) |\n| Test fakes or test typing | [Test notes](CONTRIBUTOR_NOTES.md#test-fakes-and-typing) |\n| CodeQL/code-quality findings | [Safe remediation notes](CONTRIBUTOR_NOTES.md#codeql-and-code-quality) |\n| Human skill/prompt proposals | [Prompt rules](core/agent_harness/prompts/AGENTS.md) and [skill contract](core/agent_harness/prompts/skills/AGENTS.md); these do not authorize edits to protected files |\n\n<!-- File: CLAUDE.md (Tokens: ~12 | Category: claude-rule) -->\n@AGENTS.md @CLAUDE_PERSONAL.md\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/Tracer-Cloud/opensre/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}