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

source-driven-development

Resolve one exact official/current documentation gap when the user requests source verification or a version-sensitive API/SDK/provider/framework question can materially change the current decision; do not trigger for every implementation decision, ordinary framework code, local business logic, or broad research.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md12.6 KB

SKILL.md(原文)

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

Source-Driven Development

Overview

Use a narrow official source to resolve the named version-sensitive question. This is evidence for the current primary loop, not a second implementation or acceptance workflow.

When to Use

  • The user explicitly asks to verify or cite current official/API behavior.
  • One unresolved version-sensitive API, SDK, provider, framework, packaging, runtime, platform, or changelog question can materially change the current design or implementation.
  • Existing official docs and installed types/source conflict on the exact behavior being used.

When NOT to use:

  • Correctness does not depend on a specific version (renaming variables, fixing typos, moving files)
  • Pure logic that works the same across all versions (loops, conditionals, data structures)
  • The user explicitly wants speed over verification ("just do it quickly") and the task does not involve version-sensitive framework/API/library behavior
  • The task merely uses a library/framework and local evidence already establishes the needed API.
  • The user asks for mature-project prior art, local repository facts, implementation, or review rather than one official-source answer.

Planning Evidence Gate Ownership

ROSE/aili-delivery-flow owns lifecycle timing, local evidence, material questions, approvals, implementation, and verification. This skill performs one bounded lookup, cites the exact source, and returns complete, need-user, need-evidence, material-delta, blocked, or Unverified. It must not invoke local/prior-art/requirements/test-plan/review skills or turn a source summary into scheme acceptance. Use external web or Context7 only when current policy allows the exact lookup; never send secrets or sensitive context. Lifecycle approval and verification rules win conflicts.

The Process

DETECT ──→ FETCH ──→ RETURN ──→ CITE
  │          │           │            │
  ▼          ▼           ▼            ▼
 What       Get the    Return the   Show the
 gap?       relevant   bounded      exact source
            docs       answer

Step 1: Detect Stack and Versions

Read the project's dependency file to identify exact versions:

package.json    → Node/React/Vue/Angular/Svelte
composer.json   → PHP/Symfony/Laravel
requirements.txt / pyproject.toml → Python/Django/Flask
go.mod          → Go
Cargo.toml      → Rust
Gemfile         → Ruby/Rails

State what you found explicitly:

STACK DETECTED:
- React 19.1.0 (from package.json)
- Vite 6.2.0
- Tailwind CSS 4.0.3
→ Fetching official docs for the relevant patterns.

If the version is missing or materially ambiguous, return that exact decision/evidence gap to ROSE. Do not guess or ask a second workflow-owned question here.

Step 2: Fetch Official Documentation

Fetch the specific documentation page for the feature you're implementing. Not the homepage, not the full docs — the relevant page.

For library/API documentation, setup commands, framework examples, provider behavior such as DeepSeek APIs, SDK references, packaging/runtime/platform constraints, changelog-sensitive behavior, or version-sensitive code, prefer Context7 when it is installed in the current OpenCode environment. Do not require the user to manually say "use context7" each time. Do not assume Context7 is installed; if it is unavailable, fall back to official docs, package documentation, and source references. Do not add or rely on a repository-local Context7 skill.

Speed requests may reduce citation verbosity, but they do not remove the required source/evidence check for version-sensitive framework, API, or library behavior. If correctness depends on the detected version, verify the source first and then summarize citations briefly.

Source-fetch fallback ladder:

TriggerNext sourceIf still unavailable
Context7 is unavailable or has no matching library/versionFetch the official documentation URL directlyUse the package's official README/changelog/release notes from the upstream repository
Official docs page is unavailable, moved, or lacks the needed patternCheck official blog, migration guide, API reference, or versioned docsMark the pattern UNVERIFIED and return the dependent implementation decision to ROSE
Package docs and source disagreePrefer versioned docs, then inspect installed package types/source for the detected versionSurface the discrepancy as a conflict; do not silently choose
Network/tooling prevents source accessUse only already-present local docs/types/package filesReport BLOCKED_VERIFICATION or NEEDS_REVIEW for framework-specific code that cannot be sourced

🔴 CHECKPOINT / 🛑 STOP: If no authoritative source can confirm a version-sensitive API, return need-user or need-evidence to ROSE before dependent coding. Only ROSE records explicit acceptance of an UNVERIFIED implementation.

Source hierarchy (in order of authority):

PrioritySourceExample
1Official documentationreact.dev, docs.djangoproject.com, symfony.com/doc
2Official blog / changelogreact.dev/blog, nextjs.org/blog
3Web standards referencesMDN, web.dev, html.spec.whatwg.org
4Browser/runtime compatibilitycaniuse.com, node.green

Not authoritative — never cite as primary sources:

  • Stack Overflow answers
  • Blog posts or tutorials (even popular ones)
  • AI-generated documentation or summaries
  • Your own training data (that is the whole point — verify it)

Be precise with what you fetch:

BAD:  Fetch the React homepage
GOOD: Fetch react.dev/reference/react/useActionState

BAD:  Search "django authentication best practices"
GOOD: Fetch docs.djangoproject.com/en/6.0/topics/auth/

After fetching, extract the key patterns and note any deprecation warnings or migration guidance.

When official sources conflict with each other (e.g. a migration guide contradicts the API reference), surface the discrepancy to the user and verify which pattern actually works against the detected version.

Step 3: Return the Documented Pattern

Return the exact supported pattern and constraints to the primary owner. If implementation is already in scope and any applicable pattern choice below is settled, ROSE may apply it subject to remaining gates; this skill does not start another implementation loop.

  • Use the API signatures from the docs, not from memory
  • If an applicable official recommendation differs from the affected project's existing pattern, explain the evidence and options and ask the user to preserve the local pattern, adopt the recommendation, or defer—even when both patterns remain supported. Do not automatically choose either the newer or locally established pattern
  • If the docs deprecate a pattern, don't use the deprecated version
  • If the docs don't cover something, flag it as unverified

When docs conflict with existing project code:

CONFLICT DETECTED:
The existing codebase uses useState for form loading state,
but React 19 docs recommend useActionState for this pattern.
(Source: react.dev/reference/react/useActionState)

Options:
A) Use the modern pattern (useActionState) — consistent with current docs
B) Match existing code (useState) — consistent with codebase
→ Which approach do you prefer?

Surface the conflict. Don't silently pick one.

🔴 CHECKPOINT / 🛑 STOP: If applicable documented best practice differs from existing project conventions or conflicts with compatibility constraints or tests, pause with options before editing unless the user has already explicitly settled the same-task choice and its scope, conditions, and validity are unchanged. Honor that valid choice without re-asking, subject to compatibility evidence and remaining permissions. The pattern choice does not authorize dependency upgrades, public-contract changes, or other separately gated operations.

Step 4: Cite Your Sources

Every framework-specific pattern gets a citation. The user must be able to verify every decision.

In code comments:

// React 19 form handling with useActionState
// Source: https://react.dev/reference/react/useActionState#usage
const [state, formAction, isPending] = useActionState(submitOrder, initialState);

In conversation:

I'm using useActionState instead of manual useState for the
form submission state. React 19 replaced the manual
isPending/setIsPending pattern with this hook.

Source: https://react.dev/blog/2024/12/05/react-19#actions
"useTransition now supports async functions [...] to handle
pending states automatically"

Citation rules:

  • Full URLs, not shortened
  • Prefer deep links with anchors where possible (e.g. /useActionState#usage over /useActionState) — anchors survive doc restructuring better than top-level pages
  • Quote the relevant passage when it supports a non-obvious decision
  • Include browser/runtime support data when recommending platform features
  • If you cannot find documentation for a pattern, say so explicitly:
UNVERIFIED: I could not find official documentation for this
pattern. This is based on training data and may be outdated.
Verify before using in production.

Honesty about what you couldn't verify is more valuable than false confidence.

Common Rationalizations

RationalizationReality
"I'm confident about this API"Confidence is not evidence. Training data contains outdated patterns that look correct but break against current versions. Verify.
"Fetching docs wastes tokens"Hallucinating an API wastes more. The user debugs for an hour, then discovers the function signature changed. One fetch prevents hours of rework.
"The docs won't have what I need"If the docs don't cover it, that's valuable information — the pattern may not be officially recommended.
"I'll just mention it might be outdated"A disclaimer doesn't help. Either verify and cite, or clearly flag it as unverified. Hedging is the worst option.
"This is a simple task, no need to check"Simple tasks with wrong patterns become templates. The user copies your deprecated form handler into ten components before discovering the modern approach exists.

Red Flags

  • Answering the selected version-sensitive gap without checking the applicable official source
  • Using "I believe" or "I think" about the selected API instead of citing the source
  • Returning a pattern without knowing which applicable version it describes
  • Citing Stack Overflow or blog posts instead of official documentation
  • Using deprecated APIs because they appear in training data
  • Ignoring the current dependency/version evidence when it controls the selected question
  • Returning a non-trivial framework/API conclusion without its source citation
  • Fetching an entire docs site when only one page is relevant

Do Not Do

  • Do not use Stack Overflow, tutorials, AI summaries, or memory as the primary authority for framework-specific code.
  • Do not hide missing docs behind hedging language like "probably" or "should work"; label it UNVERIFIED.
  • Do not keep coding through a docs/code conflict without an applicable explicit user decision; reuse a still-valid same-task choice rather than repeat the checkpoint.
  • Do not add a repository-local docs tool or Context7 skill as a workaround for unavailable documentation tooling.
  • Do not cite a source you did not actually read for the detected version or feature.

Verification

Before returning the bounded source result:

  • The applicable version was identified when the question is version-sensitive
  • The smallest relevant official/API source was read for the selected gap
  • Primary authority is official documentation rather than a blog post, tutorial, or training-memory claim
  • The exact decision/source gap is answered or marked UNVERIFIED
  • Any implementation need is returned to ROSE without an extra scheme approval
  • Non-trivial decisions include source citations with full URLs
  • Deprecation/migration guidance was checked when the selected gap involves an API transition
  • Applicable recommendation/local-pattern differences were surfaced and the user choice obtained or a still-valid same-task choice reused, even when both patterns are supported
  • Anything that could not be verified is explicitly flagged as unverified

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Review a single academic paper, preprint, DOI, arXiv link, or user-provided PDF/text with source-grounded critique. Use for paper summaries, methodology review, novelty checks, reproducibility concerns, or "review this paper" requests; do not use for multi-paper surveys, systematic literature reviews, citation management, or implementation from a paper.

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

Rosetears520/aili-workflows22026年9月27日 更新

AI regression scouting routing. Use when agents, prompts, skills, model/tool routing, harness fixtures, or generated-output expectations change and need regression scenarios; do not use for ordinary product-code regressions.

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

Rosetears520/aili-workflows22026年9月27日 更新

Run the AILI delivery lifecycle from natural-language IDEATE, DEFINE, BUILD, and SHIP intent or the equivalent slash shortcuts; use for idea shaping, spec/test definition, bounded BUILD package queues, review-repair closeout, or adapter routing without exposing internal stage commands.

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

Rosetears520/aili-workflows22026年9月27日 更新

Android native Kotlin/Compose app development, Material 3 UI, accessibility, and Gradle builds.

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

Rosetears520/aili-workflows22026年9月27日 更新

Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.

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

Rosetears520/aili-workflows22026年9月27日 更新

Route an explicitly requested independent/delegated browser QA assignment or durable E2E evidence need; do not trigger for direct Playwright/DOM/console/network inspection, ordinary UI implementation, backend-only work, or production-mutating flows.

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

Rosetears520/aili-workflows22026年9月27日 更新

Rosetears520 のスキルをすべて見る

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