{"id":"3e535db8-0aa3-4e8f-a99b-330a57b6e93f","shortId":"ufJUCk","kind":"skill","title":"feature-radar","tagline":"Full-cycle feature discovery, evaluation, and prioritization. Builds a persistent knowledge\nbase at .feature-radar/ and runs a 6-phase workflow to recommend what to build next.\nModes: full (all phases), quick (scan only), evaluate (prioritize), #N (deep-dive one).\nMUST use this s","description":"# Feature Discovery & Prioritization\n\n## Mode Routing\n\n<HARD-GATE>\nParse the user argument BEFORE any other logic. Determine the mode:\n\n| Argument | Mode | Phases |\n|----------|------|--------|\n| (none) or `full` | full | 1-6 (all) |\n| `quick` | quick | 1-3 only |\n| `evaluate` | evaluate | reconciliation → 5-6 (skip 1-3) |\n| `#N` (e.g. `#2`) | focus | Read opportunity N → Phase 5 (single item) → Phase 6 |\n\nRoute rules:\n- **full**: Follow normal workflow (Phase 1-6).\n- **quick**: Execute Phase 1-3, then skip to Completion Summary.\n- **evaluate**: Run \"Subsequent Runs\" reconciliation (steps 1-2), then jump directly to Phase 5-6.\n- **focus (#N)**: Read `.feature-radar/opportunities/{N}-*.md`. If not found, list available opportunities and ask user to pick. Then run Phase 5 for that single opportunity, followed by Phase 6.\n\nState the detected mode before proceeding: \"Mode: {mode}\"\n</HARD-GATE>\n\n## Bootstrap (First Run)\n\nIf `.feature-radar/` does not exist at the project root, create it:\n\n```\n.feature-radar/\n├── base.md\n├── archive/\n├── opportunities/\n├── specs/\n└── references/\n```\n\nThen generate `base.md` by completing the following:\n\n<HARD-GATE>\nComplete ALL steps before presenting base.md to the user:\n\n1. **Detect stack** — read `go.mod`, `package.json`, `Cargo.toml`, `pyproject.toml`. Follow imports to understand the dependency graph. Don't just read the config — understand the architecture.\n2. **Map structure** — list top-level directories. For each, read at least one file to understand its purpose. Identify: entry points, core logic, tests, docs, configuration.\n3. **Extract features** — scan exports, commands, API routes, or public functions. Read the implementations, not just the names. Understand what each feature actually does.\n4. **Find inspiration sources** — read README, CONTRIBUTING, docs/ for related projects and communities\n5. **Verify with user** — present the generated base.md and ask: \"Does this accurately describe your project?\"\n</HARD-GATE>\n\nAfter presenting base.md, support iterative refinement per `references/WORKFLOW-PATTERNS.md`.\n\n<HARD-GATE>\nDo NOT proceed to the Workflow until the user approves base.md.\n</HARD-GATE>\n\n### base.md Template\n\nGenerate `base.md` following the structure defined in `references/SPEC.md` (sections 2-5).\nRead `references/SPEC.md` first, then fill `{placeholders}` with project-specific analysis.\n\nKey sections to generate:\n- **Project Context** — detected language, architecture, key feature areas, core philosophy, inspiration sources\n- **Feature Inventory** — implemented features table + value & innovation landscape table\n- **Tracking Summary** — counts per category (start at 0)\n- **Directory Layout** — tree view\n- **Classification Rules** — per references/SPEC.md §3.2-3.5\n- **Maintenance Workflow** — feature flow between directories\n- **Archive Extraction Checklist** — per references/SPEC.md §4.3\n\nAfter creating the directory, ask the user:\n**\"Should I add `.feature-radar/` to `.gitignore`?\"**\n(Recommended if the tracking data is internal and shouldn't be committed.)\n\n## Subsequent Runs\n\nOn subsequent runs (`.feature-radar/` already exists):\n1. Read existing `base.md` — do NOT overwrite\n2. Run reconciliation per `references/DEEP-READ.md` steps 2-6\n3. Proceed to Mode Routing\n\n## Behavioral Directives\n\n<HARD-GATE>\nRead and follow `references/DIRECTIVES.md`.\n\nAdditional directives for this skill:\n- **Do not skip phases outside mode rules** — follow the Mode Routing and Phase execution HARD-GATEs. For conditional phases, state the skip condition check result before deciding to skip.\n- **Reconcile on subsequent runs** — see \"Subsequent Runs\" section above.\n</HARD-GATE>\n\n## Workflow\n\nExecute phases in order.\n\n<HARD-GATE>\nPhase execution rules (mode-dependent):\n\n**full mode** (default):\n- Phase 1-3: ALWAYS execute.\n- Phase 4: Skip ONLY if no documentation directory exists.\n- Phase 5-6: Skip ONLY if no open opportunities exist.\n\n**quick mode**:\n- Phase 1-3: Execute. Stop after Phase 3 → Completion Summary.\n\n**evaluate mode**:\n- Phase 1-4: Skip (reconciliation already done in Subsequent Runs).\n- Phase 5-6: Execute. Skip ONLY if no open opportunities exist.\n\n**focus mode (#N)**:\n- Phase 1-4: Skip.\n- Phase 5: Evaluate the single targeted opportunity only.\n- Phase 6: Propose for that opportunity only.\n\nFor each phase completed, state what was produced before moving to the next phase.\n</HARD-GATE>\n\n### Phase 1: Scan & Classify\n\n1. Read source files (feature ideas, user feedback, ecosystem observations, creative proposals, issue trackers)\n2. Cross-reference each entry against the codebase\n3. Classify:\n   - **Done / Covered / Rejected / N/A** → archive\n   - **Open / Partially Done** → opportunity\n   - **Cross-cutting pattern** → specs\n   - **External observation** → references\n\n**Checkpoint**: Present classification results using this format, then ask \"Continue to Phase 2?\"\n\n```\nPhase 1 complete:\n| Classification | Count | Items |\n|---------------|-------|-------|\n| Archive       | {n}   | {list} |\n| Opportunity   | {n}   | {list} |\n| Spec          | {n}   | {list} |\n| Reference     | {n}   | {list} |\n```\n\n### Phase 2: Archive Completed Features\n\nFor each archive candidate:\n\n1. Create `archive/{nn}-{slug}.md`\n2. Run the **Archive Extraction Checklist** (mandatory):\n   - Extract learnings → `specs/`\n   - Derive new opportunities → `opportunities/`\n   - Update references → `references/`\n   - Update ecosystem trends → `specs/ecosystem-trends.md`\n3. Mark the entry as processed in the source (strikethrough + status)\n\n### Phase 3: Organize Open Opportunities\n\n1. Create `opportunities/{nn}-{slug}.md`\n2. Assess **Impact** and **Effort** realistically\n3. Write an honest \"Our Position\" — do we actually want this?\n\n**Checkpoint**: Present opportunities using this format, then ask \"Continue to Phase 4?\"\n\n```\nPhase 3 complete: {n} opportunities organized\n| # | Opportunity | Impact | Effort | Our Position |\n|---|------------|--------|--------|-------------|\n| {nn} | {title} | High/Med/Low | High/Med/Low | {1-line stance} |\n```\n\n### Phase 4: Gap Analysis\n\nFind implemented features that docs don't mention:\n\n1. Scan documentation for coverage of implemented features\n2. For each gap: which feature, which page should cover it, standalone guide or section\n\n### Phase 5: Evaluate & Prioritize\n\n| Criterion | Question |\n|-----------|----------|\n| **Real user demand** | Are users actually asking for this? |\n| **Value uplift** | Does this meaningfully improve the user experience or unlock new possibilities? |\n| **Innovation potential** | Does this introduce a creative breakthrough or unique approach? |\n| **Effort / impact ratio** | Is the cost justified by the benefit? |\n| **Architectural fit** | Does it align with our core philosophy? |\n| **Ecosystem timing** | Is the ecosystem ready? |\n\nRank into tiers:\n- **Build next**: High value + strong demand or innovation potential + reasonable effort\n- **Build soon**: Good value + moderate demand\n- **Monitor**: Low demand or premature\n- **Skip**: Conflicts with philosophy or negligible value\n\n**Checkpoint**: Present tier ranking using this format, then ask \"Continue to Phase 6 (Propose)?\"\n\n```\nPhase 5 complete:\n| Tier | # | Opportunity | Demand | Value | Innovation | Effort/Impact | Fit | Timing |\n|------|---|------------|--------|-------|------------|--------------|-----|--------|\n| Build next | {nn} | {title} | {H/M/L} | {H/M/L} | {H/M/L} | {H/M/L} | {H/M/L} | {H/M/L} |\n| Build soon | ... | | | | | | |\n| Monitor    | ... | | | | | | |\n| Skip       | ... | | | | | | |\n```\n\n### Phase 6: Propose & Decide\n\nFor each \"Build next\" feature (top 1-3), present a proposal card:\n\n```\n### {nn}. {Title}\n**Pitch**: {One paragraph — what value does this create?}\n**Effort**: {N days} — {brief justification}\n**Key decisions**:\n- {decision 1}\n- {decision 2}\n```\n\nAfter all cards, ask: **\"Should we enter plan mode for [feature]?\"**\n\n## Completion Summary\n\nFollow the template in `references/DIRECTIVES.md`, with skill name \"Complete\" and an additional line:\n`Top recommendation: {feature name} — {one-line pitch}`\n\n## Guardrails\n\n- **Don't copy blindly.** Evaluate fit with YOUR architecture and users, not someone else's.\n- **Don't overcount.** 1 issue with no comments = weak signal.\n- **Don't undercount.** Multiple independent asks = strong signal.\n- **Chase value, not features.** Ask \"what problem does this solve?\" before \"what does this do?\"\n- **Be honest about effort.** Low < 1 day. Medium 1-3 days. High 1+ week.\n- **Challenge deferred items.** \"Deferred\" ≠ \"forever\" — re-evaluate each session.\n- **Think creatively.** The best features aren't always the obvious ones — look for novel angles.","tags":["feature","radar","runkids","agent-skill-repository","agent-skills","agentic-skills","ai-skills","claude-code-skills","coding-agents","feature-tracking","product-management","product-management-tools"],"capabilities":["skill","source-runkids","skill-feature-radar","topic-agent-skill-repository","topic-agent-skills","topic-agentic-skills","topic-ai-skills","topic-claude-code-skills","topic-coding-agents","topic-feature-tracking","topic-product-management","topic-product-management-tools","topic-skills","topic-skillshare"],"categories":["feature-radar"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/runkids/feature-radar/feature-radar","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add runkids/feature-radar","source_repo":"https://github.com/runkids/feature-radar","install_from":"skills.sh"}},"qualityScore":"0.456","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 12 github stars · SKILL.md body (8,681 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-19T00:41:37.518Z","embedding":null,"createdAt":"2026-04-19T00:41:37.518Z","updatedAt":"2026-04-19T00:41:37.518Z","lastSeenAt":"2026-04-19T00:41:37.518Z","tsv":"'-2':129 '-3':80,89,116,542,568,998,1116 '-3.5':406 '-4':580,604 '-5':352 '-6':75,86,111,136,470,556,590 '/opportunities':143 '0':396 '1':74,79,88,110,115,128,217,456,541,567,579,603,636,639,695,721,764,814,829,997,1021,1077,1112,1115,1119 '2':92,241,351,463,469,653,693,713,727,770,837,1023 '3':268,471,573,662,748,760,776,800 '3.2':405 '4':292,546,798,818 '4.3':418 '5':85,98,135,160,305,555,589,607,853,963 '6':24,102,168,615,960,988 'accur':317 'actual':290,784,863 'add':428 'addit':482,1048 'align':905 'alreadi':454,583 'alway':543,1138 'analysi':363,820 'angl':1145 'api':274 'approach':890 'approv':338 'architectur':240,372,901,1067 'archiv':197,413,668,700,714,719,723,730 'area':375 'aren':1136 'argument':59,67 'ask':153,314,423,689,794,864,956,1027,1089,1096 'assess':771 'avail':150 'base':16 'base.md':196,203,213,312,323,339,340,343,459 'behavior':476 'benefit':900 'best':1134 'blind':1062 'bootstrap':177 'breakthrough':887 'brief':1016 'build':12,31,919,930,973,983,993 'candid':720 'card':1002,1026 'cargo.toml':223 'categori':393 'challeng':1121 'chase':1092 'check':511 'checklist':415,732 'checkpoint':681,787,948 'classif':401,683,697 'classifi':638,663 'codebas':661 'command':273 'comment':1081 'commit':445 'communiti':304 'complet':120,205,208,574,624,696,715,801,964,1035,1045 'condit':505,510 'config':237 'configur':267 'conflict':942 'context':369 'continu':690,795,957 'contribut':298 'copi':1061 'core':263,376,908 'cost':896 'count':391,698 'cover':665,846 'coverag':833 'creat':191,420,722,765,1012 'creativ':649,886,1132 'criterion':856 'cross':655,674 'cross-cut':673 'cross-refer':654 'cut':675 'cycl':6 'data':438 'day':1015,1113,1117 'decid':514,990 'decis':1019,1020,1022 'deep':44 'deep-div':43 'default':539 'defer':1122,1124 'defin':347 'demand':860,924,935,938,967 'depend':230,536 'deriv':737 'describ':318 'detect':171,218,370 'determin':64 'direct':132,477,483 'directori':248,397,412,422,552 'discoveri':8,52 'dive':45 'doc':266,299,825 'document':551,831 'done':584,664,671 'e.g':91 'ecosystem':647,745,910,914 'effort':774,807,891,929,1013,1110 'effort/impact':970 'els':1072 'enter':1030 'entri':261,658,751 'evalu':9,40,82,83,122,576,608,854,1063,1128 'execut':113,500,527,532,544,569,591 'exist':186,455,458,553,563,598 'experi':875 'export':272 'extern':678 'extract':269,414,731,734 'featur':2,7,19,51,141,182,194,270,289,374,380,383,409,430,452,643,716,823,836,842,995,1034,1052,1095,1135 'feature-radar':1,18,140,181,193,429,451 'feedback':646 'file':255,642 'fill':357 'find':293,821 'first':178,355 'fit':902,971,1064 'flow':410 'focus':93,137,599 'follow':106,165,207,225,344,480,494,1037 'forev':1125 'format':687,792,954 'found':148 'full':5,34,72,73,105,537 'full-cycl':4 'function':278 'gap':819,840 'gate':503 'generat':202,311,342,367 'gitignor':433 'go.mod':221 'good':932 'graph':231 'guardrail':1058 'guid':849 'h/m/l':977,978,979,980,981,982 'hard':502 'hard-gat':501 'high':921,1118 'high/med/low':812,813 'honest':779,1108 'idea':644 'identifi':260 'impact':772,806,892 'implement':281,382,822,835 'import':226 'improv':872 'independ':1088 'innov':386,880,926,969 'inspir':294,378 'intern':440 'introduc':884 'inventori':381 'issu':651,1078 'item':100,699,1123 'iter':325 'jump':131 'justif':1017 'justifi':897 'key':364,373,1018 'knowledg':15 'landscap':387 'languag':371 'layout':398 'learn':735 'least':253 'level':247 'line':815,1049,1056 'list':149,244,702,705,708,711 'logic':63,264 'look':1142 'low':937,1111 'mainten':407 'mandatori':733 'map':242 'mark':749 'md':145,726,769 'meaning':871 'medium':1114 'mention':828 'mode':33,54,66,68,172,175,176,474,492,496,535,538,565,577,600,1032 'mode-depend':534 'moder':934 'monitor':936,985 'move':630 'multipl':1087 'must':47 'n':42,90,96,138,144,601,701,704,707,710,802,1014 'n/a':667 'name':285,1044,1053 'neglig':946 'new':738,878 'next':32,633,920,974,994 'nn':724,767,810,975,1003 'none':70 'normal':107 'novel':1144 'observ':648,679 'obvious':1140 'one':46,254,1006,1055,1141 'one-lin':1054 'open':561,596,669,762 'opportun':95,151,164,198,562,597,612,619,672,703,739,740,763,766,789,803,805,966 'order':530 'organ':761,804 'outsid':491 'overcount':1076 'overwrit':462 'package.json':222 'page':844 'paragraph':1007 'pars':56 'partial':670 'pattern':676 'per':327,392,403,416,466 'persist':14 'phase':25,36,69,97,101,109,114,134,159,167,490,499,506,528,531,540,545,554,566,572,578,588,602,606,614,623,634,635,692,694,712,759,797,799,817,852,959,962,987 'philosophi':377,909,944 'pick':156 'pitch':1005,1057 'placehold':358 'plan':1031 'point':262 'posit':781,809 'possibl':879 'potenti':881,927 'prematur':940 'present':212,309,322,682,788,949,999 'priorit':11,41,53,855 'problem':1098 'proceed':174,331,472 'process':753 'produc':628 'project':189,302,320,361,368 'project-specif':360 'propos':616,650,961,989,1001 'public':277 'purpos':259 'pyproject.toml':224 'question':857 'quick':37,77,78,112,564 'radar':3,20,142,183,195,431,453 'rank':916,951 'ratio':893 're':1127 're-evalu':1126 'read':94,139,220,235,251,279,296,353,457,478,640 'readi':915 'readm':297 'real':858 'realist':775 'reason':928 'recommend':28,434,1051 'reconcil':517 'reconcili':84,126,465,582 'refer':200,656,680,709,742,743 'references/deep-read.md':467 'references/directives.md':481,1041 'references/spec.md':349,354,404,417 'references/workflow-patterns.md':328 'refin':326 'reject':666 'relat':301 'result':512,684 'root':190 'rout':55,103,275,475,497 'rule':104,402,493,533 'run':22,123,125,158,179,447,450,464,520,523,587,728 'scan':38,271,637,830 'section':350,365,524,851 'see':521 'session':1130 'shouldn':442 'signal':1083,1091 'singl':99,163,610 'skill':486,1043 'skill-feature-radar' 'skip':87,118,489,509,516,547,557,581,592,605,941,986 'slug':725,768 'solv':1101 'someon':1071 'soon':931,984 'sourc':295,379,641,756 'source-runkids' 'spec':199,677,706,736 'specif':362 'specs/ecosystem-trends.md':747 'stack':219 'stanc':816 'standalon':848 'start':394 'state':169,507,625 'status':758 'step':127,210,468 'stop':570 'strikethrough':757 'strong':923,1090 'structur':243,346 'subsequ':124,446,449,519,522,586 'summari':121,390,575,1036 'support':324 'tabl':384,388 'target':611 'templat':341,1039 'test':265 'think':1131 'tier':918,950,965 'time':911,972 'titl':811,976,1004 'top':246,996,1050 'top-level':245 'topic-agent-skill-repository' 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-skills' 'topic-claude-code-skills' 'topic-coding-agents' 'topic-feature-tracking' 'topic-product-management' 'topic-product-management-tools' 'topic-skills' 'topic-skillshare' 'track':389,437 'tracker':652 'tree':399 'trend':746 'undercount':1086 'understand':228,238,257,286 'uniqu':889 'unlock':877 'updat':741,744 'uplift':868 'use':48,685,790,952 'user':58,154,216,308,337,425,645,859,862,874,1069 'valu':385,867,922,933,947,968,1009,1093 'verifi':306 'view':400 'want':785 'weak':1082 'week':1120 'workflow':26,108,334,408,526 'write':777","prices":[{"id":"347a8437-35c8-494b-b4e3-a7a089910ca8","listingId":"3e535db8-0aa3-4e8f-a99b-330a57b6e93f","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"runkids","category":"feature-radar","install_from":"skills.sh"},"createdAt":"2026-04-19T00:41:37.518Z"}],"sources":[{"listingId":"3e535db8-0aa3-4e8f-a99b-330a57b6e93f","source":"github","sourceId":"runkids/feature-radar/feature-radar","sourceUrl":"https://github.com/runkids/feature-radar/tree/main/skills/feature-radar","isPrimary":false,"firstSeenAt":"2026-04-19T00:41:37.518Z","lastSeenAt":"2026-04-19T00:41:37.518Z"}],"details":{"listingId":"3e535db8-0aa3-4e8f-a99b-330a57b6e93f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"runkids","slug":"feature-radar","github":{"repo":"runkids/feature-radar","stars":12,"topics":["agent-skill-repository","agent-skills","agentic-skills","ai","ai-skills","claude-code-skills","coding-agents","competitive-analysis-tools","feature-tracking","product-management","product-management-tools","skills","skillshare"],"license":"mit","html_url":"https://github.com/runkids/feature-radar","pushed_at":"2026-03-08T15:30:41Z","description":"📡 AI skill that helps your coding agent discover, track, and prioritize what to build next.","skill_md_sha":"0404af691c7230fa1dfea7c80ff886256c75a27c","skill_md_path":"skills/feature-radar/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/runkids/feature-radar/tree/main/skills/feature-radar"},"layout":"multi","source":"github","category":"feature-radar","frontmatter":{"name":"feature-radar","description":"Full-cycle feature discovery, evaluation, and prioritization. Builds a persistent knowledge\nbase at .feature-radar/ and runs a 6-phase workflow to recommend what to build next.\nModes: full (all phases), quick (scan only), evaluate (prioritize), #N (deep-dive one).\nMUST use this skill whenever the user asks about feature priorities, roadmaps, what to build,\nor wants to evaluate/compare feature ideas — even if they don't say \"feature radar\" explicitly.\nUse when the user:\n- Asks \"what should we build next?\", \"what's most impactful?\", or similar\n- Wants to prioritize, rank, or compare features or backlog items\n- Needs roadmap planning, project direction, or strategic feature decisions\n- Says \"help me prioritize\", \"review our backlog\", \"what are we missing\"\n- Mentions .feature-radar/ directory or feature tracking\n- Wants periodic reassessment of deferred or open opportunities"},"skills_sh_url":"https://skills.sh/runkids/feature-radar/feature-radar"},"updatedAt":"2026-04-19T00:41:37.518Z"}}