flywheel

安装量: 230
排名: #3808

安装

npx skills add https://github.com/boshu2/agentops --skill flywheel

Flywheel Skill Monitor the knowledge flywheel health. The Flywheel Model Sessions → Transcripts → Forge → Pool → Promote → Knowledge ↑ │ └───────────────────────────────────────────────┘ Future sessions find it Velocity = Rate of knowledge flowing through Friction = Bottlenecks slowing the flywheel Execution Steps Given /flywheel : Step 1: Measure Knowledge Pools

Count top-level artifact files (avoid counting directories)

LEARNINGS

$( find .agents/learnings -maxdepth 1 -type f 2

/dev/null | wc -l ) PATTERNS = $( find .agents/patterns -maxdepth 1 -type f 2

/dev/null | wc -l ) RESEARCH = $( find .agents/research -maxdepth 1 -type f 2

/dev/null | wc -l ) RETROS = $( find .agents/retros -maxdepth 1 -type f 2

/dev/null | wc -l ) echo "Learnings: $LEARNINGS " echo "Patterns: $PATTERNS " echo "Research: $RESEARCH " echo "Retros: $RETROS " Step 2: Check Recent Activity

Recent learnings (last 7 days)

find .agents/learnings -maxdepth 1 -type f -mtime -7 2

/dev/null | wc -l

Recent research

find .agents/research -maxdepth 1 -type f -mtime -7 2

/dev/null | wc -l Step 3: Detect Staleness

Old artifacts (> 30 days without modification)

find .agents/ -name "*.md" -mtime +30 2

/dev/null | wc -l Step 3.5: Check Cache Health if command -v ao &> /dev/null ; then

Get citation report (cache metrics)

CITE_REPORT

$( ao metrics cite-report --json --days 30 2

/dev/null ) if [ -n " $CITE_REPORT " ] ; then HIT_RATE = $( echo " $CITE_REPORT " | jq -r '.hit_rate // "unknown"' ) UNCITED = $( echo " $CITE_REPORT " | jq -r '(.uncited_learnings // []) | length' ) STALE_90D = $( echo " $CITE_REPORT " | jq -r '.staleness["90d"] // 0' ) echo "Cache hit rate: $HIT_RATE " echo "Uncited learnings: $UNCITED " echo "Stale (90d uncited): $STALE_90D " fi else

ao-free fallback: compute approximate metrics from files

echo "Cache health (ao-free fallback):"

Learnings modified in last 30 days (active pool)

ACTIVE_30D

$( find .agents/learnings/ -name "*.md" -mtime -30 2

/dev/null | wc -l | tr -d ' ' ) echo "Active learnings (30d): $ACTIVE_30D "

Forge candidates awaiting promotion

FORGE_PENDING

$( ls .agents/forge/*.md 2

/dev/null | wc -l | tr -d ' ' ) echo "Forge candidates pending: $FORGE_PENDING "

Citation tracking (if citations.jsonl exists)

if [ -f .agents/ao/citations.jsonl ] ; then CITATION_COUNT = $( wc -l < .agents/ao/citations.jsonl | tr -d ' ' ) UNIQUE_CITED = $( grep -o '"learning_file":"[^"]*"' .agents/ao/citations.jsonl 2

/dev/null | sort -u | wc -l | tr -d ' ' ) echo "Total citations: $CITATION_COUNT " echo "Unique learnings cited: $UNIQUE_CITED " else echo "No citation data (citations.jsonl not found)" fi

Session outcomes (if outcomes.jsonl exists)

if [ -f .agents/ao/outcomes.jsonl ] ; then OUTCOME_COUNT = $( wc -l < .agents/ao/outcomes.jsonl | tr -d ' ' ) echo "Session outcomes recorded: $OUTCOME_COUNT " fi fi Step 4: Check ao CLI Status if command -v ao &> /dev/null ; then ao metrics flywheel status 2

/dev/null || echo "ao metrics flywheel status unavailable" ao status 2

/dev/null || echo "ao status unavailable" ao maturity --scan 2

/dev/null || echo "ao maturity unavailable" ao promote-anti-patterns --dry-run 2

/dev/null || echo "ao promote-anti-patterns unavailable" ao badge 2

/dev/null || echo "ao badge unavailable"

Knowledge maintenance

ao dedup --merge 2

/dev/null || true ao contradict 2

/dev/null || true ao constraint review 2

/dev/null || true ao curate status 2

/dev/null || true ao metrics health 2

/dev/null || true ao metrics cite-report --days 30 2

/dev/null || true

Active pruning: archive stale, evict low-utility

ao maturity --expire --archive 2

/dev/null || true ao maturity --evict --archive 2

/dev/null || true else echo "ao CLI not available — using file-based metrics"

Pool inventory

echo "Pool depths:" for pool in learnings patterns forge knowledge research retros ; do COUNT = $( ls .agents/$ { pool } /*.md 2

/dev/null | wc -l | tr -d ' ' ) echo " $pool : $COUNT " done

Global patterns

GLOBAL_COUNT

$( ls ~/.claude/patterns/*.md 2

/dev/null | wc -l | tr -d ' ' ) echo " global patterns: $GLOBAL_COUNT "

Check for promotion-ready learnings (see references/promotion-tiers.md)

echo "See: skills/flywheel/references/promotion-tiers.md for tier definitions" fi Step 4.5: Process Metrics (from skill telemetry) If .agents/ao/skill-telemetry.jsonl exists, use jq to extract: invocations by skill, average cycle time per skill, gate failure rates. Include in health report (Step 6) under

Process Metrics

. Step 5: Validate Artifact Consistency Cross-reference validation: scan knowledge artifacts for broken internal references. Use scripts/artifact-consistency.sh (method documented in references/artifact-consistency.md ). Default allowlist lives at references/artifact-consistency-allowlist.txt ; use --no-allowlist for a full raw audit. Health indicator: >90% = Healthy, 70-90% = Warning, <70% = Critical. Step 6: Write Health Report Write to: .agents/flywheel-status.md

Knowledge Flywheel Health ** Date: ** YYYY-MM-DD

Pool Depths | Pool | Count | Recent (7d) | |


|

|

| | Learnings | < count

| < count

| | Patterns | < count

| < count

| | Research | < count

| < count

| | Retros | < count

| < count

|

Velocity (Last 7 Days)

Sessions with extractions: < count

- New learnings: < count

- New patterns: < count

Artifact Consistency

References scanned: < count

- Broken references: < count

- Consistency score: < percentage

%

Status:

Cache Health

Hit rate: < percentage

%

Uncited learnings: < count

- Stale (90d uncited): < count

- Status:

Health Status

Friction Points

< issue 1

- < issue 2

Recommendations 1. < recommendation

2. < recommendation

Step 7: Report to User Tell the user: Overall flywheel health Knowledge pool depths Recent activity Any friction points Recommendations Health Indicators Metric Healthy Warning Critical Learnings/week 3+ 1-2 0 Stale artifacts <20% 20-50% 50% Research/plan ratio 0.5 0.2-0.5 <0.2 Cache hit rate 80% 50-80% <50% Cache Eviction Read references/cache-eviction.md for the full eviction pipeline (passive tracking → confidence decay → maturity scan → archive). Key Rules Monitor regularly - flywheel needs attention Address friction - bottlenecks slow compounding Feed the flywheel - run /retro and /post-mortem Prune stale knowledge - archive old artifacts Examples User says: /flywheel — Counts pool depths, checks recent activity, validates artifact consistency, writes health report to .agents/flywheel-status.md . Hook trigger: After /post-mortem — Compares current vs historical metrics, flags velocity drops and friction points. Troubleshooting Problem Cause Solution All pool counts zero .agents/ directory missing or empty Run /post-mortem or /retro to seed knowledge pools Velocity always zero No recent extractions (last 7 days) Run /retro or /post-mortem to extract and index learnings "ao CLI not available" ao command not installed or not in PATH Install ao CLI or use manual pool counting fallback Stale artifacts >50% Long time since last session or inactive repo Run /provenance --stale to audit and archive old artifacts Reference Documents references/artifact-consistency.md references/promotion-tiers.md

返回排行榜