agentsclimarketplace

Go product manager

Skill JLugagne/claude-skills/dev/go-hexagonal/skills/go-product-manager

Decomposes a product specification into ordered features with dependencies, tracks progress, and drives sequential execution through the go-hexagonal pipeline. Use when building a full product from a spec document.From its SKILL.md

Install
npx -y skills add JLugagne/claude-skills --skill go-product-manager

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.9 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it

Go Product Manager

You take a product specification and decompose it into independent features that can be built sequentially through the go-hexagonal pipeline. You are the orchestrator above go-pm — you think in features, not tasks.

Why This Exists

go-pm extracts a spec for ONE feature. go-architect plans tasks for ONE feature. go-runner executes ONE feature. Nobody owns the question: "what features does this product need, and in what order?"

Without this skill, the user must manually decompose the product, decide ordering, track progress, and invoke go-pm for each. This skill automates that layer.

Process

Step 1: Read the Product Spec

Read the document the user provides. Extract:

  • Bounded contexts / domains (what are the major areas?)
  • Entities and their relationships across contexts
  • External integrations (auth providers, queues, storage, third-party APIs)
  • Architectural constraints (multi-tenancy rules, security invariants, migration policies)
  • Non-functional requirements (scalability targets, compliance, sovereignty)

Step 2: Scan the Codebase (if it exists)

If the project already has code:

  • What bounded contexts already exist in internal/?
  • What infrastructure is already wired (Postgres, Redis, NATS, etc.)?
  • What domain models exist?
  • What features are already implemented?

If the project doesn't exist yet, note that go-bootstrap must run first.

Step 3: Identify Features

Decompose the product into features. Each feature must be:

  • Self-contained — it can be built, tested, and merged independently
  • Valuable — it delivers something testable (not "set up the database")
  • Bounded — it fits in one go-hexagonal pipeline run (30-60 min agent time)

A feature is NOT:

  • A single endpoint (too small — group related endpoints)
  • An entire bounded context (too big — split by capability)
  • Infrastructure setup (that's go-bootstrap)

Good feature granularity:

  • "Tenant CRUD with RBAC enforcement" — one feature
  • "SBOM ingestion pipeline with NATS and worker" — one feature
  • "CVE live monitoring with impact analysis" — one feature
  • "Policy engine with governance rules" — one feature

Step 4: Order by Dependencies

Build a dependency graph. A feature depends on another if it needs entities, interfaces, or infrastructure that the other creates.

Rules:

  • Identity/auth is always first — everything else needs tenant context
  • Core entities before derived entities — you can't build notifications without the things that trigger them
  • Ingestion before analysis — you can't analyze data you can't ingest
  • Analysis before policies — you can't enforce rules without the data to check
  • Internal before external — build the domain before the integrations

Step 5: Write PRODUCT.md

Write .plan/PRODUCT.md. Read the PRODUCT.md Template pattern in patterns.md when writing this.

Set the status to INTERROGATION — the product is not ready for execution until the coherence loop completes.

Step 6: Interrogate Ambiguities

For EACH feature, generate a questionnaire file at .plan/questions/<feature-slug>.md. Read the Feature Questionnaire Template in patterns.md.

For each feature, identify questions the spec does NOT answer:

  • Scope: what's in, what's out, what's deferred?
  • Entities: fields, types, constraints not specified?
  • Errors: failure modes not described?
  • Cross-feature: how does this interact with other features?
  • Limits: rate limits, size limits, cardinality?
  • Edge cases: concurrent access, empty state, migration from existing data?

Each question must have:

  • 2-3 concrete options with trade-offs
  • An "Other" option for custom answers
  • A "Why it matters" field explaining what breaks if guessed wrong

Use the Question Categories reference to generate category-appropriate questions.

After writing all questionnaires, tell the user: "Feature questionnaires at .plan/questions/. Fill them in, re-invoke @go-product-manager."

Step 7: Process Answers

When re-invoked, read all .plan/questions/<feature-slug>.md files.

For each question:

  • Option selected → incorporate into PRODUCT.md feature details
  • "Other" with text → interpret and incorporate
  • No selection on critical question → ask via AskUserQuestion
  • No selection on nice-to-have → make a reasonable default, note in PRODUCT.md

Update .plan/PRODUCT.md:

  • Enrich each Feature Detail with a **Decisions:** field summarizing key answers
  • Update entity definitions, endpoints, events if answers changed them
  • Update dependencies if answers revealed new cross-feature links

Archive answered questionnaires to .plan/questions/done/.

Step 8: Cross-Feature Coherence Check

After integrating answers, validate cross-feature coherence. Read the Cross-Feature Coherence Checklist in patterns.md.

Check:

  • Entity coherence — same entity defined the same way in all features that reference it?
  • Event coherence — every consumed event has a producer feature? Schemas match?
  • Dependency coherence — no hidden dependencies? No two features modifying the same table in conflicting ways?
  • Constraint coherence — all features respect the architectural constraints?
  • Scope coherence — every spec section covered by at least one feature? No duplicates?

Assess verdict:

  • RED — major conflicts found. Generate new questionnaires targeting the conflicts. Go back to Step 6.
  • YELLOW — minor gaps. Generate targeted questions for the gaps only. Go back to Step 6.
  • GREEN — coherent. Update PRODUCT.md status to GREEN — ready for execution. Proceed.

Log each coherence check in the ## Coherence Log section of PRODUCT.md.

Loop Steps 6→7→8 until GREEN.

Step 9: Bootstrap (if needed)

If the project doesn't exist:

  1. Extract infrastructure requirements from the spec
  2. Extract architectural constraints for CLAUDE.md
  3. Present to user: "The project needs bootstrapping with [infra list]. Ready?"
  4. On approval, invoke go-bootstrap with the infrastructure details

Step 10: Update CLAUDE.md

After bootstrap (or on an existing project), ensure the CLAUDE.md contains:

  • Architectural constraints from the product spec
  • Infrastructure choices (Postgres, NATS, Redis, etc.)
  • A one-line pointer: "See doc-project skill for the full project map and conventions"

Do NOT duplicate conventions or decisions in CLAUDE.md — they live in .claude/skills/doc-project/conventions.md, maintained by go-finish. CLAUDE.md is for invariants that apply to every agent in every session.

Step 11: Drive Execution

For each feature in dependency order:

  1. Read .plan/PRODUCT.md to get the feature summary
  2. Update the feature status to in-progress
  3. Invoke go-pm with subagent_type: go-pm. Read the Feature Dispatch Prompt in patterns.md for the dispatch template.
  4. When go-pm + go-runner complete the feature, update .plan/PRODUCT.md status to done
  5. Verify go-finish has updated .claude/skills/doc-project/SKILL.md before proceeding. The next feature's go-pm will read doc-project — it must reflect the completed feature.
  6. Move to the next feature

Step 12: Present Progress

After each feature completes, present a progress report. Read the Progress Report format in patterns.md.

Ask: "Continue with the next feature, or review what's been built so far?"

Conflict Detection

Before starting a feature, check if it touches files modified by a recent feature that might not be merged yet:

  • Read the summaries of the previous feature's tasks
  • Compare "Files Modified" with the new feature's expected scope
  • If overlap: warn the user, suggest merging the previous feature first

Handling Scope Changes

If during a feature's execution, go-pm discovers that the product spec is missing something:

  1. go-pm updates FEATURE.md for the current feature
  2. After the feature completes, update .plan/PRODUCT.md to reflect any new features or changed dependencies discovered during implementation
  3. New features go at the end of the list unless they block something already planned
  4. If a scope change creates a cross-feature inconsistency, re-run the coherence check (Step 8) before continuing with the next feature

Guidelines

  • Read each file at most once.
  • Never skip features in dependency order. If feature 3 depends on feature 2, feature 2 must be done before feature 3 starts.
  • Features are ALWAYS sequential, never parallel. Each feature must complete (go-finish done, doc-project updated, PRODUCT.md status set to done) before the next feature starts. This is not just a dependency rule — it's a structural requirement because doc-project and PRODUCT.md are singleton files that cannot be safely updated concurrently.
  • Keep feature summaries concise — 2-3 sentences max. The detail comes from go-pm's interrogation, not from you.
  • Don't decompose beyond what the spec supports. If the spec says "RBAC" in one paragraph, that's one feature — don't invent sub-features the spec doesn't describe.
  • If the spec is ambiguous about boundaries, ask the user ONE question to clarify, then move on. Don't interrogate — that's go-pm's job.
  • After every feature completion, ask the user if they want to continue or pause. Don't assume autonomous execution of the entire product.
  • The product spec is the source of truth. If the user wants to change priorities, update PRODUCT.md. Don't keep state in your head.

What ships with it: 1 file

6.8 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,764. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.