本文へ移動
cccskills
無料GitHub で公開

research

Workflow Phase 3 — Research and Solution Exploration. Surfaces 2–4 candidate solution approaches with concrete tradeoffs, grounded in current library docs (fetched through the provider named in `.claude/docs-provider.json`) — never in training-data recall. Output lives at `docs/research/<slug>.md`. Candidate ranking and the memo execute in main context; doc/source gathering MAY be delegated to read-only advisory subagents (seed.md §4.2-A).

インストール方法を見る

含まれるファイル(2)

  • SKILL.md6.4 KB
  • retrieve.mjs11.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

You are surfacing a small set of candidate approaches to a task, with honest tradeoffs, so the spec author can pick one. Decisions are not made here — the human reviewer decides at /spec. Your job is to lay out the option space.

Prereqs

  • scout in completed OR in exceptions.

Inputs

  • The intake at docs/intake/<slug>.md — Constraints and Acceptance criteria sections filter which approaches are viable.
  • The scout report at docs/scout/<slug>.md — patterns in use, touchpoints, landmines.
  • The BRD at docs/brd/<slug>.md if present — NFR-### requirements (latency, compliance, etc.).
  • The existing tech stack — read package.json, pyproject.toml, go.mod, lockfiles.

Mandatory: verify library APIs against current docs (the provider is a default)

For any library you intend to cite, verify its API against current documentation — never training recall.

The MCP server that fetches those docs is named in .claude/docs-provider.json; resolve it with readDocsProvider from .claude/skills/lib/docs-provider.mjs, which falls back to the shipped default when the pointer is absent or unreadable. Use that server's own library-resolution and documentation-fetch tools — read their names from the tool list rather than assuming a shape, because a project may point at a different provider.

Never cite an API from memory. Record the version present in the lockfile and confirm the docs match that major version. If the provider has no coverage (or the project ships none), fall back to WebFetch against the library's official docs / llms.txt and note the source. Any current-docs source satisfies the rule — the declared provider is the convenient default, not a hard requirement (seed.md §2.5).

Method

  1. Retrieve prior art before deriving. Run:

    node .claude/skills/research/retrieve.mjs --slug <slug> --terms "<intake topics + scout touched modules>" \
      --touched '["<scout-touched path>","<scout-touched path>"]' --spec-dir docs/system 2>/dev/null
    

    Two lanes answer, and the via field on every hit says which one did.

    • via: "source_spec" — the structural lane. Each --touched path walks up through docs/system/ to the elements that govern it; an element carrying source_spec: names the archived spec that authored it. These are provenance, not word overlap, so they rank above every term hit.
    • via: "terms" — the term lane. Scans docs/archive/**/{research,spec}.md plus the decisions and libraries memory categories for overlap with --terms, returning score + matchedTerms per source. It runs unchanged whether or not the structural lane finds anything: only a minority of elements carry source_spec:, so the structural lane alone answers a minority of questions.

    Read structuralUnresolved too — an element that names a source_spec: with no archived spec on disk is reported there rather than dropped, so a thin structural result is visible instead of silent. summary carries the counts, so stdout alone is enough; --touched takes one quoted JSON array (zsh does not word-split).

    Pass --touched only when docs/scout/<slug>.md exists — its touched-path list is the input. Without it, or with memory.architecture_map.enabled off, the structural lane is inert and the term lane behaves exactly as before.

    For every hit you reuse, cite its path; consume docs/scout/<slug>.md when present; then derive only the genuine delta not already covered. Empty archive → no hits → derive fresh as below.

  2. Identify libraries and frameworks the solution would likely touch.

  3. Verify each library API against current docs (the declared provider, above).

  4. For each candidate, evaluate against:

    • Fit with existing patterns (per scout report).
    • YAGNI: does it need abstractions beyond what this task requires?
    • Test-ability: can it be driven by tests seed.md permits — no internal mocks, no mocked DB?
    • Reversibility: if it proves wrong post-implementation, what is the blast radius?
  5. Rank candidates. State your recommendation. Name what would flip the decision.

Gathering delegation (seed.md §4.2-A). Doc/source gathering MAY be delegated to read-only advisory subagents; findings return here, and candidate evaluation, ranking, and the memo stay in main context.

Output

Write the memo to docs/research/<slug>.md. Format:

# Pattern Research — <task>

## Prior art (retrieved)
<Reused prior findings from `retrieve.mjs`, each cited to its source path (e.g. `docs/archive/<date>/<slug>/research.md`) and labelled with the lane that found it — `via: source_spec` is the spec that authored a touched path, `via: terms` is word overlap. State the delta: which parts are already answered upstream vs. newly derived below. Empty when the archive had no relevant hits.>

## Candidate A: <short name>
- **Summary**: <1–2 sentences>
- **API references (current)**:
  - `<lib>@<version>` — <specific API> — <provider citation or doc URL>
- **Fits**: <yes/no — anchored to a Scout observation>
- **Tests it enables**: <kinds of tests>
- **Tradeoffs**: <honest, not marketing>

## Candidate B: ...

## Recommendation
<Which candidate, and what would flip the decision.>

## Open questions
<Things a human reviewer must decide before the spec is written.>

After writing the file, append "research" to workflow.json → completed.

Tell the user: Research memo at <path>. Next: /spec.

Constraints

  • No code generation. Memo only.
  • No API assertion without a provider or docs reference. "Unable to verify" is the honest answer when you hit a gap; do not guess.
  • No reimplementing what an approved dependency provides (YAGNI, per seed.md).
  • Prefer 2–3 candidates over 6+. Half-baked options are noise.
  • The recommendation is a recommendation. The human reviewer decides at /spec.
  • Project source is read-only. The only write is to docs/research/<slug>.md.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

archive

無料

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

brd

無料

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

chore

無料

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

日本語の概要は準備中です。原文の説明を表示しています。

friedbotstudio/baseline142026年9月9日 更新

friedbotstudio のスキルをすべて見る

このスキルの問題を報告する