Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", or "evaluate what's working"...
Step back and critically reassess the project state. This skill guides the agent through systematic, collaborative evaluation to catch drift between intent and reality.
Assessment is a dialogue, not a report. Ask clarifying questions to:
If scope is clear (e.g., "assess the auth module"), skip questions and proceed.
If scope is open (e.g., "step back and assess this"), ask:
Locate the project root and detect the ecosystem before reading metadata.
Detect ecosystem first by looking for these marker files:
| File | Ecosystem |
|---|---|
pyproject.toml, setup.py, requirements.txt |
Python |
package.json, package-lock.json, yarn.lock |
Node.js/JavaScript |
Cargo.toml |
Rust |
go.mod |
Go |
pom.xml, build.gradle |
Java |
Gemfile |
Ruby |
composer.json |
PHP |
Then read ecosystem-specific metadata:
pyproject.toml for dependencies, scripts, project infopackage.json for scripts, dependenciesCargo.toml for crate infoUniversal project docs (all ecosystems):
README.md # Project overview (check project root)
CONTEXT.md # Agent-focused current status
AGENTS.md # Agent skill discovery
docs/ # Documentation directory
Fallback discovery if no obvious metadata:
*.md files in rootsrc/ or lib/ structuretests/, test/, spec/).py, .js, .rs, .go)Do a fast pass:
Then check in (unless scope was already clear):
Based on user guidance, investigate thoroughly. For each finding, consider:
Present findings and ask:
Compare what's documented vs what's implemented:
Ask: "I found X documented but not implemented - should I implement it or update docs?"
Find gaps between intent and reality:
pass, raise NotImplementedError)Ask: "Is [aspirational feature] still on the roadmap, or should I remove it?"
Find fragile patterns:
Ask: "I see hardcoded [value] - is this intentional for now or should I externalize it?"
Find features that exist but fail:
except: pass)Ask: "This [feature] appears broken - is it actively used or can we remove it?"
Find unnecessary complexity:
Ask: "Is [abstraction] expected to grow, or can we simplify?"
Acknowledge solid code - helps calibrate the assessment.
User: "Step back and assess this project"
Agent: "I'll assess the project. A few quick questions first:
User: "Focus on whether the skills actually work as documented"
Agent: "I'll check the documented skills. Should I run any tests or commands to verify they work, or just review the code?"
User: "Yes, run the sanity tests"
Agent: reads pyproject.toml, README.md, runs sanity tests
"I've checked the documented skills. Here's what I found:
Working as documented:
Drift found:
Should I:
Which would you prefer I tackle first?"
# Assessment: <project-name>
## Summary
<2-3 sentences: overall health, key findings>
## Scope
- **Covered:** [what was assessed]
- **Not covered:** [what was skipped or out of scope]
## Questions for You
- [Clarifying question about intent/priority]
- [Question about known issues]
## Findings
### Doc-Code Alignment
| Claim | Reality | Action? |
|-------|---------|---------|
| "Redis caching" | Not implemented | Remove claim / Implement? |
### Issues Found
1. **file.py:123** - [Issue description]
- Severity: High/Medium/Low
- Suggested fix: [brief]
### Working Well
- [Solid code to acknowledge]
## Recommended Next Steps
1. [Immediate fix]
2. [Doc update]
3. [Future improvement]
Which should I start with?
On Request:
Proactively (always ask first, never auto-run):
Core principle: Assessment is read-only. Never write files without explicit user consent.
This prevents:
When suggesting documentation, show the content first, then offer to write:
Agent: "I notice there's no README.md. Here's what I'd suggest:
---
# ProjectName
One-liner description based on pyproject.toml...
## Install
pip install ...
## Quick Start
...
---
Should I write this to README.md, or would you like to modify it first?"
This gives the user full control:
README.md - Project overview, quick startCONTEXT.md - Current status for agentsCONTRIBUTING.md - How to contributeCHANGELOG.md - Version history--help text for CLIsAgent: "The README mentions 'API endpoints' but doesn't list them.
Options:
1. I'll show you the endpoint docs to add (you approve before write)
2. Remove the mention until it's ready
3. Mark it as 'coming soon'
Which approach?"
Key principle: Print first, write only with explicit consent.
Sometimes assessment requires external context. Ask before using paid services.
Available research skills:
| Skill | Use For | Cost |
|---|---|---|
/context7 |
Library/framework documentation | Free |
/brave-search |
General web search, deprecation notices | Free |
/perplexity |
Deep research, complex questions | Paid |
When to suggest research:
How to offer:
Agent: "I see you're using library X v2.3. I'm not certain if this version
has known issues. Want me to check with /context7 or /brave-search?"
Agent: "The authentication pattern here looks unusual. Should I research
current best practices with /perplexity? (Note: this uses paid API)"
Key principle: Don't silently research - ask first, especially for paid services. Quick doc lookups with /context7 are usually fine.
When assessment reveals significant issues, suggest /code-review:
When to suggest code-review:
How to suggest:
"I've found [issues] that might benefit from a deeper code review. Want me to run /code-review with [provider] to get a structured analysis and patch suggestions?"
Example:
Agent: "The authentication module has several issues:
- Hardcoded secrets in 3 places
- Missing input validation
- No rate limiting
This is security-sensitive - would you like me to run `/code-review`
with OpenAI (high reasoning) to get a thorough security review and
suggested fixes?"
When running shell commands, prefer modern fast tools:
| Task | Prefer | Over | Why |
|---|---|---|---|
| Search content | rg (ripgrep) |
grep |
10x faster, better defaults, respects .gitignore |
| Find files | fd |
find |
Faster, simpler syntax, respects .gitignore |
| List files | eza or ls |
- | eza has better output if available |
Example patterns:
# Search for TODOs
rg "TODO|FIXME|HACK|XXX" --type py
# Find Python files modified recently
fd -e py --changed-within 7d
# Search for stub implementations
rg "raise NotImplementedError|pass$" --type py