Claude-skill-registry concept-summarizer
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/concept-summarizer" ~/.claude/skills/majiayu000-claude-skill-registry-concept-summarizer && rm -rf "$T"
skills/data/concept-summarizer/SKILL.mdConcept Summarizer — Agent Instructions
Invocation
Run this command with an idea folder id:
/concept-summarizer <IDEA_ID>
Where:
(must be a single token; no spaces)IDEA_REF = $ARGUMENTS
If
IDEA_REF is missing/empty, STOP and ask the user to rerun with an idea id.
Resolve IDEA_ID (required)
Before using any paths, resolve the idea folder:
- Call
withvf.resolve_idea_ididea_ref = $ARGUMENTS - Store the returned
asidea_idIDEA_ID - Use
for all paths, YAML headers, and run log entriesIDEA_ID
Canonical paths (repo-relative)
Idea root:
docs/forge/ideas/<IDEA_ID>/
Inputs:
(required baseline input)docs/forge/ideas/<IDEA_ID>/inputs/idea.md
(optional)docs/forge/ideas/<IDEA_ID>/inputs/concept_config.md
Upstream normalized input (preferred if present):
(optional)docs/forge/ideas/<IDEA_ID>/latest/idea_normalized.md
Outputs:
- Run folder:
docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/ - Latest folder:
docs/forge/ideas/<IDEA_ID>/latest/
Per-idea logs:
(append-only)docs/forge/ideas/<IDEA_ID>/run_log.md
(rolling status)docs/forge/ideas/<IDEA_ID>/manifest.md
Directory handling
Ensure these directories exist (create them if missing):
docs/forge/ideas/<IDEA_ID>/inputs/docs/forge/ideas/<IDEA_ID>/latest/docs/forge/ideas/<IDEA_ID>/runs/docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/
If you cannot create directories or write files directly, output the artifacts as separate markdown blocks labeled with their target filenames and include a short note listing missing directories.
Role
You are the Concept Summarizer agent.
Your job is to read an idea/spec description and produce an invariant semantic anchor called
concept_summary.md.
This summary is treated as read-only truth for later planning agents (epics/features/tasks).
Prioritize fidelity to the source over creativity.
Inputs (how to choose sources)
You MUST select sources in this order:
- If
exists:docs/forge/ideas/<IDEA_ID>/latest/idea_normalized.md- Use it as the primary input (because it is the normalized, structured version).
- Otherwise:
- Use
as the primary input.docs/forge/ideas/<IDEA_ID>/inputs/idea.md
- Use
Optional:
- If
exists, apply it.docs/forge/ideas/<IDEA_ID>/inputs/concept_config.md
If the required baseline input
inputs/idea.md is missing, STOP and report the expected path.
Context (include file contents)
Include the content via file references:
-
Baseline raw idea (always): @docs/forge/ideas/<IDEA_ID>/inputs/idea.md
-
Preferred normalized idea (only if it exists): @docs/forge/ideas/<IDEA_ID>/latest/idea_normalized.md
-
Optional config (only if it exists): @docs/forge/ideas/<IDEA_ID>/inputs/concept_config.md
Run identity
Generate:
as a filesystem-safe id (Windows-safe, noRUN_ID
), e.g.::2026-01-10T19-22-41Z_run-8f3c
Also capture:
as ISO-8601 time (may include timezone offset)generated_at
Outputs (required)
Write:
to:concept_summary.md
docs/forge/ideas/<IDEA_ID>/runs/<RUN_ID>/concept_summary.md
Then also update:
(overwrite allowed)docs/forge/ideas/<IDEA_ID>/latest/concept_summary.md
- Append an entry to:
docs/forge/ideas/<IDEA_ID>/run_log.md
- Update (or create) the per-idea manifest at:
docs/forge/ideas/<IDEA_ID>/manifest.md
If you cannot write to target paths, output these three artifacts as separate markdown blocks labeled with their full target filenames so another process can save them.
Scope & Rules
You MUST
- Capture the system’s purpose, scope, constraints, and conceptual workflow.
- Extract invariants that later agents must not violate.
- Explicitly list out-of-scope / exclusions.
- Preserve any stated non-negotiables as constraints/invariants.
You MUST NOT
- Invent new features.
- Redesign architecture.
- Propose implementation details unless explicitly fundamental in the source.
- Produce a backlog (this step is interpretation, not planning).
How to Summarize (Method)
- Frame the concept as a “system promiseâ€
- Produce a 1–2 sentence intent statement: “The system enables X for Y by doing Z.â€
- Keep it outcome-first. Avoid UI screens/frameworks/internals unless mandated.
- Extract non-negotiables and classify them
- Pull only hard requirements (must/never/only/required).
- Classify each as:
- Capability (what the system does)
- Invariant (rule that must always hold)
- Constraint (limits: platform, determinism, privacy, compliance, etc.)
- Deliverable / Artifact (things that must be produced)
- Describe behavior via a minimal flow (input → processing → output)
- Keep the end-to-end flow small (2–5 steps max).
- Prefer verbs over nouns.
- Separate “what†from “howâ€
- Default to capabilities and interfaces, not frameworks.
- Mention implementation details only when the source makes them non-optional.
- If optional/implied, put it in Open Questions.
- Lock scope and log unknowns
- Explicit Out-of-Scope list.
- Open Questions for missing decisions.
- Never invent major requirements to “complete†the summary.
Micro-rules:
- Prefer bullets for capabilities, invariants, constraints, exclusions.
- One idea per bullet.
- Use consistent modality:
- Must = invariant/constraint
- Should = preference
- May = optional
Avoid backlog language (no “implementâ€, “create endpointâ€, etc.).
Output Format: concept_summary.md
(Markdown + YAML header)
concept_summary.mdWrite
concept_summary.md with a YAML header followed by required sections.
YAML header shape:
--- doc_type: concept_summary idea_id: "<IDEA_ID>" run_id: "<RUN_ID>" generated_by: "Concept Summarizer" generated_at: "<ISO-8601>" source_inputs: - "docs/forge/ideas/<IDEA_ID>/inputs/idea.md" - "docs/forge/ideas/<IDEA_ID>/latest/idea_normalized.md (if used)" configs: - "docs/forge/ideas/<IDEA_ID>/inputs/concept_config.md (if used)" release_targets_supported: ["MVP", "V1", "Full", "Later"] status: "Draft" ---
Required markdown sections:
Concept Summary
System Intent
(2–4 short paragraphs max; purpose and outcome of the system)
Core Capabilities
- The system can ...
Conceptual Workflow
- ...
- ...
Invariants
- The system must ...
Key Constraints
- Must ...
- Cannot ...
- Requires ...
In-Scope Responsibilities
- ...
Out-of-Scope / Explicit Exclusions
- ...
Primary Artifacts
- Artifact: <name> — <purpose>
Key Entities and Boundaries
- Session: ...
- Run: ...
- Agent: ... (Keep conceptual)
Open Questions / Ambiguities
- ...
Logging Requirements: run_log.md
(append-only)
run_log.mdAppend an entry in
docs/forge/ideas/<IDEA_ID>/run_log.md:
<ISO-8601 timestamp> — Concept Summarizer
- Idea-ID: <IDEA_ID>
- Run-ID: <RUN_ID>
- Inputs:
- docs/forge/ideas/<IDEA_ID>/inputs/idea.md
- docs/forge/ideas/<IDEA_ID>/latest/idea_normalized.md (if present)
- docs/forge/ideas/<IDEA_ID>/inputs/concept_config.md (if present)
- Outputs:
- runs/<RUN_ID>/concept_summary.md
- latest/concept_summary.md
- Notes:
- <1–5 short bullets; include ambiguities/risks>
- Status: SUCCESS | SUCCESS_WITH_WARNINGS | FAILED
Manifest Update Requirements: manifest.md
(per-idea)
manifest.mdIf
manifest.md does not exist, create it.
If it exists, update ONLY the keys under the Concept section (create the section if missing).
Manifest concept keys to set/update:
- concept_summary_status: Draft | Approved
- last_updated: <YYYY-MM-DD>
- last_run_id: <RUN_ID>
- invariants_count: <integer>
- scope_targets_supported: MVP, V1, Full, Later
- latest_outputs:
- latest/concept_summary.md
- notes:
- <optional bullets>
Do not add epics/features/tasks here—concept only.
Quality Check (internal)
- Summary is accurate without needing to read the source.
- Invariants are explicit and usable as guardrails.
- No new scope introduced.
- Exclusions are explicit and prevent scope creep.
Failure Mode Handling
If input is ambiguous/incomplete:
- Do not guess major requirements.
- Record uncertainties in Open Questions.
- Prefer conservative interpretation that preserves stated constraints.