accept
無料Accept HQ membership invites from a magic link or raw token.
日本語の概要は準備中です。原文の説明を表示しています。
Run a lightweight freshness pass over company knowledge and policies.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Lightweight, idempotent gardening pass that runs as a background sub-agent spawned by startwork, brainstorm, or plan. Gardens both knowledge docs and policies for a single company.
Never invoked directly. Always spawned via spawn_task by a parent command.
The parent command provides these values in the spawn prompt:
| Field | Required | Description |
|---|---|---|
company_slug | Yes | Company slug from manifest |
knowledge_path | Yes | Resolved path to companies/{co}/knowledge/ |
policies_path | Yes | Resolved path to companies/{co}/policies/ |
caller | Yes | startwork, brainstorm, or plan |
qmd_collection | No | Company's qmd collection for scoped searches |
search_results_summary | No | Condensed qmd hits from parent (brainstorm/plan only) |
discovered_facts | No | New company facts from parent's research (brainstorm/plan only) |
doc_scout_gaps | No | Post-implementation doc gaps (plan only) |
| Action | startwork | brainstorm | plan |
|---|---|---|---|
| Knowledge INDEX.md refresh | Yes | Yes | Yes |
| Tag untagged knowledge docs | Yes | Yes | Yes |
| Flag stale knowledge (>60d) | Yes | Yes | Yes |
| company-info.md freshness | Yes | Yes | Yes |
| Contradiction detection | No | Yes | Yes |
| Policy frontmatter validation | Yes | Yes | Yes |
| Stale policy detection | Yes | Yes | Yes |
| Cross-scope conflict detection | No | Yes | Yes |
| Orphan policy detection | No | Yes | Yes |
Verify policy when:/on: frontmatter | If changed | If changed | If changed |
Check for existing report at workspace/reports/knowledge-pulse/{company_slug}-{YYYY-MM-DD}.md.
bash core/scripts/knowledge-pulse-lock.sh claim workspace/reports/knowledge-pulse/.claims "{company_slug}" "$(date +%F)"
already-claimed: another pulse is running or has already been admitted for this company today. Print "Pulse already running or ran for {company_slug} today. Skipping." and exit without gardening or writing metrics.claimed: proceed. The claim marker is kept for the rest of the date so later invocations cannot produce a second report or duplicate daily metrics. Do not remove it after the pulse finishes.Company knowledge is always a plain directory synchronized through its company vault. Do not inspect it for Git metadata or run Git commands in it.
if [ -L "{knowledge_path}" ]; then
repo_type="symlink"
else
repo_type="company-vault"
fi
If repo_type is symlink, STOP HERE. The layout is invalid (policy
knowledge-repositories-never-symlink): skip Steps 2–4 entirely — no INDEX.md
regeneration, no tagging, no stale-status edits, nothing written through the
link. Jump straight to Step 5 to report the migration violation. The
company knowledge path must be materialized manually as a plain real directory
after safely preserving its contents and any needed Git history outside the
company folder. Do not use an automatic repository migration for this path.
{knowledge_path}/**/*.md to get actual file list{knowledge_path}/INDEX.md (if exists)index_refreshed = true/falseFor each .md file in {knowledge_path}/ (skip INDEX.md, README.md):
--- delimiters)core/knowledge/public/hq-core/knowledge-ontology.yaml:
type: infer from content (strategy/reference/guide/analysis/brand/overview)domain: infer from content and subdirectory locationstatus: default draft for untagged docstags: extract 3-5 topic keywords from contentrelates_to: leave empty (vector search for relations is expensive; skip in pulse)docs_tagged countCap: Process at most 20 untagged files per pulse run. If more exist, note remainder in report.
For each .md file in {knowledge_path}/ (skip INDEX.md):
node core/scripts/knowledge-pulse-stale.mjs --knowledge-root "{knowledge_path}" --file "{absolute_file_path}"stale_since: YYYY-MM-DD to supported existing frontmatter. Preserve every semantic status value and all other content. Never replace status with stale.flagged results as stale_flagged; collect over_90_days results for review. already_flagged is an unchanged annotation, not another edit. Do not automatically clear annotations merely because an automated edit refreshed mtime.{knowledge_path}/company-info.md existscompany_info_age_days (or null if missing)discovered_facts provided by parent: note in report as "Potential updates for human review" (do NOT auto-modify company-info.md — it's high-stakes)Skip if caller is startwork.
If search_results_summary provided:
{file_a, file_b, claim_a, claim_b} in reportcontradictions countThis is read-only — contradictions are logged, never auto-resolved.
Glob {policies_path}/*.md (skip example-policy.md).
For each policy file:
id, title, when, on, enforcement, version, created, updated, publicpolicies_invalid countDo NOT auto-fix policy frontmatter — policy content is high-stakes. Report only.
For each policy file:
## Rule sectionlscompanies/manifest.yaml repos listcore/workers/registry.yamlpolicies_stale_refs countSkip if caller is startwork.
{policies_path}/example-policy.md, preserve their order, and split the stable file order into consecutive chunks of at most 40 files. For each chunk, run bash core/scripts/read-policy-frontmatter.sh {file1} {file2} ... once with each path as a separate argument. Keep each call under 30 KB of output. The first output block belongs to the chunk’s first file argument; each later block belongs to the path named by its preceding # --- policy-file: <path> --- separator.trigger existsenforcement: hard with potentially conflicting rules: log as "Potential conflict: company {title} vs global {title}"policy_conflicts countSkip if caller is startwork.
scope: repo in frontmatter: verify the referenced repo exists in manifestpolicies_orphaned countNo digest rebuild step exists. Policies surface automatically via the SessionStart trigger hook (inject-policy-on-trigger.sh) and the migrate-policy-triggers.sh backfill. If a policy was modified in Steps 3a-3d (currently none are — all report-only), just ensure it still carries when:/on: frontmatter.
Knowledge changes (INDEX.md refresh, tagging, stale flags):
repo_type is company-vault, do not run Git commands. Record the changed
paths in the pulse report for company vault sync.repo_type is symlink, this step is never reached; Step 1 stops before
any write and reports the migration violation.Policy changes: Currently all policy actions are report-only (no file modifications). If future versions add policy auto-fixes, commit to HQ git separately.
Write to workspace/reports/knowledge-pulse/{company_slug}-{YYYY-MM-DD}.md:
# Knowledge Pulse: {company_slug}
**Date:** {YYYY-MM-DD} | **Triggered by:** {caller} | **Storage:** {repo_type}
## Knowledge Actions
- INDEX.md: {refreshed — N files added/removed | no drift detected}
- Tagged: {N} untagged docs {(M remaining, capped at 20) if applicable}
- Stale flags: {N} files marked stale (>60d)
- company-info.md: {fresh (Nd old) | stale (Nd old) — review needed | not found}
- Company vault sync: {changed paths ready for sync | no changes}
## Policy Health
- Validated: {N} policies, {M} with missing frontmatter fields
- Stale references: {N} policies reference missing paths/repos/workers
- Cross-scope conflicts: {N} potential conflicts {(skipped — startwork caller)}
- Orphan policies: {N} reference nonexistent repos/workers {(skipped — startwork caller)}
## Contradictions Found
{table: file_a | file_b | conflicting claims — or "None" or "Skipped (startwork caller)"}
## Stale Files (>90d)
{table: file | last modified | age (or "None")}
## Invalid Policy Frontmatter
{table: file | missing fields — or "None"}
## Stale Policy References
{table: file | references | type | status — or "None"}
## Discovered Facts (for human review)
{list from parent's discovered_facts — or "None provided"}
## Doc Scout Gaps
{list from parent's doc_scout_gaps — or "None provided" or "N/A (not prd caller)"}
Append one JSON line to workspace/metrics/knowledge-health.jsonl:
{"timestamp":"{ISO8601}","company":"{company_slug}","caller":"{caller}","repo_type":"{repo_type}","index_refreshed":{bool},"docs_tagged":{N},"stale_flagged":{N},"company_info_age_days":{N|null},"contradictions":{N},"policies_validated":{N},"policies_invalid":{N},"policies_stale_refs":{N},"policy_conflicts":{N},"policies_orphaned":{N}}
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Accept HQ membership invites from a magic link or raw token.
日本語の概要は準備中です。原文の説明を表示しています。
Capture qualifying architecture decisions as ADRs in the right HQ or repo location.
日本語の概要は準備中です。原文の説明を表示しています。
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.
日本語の概要は準備中です。原文の説明を表示しています。
Find shallow modules and propose deepening refactors, ranked with file refs; never edits code. Use when code is hard to change or planning a refactor.
日本語の概要は準備中です。原文の説明を表示しています。
Generate dark ASCII banner graphics for HQ and social launch assets.
日本語の概要は準備中です。原文の説明を表示しています。
Compare approaches to best-in-class prior art, merge existing work, verify cruft removal, and recommend the most durable design before PRD work.
日本語の概要は準備中です。原文の説明を表示しています。