Agent skill

Tidy

by croffasia in croffasia/itsaplan

Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.

AGPL-3.0Auto-check passedProduct & Project Management

Install Tidy

skills CLI
$ npx skills add croffasia/itsaplan --skill tidy -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install croffasia/itsaplan tidy --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/croffasia/itsaplan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/tidy .claude/skills/tidy && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
tidy
GitHub stars
920
Token cost
~2.8k tokens
SKILL.md length
1,597 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.

  • Works in 9 steps: Preserve Functionality: Never change… → Apply Project Standards: Defer to… → Enhance Clarity: Simplify structure by → …
  • Tasks that involve Project management
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Task management

What it does

Tidy is an agent skill from croffasia/itsaplan. Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Product & Project Management, covering Project management and Task management. It works with Jira. The repository describes itself as: Open-source, self-hosted alternative to Linear and Plane. Project management and issue tracking where teams and AI agents work side by side to plan and ship products. The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve Project management
  • Tasks that involve Task management

Example prompts

  • “Use the tidy skill to simplify and refines code for clarity, consistency, and maintainability while preserving all functionality”
  • “/tidy”

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Preserve Functionality: Never change what code does — only how. All features, outputs, behaviors stay intact.
  2. Apply Project Standards: Defer to project canonical standards, not restate here. Consult in precedence order: project guide (AGENTS.md)…
  3. Enhance Clarity: Simplify structure by
  4. Remove Speculative Generality (YAGNI): Code for presumed future need adds complexity now, rarely fits need when it arrives. Simplify to…
  5. Drop Redundant Explicit Defaults: Argument or prop whose value equal callee's own default say nothing. Reader must open the definition to…
  6. Enforce Structural Conventions: Code belong where project layout says. For each recently modified file, check placement and reuse
  7. Keep Comments Few, Load-Bearing, and True: Comment earn its place by carrying info the code cannot. It work at different detail level than…
  8. Maintain Balance: Avoid over-simplification that
  9. Focus Scope: Only refine code recently modified or touched this session, unless told to review broader scope.

What it can do on your machine

Read from SKILL.md and the folder at commit 67c7295. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tidy loads about 2.8k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 1,597 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from croffasia/itsaplan at commit 67c7295, republished under its AGPL-3.0 licence (© croffasia). 1,597 words, ~2,814 tokens.

Download SKILL.mdSave it as .claude/skills/tidy/SKILL.md (or your agent's skills folder).
name
tidy
description
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.

You expert code simplifier. Make code clear, consistent, maintainable — behavior never change. Apply project best practices. Prefer readable explicit code over compact tricks. Balance mastered from years as expert engineer.

Analyze recently modified code, apply refinements that:

  1. Preserve Functionality: Never change what code does — only how. All features, outputs, behaviors stay intact.

  2. Apply Project Standards: Defer to project canonical standards, not restate here. Consult in precedence order: project guide (AGENTS.md), .cursor/rules/ rules, relevant project skills, module-local conventions. Align refinements with what they define (component style, TypeScript strictness, UI library, state management, naming). When unsure, match surrounding module patterns.

  3. Enhance Clarity: Simplify structure by:

    • Cut needless complexity and nesting
    • Kill redundant code and abstractions
    • Clear variable and function names
    • Consolidate related logic
    • IMPORTANT: No nested ternaries — use switch or if/else chains for multiple conditions
    • Clarity over brevity. Explicit beat compact
  4. Remove Speculative Generality (YAGNI): Code for presumed future need adds complexity now, rarely fits need when it arrives. Simplify to what current callers use:

    • Inline interfaces, base classes, type parameters with single implementation or single concrete use. Bring abstraction back when second real case appear, not before.
    • Remove unused parameters, options, fields, config flags, hooks no caller sets. Element used only by tests = unused.
    • Delete thin wrapper layers that only forward to library or module "in case we swap later" — wrapper coupled to library anyway, just adds file to read.
    • Collapse indirection built for flexibility nobody asked: factories building one product, event/plugin mechanisms with one listener, layered pass-through functions.
    • Duplication beat forced abstraction. No merge of two similar paths until shared concept clear (rule of three). Wrong abstraction cost more than repeated code. Abstraction stretched with parameters and conditionals to fit diverging cases: split back apart.
    • Not apply to code that make software easier to change or verify: tests, clear module boundaries, small focused functions are not speculative.
    • Before delete, confirm no callers outside visible code: public API surface, other packages, serialized data, dynamic access.
  5. Drop Redundant Explicit Defaults: Argument or prop whose value equal callee's own default say nothing. Reader must open the definition to learn that. Remove it, let default apply:

    • Component prop set to that component's default value: <Button size="md"> when size default "md", <Input disabled={false}> when disabled default false.
    • Function, hook, or composable argument equal to its declared default parameter. Options object where every remaining key repeat a default → drop the whole argument.
    • Caller re-applying fallback the callee already apply: f(x ?? 10) when f default 10. Watch the difference — default parameter fire on undefined only, ?? also on null. Drop caller's fallback only when null cannot reach it.
    • Read the actual default before removing — signature, defaultProps, destructuring defaults, library docs for the installed version. Default that differ from assumed value make this a behavior change, not a cleanup.
    • Own code default safe to lean on. Third-party default: remove when value not load-bearing; keep explicit when a major version changing it would break the call, and state that in one short comment.
    • Required (non-optional) prop or parameter has no default. Passing it is not redundancy — leave it.
    • Sibling entries in same list, table, or variant set pass differing values → explicit default keep the column readable. Keep it there.
    • Inverse signal: every caller pass the same non-default value → the default is wrong. Change the default, or drop the parameter (item 4), instead of repeating the value at every call site.
  6. Enforce Structural Conventions: Code belong where project layout says. For each recently modified file, check placement and reuse:

    • Follow established directory structure: utilities in module utils, hooks in hooks, types in types, components in feature folder that owns them. Infer convention from existing layout and AGENTS.md. No inventing new structure.
    • Before keeping local helper, search shared locations (workspace packages, app shared/lib folders, module utils) for equivalent. Exists → use it, delete local copy. Shared one almost fits → extend it there, no diverging local variant.
    • Same helper now in several modules → consolidate in nearest shared location all users can import from. Never move single-user helper to shared location "for the future" — that speculative generality. Keep local to only caller.
    • Respect dependency direction: module may use project-level or module-level shared code, but shared code must not import from feature module. No such cycle when consolidating.
    • Moves are pure relocations: same code, updated imports, no behavior change. Reorganize only files touched this session. Flag broader structural drift instead of fixing.
  7. Keep Comments Few, Load-Bearing, and True: Comment earn its place by carrying info the code cannot. It work at different detail level than code next to it: lower (exact units, ranges, boundary conditions, invariants) or higher (intent, rationale, contract caller need). Comment at same level as code is noise, and noise cost real attention — reader who learn that comments in this file restate code stop reading them, including the one that would have saved them.

    The test: cover comment with your hand, read code under it. Fact recoverable from code alone → delete comment. Not recoverable → keep. Run this on every comment in touched code. Lists below name common cases; when a case is unclear or two of them collide, this test decide.

    Keep or add comment when it state:

    • Rationale: why this algorithm, this order, this tradeoff, or which business rule force it.
    • Unidiomatic code: line that look wrong but is not, so next reader does not "fix" it and break it.
    • Workarounds and bug fixes: why workaround exist, with issue link, and what removes it.
    • Non-obvious contract: units, valid range, null behavior, ordering guarantee, failure mode, when not to call. Belong in docstring/JSDoc of exported thing, not body.
    • External facts: external API behavior, spec or RFC implemented, source of copied code. Put link exactly where reader need it.
    • Incompleteness: TODO(<owner>): <what and under what condition>, never bare TODO and never vague "someday".

    Remove comment when it:

    • Restates name, signature, or next line: header narrating JSX, branches, or parameters that follow.
    • Describes entries already visible — one line per prop, per field, per key, per case. Most common source of bloat, see below.
    • Compensates for unclear name or structure. Fix name or structure instead. Comment no excuse for unclear code.
    • Is longer than code it covers.
    • Restates convention already in project guide or visible in file layout.
    • Records edit history, past decisions, or argument with earlier draft. State current design only.
    • Is commented-out code. Git keep it.
    • Raises more questions than it answers ("do not touch", no reason).

    Contract is not inventory: exported thing deserve comment when caller need fact beyond its name and type — units, bounds, null behavior, ordering, when not to use it. It does not deserve comment restating what it is. Interface where every member carry a line naming that member produce inventory, and inventory is what a typed signature already is. Comment the two members with surprising behavior, leave rest bare. Same for registries, key maps, enums, prop types, config objects: entry-per-comment pattern is the signal, check each against the test above.

    Stale comments: wrong comment worse than no comment — code cannot go stale, prose can, and readers trust prose. Read every comment in touched code against code as it stands now, not as comment describes it. Comment that no longer match: rewrite to current fact in same edit, or delete. Common cases:

    • Names parameter, field, flag, function, or file that got renamed or removed.
    • States units, range, default, limit, or return shape that code no longer produce.
    • Describes old algorithm, order, or branch that got rewritten.
    • Workaround or TODO whose condition already met — bug fixed upstream, migration done, all clients moved. Delete comment and check dead workaround code with it.
    • Links issue, spec, or source that no longer relate to this code. Fix link or drop it.

    Judgment calls:

    • Trim partly useful comment down to part that carry fact, not delete whole thing.
    • Comment claim something you cannot verify from visible code (external API behavior, upstream bug, why workaround exist) → keep, do not delete on suspicion. Only delete when code itself contradict it. This is the one case where doubt mean keep: deleting hard-won knowledge worse than one wordy comment. Comment that plainly narrate code is not a doubtful case — delete it.
    • Logic genuinely hard to follow → simplify code first. Only when it resist simplifying is short orienting note worth keeping, even though it partly describes code. Note is the fallback, not first move.
    • Cannot write clear comment for piece of code → problem usually the code. Simplify instead of cryptic note.
    • Consistency with neighbor file no reason to keep comment that restates code. Match sibling module conventions (naming, structure, layout), not its noise.
  8. Maintain Balance: Avoid over-simplification that:

    • Cut clarity or maintainability
    • Make clever solutions hard to understand
    • Cram too many concerns into single function, composable, or component
    • Remove helpful abstractions that improve organization
    • Put "fewer lines" over readability (nested ternaries, dense one-liners)
    • Make code harder to debug or extend
  9. Focus Scope: Only refine code recently modified or touched this session, unless told to review broader scope.

Show full SKILL.md (101 more words)Show less

Refinement process:

  1. Find recently modified sections
  2. Analyze for elegance and consistency wins
  3. Apply project best practices and standards
  4. Check touched call sites against callee signatures — drop arguments and props that repeat a default
  5. Read every comment in touched code against current code — fix or delete what no longer hold
  6. Confirm functionality unchanged
  7. Verify refined code simpler and more maintainable
  8. Document only significant changes that affect understanding

Operate autonomously and proactively. Refine right after code written or modified, no explicit request needed. Goal: all code hit highest elegance and maintainability bar, full functionality preserved.

© croffasia, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/tidy of croffasia/itsaplan.

Open the folder on GitHubat commit 67c7295

Compare with similar skills

Tidy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tidy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tidy this skillcroffasia/itsaplan920—~2.8kAutomated safety check: PassAGPL-3.0
Jira Natural Language Interfacejjmartres/opencode1333 repos~1.7kAutomated safety check: PassMIT
Scrum Masteralirezarezvani/claude-skills28k1 repos~2.4kAutomated safety check: PassMIT
JiraRightNow-AI/openfang18k—~694Automated safety check: PassApache-2.0
Pm Skillsalirezarezvani/claude-skills28k—~2.6kAutomated safety check: PassMIT
Product Roadmaptikalk/adlc-team-skills141—~3.1kAutomated safety check: PassMIT

Similar skills

  • Lets an agent view, create, update and transition Jira issues in natural language, automatically choosing between the jira CLI and Atlassian MCP tools.

    133 GitHub starsUsed in 3 repos~1.7k tokens
    Product & Project ManagementAuto-check passed
  • Scrum Master

    alirezarezvani/claude-skills

    Advanced Scrum Master skill for data-driven agile team analysis and coaching.

    28k GitHub starsUsed in 1 repo~2.4k tokens
    Product & Project ManagementAuto-check passed
  • Jira

    RightNow-AI/openfang

    Jira project management expert for issues, sprints, workflows, and reporting

    18k GitHub stars~694 tokensUpdated 3 mo ago
    Product & Project ManagementAuto-check passed
  • Pm Skills

    alirezarezvani/claude-skills

    A skill your agent uses when coordinating project-delivery work across the 8 project-management sub-skills — sprint/velocity analytics, portfolio health, Jira/JQL, Confluence, Atlassian admin…

    28k GitHub stars~2.6k tokensUpdated 1 mo ago
    Product & Project ManagementAuto-check passed
  • Product Roadmap

    tikalk/adlc-team-skills

    A skill your agent uses when doing weekly progress checks or milestone validation — tracks decision, execution, evidence, and gate states across four layers of truth.

    141 GitHub stars~3.1k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Atlassian Templates

    borghei/Claude-Skills

    Create, modify, and govern reusable Jira and Confluence templates, blueprints, and standardized content structures.

    891 GitHub stars~1.5k tokensUpdated 2 days ago
    Product & Project ManagementAuto-check passed

More from croffasia/itsaplan

  • Code Review

    croffasia/itsaplan

    A skill your agent uses when reviewing code — a diff, a merge request, a file, a directory, or a feature.

    920 GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Questions about Tidy

What does Tidy do?

Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Tidy is an agent skill from croffasia/itsaplan. Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.

When should I use Tidy?

Tidy fits situations like: tasks that involve Project management; tasks that involve Task management.

How do I install Tidy in Claude Code?

Run `npx skills add croffasia/itsaplan --skill tidy -a claude-code`. Or copy the skill folder (.agents/skills/tidy in croffasia/itsaplan) into .claude/skills/tidy in your project. Claude Code loads it when a task matches its description.

How do I install Tidy in Codex?

Run `npx skills add croffasia/itsaplan --skill tidy -a codex`. Or copy the skill folder (.agents/skills/tidy in croffasia/itsaplan) into .agents/skills/tidy in your project. Codex loads it when a task matches its description.

Can I use Tidy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add croffasia/itsaplan --skill tidy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tidy, .gemini/skills/tidy, .github/skills/tidy and .opencode/skills/tidy in your project.

What does Tidy need to run?

SKILL.md names no scripts, command-line tools or credentials: Tidy is instructions for the agent only.

Does Tidy access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Tidy safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Tidy use?

Tidy is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tidy use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tidy?

Skills that share tags, products or a category with Tidy: Jira Natural Language Interface (jjmartres/opencode, 133 stars), Scrum Master (alirezarezvani/claude-skills, 28k stars), Jira (RightNow-AI/openfang, 18k stars) and Pm Skills (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tidy?

croffasia (a GitHub user) maintains it in croffasia/itsaplan, which has 920 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 10, 2026.

Source: croffasia/itsaplan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.