본문으로 건너뛰기
cccskills
무료GitHub에 공개

review-and-improve

Repo-wide consistency sweep for @context — diff docs against code (the context agent and its providers wired as documented, every env var documented, every path real, every script behaving as advertised), auto-fix mechanical drift, and flag anything bigger. Use when the user wants to review the repo for consistency, prep a public release, or clean up drift after a refactor ("review the repo", "is everything consistent before we ship", "run the drift sweep"). This is a deliberate full sweep, not a quick lint.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구OpenAI

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md11.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Review and Improve

Coding-agent workflow — a /slash-command your coding agent (Claude Code, Codex, …) runs while developing this repo. Not a runtime skill the deployed @context agent runs; those live in skills/.

You are sweeping the whole repo for public-consumption readiness — docs accuracy, the context agent reachable end to end, scripts that actually do what the docs claim, no stale env vars, format + validate clean. Most drift is mechanical (renamed file, missing entry in example.env, a provider missing from the architecture diagram) and you fix it in place. The rest is a punch list you surface to the user.

This is a recurring sweep — meant to be re-run regularly. On a clean repo it ends with "no diffs"; on a dirty one it brings everything back to coherent.

AGENTS.md is the source of truth for repo conventions; CLAUDE.md is a symlink to it — edit once, both update.

What you auto-fix vs. what you flag

Auto-fix in place (no asking):

  • Stale file paths in any doc.
  • Missing entries in example.env for env vars the code actually reads.
  • Stale entries in example.env for vars nothing reads — delete unless the surrounding comment block describes them as optional/future ("alternate model providers", "future feature"). Flag instead of fixing if intent is unclear.
  • Architecture diagram in AGENTS.md missing a wired provider or runtime skill (or listing one that's gone).
  • An agent file on disk not imported in app/main.py (rare — single-agent product, but the AGENTS.md recipe allows more; add the import + append to agents=[...]).
  • Missing quick_prompts block for a registered agent (draft three from the agent's INSTRUCTIONS; flag the new entries so the user can refine).
  • Missing or wrong cross-links between skill files in .agents/skills/.
  • Single-line factual claim in one doc contradicted by another doc or by code (e.g. one doc says "hot-reload picks up new agents" while another says a restart is required) — auto-fix the doc, not the code.

Flag, don't fix (surface for the user):

  • Section-level doc rewrites (a premise is now wrong).
  • Code changes beyond imports (instructions, tools, model swaps).
  • Dependency edits in pyproject.toml.
  • Anything in db/, compose.yaml, or Dockerfile.
  • Failing eval cases or failing live agents — recommend the right follow-up prompt; don't fix here.

0. Preconditions

  • Live container reachable: curl -sSf http://localhost:8000/health returns 200. If not, ask the user to docker compose up -d --build first — Step 4 needs a live container. (docker compose ps is unreliable from worktrees or alternate clones — trust the health probe.)
  • If multiple worktrees of this repo exist on disk, only one container can bind to localhost:8000 — Step 4 will reflect whichever repo last brought the container up, not necessarily this worktree's app/main.py. Step 4 has a cross-check for this.
  • Recommend a feature branch so auto-fixes are easy to revert: git checkout -b review/$(date +%Y%m%d).

1. Scope check

Restate the surface area in 4-5 lines so the user can redirect before you read everything:

Skip: .venv/, *_cache/, .git/, anything generated.

If the user has a specific concern (recent refactor, prepping a public release, a doc they think is stale), fold it in now.

2. Inventory

Read every file in scope. These reads are independent — fan them out across subagents (or parallel Read/grep calls) and collect the results rather than walking the repo serially. Build a mental model of:

  • Registered agents — what's imported in app/main.py's agents=[...]? (Expected: context.)
  • Agent files on disk — what's in agents/?
  • Wired providers — what's in create_context_providers() in agents/sources.py, and which are env-gated?
  • Runtime skills — what folders are in skills/, and does each SKILL.md's name match its directory?
  • Env vars actually read — grep os.environ, os.getenv, getenv(, plus settings/config modules.
  • Quick prompts — what's in app/config.yaml under chat.quick_prompts?
  • Eval cases — what's in evals/cases.py?
  • Scripts — for each file in scripts/, what does it actually do? (Headers and the first few lines are usually enough.)

Don't write anything yet — read first, fix once.

3. Consistency pass

The bulk of the work. Diff each pair below; auto-fix per the rules at the top. The diffing is read-only, so parallelize it freely — but apply the fixes serially so two edits never race on the same file.

CheckWhereCommon drift
Every agent file is registeredagents/ ↔ app/main.pyNew agent file not imported
Every registered agent has quick promptsapp/main.py ↔ app/config.yamlAgent added without prompts
Every env var in code is documentedcode grep ↔ AGENTS.md env table + example.envNew var added without entries
Every var in example.env is read somewhereexample.env ↔ code grepStale var nobody reads
Every path mentioned in docs existsREADME.md, AGENTS.md, .agents/skills/*/SKILL.md ↔ filesystemRenamed or deleted file
Every script mentioned in docs is real + does what's claimeddocs ↔ scripts/Renamed or behavior drifted
Architecture diagram matches wired providers + skillsAGENTS.md Architecture section ↔ agents/sources.py, skills/Provider or skill added/removed without a doc update
Eval cases reference real agents + toolsevals/cases.py ↔ agents/Slug renamed or tool removed
Runtime skills are loadableskills/*/SKILL.md frontmatter ↔ folder namesname ≠ directory, malformed frontmatter (degrades to "no skills" at startup)
Key Files table in AGENTS.md matches realityAGENTS.md ↔ filesystemRenamed file, deleted file, new file not listed
Cross-links between skill files resolve.agents/skills/*/SKILL.md ↔ skill namesRenamed skill, broken link
.mcp.json servers and the skills that reference them agree.mcp.json ↔ .agents/skills/*/SKILL.mdURL changed, server renamed

4. Live container smoke

First, confirm the live container is serving this repo's agents — not a stale clone or a different worktree. Compare the API's registered agents against what you parsed from app/main.py:

curl -s http://localhost:8000/agents | jq -r '.[].id' | sort

If the list doesn't match the slugs in agents=[...], flag it — Step 4 will be testing the wrong code. Common causes: the container is bound to a different repo path, or docker compose restart is needed. Stop and surface to the user.

For each agent registered in app/main.py, hit it with one of its quick_prompts. Identity decides the surface on context: compose treats owner@example.com as the owner, so owner-path probes must send that id — any other user_id (including the anon sentinel) hits the capture-only guest surface instead. (An OWNER_ID set in .env replaces the compose default entirely — check .env first and probe with that id instead.) Probe both: the owner path with a quick prompt, and the boundary with any other id (expect a polite capture-only reply, no data readback). The probes don't share state, so fire them concurrently (background the cURLs) and collect the results:

curl -sS -X POST http://localhost:8000/agents/<slug>/runs \
  -F "message=<one of the quick_prompts for this slug>" \
  -F "user_id=owner@example.com" \
  -F "stream=false" \
  -o /tmp/review-<slug>.json \
  -w "HTTP %{http_code} in %{time_total}s\n"

jq -r '.content // .' < /tmp/review-<slug>.json | head -20

Pass = HTTP 200, non-empty content, no errors in the container logs:

docker logs context-api --since 30s 2>&1 | grep -E "Running: \w+\(" | head -40

(Running: <tool>( is the tool-call line shape agno emits when AGNO_DEBUG=True, which compose sets for dev. Without AGNO_DEBUG expect no matches — HTTP 200 and a non-empty body are then your only signal.)

Quality issues (response is plausible but wrong, missing citations, wrong tool fired) are out of scope — note them and recommend the improve-agent skill (autonomous) or the extend-agent skill (user-driven) depending on whether the user has a specific fix in mind.

5. Format + validate

source .venv/bin/activate  # if not already active
./scripts/format.sh
./scripts/validate.sh

format.sh auto-fixes. validate.sh reports. If validate fails, surface the errors verbatim — type and lint errors usually point at real bugs introduced since the last sweep, not noise to suppress.

6. Evals (ask before running)

python -m evals hits OpenAI — costs money and takes a few minutes. Ask before running:

Run python -m evals to confirm no agent regressed? (Hits OpenAI; takes 1-3 minutes.)

If yes, run python -m evals. If any case fails, add it to "Needs your call" with the eval-and-improve skill as the recommended follow-up. If the user declines, skip this step entirely — it does not affect the rest of the report.

7. Report

If nothing was fixed and nothing flagged, skip the first two blocks below and just print: "Repo is consistent and the live container is healthy. No follow-up needed." No commit suggested.

Otherwise, wrap up with three blocks, in order:

Fixed automatically — one line per change, with file path. Terse.

Needs your call — flagged items, ranked by severity. For each: one-line description, file (and line if useful), recommended action.

Diff + next step:

git diff --stat
  • Suggested commit message — chore: review-and-improve sweep plus one short bullet per fix bucket.
  • Recommended follow-up — usually the improve-agent skill (if a live agent looked off) or the eval-and-improve skill (if evals failed).

A clean sweep takes 3-5 minutes (10+ if the venv needs to be created). A dirty one is 15-30, mostly because live smoke surfaces agent regressions you have to triage.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

The owner's morning brief — inbound updates awaiting acknowledgment (via the rundown tool), today's meetings and due-or-overdue reminders from the CRM and the real calendar, the emails worth seeing from Gmail, and the Slack threads that need their eyes — each source folded in when connected and stitched into one short digest. Use for "daily rundown", "what's on today", "morning brief", "catch me up".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

agno-agi/context132026년 7월 10일 업데이트

Run this repo's eval suite (python -m evals), diagnose every failing case, and fix in scope (agent instructions, or the eval case when its assertion was wrong) until all cases pass. Use whenever the user wants to run the evals, check for regressions, or fix a red eval suite ("run the evals", "why is a case failing", "make the eval suite green"). Targets the committed cases in evals/cases.py; for ad-hoc probing of one agent's live behavior use improve-agent instead.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

agno-agi/context132026년 7월 10일 업데이트

User-driven loop to change the context agent (or any agent in this repo) — add a source/tool/MCP server, add a capability (knowledge base, memory, sub-agent, scheduled task), refine its instructions, or fix a specific known bug, verifying each change against the live container. Use whenever the user names a concrete change ("add a Google Drive source", "make the daily rundown include the calendar", "the agent keeps doing Y, fix it"). For autonomous hardening with no specific change in mind use improve-agent.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

agno-agi/context132026년 7월 10일 업데이트

Autonomously harden the context agent (or any agent in this repo) — derive probes from the agent's own instructions, run them against the live container, judge the responses and tool calls, and edit the agent until it reliably does what it says it does. Use when the user wants to test, harden, stress-test, or improve an agent's reliability WITHOUT naming a specific change ("make sure context is solid", "harden this agent", "probe it for failure modes"). For a user-directed change use extend-agent; to run the committed eval suite use eval-and-improve.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

agno-agi/context132026년 7월 10일 업데이트

Sweep the knowledge base for what needs attention — stubs with no real content, specs whose status is stale, decisions that were made but never written down, and pages missing from the index — and return a short "what needs attention" list. Read-only, so it reports rather than fixing anything itself. Use for "what in my knowledge base needs attention", "review my knowledge base", "what's stale or unfiled", "knowledge base health check", "tidy up my knowledge".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

agno-agi/context132026년 7월 10일 업데이트

prep-for

무료

Brief the owner before a meeting or conversation with a person, company, or project — sweep what we already know (crm + knowledge, plus slack, calendar, and gmail when connected), anchor to any upcoming meeting with them, and for people or orgs we don't know, widen to a web search for public background. Use for "prep me for my meeting with X", "brief me on X before the call", "what do we know about X".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

agno-agi/context132026년 7월 10일 업데이트

agno-agi의 스킬 모두 보기

이 스킬의 문제 신고