Intelligence gathering phase - spawns parallel agents to analyze codebase, patterns, git history, and web research. Creates or updates task file with findings.
View on GitHubbenredmond/apex
apex
skills/research/SKILL.md
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/benredmond/apex/blob/main/skills/research/SKILL.md -a claude-code --skill researchInstallation paths:
.claude/skills/research/<skill name="apex:research" phase="research"> <overview> Conduct comprehensive research by orchestrating parallel sub-agents. Outputs to `./.apex/tasks/[ID].md`. This is the **first phase** of the APEX workflow. It gathers all intelligence needed for planning and implementation. </overview> <phase-model> phase_model: frontmatter: [research, plan, implement, rework, complete] rework: enabled db_role: [RESEARCH, ARCHITECT, BUILDER, BUILDER_VALIDATOR, REVIEWER, DOCUMENTER] legacy_db_role: [VALIDATOR] source_of_truth: gating: frontmatter.phase telemetry: db_role </phase-model> <phase-gate requires="none" sets="research"> <creates-file>./.apex/tasks/[ID].md</creates-file> <appends-section>research</appends-section> </phase-gate> <initial-response> <if-no-arguments> I'll conduct comprehensive research to gather intelligence and explore the codebase. Please provide: - Task description (e.g., "implement dark mode toggle") - Linear/JIRA ticket ID (e.g., "APE-59") - Path to task file (e.g., "./tickets/feature.md") - Existing APEX task ID I'll analyze patterns, explore the codebase, find similar tasks, and create a detailed research document. </if-no-arguments> <if-arguments>Immediately begin research - skip this message.</if-arguments> </initial-response> <workflow> <step id="1" title="Parse input and identify task"> <instructions> Determine input type and create/find task: **Text description**: Create a task entry with intent, inferred type, generated identifier, and tags **Ticket ID (APE-59)**: Fetch ticket details (if available), then create a task entry with identifier set to ticket ID **File path**: Read file fully, parse content, then create a task entry **Database ID**: Look up existing task by ID to retrieve it Store `taskId` and `identifier` for all subsequent operations. </instructions> </step> <step id="2" title="Optimize and improve prompt"> <purpose> Vague task briefs lead to wasted research effort. Enhance before proceeding. </purpose