Idea honing
Backup of my pi agent configuration: settings, custom skills, and npm dependency manifests.
npx -y skills add aneviaro/pipack --skill idea-honingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 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.
What its author says it does
Copied from the file, not written here
Relentlessly interview the user to sharpen a vague idea into an actionable implementation spec, then save that spec to the repository. Use when the user wants to refine an idea, stress-test a concept, build a spec, write a PRD, or says "hone this idea", "grill me", "turn this into a spec", or similar.
SKILL.md
3.7 KB, 783 tokens by cl100k_base, as published. Nobody here has run it
Idea Honing
Turn an idea into a saved, implementation-ready spec through a focused interrogation loop.
User Input
Use ask_user_question for every blocking question in the interrogation loop. Pass one concise question, likely options when useful, allowFreeform, and a decisive recommendation. Do not ask in plain chat unless the tool is unavailable.
Workflow
- Identify the idea, target product area, and desired output. If the user has not provided enough to start, use
ask_user_questionfor the one missing seed detail. - Interview the user relentlessly, one question at a time, until the spec is unambiguous enough to implement.
- For every question:
- Call
ask_user_questionexactly once. - Ask exactly one question.
- Include your recommended answer in the tool's
recommendationfield. - Prefer decisive defaults over open-ended brainstorming.
- If the answer can be discovered from the repository, inspect the code/docs instead of asking.
- Call
- Resolve dependencies between decisions in order. Do not jump ahead to low-level details before core constraints are settled.
- Keep a running mental spec and update it after each answer.
- When enough decisions are resolved, tell the user you are ready to write the spec and use
ask_user_questionfor confirmation only if there is a meaningful unresolved product choice. Otherwise proceed. - Save the spec as markdown in the repository.
- Run the
revdiffskill against the saved spec (--only <spec-path>; add--untrackedfor a new file). Process captured annotations and update the spec when needed. - Report the created file path and any remaining open questions.
Question Order
Cover these areas as needed, skipping anything already answered or discoverable:
- Problem and user
- Goal and non-goals
- Success criteria
- User flows
- Data model and persistence
- API/contract changes
- UI/UX behavior
- Edge cases and failure states
- Security, privacy, and permissions
- Compatibility, migration, rollout
- Test/verification plan
- Implementation milestones
Spec Location
Default location:
- If this repository has
docs/implementation/, save todocs/implementation/<kebab-case-title>-spec.md. - Otherwise save to
docs/<kebab-case-title>-spec.md. - Create the directory if needed.
If a related spec already exists, update it instead of creating a duplicate.
Spec Template
---
Created: YYYY-MM-DD
Status: Draft
Owner: TBD
---
# <Spec Title>
## Summary
<One-paragraph summary.>
## Problem
<Problem and why it matters.>
## Goals
- <Goal>
## Non-goals
- <Non-goal>
## Users and Use Cases
- <User/use case>
## Proposed Behavior
<Concrete behavior and flows.>
## Requirements
### Functional
- <Requirement>
### Non-functional
- <Requirement>
## Data and Contracts
<Data model, persistence, API, schema, and contract impacts.>
## UX Notes
<Screens, states, copy, accessibility, and edge cases.>
## Rollout and Migration
<Rollout, backwards compatibility, migration, feature flags.>
## Test Plan
- <Verification step>
## Open Questions
- <Question, or `None`.>
Behavior Rules
- Be direct and skeptical.
- Ask one question at a time via
ask_user_question. - Each question must include a recommended answer.
- Do not produce the final spec until the important branches are resolved.
- Do not ask questions that repository inspection can answer.
- The final output is a saved file, not just chat text.