Objective
Create a NotebookLM skill (with reference implementation guidance from skills.sh/giuseppe-trisciuoglio/developer-kit/notebooklm) and a documentation skill that keeps the PHP Fast Forward documentation notebooks synchronized from repository docs changes.
Current Limitation
Agents currently have no standardized way to push documentation updates directly into NotebookLM, and there is no consistent strategy for selecting the right notebook per repository. This increases drift between repo docs and centralized knowledge stores, especially in non-fast-forward consumer repos where no default notebook exists.
Proposed Work
- Add a new skill (and/or reference package) in
php-fast-forward/dev-tools for interacting with NotebookLM APIs for documentation updates.
- Add a companion documentation skill to collect source paths and trigger notebook updates from docs/release/wikidata changes.
- Define a deterministic notebook selection strategy:
- Preferred: repository-specific local config (e.g.,
.github/notebooklm.json or equivalent skill config).
- Fallback 1: Fast Forward org default notebook for
php-fast-forward repositories.
- Fallback 2: explicit
--notebook-id / FF_NOTEBOOK_ID when no local config exists.
- Fallback 3: interactive/manual prompt for a verified notebook ID in CI-disabled/ambiguous environments.
- For non-fast-forward consumer repositories, require an explicit external notebook target in repo config or CI secret, so the consumer owns its documentation notebook while still reusing the same skill.
- Include secure authentication guidance in the skill (token/credentials naming, secret handling, redaction and no logging).
- Define expected update payload structure (doc path, heading title, summary, source link, related PR/issue metadata).
- Include retry and idempotency behavior (skip unchanged docs, hash-based change detection, safe retries on transient failures).
Scope
- In-scope: skill design, configuration model for notebook selection, docs sync trigger contract.
- In-scope: documentation and reference workflow for local/CI execution.
- Out-of-scope: final production rollout of all consumers and notebooks in this first issue.
Non-goals
- No direct UI changes in NotebookLM itself.
- No full API migration from existing docs workflow; this issue only covers initial skill and sync strategy.
- No guarantee of automatic notebook discovery when no configuration is available.
Suggested Implementation Plan
- Define skill metadata and interface in
.agents/skills/notebooklm/:
resolveTargetNotebook()
loadRepositoryNotebookConfig()
collectDocumentationInputs()
publishDocumentSummaryToNotebook()
- Create skill reference template with inputs:
--notebook-id, --notebook-family, --repo-slug, --dry-run, --force-update.
- Add docs skill (
docs-notebook-sync or similar) that inspects documentation changes and invokes NotebookLM sync.
- Add fallback matrix and security notes:
- Linux/macOS/Windows installation path,
- credential missing behavior,
- non-fast-forward repository guidance.
Acceptance Criteria
Delivery Criteria
Functional Criteria
Documentation / Content Criteria
- MUST: The affected documentation or content MUST follow the repository's existing information architecture and naming conventions.
- MUST: Related navigation, cross-links, or synchronized outputs MUST be updated when the change affects them.
- MUST: Examples, commands, and file paths MUST remain accurate for the current repository behavior.
- MUST: The update MUST avoid duplicating content that should live in a single canonical location.
Open Questions
- Confirm preferred config file path for notebook selection (e.g.,
.github/notebooklm.json versus .codex/notebooklm.json) to avoid collisions with existing tooling.
Related Work
- Related to issue
#350 (component preference/curation) because both topics concern implementation dependency/tool selection policy.
Objective
Create a NotebookLM skill (with reference implementation guidance from
skills.sh/giuseppe-trisciuoglio/developer-kit/notebooklm) and a documentation skill that keeps the PHP Fast Forward documentation notebooks synchronized from repository docs changes.Current Limitation
Agents currently have no standardized way to push documentation updates directly into NotebookLM, and there is no consistent strategy for selecting the right notebook per repository. This increases drift between repo docs and centralized knowledge stores, especially in non-fast-forward consumer repos where no default notebook exists.
Proposed Work
php-fast-forward/dev-toolsfor interacting with NotebookLM APIs for documentation updates..github/notebooklm.jsonor equivalent skill config).php-fast-forwardrepositories.--notebook-id/FF_NOTEBOOK_IDwhen no local config exists.Scope
Non-goals
Suggested Implementation Plan
.agents/skills/notebooklm/:resolveTargetNotebook()loadRepositoryNotebookConfig()collectDocumentationInputs()publishDocumentSummaryToNotebook()--notebook-id,--notebook-family,--repo-slug,--dry-run,--force-update.docs-notebook-syncor similar) that inspects documentation changes and invokes NotebookLM sync.Acceptance Criteria
Delivery Criteria
php-fast-forward/dev-tools(or clearly planned).Functional Criteria
Documentation / Content Criteria
Open Questions
.github/notebooklm.jsonversus.codex/notebooklm.json) to avoid collisions with existing tooling.Related Work
#350(component preference/curation) because both topics concern implementation dependency/tool selection policy.