From auto-context
Show auto-context pipeline status including observation counts, candidates, conventions, anti-patterns, reward signals, and lifecycle statistics.
How this skill is triggered — by the user, by Claude, or both
Slash command
/auto-context:ac-statusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Display the full auto-context pipeline status dashboard. This is a **read-only** skill -- never modify any data files.
Display the full auto-context pipeline status dashboard. This is a read-only skill -- never modify any data files.
Important rules:
jq for all JSON reading and counting.// alternative operator.Read the following files from .auto-context/ in the project root:
conventions.json -- convention entries with stage fieldcandidates.json -- candidate entries with stage and observationsanti-patterns.json -- anti-pattern entries with source and stage fieldslifecycle.json -- session counter and metadataconfig.json -- token budget configurationrewards.json -- per-session reward signal historyIf the .auto-context/ directory does not exist, tell the user:
Auto-context is not initialized. Run
/ac-initfirst.
And stop.
Handle missing individual files gracefully (treat as empty arrays or default objects).
Use these jq commands to gather counts:
# Session info
jq -r '.session_count // 0' .auto-context/lifecycle.json
jq -r '.token_budget // 1000' .auto-context/config.json
# Convention counts by stage
jq '[.[] | select(.stage == "active")] | length' .auto-context/conventions.json
jq '[.[] | select(.stage == "decayed")] | length' .auto-context/conventions.json
# Candidate counts by stage
jq '[.[] | select((.stage // "observation") == "observation")] | length' .auto-context/candidates.json
jq '[.[] | select(.stage == "review_pending")] | length' .auto-context/candidates.json
jq 'length' .auto-context/candidates.json
# Anti-pattern breakdown by source (treat missing .source as "explicit" for Phase 4 entries)
jq '[.[] | select((.source // "explicit") == "explicit")] | length' .auto-context/anti-patterns.json
jq '[.[] | select(.source == "correction")] | length' .auto-context/anti-patterns.json
jq '[.[] | select(.source == "error")] | length' .auto-context/anti-patterns.json
jq '[.[] | select(.stage == "active")] | length' .auto-context/anti-patterns.json
jq '[.[] | select(.stage == "observation")] | length' .auto-context/anti-patterns.json
# Reward signal data
jq 'length' .auto-context/rewards.json
jq 'if length > 0 then ([.[].reward_score] | add / length * 100 | floor / 100) else null end' .auto-context/rewards.json
jq 'if length >= 5 then [-5:] | [.[].reward_score | . * 100 | floor / 100] else [.[].reward_score | . * 100 | floor / 100] end' .auto-context/rewards.json
jq 'if length > 0 then {implicit_pos: ([.[].implicit_positive] | add // 0), implicit_neg: ([.[].implicit_negative] | add // 0), explicit_pos: ([.[].explicit_positive] | add // 0), explicit_neg: ([.[].explicit_negative] | add // 0)} else null end' .auto-context/rewards.json
# Observation stats
jq '[.[].observations // 0] | add // 0' .auto-context/candidates.json
jq '[.[].session_id] | unique | length' .auto-context/candidates.json
# Recent changelog (last 5 entries)
tail -5 .auto-context/changelog.jsonl
Present the dashboard using this format:
## Auto-Context Pipeline Status
### Session Info
- **Session count:** {session_count}
- **Token budget:** {token_budget} tokens
### Conventions ({active_count} active)
- Active (in CLAUDE.md): {active_count}
- Decayed: {decayed_count}
- Convention cap: {active_count}/50
### Candidates ({total_candidates} total)
- Observations (gathering data): {observation_count}
- Ready for review: {review_pending_count}
If review_pending_count > 0, add: "Run /ac-review to review pending candidates."
### Anti-Patterns ({active_ap_count} active, {observation_ap_count} pending)
- From explicit feedback: {explicit_ap_count}
- From correction detection: {correction_ap_count}
- From error tracking: {error_ap_count}
- Active (in CLAUDE.md): {active_ap_count}
- Observation (gathering data): {observation_ap_count}
If rewards.json is missing or empty (length == 0):
### Reward Signals
- Reward tracking: no data yet (accumulates over sessions)
If rewards.json has data:
### Reward Signals ({sessions_tracked} sessions)
- Average reward score: {avg_score} (1.0 = perfect, 0.0 = all corrections)
- Implicit signals: {implicit_pos} positive / {implicit_neg} negative
- Explicit signals: {explicit_pos} positive / {explicit_neg} negative
- Recent trend (last 5): {score1}, {score2}, ...
Trend: {trend}
For the trend determination:
### Observation Stats
- Total observations across all candidates: {sum_observations}
- Unique sessions with extractions: {unique_session_count}
### Recent Activity
Read the last 5 lines of .auto-context/changelog.jsonl. Format each line as:
- [{timestamp}] {action}: {text} ({reason})
If no changelog exists or is empty: "No lifecycle activity recorded yet."
npx claudepluginhub tumblecat44/auto-context --plugin auto-contextPerforms post-pipeline retrospectives: parses logs, counts productive vs wasted iterations, identifies failure patterns, scores runs, suggests fixes to skills/scripts.
Displays context summary: files status, token budget, tasks, recent activity. Use at session start or when unclear about project state.
Shows a single-screen work status dashboard with task state, epic progress, knowledge flywheel health, and recent activity. Useful for getting oriented or deciding next actions.