跳到正文
cccskills
免费在 GitHub 公开

refresh-research

Bulk-refresh research entries in ./research/ using parallel research-curator agents. Use when /refresh-research is invoked, stale research needs updating, or bulk re-verification of research entries is requested. Inventories entries by review date and age, runs RT-ICA pre-flight, spawns agents in waves of 5, then validates, reviews, and commits through research-curator. Supports --all, --stale, --category, --layer, and --dry-run flags.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md9.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Invocation Input

Read arguments supplied by the active harness. If none were supplied, use --stale. If the host supplied an unsubstituted argument placeholder, ask for one supported scope before inventorying, spawning workers, or writing.

Refresh Research

Orchestrate parallel research-curator agents to bulk-refresh research entries in ./research/. Detects staleness, skips fresh entries, updates only what qualifies. Safe to run repeatedly.

Arguments

Supplied arguments control scope:

  • --all — Refresh every entry regardless of staleness
  • --stale (default) — Refresh entries past their review date
  • --category <name> — Refresh all entries in one category (e.g., --category agent-frameworks)
  • --layer <0|1|2> — Refresh entries whose frontmatter carries a matching metadata.layer (0=process, 1=language, 2=stack). The current entry template stores no layer field, so this matches only entries that carry one. See plugins/development-harness/docs/sdlc-layers/.
  • --dry-run — Report what would be refreshed; do not spawn agents

Workflow

Step 1: Inventory and Staleness Detection

Glob ./research/**/*.md (exclude README.md). For each entry, parse:

  1. YAML frontmatter — extract metadata.layer value (string "0", "1", or "2"; null if absent).
  2. Freshness tracking — extract Last Verified and Next Review dates from the frontmatter freshness_tracking mapping (last_verified, next_review); when absent, from a body Freshness Tracking section (legacy entries).
flowchart TD
    Start([Read entry]) --> ParseFM[Parse YAML frontmatter<br>Extract metadata.layer]
    ParseFM --> HasFreshness{Freshness tracking found in frontmatter or legacy body section?}
    HasFreshness -->|No| Stale1[STALE: no tracking]
    HasFreshness -->|Yes| ComputeDays[Compute Days Old = today minus Last Verified]
    ComputeDays --> PastDue{Next Review Recommended < today?}
    PastDue -->|Yes| Stale2[STALE: past review date]
    PastDue -->|No| TooOld{Last Verified > 6 months ago?}
    TooOld -->|Yes| Stale3[STALE: too old]
    TooOld -->|No| Fresh[FRESH: N days until next review]

Build inventory table: | File | Category | Layer | Last Verified | Next Review | Days Old | Stale? |

The Days Old column holds an integer: today's date minus the Last Verified date in days. If Last Verified is absent or unparseable, render as —.

The Layer column holds the metadata.layer value or — if absent.

Step 2: Apply Scope Filter

Apply filters sequentially. Filters combine with AND logic — each filter narrows the set from the previous step.

  1. Base set: Start with all inventoried entries.
  2. Staleness filter (default unless --all):
    • --all — keep all entries (no staleness filter)
    • --stale (default) — keep only entries marked STALE in Step 1
  3. Category filter (optional): --category <name> — keep only entries whose category directory matches <name>.
  4. Layer filter (optional): --layer <0|1|2> — keep only entries where metadata.layer equals the requested value. Entries without layer metadata (— in inventory) are excluded.
  5. Dry-run check: --dry-run — display the filtered target list and stop without spawning agents.

If zero entries remain after all filters: report "No entries match the applied filters." and stop. When --layer was specified and zero entries match, additionally report: "No entries found for layer {N}. Only entries carrying metadata.layer in their YAML frontmatter can be targeted by --layer."

When the --stale filter excludes entries because they are FRESH, list each excluded entry before continuing to Step 3:

Skipped (fresh):
  ./research/{category}/{name}.md — N days until next review (last: YYYY-MM-DD, vX.Y.Z)
  ./research/{category}/{name}.md — N days until next review (last: YYYY-MM-DD, vX.Y.Z)

This listing appears regardless of whether --dry-run is active. Under --all (no staleness filter), no entries are excluded by staleness, so this block does not appear.

Step 3: RT-ICA Pre-Flight

RT-ICA: Research Refresh
Goal: Refresh {N} research entries with current data from primary sources
Conditions:
1. At least one primary-source search/read route is available in this session
   (for example Ref-local search/read, another authenticated documentation reader, or an
   accessible upstream repository clone). Do not require Exa when it is unavailable.
2. Outbound network access is available for the selected route, or the worker can report the
   exact unavailable source without inventing content.
3. ./research/ is writable and entry files are parseable markdown.
4. GitHub metadata is gathered only when needed and an authenticated route is available;
   repository-clone content remains the documented fallback.
Decision: {APPROVED | BLOCKED}

If no primary-source search/read route is available, report BLOCKED with every unavailable route and stop before spawning workers. Otherwise approve the available route and let the curator's native source-access fallback govern individual inaccessible sources; never use training-data knowledge as a fallback.

Step 4: Baseline, Then Spawn Curators in Waves

Capture the curator's Mode Routing baseline before any write. Then route the refresh through its Rerun Mode: split targets into sequential waves of five, launch the available research-curator role once per entry with --rerun ./research/{category}/{name}.md, and wait for every result before starting the next wave. On Claude Code select the available project agent; on Codex select the native research-curator role. Preserve the exact prompt and structured result. Apply the curator's Failure Recovery to every failed, timed-out, or unchanged worker result before it enters Step 5.

After each wave, log results:

Wave {N} complete: {M}/{total} succeeded
  updated -- ./research/agent-frameworks/agno.md (v0.3->v0.5)
  failed  -- ./research/developer-tools/orbstack.md -- error: [reason]

Outcome categories: Updated (content changed) and Failed (agent could not complete, or left the target unchanged, which the curator treats as a failed refresh).

Step 5: Validate, Review, README, Commit

After all waves complete, follow the curator's Rerun Mode from the Validation Gate onward over the updated entries, then its Post-Actions. Entry Review, cross-referencing, README rows and the commit rules are the curator's and are not restated here. No Overlap Scan runs on refresh.

Step 6: Summary Report

# Research Refresh Report

**Date**: {YYYY-MM-DD}
**Scope**: {--all | --stale | --category X | --layer N}
**Total scanned**: {N} | **Targeted**: {M} | **Skipped (fresh)**: {K} ({min}–{max} days until next review)

## Results

| Outcome | Count | Notes |
|---------|-------|-------|
| Updated | {N} | |
| Failed | {N} | |
| Skipped (fresh) | {K} | {min}–{max} days until next review |

When K = 0, omit the Skipped (fresh) row. When K = 1, Notes column: `{N} days until next review`.
When K = 0 in the header: `**Skipped (fresh)**: 0`. When K = 1: `**Skipped (fresh)**: 1 ({N} days until next review)`.

## Updates

| Entry | Category | Change Summary |
|-------|----------|----------------|
| {name} | {category} | {version bump, snapshot change} |

## Failures

| Entry | Error |
|-------|-------|
| {name} | {reason} |

## Curator Output

Append the curator's [Rerun Mode Output](../research-curator/SKILL.md#rerun-mode-output) verbatim: Entry Review verdicts, with-issues counts, and Cross-References Added.

## Next Actions

- Due for review in 30 days: {list}
- Categories with no recent updates: {list}
- Failed entries to retry: {list}

Error Handling

  • No entries match filter — report "All entries are fresh. Nothing to refresh." and stop
  • No entries match --layer filter — report "No entries found for layer {N}. Only entries carrying metadata.layer in their YAML frontmatter can be targeted by --layer." and stop
  • Agent failures, timeouts, unchanged targets, shared-cause outages — follow the curator's Failure Recovery; include remaining failures in the summary Failures table

Related

  • research-curator — single-entry and batch research operations; this skill reuses its Rerun Mode, validation, review, relay, and post-actions.
  • Research execution route — Claude Code selects the available research-curator project agent; Codex selects .codex/agents/research-curator.toml. The selected role inherits the parent session's model, tools, permissions, and MCP configuration.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Add automated documentation updater to any Claude skill. Creates a Python sync script that downloads upstream docs, processes markdown for AI consumption, and maintains local cache with configurable refresh. Collects template variables, then delegates implementation through 5-phase workflow. Use when adding auto-updating reference documentation to plugins or skills.

中文简介正在准备中。当前显示原文说明。

Jamie-BitFlight/claude_skills672026年10月20日 更新

SAM-style feature initiation workflow — discovery through codebase analysis, architecture spec, task decomposition, validation, and context manifest. Use when a user asks to add a feature, plan a feature, or convert an idea into an executable SAM plan.

中文简介正在准备中。当前显示原文说明。

Jamie-BitFlight/claude_skills672026年10月20日 更新

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

中文简介正在准备中。当前显示原文说明。

Jamie-BitFlight/claude_skills672026年10月20日 更新

Browser automation for AI agents using the agent-browser CLI and Playwright. Use when navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, logging into sites, or automating any browser task. Triggers on "open a website", "fill out a form", "click a button", "scrape data", "test this web app", "automate browser actions", or any programmatic web interaction request.

中文简介正在准备中。当前显示原文说明。

Jamie-BitFlight/claude_skills672026年10月20日 更新

Runs the description-drift experiment — spawns all Claude Code agents simultaneously to collect self-reported capabilities, then compares them against static frontmatter descriptions to reveal how reliable orchestrator routing based on descriptions actually is. Use when measuring description drift across the agent fleet, re-running the capability collection experiment, analyzing a specific agent's self-reported capabilities, or auditing whether frontmatter descriptions accurately reflect agent behavior.

中文简介正在准备中。当前显示原文说明。

Jamie-BitFlight/claude_skills672026年10月20日 更新

Create or adapt Claude Code agent definitions. Use when creating an agent, changing subagent configuration, selecting agent scope, or designing a specialized delegation role.

中文简介正在准备中。当前显示原文说明。

Jamie-BitFlight/claude_skills672026年10月20日 更新

查看 Jamie-BitFlight 的全部技能

报告此技能的问题