plugins/core/skills/discover/SKILL.md
Guidelines for discovering historical context, source code, and repository standards.
npx skillsauth add qmu/workaholic discoverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Context discovery guidelines for ticket creation. Three discovery phases run in parallel by separate subagents.
Search all tickets (archive, todo, icebox) to find related past work and check for duplicates or overlaps.
Run the bundled script with keywords extracted from the ticket request:
bash ${CLAUDE_PLUGIN_ROOT}/skills/discover/scripts/search.sh <keyword1> [keyword2] ...
Extract 3-5 keywords from:
ticket.md, drive.md)branch, commit, archive)Config, UX)The script searches archive, todo, and icebox directories. Results are sorted by relevance (match count):
5 .workaholic/tickets/archive/feat-xxx/ticket-a.md
3 .workaholic/tickets/todo/ticket-b.md
2 .workaholic/tickets/icebox/ticket-c.md
For tickets found in todo/ and icebox/, perform overlap analysis against the proposed ticket:
| Category | Overlap | Action | |----------|---------|--------| | Duplicate | 80%+ | Block creation - existing ticket covers request | | Merge candidate | 40-80% | Suggest combining into single ticket | | Split candidate | N/A | Existing ticket too broad - suggest decomposition | | Related | <40% | Can coexist - note for cross-reference |
Evaluate overlap based on:
A ticket is a duplicate when:
Tickets are merge candidates when:
An existing ticket needs splitting when:
Tickets are related (not blocking) when:
Return structured JSON combining historical context and ticket moderation:
{
"summary": "2-3 sentence synthesis of related historical work",
"tickets": [
{
"path": ".workaholic/tickets/archive/branch/ticket.md",
"title": "Ticket title",
"match_reason": "Why this ticket is relevant"
}
],
"moderation": {
"status": "clear|duplicate|needs_decision",
"matches": [
{
"path": ".workaholic/tickets/todo/filename.md",
"title": "Ticket title from H1",
"category": "duplicate|merge|split|related",
"overlap_percentage": 85,
"reason": "Specific explanation of overlap"
}
],
"recommendation": "Action to take"
}
}
| Status | Meaning | Next Action |
|--------|---------|-------------|
| clear | No blocking issues | Proceed with ticket creation |
| duplicate | Existing ticket covers request | Do not create new ticket |
| needs_decision | Merge/split opportunity found | User must decide strategy |
If no todo/icebox tickets match, set moderation.status to "clear" with empty matches array.
Guidelines for finding and analyzing source code related to a ticket. Provides comprehensive exploration strategies for collecting rich codebase context.
Start with files directly matching the request keywords.
Follow dependencies to understand context.
Find how code is used across the codebase.
Understand expected behavior from tests.
foo.ts, check for foo.test.ts, foo.spec.ts__tests__/, tests/, spec/ directoriesFind related configuration and type definitions.
*.d.ts)Important: These are hard limits, not guidelines. Stop adding files once limits are reached.
import/require statements, check *.d.ts filesimport/from statements, check __init__.py filesskills: frontmatter references, check SKILL.md patternspackage.json dependencies, tool config filesAvoid files that add noise without value:
*.min.js, *.bundle.js, dist/, build/)package-lock.json, yarn.lock, pnpm-lock.yaml)node_modules/, vendor/, .venv/).cache/, __pycache__/)Return structured JSON with categorized discoveries:
{
"summary": "2-3 sentence synthesis of codebase context",
"files": [
{
"path": "path/to/file.ts",
"purpose": "What this file does",
"relevance": "Why it matters for the ticket",
"category": "direct|import|usage|test|config"
}
],
"snippets": [
{
"path": "path/to/file.ts",
"start_line": 10,
"end_line": 25,
"content": "actual code content that may need modification"
}
],
"import_graph": "Brief description of dependency relationships",
"code_flow": "How components interact end-to-end",
"patterns": ["Existing patterns discovered that should be followed"],
"test_coverage": "Summary of existing test coverage in affected areas"
}
| Field | Required | Description |
|-------|----------|-------------|
| summary | Yes | High-level synthesis of findings |
| files | Yes | List of relevant files with metadata |
| snippets | Optional | Code snippets likely to need modification (for patch generation) |
| import_graph | Optional | Dependency relationships discovered |
| code_flow | Yes | Component interaction description |
| patterns | Optional | Patterns to follow in implementation |
| test_coverage | Optional | Existing test coverage summary |
In source mode, the discovery subagent has access to Glob, Grep, Read, and Bash tools but should primarily use Glob, Grep, Read:
Guidelines for identifying repository standards, coding conventions, design decisions, and architecture patterns.
Examine these locations for standards evidence:
CLAUDE.md - Project-level instructions and architecture policy.claude/rules/ - Repository-scoped rulesplugins/*/rules/)README.md files at root and plugin leveltsconfig.json, .eslintrc, .prettierrc, package.json, etc.)plugins/standards/) — leading skills (leading-*/SKILL.md) are the canonical policy sourceIdentify patterns for:
Identify structural patterns for:
standards:leading-{validity,availability,security,accessibility}) as the project's authoritative policy lenses. Cite specific policies and practices when a discovered constraint maps to one (e.g., "leading-validity: Ours/Theirs Layer Segregation").Identify rules for:
${CLAUDE_PLUGIN_ROOT})Identify conventions for:
CLAUDE.md at repository root - primary source of explicit standards.claude/rules/ and plugin rule directoriesReturn structured JSON with discovered standards:
{
"summary": "2-3 sentence synthesis of repository standards approach",
"policies": [
{
"category": "coding|architecture|shell|documentation",
"source_file": "path/to/source",
"description": "What the policy requires",
"evidence": "Quoted or paraphrased text from source"
}
],
"architecture": {
"structure": "Brief description of repository structure",
"principles": ["List of stated design principles"],
"dependency_rules": "How components relate and what can invoke what"
}
}
| Field | Required | Description |
|-------|----------|-------------|
| summary | Yes | High-level synthesis of standards approach |
| policies | Yes | List of discovered policies with evidence |
| architecture | Yes | Structural patterns and principles |
documentation
Release note content structure and guidelines for GitHub Releases.
testing
Ship workflow - merge PR, deploy via CLAUDE.md, and verify production.
development
Generate branch-story sections 4-7 (Outcome, Historical Analysis, Concerns, Successful Development Patterns) from archived tickets and carry-over verdicts. Used by the report workflow when assembling a PR story.
business
Story writing, PR creation, and release readiness assessment for branch reporting.