accept
無料Accept HQ membership invites from a magic link or raw token.
日本語の概要は準備中です。原文の説明を表示しています。
Read a company ontology brief, entity graph, and freshness signals for context.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Read the active company's ontology — local first, the cloud gardener's output only as a fallback. Background on the gardener pipeline lives at core/knowledge/public/hq-core/ontology-gardener.md — read that ONCE per session if you need mechanism details; this skill is the runtime API.
Use this skill when an agent needs:
company-brief.md (gardener-generated, ranked + token-budgeted)ontology/entities/{type}/{slug}.mdsignal_count (frontmatter)Do NOT use this for:
/indigo:signals skill)/indigo:signals or /indigo:action-items)knowledge/, sources/, or signals/ files individually (slow + noisy — read the brief)Ontology is local-first (spec: core/knowledge/public/hq-core/ontology-local-spec.md).
Resolve the company from bash core/scripts/hq-session.sh get company_slug,
then render the brief from the local tree:
node core/scripts/ontology-brief.mjs --company {co}
It reads ontology/entities/, every ontology/facts/@*/, and every signal
folder you have locally. Sync only delivers what you may read, so the brief
shows exactly the facts and signals you were privy to; each line is tagged
company or scoped. It writes nothing — never save a rendered brief into the
company tree, because another reader may not be entitled to its scoped lines.
If it prints "no local ontology yet" and the company is cloud-backed with the cloud gardener still enabled, fall back to Step 1 below and say so in one line ("local ontology empty — reading the cloud brief"). Otherwise stop here.
Entity lookup (local): ontology/entities/{type}/{slug}.md for identity, and
ontology/facts/@*/{type}/{slug}.md for what is known about it.
The gardener output lives in the company's per-entity vault bucket. Resolve:
companies/manifest.yaml company anchor, ~/.hq/active-company, or ask the user if ambiguous)companies/{co}/manifest.yaml vault_bucket field OR derive from the gardener Lambda env (S3_BUCKET) if you operate the HQ cloud backend that runs the gardeneraws lambda list-functions --query "Functions[?contains(FunctionName,'OntologyGardener')].FunctionName" --output textAnnounce: Ontology context: {company} · bucket {bucket} · gardener {fn-name}
If the active company has no gardener deployed yet (multi-tenant rollout still in progress), say so and stop — there's nothing to read.
aws s3 cp s3://{bucket}/company-brief.md - 2>&1
The brief is the first thing to read for any "what's going on" question. Sections in order:
## Recent Signals — top N decisions/risks/questions (per brief.max_signals_per_type, default 5)## Source Channels — last-7d count per channel (meeting/email/slack/linear/notion)signal_countIf the brief is empty / missing, the gardener has either never run or never had ≥3 entities. In that case, fall back to listing recent signals directly: aws s3 ls s3://{bucket}/signals/ --recursive | tail -20.
If the user asks about a specific person/project/company/concept:
# Find the entity slug — try canonical name → slug deterministically
SLUG=$(echo "{Name}" | tr '[:upper:]' '[:lower:]' | sed 's/ /-/g' | sed 's/[^a-z0-9-]//g')
# Try each type until one resolves (or query the entity index if available)
for TYPE in person project company concept; do
aws s3 cp "s3://{bucket}/ontology/entities/$TYPE/$SLUG.md" - 2>/dev/null && echo "found in $TYPE" && break
done
Read the frontmatter for signal_count, last_updated, first_seen. Read the body for description + Relationships section.
Sort entities by signal_count:
aws s3 sync s3://{bucket}/ontology/entities/ /tmp/entities-{co}/ --quiet
for f in /tmp/entities-{co}/**/*.md; do
count=$(grep -m1 '^signal_count:' "$f" | awk '{print $(2)}')
echo "$count $f"
done | sort -rn | head -10
Returns the top-10 most-referenced entities. Useful for "who/what is dominating recent activity".
Trigger an ad-hoc gardener invocation (don't wait for the 4h tick):
GARDENER_FN=$(aws lambda list-functions \
--query "Functions[?contains(FunctionName,'OntologyGardener')].FunctionName | [0]" \
--output text)
aws lambda invoke --function-name "$GARDENER_FN" \
--invocation-type RequestResponse --cli-binary-format raw-in-base64-out \
--payload '{"version":"0","detail-type":"Scheduled Event","source":"aws.events","detail":{}}' \
--log-type Tail /tmp/gardener-response.json 2>&1 | jq -r '.LogResult' | base64 -d | tail -20
Limitations:
/mnt/s3-{company}/. Files PUT via aws s3 cp may not appear in the mount immediately. Production writers (signals-agent, transcript ingester, source-writer in infra/meeting-storage.ts) DO write through the mount and ARE immediately visible. Use those for end-to-end tests.The gardener emits SignalRefsResolved + SignalRefsUnresolved counters. High resolved/unresolved ratio = the signals agent is doing a good job of pre-linking entities (no LLM needed for ingestion).
NOW=$(date -u +%FT%TZ)
ONE_DAY_AGO=$(date -u -v-1d +%FT%TZ 2>/dev/null || date -u -d '1 day ago' +%FT%TZ)
GARDENER_NAMESPACE="<your-gardener-cloudwatch-namespace>" # set to the namespace your HQ cloud backend publishes under
aws cloudwatch get-metric-statistics \
--namespace "$GARDENER_NAMESPACE" \
--metric-name SignalRefsResolved \
--dimensions Name=CompanyId,Value={company} Name=Prefix,Value=signals \
--start-time "$ONE_DAY_AGO" --end-time "$NOW" \
--period 3600 --statistics Sum --output text
aws cloudwatch get-metric-statistics \
--namespace "$GARDENER_NAMESPACE" \
--metric-name SignalRefsUnresolved \
--dimensions Name=CompanyId,Value={company} Name=Prefix,Value=signals \
--start-time "$ONE_DAY_AGO" --end-time "$NOW" \
--period 3600 --statistics Sum --output text
If unresolved >> resolved, either (a) the signals agent is producing signals for entities not yet in the graph (gardener will LLM-extract them on the next run, capped by signals.max_cost_usd), or (b) the entity files were renamed and entityIdFromPath no longer resolves the refs.
aws logs tail /aws/lambda/{GARDENER_FN} --follow --since 5m --format shortHQ-OntologyGardener-{stage} — per-prefix invocation graphs, cheap-path hit rate, costontology-signals-run-cost-{stage}, ontology-sources-run-cost-{stage}, ontology-daily-cost-ceiling-{stage}, ontology-stale-gardener-{stage}Today the gardener is single-tenant — there's one Lambda instance bound to a single company (COMPANY_ID={company}, mount /mnt/s3-{company}). For another company to benefit from this skill, the HQ cloud backend needs to provision a per-company Lambda OR rewrite the single Lambda to loop over companies. Track in a future PRD; until then this skill is single-company even though its design is multi-tenant.
company-brief.md directly), skip Step 4.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
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.
日本語の概要は準備中です。原文の説明を表示しています。