一键导入
project-summary
Render a branded visual artifact from a project's prd.json (plan summary) or brainstorm.md (research deck) and deploy it gated, returning a link.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Render a branded visual artifact from a project's prd.json (plan summary) or brainstorm.md (research deck) and deploy it gated, returning a link.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Deploy or share generated HQ artifacts through hq-deploy.
Mark a company as HQ Pro cloud-backed and sync its team setup.
Send HQ Sync direct messages, prompts, details, or scheduled notes to teammates.
Run a full bidirectional sync for cloud-backed HQ companies.
Scaffold a new HQ company AND optionally take it all the way to operational — business-discovery interview, seeded knowledge/workers/skills/projects, brand design packs (generated from website/PDF/Drive and bound to deploys via policy), connected integrations, org groups + ACL rules, teammate invites, and optional cloud agents.
Resolve HQ Sync conflicts by choosing local, cloud, or discard.
| name | project-summary |
| description | Render a branded visual artifact from a project's prd.json (plan summary) or brainstorm.md (research deck) and deploy it gated, returning a link. |
| allowed-tools | Read, Grep, Glob, Write, Edit, Bash(ls:*), Bash(cat:*), Bash(jq:*), Bash(date:*), Bash(mkdir:*), Bash(awk:*), Bash(grep:*), Bash(test:*), Bash(bash:*), Bash(.claude/skills/project-summary/scripts/deploy-summary.sh:*) |
Render a visual, shareable artifact for a project and deploy it via hq-deploy, returning a link. Two modes:
/plan and /deep-plan (their Step 8.9), and via /project-summary {co}/{name}.--brainstorm) — visualizes a brainstorm as a research/findings deck: the
framing, what we know / don't know, the premise verdict, the approaches compared with their
tradeoffs, and the recommendation. Auto-run at the end of /brainstorm, and via
/project-summary {co}/{name} --brainstorm.Guiding principle: the source file already exists; this skill only visualizes it. It
reads prd.json (plan mode) or brainstorm.md (deck mode), never re-plans, and never touches
target repos. It is idempotent — rerun anytime to regenerate and redeploy at the same stable URL.
Accept {co}/{name}, a bare {name}, or a project directory path, plus an optional
--brainstorm flag (or a brainstorm.md path) selecting deck mode.
companies/{co}/projects/{name}/ when a company is given or inferable.projects/{name}/ or personal/projects/{name}/ for personal / HQ projects (no company).{name} is given, find it: qmd search "{name}" --json -n 5 or check the
locations directly.--brainstorm, or input points at a brainstorm.md) → source is
{dir}/brainstorm.md.{dir}/prd.json.No {source} at {path} — run /{prd|brainstorm} first. (When called from a skill's auto-step
the path is already known, so this never triggers.){co} (may be empty for personal projects), {name}, and {mode} for the rest of the flow.Read prd.json (and README.md if present). Extract:
name, descriptionmetadata.goal, metadata.successCriteriametadata.audiences, metadata.designRef, metadata.repoPathmetadata.nonGoals, metadata.dataModel, metadata.architectureNotes, metadata.integrationsuserStories[] → id, title, priority, labels, acceptanceCriteria, dependsOnDerive phasing from priority (group stories by priority ascending; respect dependsOn
ordering within a group). This is the "shape of it, ordered for execution."
Parse brainstorm.md — its frontmatter (company, status, source_idea_id) and sections:
# {Title} + the > {framing} blockquote (one-line problem/opportunity)## Context## What We Know (bullets) and ## What We Don't Know (bullets)## Premise Check → the verdict token (STRONG / QUESTIONABLE / WEAK) + reasoning## Narrowest Wedge (if present)## Approaches → each ### Option {X}: {Name} with How it works, Tradeoffs
(Pro/Con bullets), Effort (S/M/L/XL), When to choose this## Recommendation → preferred option, Key condition, Biggest risk## Next Steps (checkbox bullets)Look for a company design pack:
ls companies/{co}/knowledge/design-styles/packs/*/pack.yaml 2>/dev/null
pack.yaml
type: brand; for Indigo this is indigo-blueprint). Then, per
companies/{co}/policies/*deploy*blueprint* (load-at-authoring-time rules):
design-tokens.css and inline it into :root of the artifact.implementation.md and build sections from its HTML/CSS blocks —
copy the system, edit only the content. Never hardcode hex; reference var(--token)..claude/skills/project-summary/templates/default.css into :root. It uses the same
token names, so the same markup renders correctly either way.Classify the project from prd.json to choose what to draw:
User-facing product → UX / screen mockups if ANY of:
metadata.audiences names end users / customers (not just "developers" / "internal tooling"),metadata.designRef is non-empty,Otherwise → architecture / flow diagram (backend, CLI, data, infra): draw a labeled
box-and-arrow SVG of the system (inputs → components → outputs / data stores), derived from
metadata.dataModel, metadata.integrations, metadata.architectureNotes, and the stories.
In BOTH cases the mockups are illustrative wireframes generated from the PRD, drawn as
inline SVG/HTML styled with the resolved tokens, and each is clearly labeled
"concept mockup — not final UI" (use the .concept-note class). Do not imply these are
real screenshots.
No UX mockups. Instead draw, from brainstorm.md:
--pass, QUESTIONABLE = --warn, WEAK = --err),Write a single self-contained file (inline CSS + inline SVG, no external fetches beyond
the brand's web-font <link> if the pack uses one) to:
workspace/project-summary/{slug}/index.html
Build slug: {co}-{name} for company projects, personal-{name} for personal ones; in deck
mode append -brainstorm (e.g. personal-publish-kit-direct-brainstorm) so plan and deck
artifacts never collide.
{co} · project), {name} as h1, one-line goal as .lead.metadata.goal + metadata.successCriteria as .checks.# / Story / Priority (mirror the PRD-done screenshot;
id in the .num column). One row per story..concept-note labeled.metadata.nonGoals (or "None defined") + generated from prd.json · {date}.{co} · brainstorm), title as h1, the framing line as .lead,
and the premise verdict badge.## Context prose..grid2), .checks lists.## Next Steps checklist, plus the promotion path.generated from brainstorm.md · {date} (date -u +%Y-%m-%d).Keep it responsive to 360px. Verify the file exists and is non-trivial (>2KB) before deploying.
Run the deploy wrapper. App name is {slug}-summary in plan mode, {slug}-brainstorm in deck
mode (the build slug already carries the -brainstorm suffix, so pass it as the app name too).
Company slug is optional — omit/empty for personal projects:
# plan mode
bash .claude/skills/project-summary/scripts/deploy-summary.sh \
"workspace/project-summary/{slug}" "{slug}-summary" "{co}"
# deck mode ({slug} ends in -brainstorm)
bash .claude/skills/project-summary/scripts/deploy-summary.sh \
"workspace/project-summary/{slug}" "{slug}" "{co}"
It is idempotent (stable app name → stable URL), gates to the project's company when a
cloud_uid resolves from companies/manifest.yaml, and falls back to a password gate for
personal / no-company projects. Parse its KEY=VALUE output and report:
Visual summary is live (members only): {LIVE}Brainstorm deck is live (members only): {LIVE}… is live: {LIVE} — password: {PASSWORD} (copied to clipboard)Non-fatal: if the script exits non-zero (e.g. ERR: no_identity), do NOT fail the caller.
Report skipped — {reason} and continue. The calling skill must never be blocked by this deploy.
prd.json, brainstorm.md, README.md, or any
target repo. This is a visualization of existing planning output, subject to the no-implement rule.prd.json (plan
mode) or brainstorm.md (deck mode); never invent stories, options, criteria, or scope.implementation.md and
reference var(--token); never hardcode colors or hand-roll a competing stylesheet.