feat: add af-status, af-score, af-dag, af-report slash command skills

This commit is contained in:
2026-04-06 21:10:22 +02:00
parent 43a147676e
commit 6bae80b874
6 changed files with 125 additions and 2 deletions

34
skills/af-dag/SKILL.md Normal file
View File

@@ -0,0 +1,34 @@
---
name: af-dag
description: |
Show the DAG of the current or last ArcheFlow run.
<example>User: "/af-dag"</example>
<example>User: "/af-dag 2026-04-06-jwt-auth"</example>
---
# ArcheFlow Run DAG
1. Parse `run_id` from args. If none provided, read the latest run_id from `.archeflow/events/index.jsonl`.
2. Run `./lib/archeflow-dag.sh .archeflow/events/<run_id>.jsonl` if the script exists. Display its output.
3. If the script does not exist, read `.archeflow/events/<run_id>.jsonl` and render a text DAG:
- Each node is an event (phase transitions, agent starts/completes, findings).
- Show parent relationships via indentation.
- Mark completed events with `[done]`, active with `[running]`, failed with `[FAIL]`.
Example output:
```
run.start 2026-04-06-jwt-auth
plan.start
agent.complete explorer (42s)
agent.complete creator (68s)
do.start
agent.complete maker (180s)
check.start
agent.complete guardian (55s) -- 3 findings
agent.complete skeptic (40s) -- 1 finding
act.start
fixes.applied 3/4
run.complete (6m12s)
```
4. If no events found for the run_id, say: "No events found for run `<run_id>`."

40
skills/af-report/SKILL.md Normal file
View File

@@ -0,0 +1,40 @@
---
name: af-report
description: |
Generate a full process report for an ArcheFlow run.
<example>User: "/af-report"</example>
<example>User: "/af-report 2026-04-06-jwt-auth"</example>
---
# ArcheFlow Run Report
1. Parse `run_id` from args. If none provided, read the latest run_id from `.archeflow/events/index.jsonl`.
2. Run `./lib/archeflow-report.sh .archeflow/events/<run_id>.jsonl` if the script exists. Display its output.
3. If the script does not exist, read `.archeflow/events/<run_id>.jsonl` and produce a markdown report:
```markdown
# ArcheFlow Report: <run_id>
## Overview
| Field | Value |
|-------|-------|
| Task | ... |
| Workflow | fast/standard/thorough |
| Cycles | N |
| Duration | Xm Ys |
| Total Cost | $X.XX |
## Phase Summary
For each phase (Plan, Do, Check, Act): agents involved, duration, token cost, key outputs.
## Findings
Table of all findings: severity, category, description, archetype source, resolution (fixed/dismissed/deferred).
## Fixes Applied
List of fixes with before/after summary and which finding they addressed.
## Lessons Learned
Any new lessons extracted to memory during this run.
```
4. If no events found for the run_id, say: "No events found for run `<run_id>`."

23
skills/af-score/SKILL.md Normal file
View File

@@ -0,0 +1,23 @@
---
name: af-score
description: |
Show archetype effectiveness scores across runs.
<example>User: "/af-score"</example>
---
# ArcheFlow Effectiveness Scores
1. Run `./lib/archeflow-score.sh list` if the script exists. Display its output.
2. If the script does not exist, read `.archeflow/memory/effectiveness.jsonl` directly.
3. Summarize per archetype as a table:
| Archetype | Runs | Signal/Noise | Fix Rate | Avg Cost |
|-----------|------|--------------|----------|----------|
| Guardian | ... | ... | ... | ... |
| Skeptic | ... | ... | ... | ... |
- **Signal/Noise**: findings that led to actual fixes vs total findings raised.
- **Fix Rate**: percentage of findings that were applied (not dismissed).
- **Avg Cost**: mean token cost per review across runs.
4. If no effectiveness data exists, say: "No effectiveness data yet. Run `/af-run` at least once."

25
skills/af-status/SKILL.md Normal file
View File

@@ -0,0 +1,25 @@
---
name: af-status
description: |
Show ArcheFlow status — current/last run, active agents, findings.
<example>User: "/af-status"</example>
---
# ArcheFlow Status
1. Read `.archeflow/state.json` if it exists. Extract: task, phase, cycle, workflow, active agents, findings count, start time.
2. If `state.json` does not exist, read the latest entry from `.archeflow/events/index.jsonl`. Extract run_id, task, last event type, timestamp.
3. Calculate duration from start time to now (or to completion time if run finished).
4. Report as a compact table:
| Field | Value |
|-------|-------|
| Run | `<run_id>` |
| Task | `<task description>` |
| Phase | `<current phase>` |
| Cycle | `<cycle number>` |
| Workflow | `<fast/standard/thorough>` |
| Findings | `<count>` |
| Duration | `<elapsed>` |
5. If no `state.json` and no `index.jsonl`, say: "No active or recent ArcheFlow runs."

View File

@@ -7,7 +7,7 @@ description: Use at session start when implementing features, reviewing code, de
On activation, print ONE line then proceed silently:
```
archeflow v0.8.0 · 19 skills · <domain> domain
archeflow v0.8.0 · 23 skills · <domain> domain
```
Domain auto-detected: `writing` if `colette.yaml` exists, `research` if paper/thesis files, `code` otherwise.