| name | meeting-progress |
| description | Generate a meeting-ready progress snapshot MD for the current AgentDojo attack research. Scans live runs/, running benchmark processes, and the latest docs/*status*.md to produce a timestamped report following the nx_sweep_status.md template. Use when the user asks for a "progress report", "๋ฏธํ
์๋ฃ", "์งํ ์ํฉ ์์ฝ", or says something like "ํ์ฌ ์ด๋๊น์ง ์๋์ง ์ ๋ฆฌํด์ค". **Requires a researcher argument** (ys/yj/wj) โ output is written to the researcher's sub-directory. |
meeting-progress
Produce a single self-contained markdown file summarizing the current state of AgentDojo attack experiments, ready to bring into a meeting.
Researcher argument (required)
The skill operates per-researcher. The caller must specify which researcher is invoking it. Accepted values:
ys โ researcher ys (primary user, Experiment1 workspace)
yj โ researcher yj (collaborator, Experiment2 workspace)
wj โ professor wj (feedback / review notes)
If the user says "๋๋ ys" / "meeting-progress ys" / "ys๋ก progress ๋ง๋ค์ด" โ use ys. Default assumption when unclear: ask the user which researcher to attribute the progress to. Do NOT guess.
Output location
- Target:
/home/dgu_wj92/ysl/StealthyIPIAttack/progress/<researcher>/progress_YYYYMMDD_HHMM.md
<researcher> โ {ys, yj, wj}
- Example:
progress/ys/progress_20260425_0911.md
- Each invocation creates a new file โ do not overwrite prior reports. History accumulates in the researcher's sub-directory.
- Filename timestamp uses KST (system local time is fine โ do not convert).
Live workspace path
The authoritative data lives here (not in the git mirror):
LIVE=/home/dgu_wj92/ysl/AgenticRAG/Experiment1/AgentDojo
Always read runs/, logs/, docs/, and running processes from $LIVE, regardless of which directory the skill is invoked from.
Sections to produce (in order)
Follow the docs/nx_sweep_status.md template shape:
-
Title โ # AgentDojo Progress โ YYYY-MM-DD HH:MM KST
-
Context โ one short paragraph: what attack family is under test, what defense(s), what the current research question is. Pull the latest "Context" or top-of-file summary from docs/nx_sweep_status.md if present; otherwise summarize from the most recent SESSION_BACKUP_*.md.
-
Done โ bullet list of completed milestones in the last session. Mirror the "Done" section style. Use git log --oneline --since="7 days ago" as a supporting signal for recent changes.
-
Current Status (live) โ a table of the form:
| model | attack | defense | suite | progress | ASR | Both |
Populate by scanning runs/ (see "Data gathering" below).
-
Running processes โ table of PID / script / since, from ps filtered to agentdojo.scripts.benchmark and related shell scripts.
-
Known incidents โ copy-paste directly from the latest docs/nx_sweep_status.md if it has that section. Otherwise omit. Do not fabricate incidents.
-
Pending / next steps โ pull from the latest status file's "Pending" list. If missing, pull the "๋ค์ ํ ์ผ" section of the latest SESSION_BACKUP_*.md.
-
Files & paths โ brief list of where the report data came from (which runs/ dirs were scanned, which status file was referenced). Lets the reader audit numbers.
Data gathering
Running processes
ps -eo pid,lstart,cmd | grep -E "agentdojo.scripts.benchmark|run_.*\.sh" | grep -v grep
Extract PID, start time ("since" column), and the shell script name or --attack/--defense flags.
Run progress (per logdir)
For each $LIVE/runs/<dir>/ that was modified in the last 24 h (or explicitly requested by the user):
- Determine the expected total per suite:
banking=144, slack=105, travel=140, workspace=560 (single-config full run). For sampled sweeps (*-sample logdirs), expected total = size of the fixed sample (see docs/nx_sweep_status.md โ 32 banking, 9 slack, 4 travel for the Nx sweep).
- Run the existing watcher to compute metrics without reinventing counting logic:
/home/dgu_wj92/miniconda3/envs/agentdojo/bin/python "$LIVE/scripts/watch_run.py" --logdir "<abs_logdir>" --once
That writes <logdir>/_live_metrics.json. Read it and emit:
progress = N/total (trace count seen vs expected)
ASR = (both + attack_only)/N
Both = both/N
- MELON runs live under
local-melon/ instead of local/ โ watch_run.py handles this already. Do not re-implement.
Status file lookup
- Prefer the newest
$LIVE/docs/*status*.md by mtime.
- If multiple, prefer the one whose filename matches the attack family currently running (grep the running-process table).
Session backup lookup
- Latest
$LIVE/SESSION_BACKUP_*.md by mtime.
Constraints
- Output language: Korean (ํ๊ตญ์ด). ๋ชจ๋ ์น์
์ ๋ชฉ, ๋ณธ๋ฌธ, bullet, ์ธ์๋ํธ ์ค๋ช
์ ํ๊ตญ์ด๋ก ์์ฑํ๋ค. ๊ธฐ์ ์ฉ์ด(ASR, Both, MELON, suite ์ด๋ฆ, ํ์ผ ๊ฒฝ๋ก, CLI ํ๋๊ทธ ๋ฑ)๋ ๊ทธ๋๋ก ๋๋ ์ค๋ช
๋ฌธ์ฅ์ ํ๊ตญ์ด. ์ด์ ์ ์์ด๋ก ์์ฑ๋ progress ํ์ผ์ด ์์ด๋ ์ ํ์ผ์ ํญ์ ํ๊ตญ์ด๋ก ์ถ๋ ฅํ๋ค.
- Don't fabricate numbers. If a logdir has no JSON files yet, print
โ for ASR/Both and 0/total for progress.
- ASR first, Both second. Never hide or reorder. This is the user's primary metric rule.
- Do not spin up new experiments or touch Ollama. Read-only.
- Keep the output self-contained โ no external links beyond file paths. The reader should be able to open the MD in a meeting without chasing references.
- If
watch_run.py errors on a specific logdir, skip that row with a short note; do not halt the whole report.
- Do not interpret or editorialize results (per the user's "no hype" rule). Report numbers, not conclusions.
Output delivery
After writing the file:
- Print the absolute path of the written file.
- Print the Current Status table inline in the chat for quick review.
- Auto-commit the new file in
/home/dgu_wj92/ysl/StealthyIPIAttack:
cd /home/dgu_wj92/ysl/StealthyIPIAttack
git add progress/<researcher>/progress_YYYYMMDD_HHMM.md
git commit -m "progress(<researcher>): YYYY-MM-DD HH:MM KST"
<researcher> is the value passed as the skill argument (ys/yj/wj).
- Only add the newly created progress file under
progress/<researcher>/ โ never use git add . or -A (prevents accidentally staging unrelated in-flight work).
- Do NOT push. The user pushes manually before the meeting.
- If the commit fails (e.g. hook failure, nothing to commit), report the error and stop โ do not retry with
--amend or --no-verify.
- Handoff to research-wiki.