sidekick AGENTS.md

sidekick AGENTS.md is an instructions file for Codex, OpenCode from lee-lou2/sidekick. It costs 6,717 tokens per session, scanned A, original, MIT.

A project guide for building tools in sidekick, a Python AI assistant with Slack, REST API, and MCP integrations. It defines the code structure, response language, and implementation rules.

In plain words
What is it for?
Use it when adding or changing sidekick tools, Slack or API integrations, tests, formatting, or tool-sharing commands.
Why use it?
It tells coding agents how tools are registered and which project conventions and safety rules to follow.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/lee-lou2/sidekick/agents-md
Clone the repo
git clone --depth 1 https://github.com/lee-lou2/sidekick

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for sidekick AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/lee-lou2/sidekick/agents-md.svg)](https://agentmods.dev/instructions/lee-lou2/sidekick/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/lee-lou2/sidekick/agents-md"><img src="https://agentmods.dev/badge/instructions/lee-lou2/sidekick/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 6,717 This file is loaded in full into every session.
When invoked 6,717 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.06717 $0.06717
Opus 5 $0.03358 $0.03358
Sonnet 5 $0.01343 $0.01343
Haiku 4.5 $0.00672 $0.00672

Measured 3d ago against content hash 909eff43f584, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

sidekick AGENTS.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

data = client.fetch(location, units)
AGENTS.md · 902 lines

How it starts

The opening of the file, as written. The whole thing — 902 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md - Tool Creation & Style Guide

This guide explains how to create tools for the Pydantic AI-based personal AI agent and follow consistent code style.

For Claude Code users: See CLAUDE.md for quick reference and MCP documentation.

Response Guidelines

  • 답변 언어: 항상 한국어로 응답
  • 답변 스타일: 핵심만 요약해서 간결하게
  • Git 컨벤션: docs/GIT_CONVENTIONS.md 참조

Tool Architecture

Tools are plain Python functions registered with Pydantic AI's FunctionToolset.

src/
├── config.py             # pydantic-settings 기반 Settings 클래스
├── interfaces/           # Entry points
│   ├── slack/           # Slack bot integration (모듈화됨)
│   │   ├── bot.py       # 이벤트 라우터 (127줄)
│   │   ├── handlers.py  # 이벤트 핸들러
│   │   ├── context.py   # 스레드/채널 컨텍스트
│   │   ├── images.py    # 이미지 처리
│   │   ├── progress.py  # 진행 상태 포맷팅
│   │   └── slack_api.py # Slack API 유틸리티
│   └── api/             # FastAPI REST API
│       ├── main.py      # FastAPI app
│       ├── security.py  # API 키 인증 + Rate Limiting
│       ├── schemas.py   # Pydantic 요청/응답 모델
│       ├── tasks.py     # 백그라운드 작업 + 웹훅
│       └── task_repository.py # SQLite 작업 영속성
├── middleware/          # Cross-cutting concerns
│   ├── guardrails/      # Security guardrails
│   │   ├── core.py      # Generic guardrail framework (서버 규칙 집계)
│   │   └── enforcer.py  # 모든 도구 유형 보호 (Defense in Depth)
│   ├── preprocessing/   # 요청 전처리
│   │   └── __init__.py  # preprocess_command(), core 모듈 re-export
│   └── postprocessing/  # 응답 후처리 (최소화)
├── core/                # Core business logic
│   ├── agent/           # AgentRunner, AgentFactory
│   │   ├── core.py      # Backward-compat re-exports
│   │   ├── utils.py     # AgentRunResult, retry, image normalization
│   │   ├── factory.py   # AgentFactory (isolated agent 생성)
│   │   └── runner.py    # AgentRunner (run/run_async + 이미지 추출)
│   ├── context/         # 요청 컨텍스트 관리 (ContextVar)
│   │   └── image.py     # 첨부 이미지 컨텍스트 + bounded LRU 캐시
│   ├── scheduler/       # Task scheduling system
│   ├── commands/        # Command system
│   ├── lifecycle.py     # 싱글톤 라이프사이클 관리
│   └── memory/          # Memory/graph system
├── tools/               # Tool definitions
│   ├── catalog.py       # 통합 ToolCatalog
│   ├── mcp_registry.py  # MCPServerConfig, ServerGuardrailRules, register_mcp_server()
│   ├── mcp_client.py    # MCPManager (다중 MCP 서버 연결)
│   ├── mcp/             # MCP server definitions (register_mcp_server, gitignored)
│   ├── custom/          # Custom tools (@register_tool, gitignored)
│   └── registry.py      # Tool registration
└── utils/               # Utilities
    ├── logging.py       # 구조화 로깅 (JSON + request_id)
    ├── observability.py # Logfire 통합
    ├── image_handler.py # ImageData, extract_images_from_result()
    ├── slack_files.py   # Slack 파일 다운로드/업로드 유틸리티
    └── slack_formatter.py # Markdown → Slack mrkdwn 변환

Read the full file on GitHub · 902 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 902 lines · 6,717 tokens per session scan A 909eff43f584

Subscribe to this mod's changes

sidekick AGENTS.md is an instructions file published in the GitHub repository lee-lou2/sidekick (2 stars, last pushed 7mo ago), licensed MIT. It adds 6,717 tokens to every session, about $0.0336 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.