agent-config
Create, update, or audit AGENTS.md (default) or CLAUDE.md agent instructions: set up, prune, add a rule, or merge CLAUDE.md or…
Plan a product from idea to sprint tasks in one run: idea-validator, prd-generator, tad-generator, tasks-generator, resuming from existing files. Don't use for one document alone (PRD, TAD, tasks) or only validating an idea.
$ npx -y skills add luongnv89/skills --skill product-planner --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/product-plannerContext preview
The summary Claude sees to decide when to auto-load this skill.
Plan a product from idea to sprint tasks in one run: idea-validator, prd-generator, tad-generator, tasks-generator, resuming from existing files. Don't use for one document alone (PRD, TAD, tasks) or only validating an idea.
name: product-planner description: "Plan a product from idea to sprint tasks in one run: idea-validator, prd-generator, tad-generator, tasks-generator, resuming from existing files. Don't use for one document alone (PRD, TAD, tasks) or only validating an idea." license: MIT effort: high dependencies: - idea-validator - prd-generator - tad-generator - tasks-generator - brand-name-checker metadata: version: 1.1.0 author: "Luong NGUYEN <luongnv89@gmail.com>" architecture: "orchestrator (detect artifacts → pick range → verdict gate → preflight → chain unedited members via file handoffs → one Final Report)"
One invocation takes an idea to a sprint plan by chaining four existing skills, unedited, in a fixed order. Each member owns its workflow, questions, approval gates and commits; this skill only decides **which members run**, hands each its input, and never repeats a stage whose file exists. Member detail stays in `references/` to protect the context budget.
idea-validator → idea.md + validate.md → prd-generator → prd.md → [brand-name-checker] → tad-generator → tad.md → tasks-generator → tasks.md
Single-document requests go to the member directly: `prd-generator`, `idea-validator`, `tad-generator` or `tasks-generator`.
`PROJECT_DIR="$(cd "$PROJECT_DIR" && pwd)"`; if the `cd` fails, ask for the path.
`COMPLETE`, `PARTIAL` or `BLOCKED`; its `Evidence:` line carries the commit hash and GitHub links.
| # | Member | Input (`$ARGUMENTS`) | Writes | Requires | |---|---|---|---|---| | 1 | `idea-validator` | the idea text | `idea.md`, `validate.md` in `YYYY_MM_DD_<name>/` (a same-day folder with the same name is reused) | an idea description | | 2 | `prd-generator` | `PROJECT_DIR` | `prd.md` | `idea.md`, `validate.md` | | 2b | `brand-name-checker` (opt-in) | product name from `prd.md` | nothing (inline report) | `prd.md` | | 3 | `tad-generator` | `PROJECT_DIR` | `tad.md` | `prd.md` | | 4 | `tasks-generator` | `PROJECT_DIR/prd.md` (a file, not the folder) | `tasks.md` | `prd.md` (reads `tad.md` if present) |
Per-member gates, push behavior, existing-file modes and stop conditions: `references/member-contracts.md`. Read it before the first member runs.
This skill **invokes** the five skills declared in frontmatter `dependencies`. Run this at Workflow step 4, after the range is fixed and before any member writes a file:
if command -v asm >/dev/null && asm deps --help >/dev/null 2>&1; then asm deps discover product-planner --json || echo "discover failed; acquire still runs" >&2 echo "pp_mode=lease" else echo "asm deps unavailable: npm install -g agent-skill-manager@latest" >&2 echo "pp_mode=installed" fi printf 'pp_session=%s\n' "product-planner-$(date +%s)-$$" # record it; reuse it verbatim
1. With `pp_mode=lease`, run `asm deps acquire <member> --session <pp_session> --json` for each **chain** member in range, in Stages order. Record each returned `skillMdPath`. 2. With `pp_mode=installed`, check each chain member in range with `test -f "$HOME/.claude/skills/<member>/SKILL.md" || test -f "$HOME/.agents/skills/<member>/SKILL.md"`. Record the path that exists. 3. If any chain member fails step 1 or 2, print one line per missing member, `Missing skill: <member> — install: asm install github:luongnv89/skills:skills/<member> -p claude --yes`, then stop before any file is written. The status is `BLOCKED`. Never imitate a member inline. 4. Check `brand-name-checker` the same way only when the user opts into the brand check. If it is missing, skip the brand check and list the skip under `Uncertainty:`. This miss is fail-soft. 5. **Release in `finally`.** If any acquire ran, run `asm deps release --session <pp_session> --json` once at every terminal outcome, stops included, before the Final Report. List a failed release under `Uncertainty:`.
Chain members in range are acquired at preflight, not at their stage: the range fixes that each one runs, and a miss found at stage 3 would leave a half-built plan. The brand check is an optional branch, so it is acquired only when reached.
The members write files into `PROJECT_DIR`. Run this once at Workflow step 5, before the first member. The sync target is `PROJECT_DIR`, or the ideas root when stage 1 has not created the folder yet.
1. Run `repo="$(git -C "<sync target>" rev-parse --show-toplevel)"`. If it fails, skip the sync and record `sync: skipped (not a git repo)`. 2. Run `git -C "$repo" remote get-url origin`. If it fails, skip steps 3–6 and record `sync: skipped (no origin)`. 3. Run `branch="$(git -C "$repo" rev-parse --abbrev-ref HEAD)"`. If it prints `HEAD`, skip steps 4–6 and record `sync: skipped (detached HEAD)`. 4. Run `git -C "$repo" status --porcelain`. If the output is empty, run `git -C "$repo" fetch origin && git -C "$repo" pull --rebase origin "$branch"`. 5. If the output is not empty, run `git -C "$repo" stash push -u -m "product-planner pre-sync"`, then the same fetch and pull, then `git -C "$repo" stash pop`. 6. If the rebase conflicts, run `git -C "$repo" rebase --abort`, then `git -C "$repo" stash pop` when step 5 stashed. If the stash pop conflicts, leave the stash in place. In both cases stop and ask the user how
One command drops a tested, versioned skill into your agent. No more ad-hoc prompts. The same rigorous steps run every time. Skills are independent files.
Create, update, or audit AGENTS.md (default) or CLAUDE.md agent instructions: set up, prune, add a rule, or merge CLAUDE.md or…
Find open AI engineering jobs that fit a candidate, verify location and apply links, and assess each employer's product. Use for…
Generate App Store screenshots and header/search images for iPhone, iPad and Mac from a codebase or landing page, or re-render a…
Audit iOS/macOS apps against App Store Review Guidelines before submission, with evidence-backed verdicts and fixes. Don't use…
Optimize App Store and Google Play listings via a 7-phase, plan-approval-gated ASO workflow (keyword strategy, metadata,…
Generate a commit message, stage all changes, and push to remote after scanning for secrets, large files, and protected-branch…