Human Code — AI skill for Claude Code
Rules that make AI coding agents write code a person would write.
How to install Human Code
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open navulo/human-code and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Human Code does
Rules that make AI coding agents write code a person would write. AGENTS.md for any agent, plus a Claude Code plugin.
Alternatives in AI
- Go Modern Guidelines — Help AI coding agents write modern Go 1.7k ★
- Slb — Two-person rule CLI for AI coding agents: peer review and approval required before running potentially destruc 68 ★
- Clawhuddle — Self-hosted OpenClaw for teams — Give every person on your team their own AI assistant 54 ★
README
human-code
Rules that make AI coding agents write code a person would write.
These are the engineering rules we use in every [Navulo](https://github.com/navulo) project. They are open, and you can use them in yours.
The problem
Claude Code, Codex, Cursor and other agents write code that works but is hard to live with. They:
- add layers, files and abstractions that the task does not need;
- comment every line, often with traces of the chat;
- guard against states that cannot happen, and hide real failures behind fallbacks;
- write a new helper instead of finding the one that already exists.
The last habit shows up in the data. [GitClear's analysis of commit histories](https://devclass.com/2025/02/20/ai-is-eroding-code-quality-states-new-in-depth-report/) found that as coding assistants spread, copy-pasted code grew and refactored code shrank.
Before and after
The task: show the user's name in the profile header.
Without the rules, an agent typically creates a new file:
// src/utils/userHelpers.ts
/**
* Gets the display name for a user.
* @param user - The user object
* @returns The display name of the user
*/
export function getUserDisplayName(user: User | null | undefined): string {
// Check if the user exists
if (!user) {
return "Unknown User";
}
try {
// Combine the first and last name
const fullName = `${user.firstName ?? ""} ${user.lastName ?? ""}`.trim();
// Fall back to the email if the name is empty
return fullName || user.email || "Unknown User";
} catch (error) {
console.error("Error getting display name:", error);
return "Unknown User";
}
}
With the rules, the agent finds `formatFullName` in `src/lib/user.ts`, which four other screens already use:
{formatFullName(user)}
Its report says: "Used `formatFullName` from `src/lib/user.ts`. `user` cannot be null here, because the route loader throws on 404."
The first version breaks six rules:
- it adds a new helper n
Related Skills
Slopless
Production-tested CLAUDE.md and rules that make Claude Code write better code and more human text. Anti-AI-slo
GitHub Agent Tools
GitHub CLI tools for AI coding agents, delivered over MCP. A read server and an opt-in write server covering P
05 Blog Post Writer
Write a publishable post in the person's own voice, structured so an AI assistant can quote it, with every fac
Plugport
Open-source Composio alternative: let AI agents act in GitHub, Slack, Notion, Gmail and more as each user. OAu
AgentHarbor
🚢 One native app for all your AI coding agents - live rate limits, session usage, deep analysis of your & mon
Wdi Method
The review layer for AI coding agents: human review gates that check technical decisions before Claude Code, C
Related Agents
Human Comment Reader
Comment-reading agent — reads issue/PR threads like a person: maintainer tone, repo culture, implicit rules —
Outreach Builder
Takes the ranked list to the point where a human can send. Finds the person who can actually sell each PRIORIT
Sample Analyst
Natural Voice helper. Studies the person's own writing samples and returns quoted examples sorted by job, obse