Quick project overview exploration - direct execution without agent spawn. Use at the start of ultrawork sessions.
/plugin marketplace add mnthe/hardworker-marketplace/plugin install ultrawork@hardworker-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Quick project overview exploration skill executed directly without agent spawn.
Goal: "Add authentication with OAuth"
Exploration Commands:
# Step 1: Detect framework
Glob(pattern="package.json")
# → Found: package.json
Read(file_path="package.json")
# → Dependencies: next@14.0.0, react@18.2.0, typescript@5.0.0
# Step 2: Structure
Glob(pattern="*")
# → [".next", "app", "components", "lib", "public", "node_modules", "package.json"]
Glob(pattern="app/**/*.tsx")
# → ["app/page.tsx", "app/layout.tsx", "app/api/users/route.ts"]
# Step 3: Check existing auth
Grep(pattern="auth|login|session", output_mode="files_with_matches")
# → No matches
# Step 4: Read docs
Read(file_path="README.md")
# → Simple Next.js starter, no auth mentioned
Output:
## Overview Exploration Results
**Project Type**: Next.js 14 App Router
**Tech Stack**:
- Language: TypeScript 5.0
- Framework: Next.js 14 (App Router)
- Database: Not found
- Test: Not found
**Directory Structure**:
project/ ├── app/ # Next.js App Router pages │ ├── page.tsx # Homepage │ ├── layout.tsx # Root layout │ └── api/ # API routes ├── components/ # React components └── lib/ # Utilities
**Key Entry Points**:
- app/layout.tsx (root layout)
- app/api/* (API routes)
**Existing Patterns**:
- Auth: not found
- Database: not found
- API: REST via route handlers
**Relevant Files** (based on Goal):
- app/layout.tsx: Need to wrap with SessionProvider
- app/api/: Where auth routes will go
Goal: "Add config file support"
Exploration Commands:
# Step 1: Detect Go project
Glob(pattern="go.mod")
# → Found: go.mod
Read(file_path="go.mod")
# → module: github.com/user/tool, go 1.21
# Step 2: Structure
Glob(pattern="*")
# → ["cmd", "internal", "pkg", "go.mod", "go.sum", "README.md"]
Glob(pattern="cmd/**/*.go")
# → ["cmd/tool/main.go"]
Glob(pattern="internal/**/*.go")
# → ["internal/cli/cli.go", "internal/runner/runner.go"]
# Step 3: Check existing config
Grep(pattern="config|\.yaml|\.toml", output_mode="content", -n=true)
# → internal/cli/cli.go:15: // TODO: Add config file support
Read(file_path="internal/cli/cli.go")
# → CLI uses cobra, flags only, no config file
Output:
## Overview Exploration Results
**Project Type**: Go CLI Tool
**Tech Stack**:
- Language: Go 1.21
- Framework: cobra (CLI framework)
- Database: N/A
- Test: go test (standard)
**Directory Structure**:
tool/ ├── cmd/tool/ # Main entry point ├── internal/cli/ # CLI logic (cobra) ├── internal/runner/ # Business logic └── pkg/ # Public packages
**Key Entry Points**:
- cmd/tool/main.go (entry point)
- internal/cli/cli.go (CLI setup)
**Existing Patterns**:
- Config: TODO comment found, not implemented
- CLI: cobra with flags
- Test: Standard go test
**Relevant Files** (based on Goal):
- internal/cli/cli.go: Add config loading here
- go.mod: May need viper or similar for config parsing
# Detect language/framework
Glob(pattern="package.json") # Node.js/JS
Glob(pattern="go.mod") # Go
Glob(pattern="requirements.txt") # Python
Glob(pattern="Cargo.toml") # Rust
Glob(pattern="pom.xml") # Java/Maven
Glob(pattern="*.csproj") # .NET
Read discovered files:
Read(file_path="package.json") # or the relevant config file
# Top-level structure
Glob(pattern="*", path=".")
# Main source directories
Glob(pattern="src/*")
Glob(pattern="app/*")
Glob(pattern="lib/*")
Glob(pattern="internal/*")
Glob(pattern="cmd/*")
# Config files
Glob(pattern="**/*.config.*")
Glob(pattern="**/.*rc")
Glob(pattern="**/*.json", path=".")
# Test structure
Glob(pattern="**/*_test.*")
Glob(pattern="**/*.test.*")
Glob(pattern="**/test/**/*")
# README, CLAUDE.md, etc.
Read(file_path="README.md")
Read(file_path="CLAUDE.md")
Read(file_path=".claude/CLAUDE.md")
Summarize in the following format after exploration:
## Overview Exploration Results
**Project Type**: {Next.js / Express / Go CLI / Python Library / etc.}
**Tech Stack**:
- Language: {TypeScript / Go / Python / etc.}
- Framework: {Next.js / Express / Gin / etc.}
- Database: {PostgreSQL / MongoDB / etc.} (if any)
- Test: {Jest / pytest / go test / etc.}
**Directory Structure**:
project/ ├── src/ # {description} ├── app/ # {description} ├── lib/ # {description} └── tests/ # {description}
**Key Entry Points**:
- {main entry file}
- {api routes if any}
**Existing Patterns**:
- {auth: implemented/not found}
- {database: prisma/typeorm/raw sql/not found}
- {api: rest/graphql/trpc/not found}
**Relevant Files** (based on Goal):
- {file1}: {reason}
- {file2}: {reason}
When using within an ultrawork session:
"${CLAUDE_PLUGIN_ROOT}/scripts/session-update.sh" \
--session {SESSION_ID} \
--exploration-stage overview
# Get session directory
SESSION_DIR=$("${CLAUDE_PLUGIN_ROOT}/scripts/session-get.sh" --session {SESSION_ID} --dir)
# Write overview.md
Write(
file_path="$SESSION_DIR/exploration/overview.md",
content="{exploration results in above format}"
)
"${CLAUDE_PLUGIN_ROOT}/scripts/context-add.sh" \
--session {SESSION_ID} \
--explorer-id "overview" \
--file "exploration/overview.md" \
--summary "{brief summary of overview findings}" \
--key-files "{comma-separated key files}" \
--patterns "{comma-separated patterns found}"
"${CLAUDE_PLUGIN_ROOT}/scripts/session-update.sh" \
--session {SESSION_ID} \
--exploration-stage analyzing
No excessive exploration - Overview aims for quick understanding. Targeted exploration handles detailed investigation.
After Overview completion:
Task(subagent_type="ultrawork:explorer")This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.