Pwrl plan research
Perform local and external research to inform technical design decisions during planning.From its SKILL.md
npx -y skills add wicttor/pwrl --skill pwrl-plan-researchAssembled 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.
- 4 stars4 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
6.4 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
pwrl-plan-research — Research & Findings
Purpose: Second step in the planning workflow. Accepts scoped context from pwrl-plan-scope, performs local codebase research, detects high-risk areas, and determines if external research is needed. Returns research findings that inform the design phase (pwrl-plan-design).
Interaction Method
- Use the platform's
ask_user_questionextension for decisions (e.g., approve external research). - Ask one question at a time. Present findings before asking for confirmation.
- Use multiple-choice questions when possible (e.g., "Should I run external research on [topic]?").
- If input is empty or missing scoped context, ask: "Please provide a task description or run pwrl-plan-scope first to gather context."
Input
This skill expects the scoped context object from pwrl-plan-scope (S2). It contains:
scope-id: YYYY-MM-DD-NNN-scope
domain: software
problem: "..."
intended_behavior: "..."
success_criteria: ["..."]
related_learnings: ["docs/learnings/XXX.md"]
learning_gaps: ["gap_name"]
If the context is not provided, try to bootstrap by searching for recent scope files in docs/plans/.scope/ or prompt the user to run pwrl-plan-scope first.
Output: Research Findings
After completing the workflow, produce a research findings block (in memory or as markdown):
research-id: YYYY-MM-DD-NNN-research
status: complete
# Research Findings
## Patterns Found
- `path/to/pattern/file` — [pattern description]
## High-Risk Detection
- Detected areas: [list]
- Risk Level: HIGH | MEDIUM | LOW
- External Research Recommended: YES | NO
## Tech Stack
- [Framework]: [version]
- [Language]: [version]
- [Database]: [version]
- [Key libraries]: [versions]
## External Research
- Needed: YES | NO
- Guidance: [librarian query or web search suggestion]
- Status: completed | skipped | declined
## Technical Constraints
- [Constraint 1]
- [Constraint 2]
## Findings Summary
[2-3 sentence overview of all findings]
This findings object is passed to pwrl-plan-design (S4) for the design phase.
Workflow
Step 1: Local Pattern Discovery
- Read the scoped context to understand the task.
- Search the codebase for patterns relevant to the task using
grepandfind:- Search for similar implementations (e.g., if task is "add auth", search for auth patterns)
- Search in common directories:
src/,app/,lib/,services/,api/ - Search config files for tech stack versions:
package.json,composer.json,requirements.txt,go.mod,Cargo.toml,Gemfile, etc.
- For each pattern found:
- Record the file path
- Count how many similar examples exist
- Describe the pattern briefly
- Rate confidence: HIGH (3+ examples), MEDIUM (1-2 examples), LOW (0 examples)
- If no relevant config files found, inspect codebase structure for clues: languages, frameworks, directory structure.
Step 2: High-Risk Area Detection
Scan the task description and scoped context for high-risk keywords across six areas: Security, Payments, APIs, Migrations, Complex Logic, and Infrastructure. For details on the risk keyword table, area definitions, and heuristics for assigning risk levels, see high-risk-detection.md.
Step 3: External Research Decision
- Apply the decision rule:
should_run_external_research = high_risk_detected AND patterns_found_count < 3 - If
should_run_external_researchis true:- Recommend external research.
- Generate a specific query for the librarian skill or web search.
- Ask the user: "This task involves high-risk area(s) ([areas]) with only [count] local example(s). Should I run external research?"
- Options: yes, no, skip
- If user accepts: Provide specific librarian guidance with query.
- If user declines or if research is not needed: Proceed with local findings only.
Step 4: External Research Guidance (if needed)
Generate targeted librarian or web search queries when external research is recommended. For query templates, formatting guidance, and examples for each high-risk area, see external-research-guidance.md.
Step 5: Technical Constraints Gathering
- Document all technical constraints found:
- Framework and language versions from config files
- Performance requirements or implications
- Compatibility notes (e.g., "must support IE11", "must work with existing auth")
- Deployment constraints (e.g., "must run on AWS Lambda")
- Integration constraints (e.g., "must use existing logging framework")
- If constraints are not obvious from codebase, ask the user:
- "Are there any technical constraints or requirements I should be aware of?"
- Collect any additional constraints the user mentions.
Step 6: Present and Confirm
- Present the full research findings to the user via
ask_user_question. - Ask: "Are these findings sufficient to proceed to design?"
- If confirmed: Return the research findings object.
- If corrections needed: Iterate on steps 1-5 as needed based on feedback.
- Do not proceed to design/generation — this skill only performs research.
Edge Cases
Seven edge cases encountered during research: no local patterns found, conflicting local patterns, missing tech stack info, user declining external research on high-risk tasks, multiple high-risk areas, unavailable librarian/search, and overwhelming pattern count. For decision trees, handling strategies, and examples, see edge-cases.md.
State Passing (to S4: pwrl-plan-design)
Research findings are passed to pwrl-plan-design in markdown format with YAML frontmatter. Downstream skills read it from memory or from docs/plans/.research/YYYY-MM-DD-NNN-research.md. For detailed schema documentation, field reference, storage conventions, and versioning rules, see state-schema.md.
References
- Source: Phase 2 of
pwrl-plan/SKILL.md - Input: Scoped context from
pwrl-plan-scope(S2) - Downstream:
pwrl-plan-design(S4) — receives research findings - Skills: May invoke librarian skill for external research
- Config:
package.json,composer.json, etc. for tech stack detection
What ships with it: 6 files
45.2 KB alongside SKILL.md
references/
- edge-cases.md6.2 KB
- external-research-guidance.md4.6 KB
- high-risk-detection.md6.8 KB
- research-discovery-protocol.md10.6 KB
- state-schema.md8.6 KB
- README.md8.4 KB
Gives 0 of the 12 instructions most plan spec skills give in ~1.5k tokens
Counted across 1,099 of the 1,860 authors here whose files we hold, read 2026-08-07
- Ask one question at a timein 51 of 1099
- Break plans into vertical slicesin 29 of 1099, across 11 files
- Publish issues in dependency orderin 27 of 1099, across 9 files
- Iterate until user approves the breakdownin 25 of 1099, across 7 files
- Explore the repository to understand the codebase statein 24 of 1099, across 7 files
- Use domain glossary vocabularyin 23 of 1099, across 5 files
- Apply correct triage labels to published issuesin 23 of 1099, across 5 files
- Prefer AFK slices over HITLin 22 of 1099, across 7 files
- Write a specification before writing any codein 22 of 1099, across 14 files
- Write failing tests before implementation codein 22 of 1099, across 20 files
- Ask clarifying questions until requirements are concretein 21 of 1099, across 13 files
- Respect existing architecture decision recordsin 20 of 1099, across 5 files
Said here and by no other author read
- Rate confidence based on examples found
- Scan context for high-risk area keywords
- Recommend external research for high-risk gaps
- Document all technical constraints found
- Present full research findings for user confirmation
- Iterate on findings based on user feedback
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.