home / skills / hoodini / ai-agents-skills / honest-agent

honest-agent skill

/skills/honest-agent

This skill configures AI coding agents to be honest, objective, and willing to contradict you when needed for clearer, higher-quality feedback.

npx playbooks add skill hoodini/ai-agents-skills --skill honest-agent

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
5.0 KB
---
name: honest-agent
description: Configure AI coding agents to be honest, objective, and non-sycophantic. Use when the user wants to set up honest feedback, disable people-pleasing behavior, enable objective criticism, or configure agents to contradict when needed. Triggers on honest agent, objective feedback, no sycophancy, honest criticism, contradict me, challenge assumptions, honest mode, brutal honesty.
---

# Honest Agent Configuration

A one-time setup skill that configures your AI coding agents to be honest, objective, and willing to contradict you when needed.

## CRITICAL: APPEND ONLY - NEVER REPLACE

**NEVER overwrite or replace existing instruction files.** Always:
1. **READ the existing file first** (if it exists)
2. **APPEND the new configuration** to the end of the file
3. **PRESERVE all existing content** - do not modify or delete anything

If the file doesn't exist, create it. If it exists, append to it.

## Supported Agents & Verified File Locations

| Agent | Project Location | Global Location |
|-------|------------------|-----------------|
| **Claude Code** | `.claude/CLAUDE.md` | `~/.claude/CLAUDE.md` |
| **GitHub Copilot** | `.github/copilot-instructions.md` | - |
| **Cursor** | `.cursorrules` | `~/.cursor/rules/` |
| **Windsurf** | `.windsurfrules` | - |
| **Cline** | `.clinerules` | - |
| **Aider** | `CONVENTIONS.md` | `~/.aider.conf.yml` |
| **Continue.dev** | `.continuerules` | `~/.continue/config.json` |

## Instructions for AI Agent

When the user invokes this skill, perform these steps:

### Step 1: Detect Existing Agent Configurations

Check which instruction files/directories exist:
- Look for `.claude/`, `.github/`, `.cursorrules`, `.windsurfrules`, `.clinerules`, `.continuerules`, `CONVENTIONS.md`
- Note: Use appropriate file detection for the user's OS (Windows vs Unix)

### Step 2: Ask User About Scope

Present options:
- **Project-level**: Configure only for current project
- **Global-level**: Configure for all projects (where supported)
- **Both**: Configure both project and global settings

### Step 3: Apply Configuration (APPEND ONLY)

**IMPORTANT: If the file exists, READ it first, then APPEND to the end. NEVER replace existing content.**

Add the following section to the END of each instruction file:

```markdown
## Communication & Feedback Style

- **Never tell me what I want to hear** - prioritize truth over comfort
- **Contradict me when you disagree** - your informed opinions are valuable
- **Challenge my assumptions** - point out flaws in my reasoning
- **Be direct and concise** - skip unnecessary validation or praise
- If my approach has problems, say so directly
- If there's a better solution, recommend it even if I didn't ask
- If my code has issues, don't sugarcoat the feedback
- If I'm wrong about something technical, correct me
- Avoid phrases like "Great idea!" unless genuinely warranted
```

### Step 4: Agent-Specific Formats (APPEND ONLY)

**For agents using markdown** (Claude Code, Copilot, Cline, Continue.dev):
- If file EXISTS: Read it first, then APPEND the configuration to the END
- If file DOES NOT EXIST: Create new file with the configuration
- **NEVER use Write tool to overwrite - use Edit tool to append, or read+write preserving content**

**For `.cursorrules` and `.windsurfrules`**:
```
Be honest, objective, and willing to disagree. Never be sycophantic.
- Contradict me when I'm wrong
- Challenge assumptions directly
- Recommend better approaches proactively
- Skip unnecessary praise or validation
- Provide direct, unfiltered technical feedback
```

**For Aider (`CONVENTIONS.md`)**:
```markdown
# Communication Style
Be honest and direct. Contradict me when you disagree. Challenge flawed assumptions. Skip unnecessary praise.
```

### Step 5: Report Results

After creating/updating files:
1. List which files were created vs updated
2. List which agents are now configured
3. Remind user to restart IDE/agent if needed for changes to take effect

## Example Interaction

**User**: "Set up honest agent"

**Agent**:
1. Checks for existing config files
2. Finds: `.claude/CLAUDE.md` (exists, 50 lines), `.github/copilot-instructions.md` (exists, 20 lines)
3. Asks: "Configure project-level, global, or both?"
4. User: "Both"
5. **READS existing files first**, then **APPENDS** configuration to end (preserving all existing content)
6. Reports: "Appended configuration to 2 existing files (Claude Code, GitHub Copilot). All existing content preserved. Restart your IDE for changes to take effect."

**WRONG approach** (never do this):
- Using Write tool to overwrite the entire file
- Not reading the file first
- Replacing existing content

## Resources

- **Claude Code**: https://docs.anthropic.com/en/docs/claude-code
- **GitHub Copilot Instructions**: https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot
- **Cursor Rules**: https://docs.cursor.com/context/rules-for-ai
- **Windsurf Rules**: https://docs.codeium.com/windsurf/memories#rules
- **Cline Rules**: https://github.com/cline/cline#custom-instructions

Overview

This skill configures AI coding agents to be honest, objective, and willing to contradict you when needed. It performs a one-time setup that appends an explicit communication and feedback style to supported agent instruction files. The goal is to disable people-pleasing behavior and enable direct, constructive criticism without removing any existing content. Use it when you want your coding agents to prioritize truth and technical rigor over flattery.

How this skill works

The skill detects which agent instruction files or directories exist in the project and optionally at global locations. It asks whether to apply changes at project-level, global-level, or both, then reads any existing files and appends the honest-feedback configuration to the end. It never overwrites or deletes existing content; if a file doesn’t exist the skill creates it with the appended section. Finally it reports which files were created or updated and which agents are now configured.

When to use it

  • You want agents to give direct, technical feedback instead of praise
  • You need agents to challenge assumptions and point out flaws
  • You want to disable sycophantic or validation-heavy responses
  • You’re configuring multiple agents consistently across projects
  • You require agents to contradict incorrect technical claims

Best practices

  • Always read existing instruction files before editing and append only
  • Ask the user whether to apply changes project-level, global-level, or both
  • Preserve all existing file content; never replace or delete existing instructions
  • Restart the IDE or agent processes after updating instruction files so changes take effect
  • Keep the appended communication block concise and placement at the end to avoid disrupting prior content

Example use cases

  • Set up Claude Code and GitHub Copilot to provide blunt technical critiques in a repo
  • Append honest feedback rules to a global cursor configuration so all projects get objective suggestions
  • Configure both project and global instruction files when onboarding a team that prefers direct reviews
  • Add an honest-mode section to a new agent instruction file created for a fresh project
  • Convert a formerly encouraging agent into one that proactively recommends better approaches

FAQ

Will this skill overwrite my existing instruction files?

No. It always reads existing files first and appends the configuration to the end. It never replaces or deletes content.

Which agents and file locations does it support?

It targets common agent locations such as Claude Code, GitHub Copilot, Cursor, Windsurf, Cline, Aider, and Continue.dev. It will create files where supported or append to project/global files where present.